Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
прогр часть 1.doc
Скачиваний:
21
Добавлен:
07.06.2015
Размер:
1 Мб
Скачать
☆

Лабораторна робота 6 регулярні типи даних. Селективна обробка масивів

Мета роботи: виробити практичні навички в складанні алгоритмів, написанні та налагодженні програм у задачах селекції в одномірному масиві.

Регулярні типи даних

Базуючись на простих типах, можна будувати більш складні типи перемінних. Зокрема, регулярні типи даних є масивами з простих. Масив - це структура, що складається з фіксованого числа компонентів одного типу.

Загальний вид опису регулярного типу –

type T=array [T1,T2,...,Tn]:of Tc;

Тут Т - ідентифікатор типу; T1,T2,...,Tn - типи індексів; Тс - тип компонентів (базовий тип). Кількість індексів визначає розмірність масиву. Індекси можуть бути будь-яких простих типів, крім real і integer.

type мас=array[1..50] of real;

yt=array[0..n,1..m] of char;

maс1=array[1..10] of maс;

var X:maс; Y:yt; Z:maс1;

Масиви можна описати в розділі опису змінних. Наприклад:

var a:array[IND] of integer;

Приклади виконання завдання лабораторної роботи

Приклад 23. Знайти середнє арифметичне елементів масиву Х(20), кратних 3, які належать інтервалу [15,30].

Програма розв’язання даного прикладу має вид:

program pr23;

uses crt;

const N = 20; XN = 15; XK = 30;

type Mas = array[1..N] of integer;

var x:Mas; s,k,i:integer;

SR:REAL; A:BOOLEAN; P:CHAR;

BEGIN CLRSCR;

WRITELN(' УВЕДІТЬ ',N,' ЧИСЕЛ');

FOR I:=1 TO N DO READ(X[I]);

WRITELN('ВИХІДНИЙ МАСИВ ');

for i:=1 to N do write(x[i]:4);

writeln; s:=0; k:=0;

for i:=1 to N do

begin

a:=(x[i]<=xk) and (x[i]>=xn);

if (x[i] mod 3 = 0) and a then

begin

s:=s+x[i];

k:=k+1;

end;

end;

IF K>0 THEN SR:=S/K

ELSE SR:=0;

WRITELN('S=',S:5,'K=',K:2,'СеРеднє АРИФМ.=’,sr:6:2);

p:=readkey

end.

Приклад 24. Знайти суму мінімального та максимального від'ємних парних елементів масиву Х(15).

Програма розв’язання даного прикладу має вид:

program pr24;

uses crt;

const N = 15;

type Ind = 1..N;

Mas = array[Ind] of integer;

var x:Mas; max,min,s,i:integer;

a:boolean; p:char;

BEGIN CLRSCR;

WRITELN(‘ УВЕДІТЬ ‘,N,’ ЧИСЕЛ’);

FOR I:=1 TO N DO READ(X[I]);

WRITE(‘ ‘:20, ‘ВИХІДНИЙ МАСИВ’);

for i:=1 to N do

write(x[i]:4); writeln;

max := -maxint;

min := maxint;

for i:=1 to N do begin

a := (x[i]<=0) and (x[i] mod 2 = 0);

if (x[i]>max) and a then max := x[i];

if (x[i]<min) and a then min := x[i];

end;

s := max + min;

writeln(‘ ‘:10,’MAX=’,Max:4,’Min = ‘,min:4);

writeln(‘ ‘:20, ‘СУМА = ‘,s:4);

p:=readkey

end.

Завдання до лабораторної роботи

Складіть програми для рішення наступних задач (таблиця 20).

Таблиця 20

Вар.

Зміст завдання

1

Обчислити середнє геометричне елементів масиву Х(20), що задовольняють умові 2 xi<20,5

2

Обчислити середнє геометричне додатних парних елементів масиву М(20)

3

Обчислити середнє геометричне додатних непарних елемнтів масиву А(15)

4

Обчислити середнє арифметичне елементів масиву В(20), що задовольняють умові –5<bi31,8

5

Обчислити середнє арифметичне від’ємних елементів масиву Х(15), кратних 3

6

Знайти кількість елементів масиву Р(20), кратних 4 і не більших від заданого числа А

7

Знайти кількість елементів масиву В(15),числові значення яких належать інтервалу [-8,16]

8

Знайти номер і значення найбільшого парного елемента масиву С(25)

9

Знайти добуток максимального та мінімального від'ємних непарних елементів масиву А(20)

10

Знайти різницю максимального та мінімального додатних парних елементів масиву В(25)

Продовження таблиці 20

Вар.

Зміст завдання

11

Обчислити суму парних від'ємних елементів масиву К(20)

12

Обчислити добуток непарних елементів масиву Х(30), не менших від заданого числа С

13

Обчислити середнє геометричне парних елементів масиву К(20), не менших від 10

14

Обчислити середнє геометричне додатних елементів масиву А(25), не кратних 3

15

Обчислити суму квадратів додатних елементів масиву Р(15), що мають непарні індекси

16

Обчислити середнє геометричне елементів масиву В(20), кратних 5, числові значення яких належать інтервалу [20, 80]

17

Обчислити середнє арифметичне додатних парних елементів масиву Х(15)

18

Підрахувати кількість додатних і парних елементів масиву Х(20)

19

Обчислити середнє арифметичне непарних елементів масиву А(25), числові значення яких належать інтервалу [-15, 45]

20

Обчислити суму тих елементів масиву А(20), числові значення яких належать інтервалу [i,i+1]

21

Знайти номер і значення найменшого додатного непарного елемента масиву А(25)

22

Записати число +1 замість максимального парного, а число -1 замість мінімального непарного елемента масиву М(15)

23

Знайти частку від ділення максимального елемента на мінімальний від'ємний елемент масиву В(20)

24

Знайти різницю між добутком парних елементів і сумою додатних елементів масиву Х(20)

25

Знайти різницю між сумою непарних і добутком від'ємних елементів масиву А(15)

26

Знайти номер останнього додатного парного елемента в масиві В(20)

27

Вивести на друк перший від'ємний елемент масиву К(25) і його порядковий номер

Продовження таблиці 20

Вар.

Зміст завдання

28

У масиві Х(20) поміняти місцями найменший додатний і останній елементи

29

У масиві В(15) поміняти місцями найбільший і найменший елементи

30

Знайти різницю між сумою парних елементів і добутком додатних елементів масиву Y(25)