for i:=1 to m doj:=1 to n do begin [i, j]:=random (21) - 1; (a [i, j]: 4) ;
end ;;;
Запис write (a [i, j]: 4) позначає, що для виведення кожного елемента на екран відводиться 4 позиції.
Наступний далі оператор writeln без параметрів просто перекладає курсор на інший рядок. Це необхідно для того, щоб дані виводилися на екран у вигляді матриці.
Створення нового масиву з елементів рівних сумі елементів рядка, в якій є лише один негативний елемент.
На цьому етапі нам зустрічається новий оператор - умовний оператор в Turbo Pascal допомагає здійснити розгалуження програми, т. е. передати управління за умовою.
Умовний оператор має вигляд:
IF умова THEN lt; оператор1 gt; [ELSE lt; оператор2 gt;]
Виконання умовного оператора починається з обчислення значення логічного виразу, записаного в умові. Прості умови записуються у вигляді рівності або нерівностей. Складні умови складають з простих за допомогою логічних операцій, якщо умова істинна, то виконується lt; оператор1 gt ;, в іншому випадку - lt; оператор2 gt ;.:
k:=0; i:=1 to m do:=0; g:=0; j:=1 to n do:=s + a [i, j]; a [i, j] lt; 0 then g:=g + 1 ;; g=1 then:=k + 1 ; [k]:=s;
end ;;
Сортування масиву за зростанням.
Цикл з передумовою (цикл «поки») має наступний формат:
While умова do S;
В якості умови можна використовувати будь логічне вираження, що може бути або істиною (true) чи брехнею (false). S - тіло циклу.
Спочатку перевіряється умова, якщо воно - істина, то виконується тіло циклу S і знову перевіряється умова. Цикл буде повторюватися до тих пір, поки умова - істина, як тільки умова стане хибним - відбувається вихід з циклу. Якщо спочатку умова - брехня, то тіло циклу не виконається жодного разу. На відміну від циклу з параметром у цьому вигляді циклу не передбачено автоматичну зміну змінної циклу, тому в тілі циклу S повинні бути команди, що змінюють значення змінної циклу. В іншому випадку при запуску відбудеться так зване зациклення програми (тобто виконання нескінченного циклу).
Якщо тіло циклу S складається з декількох операторів, то вони полягають в операторні дужки (begin ... end).
for i:=1 to k do (b [i]: 4) ;; i:=1 to k do:=b [i];:=i - 1; ( j gt; 0) and (x lt; b [j]) do [j + 1]:=b [j];:=j - 1;
end; [j + 1]:=x ;;
Висновок перетвореного масиву.
Після сортування виводимо отриманий масив на екран стандартними засобами виведення:
for i:=1 to k do (b [i]: 4);
де write (a [i, j]: 4 ) - висновок елементів двовимірного масиву в рядок із зазначенням кількості займаних позицій
Лістинг програми
program Nas; crt; m=15; n=4 ;, j, k, g, x, s: integer ;: array [1..15, 1..4] of integer ;: array [1..1000] of integer ;;; ( 1 ) Створюємо масив розмірністю (, m, * , n, ) ); i:=1 to m doj:=1 to n do begin [i, j]:=random (21) - 1; (a [i, j]: 4) ;;;;:=0; i: =1 to m do:=0; g:=0; j:=1 to n do:=s + a [i, j]; a [i, j] lt; 0 then g:=g + 1 ;; g=1 then:=k + 1 ; [k]:=s ;;; k=0 then ( У масиві немає рядків, в яких є тільки один негативний елемент )
else
begin
writeln ( Масив, що складається з елементів, які дорівнюють сумі всіх елементів рядка, в якій є тільки один негативний елемент );
for i:=1 to k do (b [i]: 4) ;; i:=1 to k do:=b [i];:=i - 1; (j gt; 0 ) and (x lt; b [j]) do [j + 1]:=b [j];:=j - 1 ;;
b [j + 1]:=x;
end;
writeln ( 2) Відсортований масив по заданій умові ); i:=1 to k do (b [i]: 4);
end ;;.
Тестування програми
Нижче наведені результати виконання програми на прикладі різних вхідних даних.
алгоритм матриця лістинг програма pascal
СПИСОК ЛІТЕРАТУРИ
1.Іванов А.Ф., Потапова О.Н. , Саліхова Г.Л. Основи алгоритмічної мови Pascal .: - Алмет'евськ: тип. Алні, 2007р.
.Немнюгін С.А. Turbo Pascal: підручник - СПб .: - Пітер, 2001р.
.Окулов С. М. Основи п...