- •Для студентів I курсу денної форми навчання зі спеціальності 6.080200 – «інформатика» (у тому числі скорочений термін навчання)
- •Лабораторна робота №1 Програмування лінійних алгоритмів.
- •Контрольні питання:
- •Задачі.
- •Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
- •Лабораторна робота №3
- •Задачі.
- •Лабораторна робота №4 Програмування циклічних алгоритмів (продовження)
- •Контрольні питання
- •Задачі.
- •Лабораторна робота 5 Програмування з використанням масивів
- •Контрольні питання
- •Лабораторна робота 6. Програмування з використанням записів
- •Змінні типу String аналогічні масивам типу Char. Їхньою відмінністю є те, що число символів (довжина рядка) може динамічно змінюватися в інтервалі від одиниці до заданого верхнього значення.
- •Контрольні питання
- •Лабораторна робота 7 Програмування з використанням множин
- •Контрольні питання
- •Лабораторна робота 8 Програмування з використанням типу запис
- •Приклад. Дано два раціональних числа, опишіть їх, використовуючи структуру даних запис (чисельник, знаменник). Скоротити їх, знайти їх суму. Етапи рішення програми:
- •Контрольні питання
- •Лабораторна робота 9 Програмування з використанням процедур і функцій
- •Контрольні питання
- •Задачі.
- •Лабораторна робота 10 Робота з файлами
- •Контрольні питання
- •Лабораторна робота 11 Графіка в Turbo Pascal
- •Процедури і функції модуля craph Процедури.
- •Функції.
- •GraphResult Повертає значення GrOk, що відповідає коду 0, якщо всі графічні операції програми виконалися без помилок, чи повертає числовий код помилки (від -1 до -14).
- •Приклад. Побудувати правильний n - кутник.
- •Лабораторна робота 12 Контрольна робота
- •Контрольні питання
- •Література
- •39614, М. Кременчук, вул Першотравнева, 20
Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
Мета роботи. навчитися правильно використовувати умовний оператор IF; навчитися складати програми рішення задач на алгоритми, що розгалужуються.
Алгоритм називається таким, що розгалужується, якщо він містить кілька галузей, що відрізняються одна від одної змістом обчислень. Вихід обчислювального процесу на ту чи іншу галузь алгоритму визначається вихідними даними задачі.
Перед виконанням роботи необхідно ознайомиться з правилами запису логічних виражень, операцій порівняння, операторів IF, CASE, READ.
Приклад. Задано дійсне число а. Для функцій f(a), графік якої представлений на малюнку, обчислити f(a).
Етапи рішення задачі:
-
Математична модель: функція обчислюється по наступній формулі
-
Складемо схему алгоритму
Деталізуємо блок "Визначаємо до якого проміжку відноситься x" і додамо блоки обчислення функції на кожному проміжку:
Подальша деталізація не потрібна. Переводимо блок-схему на мову Паскаль.
Program example2;
var a, f: real;
begin
write('Уведіть a> '); readln(a);
if a<-1 then f:= -a-1 else
if (a>=-1) and (a<0) then f:= a+1 else
if (a>=0) and (a<1) then f:= -a+1 else f:= a+1;
writeln('F= 'f);
end.
Контрольні питання
-
Які команди текстового редактора ви знаєте?
-
Що таке блок тексту і як його виділити?
-
Які оператори використовуються для програмування розгалужень?
-
Як виконуються оператори переходу?
-
Яку з функцій: Sin(x), Abs(x), Trunc(x) можна замінити умовним оператором if x<0 then x := -x?
Задачі.
Для функцій f(х) обчислити f(a), для заданого дійсного числа а.
-
З'ясувати, чи існує трикутник з заданими довжинами сторін x, y, z.
-
Розвязати квадратне рівняння ах2 + bx + c = 0.
Лабораторна робота №3
Програмування циклічних алгоритмів
Мета роботи. Закріпити практичні навички роботи із системою Borland Pascal, навчитися правильно використовувати різні оператори циклів; навчитися складати програми рішення задач з використання циклічних структур.
Алгоритм називається циклічним, якщо він містить багаторазове виконання тих самих операторів при різних значеннях проміжних даних. Число повторень цих операторів може бути задане в явній (цикл із відомим заздалегідь числом повторень) чи неявної (цикл із невідомим заздалегідь числом повторень) формі.
Перед виконанням роботи необхідно вивчити різні схеми організації циклів і оператори FOR, WHILE, REPEAT.
Приклад. Знайти суму ряду з точність до e.
Запишемо програму мовою Паскаль.
Program example3;
var k,a,n:integer; s,e,f,x:real;
begin
write('Уведіть точність обчислення e=');
readln(e);
write('Уведіть змінну ряду |x|<1, |x|=');
readln(x);
s:=0; k:=0; n:=1;
repeat
if k=0 then f:=x else
for a:=1 to k do
begin
n:=n*a;
if x<0 then f:=-exp((2*k+1)*ln(abs(x)))/n*(2*k+1)
else f:=exp((2*k+1)*ln(abs(x)))/n*(2*k+1);
s:=s+f;
end;
k:=k+1;
until abs(f)<e;
writeln;
writeln('сума ряду s=',s:11:9, '':10,'кількість ітерацій k=',k);
readkey;
end.