ПРАКТИЧНА РОБОТА 59.
Алгоритми з циклами на лінійних масивах
Завдання 1. Реалізувати
алгоритм для знаходження даного числа в лінійному
впорядкованому масиві, що утворюється з випадкових цілих чисел.
Program POSHUK11;
var
a:
array [1..40] of integer;
i, b, j: integer;
begin b:=random(20); writeln(b,
' - цей випадковий елемент шукають в масиві А ');
writeln ( 'перелік
40 чисел впорядкованого масиву');
for i:=2
to 40 do begin a[i]:=a[i-1]+1+random(3);
writeln (i-1, '-ий елемент масиву
= ', a[i-1]); end;
for
i:=1 to 40 do
begin if a[i]=b then
begin writeln ( 'в масиві є число= ',a[i], ' це ',
i, '-ий номер');
halt; end; end;
writeln ( 'немає елементу
в масиві '); end.
Завдання 2. Реалізувати
алгоритм для додавання даного числа до усіх додатних елементів в лінійному невпорядкованому масиві чисел, що утворюється з випадкових цілих
чисел, записати кількість збільшених чисел в масиві.
Program DODANOK2;
var a:
array [1..4] of integer; i, b, n: integer; begin b:=-random(20);
n:=0; writeln('*****');
writeln('**Масив
випадкових цілих чисел**');
for
i:=2 to 4 do begin a[i]:=-a[i-1]+35-random(49); writeln (i-1,
'-e число
= ', a[i-1]); end;
writeln('**Перелік збільшених елементів
масиву**');
for
i:=1 to 4 do begin if a[i]>0
then begin a[i]:=a[i]+b; n:=n+1;
writeln (i, '-ий збільшений елемент
масиву = ', a[i]); end; end;
writeln('*****');
for i:=2 to 4 do begin writeln
(i-1, '-ий елемент масиву = ', a[i-1]); end; writeln('*****');
writeln (b, ' - цей випадковий
елемент додавали до усіх додатних чисел
в масиві А ');
writeln(n,' - це кількість збільшених
чисел в масиві А'); end.
Завдання 3. Реалізувати
алгоритм для знаходження cуми двох лінійних масивів, що утворюється з випадкових
цілих чисел.
Program SUMMA3;
var a,b: array [1..4]
of integer;
i,n: integer; begin
writeln('*****');
writeln('**Лінійний масив А випадкових цілих чисел:**');
for i:=1 to 4 do begin a[i]:=-i+35-random(49);
writeln (i, '-e
число = ', a[i]); end;
writeln('**Лінійний масив В випадкових цілих чисел:**');
for i:=1 to 4 do begin b[i]:=-i+78-random(99);
writeln (i, '-e
число = ', b[i]); end;
writeln('**Новий лінійний масив С=А+B**');
writeln('**Перелік елементів нового масиву**');
for i:=1 to 4 do begin writeln
(i, '-ий елемент масиву = ', a[i]+b[i]); end; writeln('*****'); end.
Завдання 4.Реалізувати алгоритм для знаходження cуми добутків
відповідних чисел двох лінійних масивів, що утворюється з випадкових цілих
чисел.
Program SKALjAR4;
var a,b: array [1..4] of integer; i,s:
integer; begin writeln('*****');
writeln('**Лінійний
масив А випадкових цілих чисел:**'); s:=0;
for i:=1 to
4 do begin a[i]:=-i+35-random(49); writeln (i, '-e число = ', a[i]); end;
writeln('**Лінійний
масив В випадкових цілих чисел:**');
for i:=1 to
4 do begin b[i]:=-i+78-random(99); writeln (i, '-e число = ', b[i]); end;
writeln('**Результати
обчислень:**');
writeln('**Перелік сум скалярного добутку двох масивів**');
for
i:=1 to 4 do begin s:=s+a[i]*b[i];
writeln (i, '-а сума = ', s); end;
writeln('*****'); writeln(s,' - це скалярний добуток двох
масивів**'); end.
Завдання 5.Реалізувати алгоритм для знаходження виразу 2*А-3*В, де А та В два лінійних масиви, що утворюється з випадкових цілих
від’ємних непарних чисел.
Завдання 6.Реалізувати алгоритм для знаходження в масиві 9*А+5*В, де А та В два лінійних масиви, що утворюється з випадкових парних недодатних
чисел, даного числа.
Довідка про масиви
Тема. Структуровані типи даних
Неструктуровані типи даних мають наступне відміну від структурованих: одне ім'я - одне значення.
Класифікуються структуровані типи даних за такими ознаками:
Класифікуються структуровані типи даних за такими ознаками:
- однорідність (елементи однотипні);
- впорядкованість (між елементами визначено порядок проходження);
- тип доступу (прямий або послідовний);
- статична або динамічна.
1. Масиви
Масив - однорідна упорядкована статична структура прямого доступу. Масив можна назвати a сукупністю фіксованого числа однакових компонентів, кожна з яких забезпечується індексом. Для того щоб описати масив, необхідно задати тип компонента і тип індексу.
var <ідентифікатор>: array [тип індексу] of <тип компонент>;
var <ідентифікатор>: array [тип індексу] of <тип компонент>;
Найчастіше в якості типу індексу вживається інтервальний тип, може бути і перераховується тип, а також будь-яким скалярним порядковим типом.
Приклад оголошення масиву:
var mass : array [1..10] of real ; {приклад опису одновимірного масиву}
var a : array [1..15, 1..4] of integer ; {приклад опису двовимірного масиву}
Всі завдання можна умовно уявити з декількох основних блоків:
- блок введення значень елементів масиву (формування елементів масиву випадковим чином);
- блок виведення вихідного масиву;
- блок обробки масиву;
- блок виведення результатів обробки.
Найбільш часто використовувані масиви при вирішенні завдань: одномірні, двовимірні.
Немає коментарів:
Дописати коментар