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

Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу

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

Структура Паскаль–програми

Паскаль-програма складається із заголовка program і блоку. Блок складається із шести розділів:

1) розділ міток label;

2) розділ констант const;

3) розділ типів type;

4) розділ змінних var;

5) розділ процедур і функцій;

6) розділ дій (операторів).

Першому розділу може передувати необов’язкове речення uses. Замість одного оператора в будь-якому місці програми можна вставити цілий набір операторів, розділених крапкою з комою, які записані в операторні дужки begin end. Такий оператор називається складеним. Перед end крапка з комою звичайно не ставиться.

Умовний оператор

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

if a then p1 else p2;

Тут a - булевський (логічний) вираз; p1,p2 - оператори.

Булевський вираз може набувати одного з двох значень: true (правда, істина) або false (неправда).

Найпростішими логічними виразами є вираз відносини:

a1 op a2.

Тут a1, a2 - вирази, а op - операція відносини (=, <>, <, >, <=, і т.д.).

До булевських даних застосовні логічні операції and, or, not, xor. Булевський вираз визначає умову в операторі if, істинність якої веде до виконання оператора p1, а хибність - виконання оператора p2.

Наприклад:

if (X>5) and (Y<=10)

then

Z:=8

else

Z:= X+4;

Конструкції else р2 може не бути.

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

Приклад 4. Обчислити корені квадратного рівняння

ax2 + bx + c = 0

за умови d = b2-4ac 0 за формулою

.

У противному випадку, тобто при d<0, передбачити вивід повідомлення «Дійсних коренів немає».

Блок-схема

Порядок роботи:

Крок 1. Уводимо a, b, c.

Крок 2. Обчислюємо d = b2 - 4ac.

Крок 3. Якщо d<0, виводимо повідомлення «Дійсних коренів немає», останов.

Крок 4. Обчислюємо

.

Крок 5. Виводимо x1, x2.

Крок 6. Останов.

Приклад 5. Дано дійсне число x. Скласти програму для обчислення функції f(x), якщо

Програма обчислення f(x) має вид

program pr5_1;

uses crt;

var x,y:real; k:char;

begin clrscr;

write('x ? '); readln(x);

if x<=0 then

y:=sqr(x)*x

else

if (x>0) and (x<=2) then

y:=sqr(x)+4*x+5

else

y:=sqr(x)-sin(pi*x*x/3);

writeln(' x= ',x:5:1,' y = ',y:5:1);

k:=readkey

end.

або

program pr5_2;

uses crt;

var x,y:real; k:char;

begin clrscr;

write('x ? '); readln(x);

if x<=0 then y:=sqr(x)*x;

if (x>0) and (x<=2) then y:=sqr(x)+4*x+5;

if x>2 then y:=sqr(x)-sin(pi*x*x/3);

writeln(' x= ',x:5:1,' y = ',y:5:1);

k:=readkey

end.

Приклад 6. Нехай D - заштрихована частина площини (рис. 1). Функція U визначається за х та y у такий спосіб:

Дані два числаx,y. Скласти програму для обчислення значення U.

Для опису ділянки D складемо рівняння ліній, що обмежують частину площини. Одержимо:

1) рівняння лінії 1 x=-1;

2) рівняння лінії 2 x2+y2=1;

3) рівняння лінії 3 визначимо із загального рівняння прямої. Для цього підставимо до рівняння прямої y=ax+b координати двох точок (-1;1) і (1;0). Вирішивши отриману систему лінійних рівнянь, знайдемо рівняння лінії 3: y=-0,5x+0,5.

Розіб'ємо ділянку D на дві підділянки: A, що лежить нижче осі OX, і B, що лежить вище осі OX. Тоді підділянку A можна описати системою нерівностей:

x2+y21; y0,

а підділянку B - системою нерівностей:

y 0,5x +0,5; x -1; y 0.

Ділянка D визначиться як сума підділянок A і B. Тоді програма обчислення U набуде виду

program pr6;

uses crt;

var x,y,u,z:real; a,b,d:boolean; k:char;

begin clrscr;

writeln(‘x,y? ‘); readln(x,y);

a:=(sqr(x)+sqr(y)<=1) and (y<=0);

b:=(x>=-1) and (y<=-0.5*x+0.5) and (y>=0);

d:=a or b;

if d then

begin

z:=(x/pi)/sqrt(1-sqr(x/pi));

u:=exp(x-y)+arctan(z)

end

else

u:=exp(sin(y)*ln(abs(x)))*ln(abs(x*sqr(y)));

writeln(‘D=’,D,’x=’,x:5:1,’y=’,y:5:1,’u=’,u:5:1);

k:=readkey

end.

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