- •З м і с т
- •Частина 1. Алгоритмізація задачі Порядок виконання лабораторних робіт
- •Зміст звіту
- •Основні принципи розробки алгоритмів
- •Лабораторна робота 1 алгоритмізАцІя лінійного, розгалуЖеного Та циклічного обчислювального процесу
- •Загальні вказівки
- •Завдання для самостійної роботи
- •Знаходження екстремального значення
- •Формування одномірного робочого масиву
- •Сортування елементів масиву
- •Лабораторна робота 2 селективна обробка масивів
- •Загальні вказівки Селективна (вибіркова) обробка інформації
- •Завдання для самостійної роботи
- •Лабораторна робота 3 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки Вкладені цикли
- •Обробка заданого рядка (стовпця) матриці
- •Обробка заданої діагоналі матриці
- •Селективна обробка рядка (стовпця) матриці, що задовольняє заданій умові
- •Завдання для самостійної роботи
- •Частина 2. Складання і налагодження програми. Обчислення й обробка результатів Порядок виконання лабораторних робіт
- •Зміст звіту
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу
- •Структура Паскаль–програми
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Лабораторна робота 3
- •Завдання до лабораторної роботи
- •Програмування розгалуЖеного циклічного обчислювального процесу. Табулювання функцій
- •Табулювання функцій
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 6 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 формування робочих масивів за допомогою операцій селекції вихідного масиву
- •Сортування масивів
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •'Abcdef' copy(s,2,3) 'bcd';
- •'System' length(s) 6;
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Список рекомендованої літератури
Лабораторна робота 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 може не бути.
Приклади виконання завдання лабораторної роботи
Приклад 17. Дано дійсне число x. Скласти програму для обчислення функції f(x), якщо

Програма обчислення f(x) має вид
program pr17_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 pr17_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.
Приклад 18. Нехай 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 pr18;
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.
