субота, 9 березня 2019 р.

Алгоритми з циклами на лінійних масивах


ПРАКТИЧНА РОБОТА 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 mass : array [1..10] of real ; {приклад опису одновимірного масиву}
var a : array [1..15, 1..4] of integer ; {приклад опису двовимірного масиву}
Всі завдання можна умовно уявити з декількох основних блоків:
  • блок введення значень елементів масиву (формування елементів масиву випадковим чином);
  • блок виведення вихідного масиву;
  • блок обробки масиву;
  • блок виведення результатів обробки.
Найбільш часто використовувані масиви при вирішенні завдань: одномірні, двовимірні.

Немає коментарів:

Дописати коментар