Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_rab_pascal_delphi.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.06 Mб
Скачать

Лабораторна робота №2. Тема: Робота з одновимірними масивами.

Мета роботи: навчитися працювати з одновимірними масивами.

Хід роботи

  1. Запустіть програму TURBO PASCAL.

  2. Робота з одновимірними масивами. Масив заповнювати, використовуючи команду введення даних з клавіатури або генератор випадкових чисел. Масив повинен містити не менше 10 елементів.

    1. Створіть програму підрахунку кількості додатних чисел в цілочисельному масиві:

program lr6_1;

const n=10; { верхня межа масиву}

var i, k : integer;

а: array[1..n] of integer;

begin { заповнюємо масив випадковими від’ємними і додатними числами}

randomize;

for i:=1 to n do

begin

а[i]:=random(100)-40;

{виводимо елементи масиву на екран}

writeln('a[',i,']=',a[i]:4);

end;

{ перевіряємо елементи масиву і підраховуємо додатні}

k:=0; {обнуляємо лічильник додатних чисел}

for i:=1 to n do

if а[i]>0 then k:=k+1;

writeln('В масиві ',k, ' додатних елементів');

end.

    1. Створіть програму пошуку номера першого з елементів масиву а, який має нульове значення. Якщо таких елементів немає, виведіть відповідне повідомлення.

i:=0; { номер елементів масиву }

Repeat

i:=i+1;

Until (а[i]=0) { знайшли } or (i=n) {масив кінчився };

if а[i]=0 then writeln ( 'Номер першого нульового элемента= ‘, i)

else writeln ( 'Таких елементів немає');

    1. Створіть програму пошуку максимального елемента і його номера. Змінна max позначає значення максимуму, k — його номер в масиві:

max:=a[1]; k:=1; { пошук починаємо з першого елемента }

for i:=2 to n do {перебираємо елементи, починаючи з другого}

if а[i]>max then

begin

max:=a[i]; k:=i; {запам'ятовуємо значення і номер елемента, який більший за всі попередні}

end;

    1. Створіть програму пошуку мінімального елемента і його номера.

  1. Злиття масивів. Створіть програму злиття двох впорядкованих масивів в один впорядкований. Розберіть роботу програми і напишіть коментарі.

program pr;

var а, b: array[1..5] of integer;

с: array[1..10] of integer;

i, j, k: integer;

begin

for i:=1 to 4 do read(а[i]);

readln(а[5]);

for i:=1 to 4 do read(b[i]);

readln(b[5]);

i:=1; j:=1; к:=1;

repeat {цикл доки в обох масивах є дані}

if а[i]< b[j] then begin

с[k]:=a[i]; k:=k+1; i:=i+1;

end

else

if а[i]> b[j] then begin

с[k]:=b[j]; k:=k+1; j:=j+1;

end

else begin

с[k]:=b[j]; с[k+1]:=b[j];

k:=k+2; j:=j+1; i:=i+1;

end;

until (i>5) or (j>5);

{введення записів, які залишилися в одному з масивів}

while i<=5 do begin с[k]:=a[i]; k:=k+1; i:=i+1;

end;

while j<=5 do begin с[k]:=b[j]; k:=k+1; j:=j+1;

end;

for i:=1 to 10 do write(с[i],' ');

writeln;

end.

  1. Одновимірні масиви і складний пошук. Створіть масив: array [1.. 15], заповніть його за допомогою оператора READ або використовуючи генератор випадкових чисел. Виконайте завдання свого варіанту. У разі відсутності розшукуваних даних, виведіть про це повідомлення.

    вар

    Задача

    Створіть (і вивести) новий масив, який складається з додатних елементів масиву у.

    Знайти суму третього і шостого додатних елементів.

    Другий від’ємний елемент замінити мінімальним.

    Скільки в масиві елементів з мінімальним значенням серед додатних?

    Ненульові елементи масиву занести в інший масив.

    Обчислити суму перших чотирьох від’ємних елементів.

    Вивести номер передостаннього додатного елемента.

    Створіть новий масив з від’ємних елементів масиву у.

    Знайти добуток другого і четвертого елементів, значення яких більш ніж 3.

    Максимальний елемент поміняти місцями з другим нульовим.

    Передостанній від’ємний елемент замінити максимальним.

    Обчислити добуток другого від’ємного і п'ятого елементів.

    Елементи масиву більші, ніж 1, занести в інший масив.

    Вивести номери і значення двох найбільших елементів. Обчислити їх суму.

  2. Оформіть звіт з лабораторної роботи.

  3. Захистіть лабораторну роботу у викладача.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]