Доступ до елементів масиву
Розгляньте запропоновані нижче фрагменти програм для вирішення деяких типових задач.
Завдання. Замінити негативні елементи на протилежні за знаком.
Для цього опишемо процедуру. Їй будемо передавати один параметр - масив, який буде результатом її виконання, так як деякі елементи можуть бути замінені.
Procedure Zamena (Var m. MyArray; n: integer);
Var
i. integer;
Begin
for i: = 1 to n do
if m [i] <0
then
m [i]: = -1 * m [i];
End;
Завдання. Знайти та вивести на екран номери парних елементів.
Procedure PoiskChet (m. MyArray; n: integer);
Var
i. integer;
Begin
for i: = 1 to n do
if m [i] mod 2 = 0
then
Write (i: 5);
End;
Завдання. Знайти кількість позитивних і негативних елементів в даному масиві.
Опишемо процедуру, якої будемо відправляти три параметра - масив і два лічильника, один для елементів, великих нуля, а другий - для негативних елементів.
Procedure OtrPol (m. MyArray;; n: integer; Var k1, k2. Integer);
Var
i. integer;
Begin
k1: = 0;
k2: = 0;
for i: = 1 to n do
if m [i]> 0
then
Inc (k1)
else
if m [i] <0
then
Inc (k2);
End;
Чи є в даному масиві елементи з даними властивістю?
Для вирішення таких завдань зручніше використовувати цикли з умовами і складати функції, результат яких має логічний тип.
Завдання. Чи є негативний елемент в масиві?
Function Control (m. MyArray; n: integer). Boolean;
Var
i. integer;
Begin
i: = 1;
while (i<=n) and (m[i]>0) do
Inc (i);
Control: = (i<=n);
End;
Завдання. Виберіть з учителем завдання для самостійного рішення.
- Дан одновимірний масив. Знайдіть різницю найбільшого і найменшого чисел в цьому масиві.
а) А [i] б) A [i] = B [i];
в) A [i]> B [i].