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

Одновимірні масиви

У програмі Turbo Pascal масиви спочатку потрібно описати в розділі type. Для цього використовують таку конструкцію:

type

ім’я = array [поч.інд...кін.інд] of тип;

var

змінна1, змінна2...: ім’я;

де ім’я – назва типу, що отримують масиви; тип – тип елементів масиву; поч.інд – номер першого елементу масиву (переважно приймають 1); кін.інд – номер останнього елементу масиву.

Приклад:

type

mas=array [1..7] of real; {масив з 7 дійсних чисел}

var

A,В : mas;

Допускається опис масивів у розділі var, наприклад,

var

A, B : array [1..7] of real;

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

for І:=M to N do

begin

write (‘A[‘, I, ‘]=’);

readln (A[ І ])

end;

де M, N – номери першого та останнього елементів масиву; І – лічильник, що відповідає номеру елемента масиву, що вводиться; А – назва масиву.

Для виведення елементів масиву також використовується оператор циклу. Для цього записують таку конструкцію:

for І := M to N do

writeln(‘A[‘, І ,’]=’, A [ І ]);

Основні операції над одновимірними масивами

Розглянемо деякі основні операції над масивами.

Для того, щоб знайти суму (різницю) двох масивів A та B, потрібно попарно додати (відняти) всі їх, елементи. Тому потрібно використати оператор циклу:

for I := M to N do C[ I ] := A[ I ] + B[ I ];

а для різниці

for I := M to N do C[ I ] := A[ I ] - B[ I ],

Для знаходження добутку двох масивів потрібно попарно перемножити їх елементи:

for I := M to N do C[ I ] := A[ I ] * B[ I ],так само, щоб поділити два масиви, потрібно попарно поділити їх елементи.

При множені (ділені) масиву на число перемножуються (діляться) усі елементи масиву на це число:

for I := M to N do C[ I ] := K * B[ I ],

Якщо потрібно знайти суму елементів в одному масиві, потрібно використати наступну конструкцію:

S := 0; {задаємо початкове значення суми}

for I := M to N do S := S+ A[ I ], {до суми додаємо наступний елемент}

Для знаходження добутку елементів використовують таку ж конструкцію, але початкове значення добутку встановлюють не 0 (нуль), а 1 (одиниця), і в циклі замість символу ”+” записують “*”.

Якщо потрібно знайти максимальний (мінімальний) елемент масиву, то спочатку присвоюють йому значення початкового елементу, а тоді всі наступні порівнюють з цим максимумом (мінімумом). У випадку, коли поточний елемент більший (менший) за максимум (мінімум), то йому присвоюють значення максимального. Отримуємо такий програмний блок:

max := A[1];

for I := 2 to N do

if max<A[ I ] then begin max := A[ I ];

Розглянемо приклад програми.

Приклад 1. Дано масив А з 15 елементів цілого типу. Порахувати середнє арифметичне додатних чисел.

Program example4;

type

mas = array [1..15] of integer;

var

A: mas;

S, N, І: byte;

Х: real;

begin

for І := 1 to 15 do

begin

write (`A[`, І ,`]=`); readln (A[ І ]); end;

S:= 0; N := 0;

for I:= 1 to 15 do

if (A[ І ] mod 2)=0 {націло ділиться на два, тобто парне число}

then begin

S:= S+A[ І ]; {знаходження суми парних чисел}

N:= N+1 { знаходження кількості парних чисел} end;

X:= S/N; {середнє арифметичне – сума поділена на кількість}

writeln (`X=`, X:7:3); readln; end.