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

Обмежені типи даних

Відрізок значень будь-якого скалярного типу (крім типу real) може бути визначений як обмежений тип.

Загальний вид - type T = min..max;

Тут Т - ідентифікатор типу; min, max - ліва і права межі діапазону. Тип min і max задає множину, яка визначає базовий тип перемінної.

Наприклад:

type den = 1..31;

god = 1900..2000;

var x: den; g:god; c:1..12;

Оператор вибору варіанта

Оператор варіанта служить для вибору однієї з декількох перелічених у програмі дій у залежності від значення селекторного виразу.

Загальний вид –

case N of

M1: P1;

........

Mn: Pn

else P

end;

Тут N - селектор; М1,М2,...,Мn - мітки; Р1,Р2,..., Рn,Р - оператори. Селектор і мітки мають бути одного скалярного типу.

Наприклад:

case K of

1 : y:=10;

2..5 : Y:=2*x+5;

6..9 : Y:=sqrt(x)+x;

else Y:= sqr(x)

end;

Оператор циклу for

«Цикл - до» має вид

for I:=N1 to N2 do P;

Тут I – параметр циклу; N1,N2 - початкове і кінцеве значення параметру циклу; Р - оператор (простий чи складний). I,N1,N2 мають бути одного скалярного типу, але не real. Якщо це цілі змінні, то крок дорівнює одиниці.

Наприклад: for M:=5 to 20 do Y:=Y+M;

Цикл за убутним значенням параметра I від N2 до N1 має вид

for I:=N2 downto N1 do P;

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

Приклад 10. Визначити сезон (зима, весна, літо, осінь), на який припадає кожний із дванадцяти місяців.

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

program pr10;

uses crt;

type cezon=(z,w,l,o);

mec=(j,f,m,a,ma,i,il,aw,c,ok,n,d);

var k:mec; s:cezon; p:char;

Begin clrscr;

FOR K:=J TO D DO

CASE K OF

J,F,D:BEGIN S:=Z; WRITELN(' ':10,'ЗИМА'); END;

M,A,MA:BEGIN S:=W; WRITELN(' ':20,'ВЕСНА'); END;

I,IL,AW:BEGIN S:=L; WRITELN(' ':30,'ЛІТО'); END;

C,OK,N:BEGIN S:=O; WRITELN(' ':40,'ОСІНЬ'); END;

end;

p:=readkey

End.

Приклад 11. Для цілих значень аргументу обчислити таблицю значень функції

де Х1 - множина елементів інтервалу [0,8];

Х2 - множина непарних елементів інтервалу [9,15];

Х3 - інші числа інтервалу [-5,15].

Програма обчислення таблиці значень функції z має вид:

program pr11;

uses crt;

type arg = -5..15;

var x:arg; z:real; p:char;

begin

clrscr;

for x:=-5 to 15 do

begin

case x of

0..8: z:=pi*sqr(x)*x*(pi+sin(x));

9,11,13,15: z:=sqr(ln(2*x+8))

else z:=2*cos(x+pi/4); end;

writeln(' ':20,' x=',x:3,' ':8,' z=',z:9:3);

end;

p:=readkey

end.

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

Використовуючи оператор case, складіть програму для рішення наступної задачі.

Варіант mn. Обчислити таблицю значень функції

для цілих значень аргументу x з інтервалу [Хн,Хк]. Множини Х1, Х23, Х4 і функції f1, f2, f3, f4 задані в таблицях 4 та 5.

Таблиця 4

m

Хн

X1

X2

X3

X4

0

-10

15

Непарні числа з інтервалу [6,12]

Парні числа з інтервалу [6,12]

[-2,5]

Інші

числа

1

0

30

Парні числа з інтервалу [10,20]

Непарні числа з інтервалу [10,20]

[1,8]

Інші

числа

2

1

25

Числа, кратні 3 з інтервалу [10,20]

Числа, некратні 3 з інтервалу [10,20]

[2,5] і [21,24]

Інші

числа

3

-5

20

Непарні числа з інтервалу [1,8]

Парні числа з інтервалу [1,8]

[-1,5]

Інші

числа

Таблиця 5

n

f1(x)

f2(x)

f3(x)

f4(x)

1

x2+sinx

10x3-tg(x/5)

cosx

e-x/4

2

ln2(x2+1,5)

e-2x

sinx

arctg(3x)

3

e2x-5

cos2(x)

ln(x2+2,5)

arcsin(x/3)

4

arccos(x/35)

e2x-10

ln2(3x+1)

sin(2x)

5

e-x/10

arctg(4x)

|8x3-20|

6

tg2(x/5)

2sin(x/)

ex+2

7

e2x-15

ln|x+1,5|

sin3(x2)

8

5e-x

sin(x2/2)

arctg(x/3)

9

sin(x/3)

ex/10+2

cos2|x|

0

ln(x3+1,8)

sin(3x+)

x2+5x

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