Смекни!
smekni.com

Програмування в середовищі Pascal (стр. 9 из 16)

6 Оператор вибору варіанта є узагальненням умовного оператора: він дає можливість виконати один з декількох операторів залежно від значення деякого виразу, що називається селектором або ключем вибору. Вираз має бути порядкового типу. У загальному випадку оператор має вигляд

CASE < селектор>

<список вибору 1>: < Оператор 1>;

<список вибору 2>: < Оператор 2>;

M<список вибору n>: < Оператор n>; [ELSE

<оператор>]

END;

<Селектор> – вираз будь-якого порядкового типу, тобто дійсний тип не допустимий.

<список вибору> – список розділених комами констант – значень виразу <селектор> або одного його значення. Можна задавати діапазон.

Значення мають бути того ж типу, що й селектор.

<оператор> – будь-який оператор мови, у тому числі і складовий.

Оператор варіанту вибирає для виконання той оператор, одна з констант списку вибору якого співпадає з поточним значенням виразу <селектор>. Якщо значення виразу <селектор> не співпадає ні з однією з міток, тоді виконується оператор, що відповідає ELSE. Гілка ELSE необов'язкова. По закінченню виконання вибраного оператора виконання оператора вибору завершується і управління передається в кінець оператора CASE.

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

Приклад 1а. Обчислити дійсні корені квадратного рівняння. ax2 bx c 0

Блок-схема (рис. 4)

Рисунок 4 – Блок-схема алгоритму

Текст програми

Program Lab1a;

{ Обчислення Коренів Рівняння } Uses Crt;

Var A,B,C,D,X,X1,X2,Z: Real;

Begin

Clrscr;

Writeln('Введіть коефіцієнти квадратного рівняння');

Write(' A= '); Readln(A);

Write(' B= '); Readln(B);

Write(' C= '); Readln(C);

Writeln('A= ',A:5:2,' B= ',B:5:2,' C= ',C:5:2);

D:=Sqr(B)-4*A*C;

If D>0 Then

Begin

Z:=2*A;

X1:=(-B+Sqrt(D))/Z; X2:=(-B-Sqrt(D))/Z;

Writeln(' Рівняння має два корені ');

Writeln(' X1= ',X1:6:2,' X2= ',X2:6:2)

End

Else If D=0 Then

Begin

X:=-B/(2*A);

Writeln(' Рівняння має один корінь ');

Writeln(' X=',X:6:2)

End

Else Writeln(' Коріння Немає '); Readkey; End.

Приклад 1b. Обчислити значення функції У для будь-кого х, с.

sin x,

Y cosx,

tgx, 0

Блок-схеми (рис. 5,6)

Рисунок 5 - Блок-схема алгоритму функції

Рисунок 6 - Блок-схема алгоритму основної програми

Текст програми

Program lab1b;

{Лабораторна робота 1. Обчислення значення функції}

Uses crt; var c,x,y : real;

{-------------обчислення функції---------}

Function f(x,c:real):real;

var а : real;

Begin а:=2*sqr(c)+1; if x>a then f:=sin(x) else if x<0 then f:=cos(x) else f:=sin(x)/cos(x);

End;

{--------------основна програма-----------}

Begin clrscr; writeln(' введіть значення х,с'); write(' x= '); readln(x); write(' c= '); readln(c); у:=f(x,c);

writeln('якщо x=',x:5:2,' c=',c:5:2,' y=',y:6:2); readkey;

End.

4.3 Варіанти завдання до лабораторної роботи 1

Обчислити значення функції

Y

Види функцій f1, f2, f3 задані в табл. 7. Значення x запрошувати у

діалозі.

Таблиця 7 – Варіанти завдання до лабораторної роботи 1

Варіант f1(x) f2(x) f3(x)
1
tg 2x
3 x 1
cos x 2
2 sin(ex)
sin(3x 2 x)
2sin(3x 2)/5
3
3 x 1
x4/7 sin3(2x)
4
3sin2(x) cos4(x)
sin(x 2)
ln(2x 5)
5
x3 ln x
ln3(x 4)
x4
x
6 sin(x) 2 e
ln(x3 x2)
7
(3x 1)/x5

ln2
1 x2
8
x xcos(x)
1/(tg(2x) 1)
x2e
9
x 2sin(3x)
x2cos(x)
sin(x 2) x
10
x 2
sin(x 2) ln2(x)
11 sin2(x3)
ln(x3 3)
2sin(x)
12 2xe
cos(2x)
xx cos(x)
13
ln(2x 5)
sin(ex) tg(1/x)
14
sin(2x 1)
(x 1)2cos(x3)
x3 1 sin(x) 2
15 cos(3x2)
x3sin(x)
x2 + ln(5x)
16
sin(x3 5)
ln(4x 1)2

5

ln x x2
17
x4 2x3 x
sin2(x3) xx +1sin(x)
18 x5ctg(2x3)
ln(x 1)
e 2X 3 x
19 sin(4x 3)

5 2 1

6x x

Sin(2x 1)3
20
ctg(3x 1)2
2
sin3(x2)
21
x -sin(x3 1)
(x 1)3 cos(2x3)
x3sin(x3)
22
(2x 1)/x5
ex +1+ cos(x)
3ln5sin(x) x2
23
3x5 ctg(x3)
ln(sin(4x) 1)2

3

ln 2x x3
24
1,3 4 x2
3x
5x +1sin(2x)
25 e-3x sin3(x4)
e X 33x

5 ЛАБОРАТОРНА РОБОТА 2. ЦИКЛІЧНИЙ АЛГОРИТМ.