Завдання для самостійного виконання:
-
Програма рахує кількість слів у реченні.
-
Програма дописує одну строку в кінець іншої.
-
Програма виділяє перше слово в реченні.
-
Програма порівнює дві строки.
-
Програма розбиває строку на дві частини: до першого входження заданого символу та після нього.
-
Програма вставляє текст першої строки в центр другої.
-
Програма видаляє зі строки задану кількість символів, починаючи із заданої позиції.
-
Програма визначає в реченні номер позиції слова із заданим номером.
-
Програма знаходить в реченні перший символ, який входить в іншу задану строку.
-
Програма видаляє зі строки слово із заданим номером.
-
Програма знаходить в реченні перший символ, який не входить в іншу задану строку.
-
Програма виділяє із строки задану кількість слів, починаючи зі слова із заданим номером.
-
Програма вставляє в строку іншу строку, починаючи із заданої позиції.
-
Програма дописує одну строку в початок іншої строки.
-
Програма замінює в реченні всі входження заданого символу іншим заданим символом.
-
Програма переписує всі символи строки в протилежному порядку.
-
Програма визначає довжину слова із заданим номером.
-
Програма копіює строку в іншу строку задану кількість раз.
-
Програма визначає кількість входжень заданого символу в слово із заданим номером.
-
Програма переводе всі букви строки на заголовні, та рахує кількість входження кожної букви. Припустимо, що речення буде складатись із латинських букв, які в таблиці символів знаходять в діапазоні [65..122].
Лабораторна робота №8. Процедури та функції користувача.
Метою лабораторної роботи є отримання практичних навичок у роботі з процедурами та функціями користувача та передачею параметрів.
Текст програми №8:
Program lab8;
Uses crt;
var a,b: real;
Function f_max(a,b: real): real;
begin
if a>b then f_max:=a else f_max:=b;
end;
procedure p_max(a,b: real);
begin
if a>b then writeln(a) else writeln(b);
end;
Begin
Clrscr;
Writeln(‘Введите число a:’);
Readln(a);
Writeln(‘Введите число b:’);
Readln(b);
Writeln(f_max(a,b)); {виклик функції f_max}
Readln;
P_max(a,b); {виклик процедури p_max}
Readln;
End;
Завдання для самостійного виконання:
Формула обчислення поданого у індивідуальному завданні повинна виноситися в окрему функцію. Всі вхідні дані, окрім числа Пі та коефіцієнтів, вводяться з клавіатури.
-
Знайти площу дельтоїда за формулою S=(d1*d2)/2, де d1, d2 – сторони дельтоїда.
-
Знайти площу ромба за формулою S=(AC * BD)/2, де AC і BD - діагоналі ромба та вводяться з клавіатури.
-
Знайти площу кола за формулою S=2 * Pi * R^2, де R – радіус кола значення якого вводиться з клавіатури.
-
Знайти об’єм конуса за формулою V=1/3 * Pi * R^2 * H, де R – радіус основи, H – висота, вводяться з клавіатури.
-
Знайти площу трапеції за формулою S=((A + B) * H)/2, де A і B основи трапеції, H – висота, значення вводяться з клавіатури.
-
Знайти площу трикутника за формулою S=(a*b*c)/4*R, де a, b, c – сторони трикутника, R – радіус описаного кола.
-
Знайти довжину кола за формулою L=2*Pi*R, де R – радіус описаного кола.
-
Знайти площу трапеції за формулою
,
де a, b, c, d – сторони трапеції. -
Знайти об’єм піраміди за формулою V=1/S*h, де S - площа основи, h – висота піраміди.
-
Знайти об’єм кулі за формулою
,
де r – радіус кулі.
Лабораторна робота №9. Рекурсія.
Метою лабораторної роботи є отримання практичних навичок у роботі із рекурсивними функціями. Програма №9 демонструє елементарний приклад рекурсії – обчислення факторіала довільного числа.
Текст програми №9:
Program lab9;
Uses crt;
var i: shortint;
function fact(_n: shortint): integer; {Рекурсивна функція fact}
begin
if _n=1 then fact:=1 else fact:=_n*fact(_n-1);
end;
Begin
Clrscr;
Writeln(‘Введите число для вычисления его факториала’);
Readln(i);
Writeln(fact(i));
Readln;
End.
Завдання для самостійного виконання:
Всі завдання повинні бути виконані за допомогою рекурсивної функції.
-
Скласти програму для визначення числа сполучень

-
Скласти програму яка містить рекурсивну функцію обчислення довжини строки.
-
Скласти програму яка виконує пошук заданої букви в реченні.
-
Скласти програму яка визначає кількість входжень заданого символу в строку.
-
Скласти програму яка замінює в реченні всі входження заданого символу іншим заданим символом.
-
Скласти програму яка переводе всі букви в реченні на заголовні.
-
Скласти програму яка обчислює кількість цифр у заданому натуральному числі.

-
Скласти програму яка обчислює суму

-
Скласти програму яка виводе таблицю символів за допомогою рекурсії.
-
Скласти програму яка буде генерувати випадкові числа від 0 до n (яке задається з клавіатури), та виводити їх на екран, доти доки не згенерує число яке загадав користувач (число яке загадує користувач вводиться з клавіатури).
Лабораторна робота №10. Графічний режим: ініціалізація і атрибути. Основні графічні функції і процедури. Графічні примітиви.
Метою лабораторної роботи є отримання практичних у роботи із ініціалізацією графічного режиму, атрибутами та основними стандартними графічними функціями мови Pascal. Програма №10 демонструє ініціалізацію графічного режиму та деякі основні функції для роботи із графікою.
Текст програми №10:
Program lab10;
Uses graph; {Підключаємо графічний модуль}
Var graph_device, graph_mode: integer;
BEGIN
graph_device:=detect; {Починаємо ініціалізацію}
InitGraph(graph_device, graph_mode, ‘’);
If GraphResult<>0 then writeln(‘Graph mode error’)
else writeln(‘Graph mode has been initialized’);
setfillstyle(1,green); {Починаємо малювати}
bar(0,350,639,479);
setfillstyle(1,lightblue);
floodfill(0,0,green);
setcolor(red);
circle(320,200,19);
setlinestyle(0,0,3);
rectangle(300,220,340,300);
line(320,300,300,350);
line(320,300,340,350);
line(300,240,250,250);
line(340,240,390,250);
setfillstyle(1,red);
floodfill(320,200,red);
floodfill(320,230,red);
setcolor(yellow);
circle(315,190,2);
circle(325,190,2);
line(315,210,325,210);
readln;
closegraph;{Закриваємо графічний режим}
END.
Завдання для самостійного виконання:
-
За допомогою функцій графічних примітивів намалювати квадрат, залити його жовтим кольором.
-
За допомогою функцій графічних примітивів намалювати коло, залити його красним кольором а фон білим.
-
За допомогою функцій графічних примітивів намалювати ромб жирною пунктирною лінією.
-
Розкреслити екран на 6 рівних частин на зробити заливку цих частин різними кольорами.
-
Намалювати трикутник та заповнити його діагональними лініями.
Лабораторна робота №11. Деякі типові задачі комп`ютерної графіки примітивів: зображення текстової інформації, графіки функцій.
Метою цієї лабораторної роботи є придбання практичних навичок у роботі із текстом в графічному режимі та роботі з графіками функцій.
Текст програми №11:
Program lab11;
Uses graph;
Var graph_device, graph_mode: integer;
BEGIN
graph_device:=detect; {Починаємо ініціалізацію}
InitGraph(graph_device, graph_mode, ‘’);
If GraphResult<>0 then writeln(‘Graph mode error’)
else writeln(‘Graph mode has been initialized’);
OutTextXY(320,200,’Example text’);
Readln;
CloseGraph;
END.
Завдання для самостійного виконання:
-
Вивести на екран графік F(x)=x2 та підписати його.
-
Вивести на екран графік F(x)=
+2
та підписати його. -
Вивести на екран графік F(x)=
та підписати його. -
Вивести на екран графік F(x)=
-5
та підписати його. -
Вивести на екран графік F(x)=x2 +4 та підписати його.
-
Вивести на екран графік f(x) = x3 − 9x та підписати його.
-
Вивести на екран графік f(x) = x3 − 3x та підписати його.
-
Вивести на екран графік f(x) = sin(x) та підписати його.
-
Вивести на екран графік f(x) = cos(x) та підписати його.
-
Вивести на екран графік f(x) = sin2(x) та підписати його.
Лабораторна робота №12. Деякі типові задачі комп`ютерної графіки примітивів: анімаційні ефекти, фрактальні зображення.
Метою цієї лабораторної роботи є практичне ознайомлення та отримання навичок із використання анімаційних ефектів, та інших графічних можливостей мови Pascal зокрема фрактального зображення. Функція delay.
Текст програми №12:
Program lab12;
Uses graph;
Var graph_device, graph_mode: integer;
text: string;
i, k, p: integer;
BEGIN
graph_device:=detect; {Починаємо ініціалізацію}
InitGraph(graph_device, graph_mode, ‘’);
If GraphResult<>0 then writeln(‘Graph mode error’)
else writeln(‘Graph mode has been initialized’);
text:=’Demo Animation. Language: Turbo Pascal 7.1’;
setcolor(4); k:=0;
for i:=1 to 25 do
begin
k:=k+10;
line (70,70,70,70+k);
delay(10000);
end;
p:=k; k:=0; {вертикальна лінія}
for i:=1 to 25 do
begin
k:=k+10;
line(70,70+p,70+k,70+p);
delay(10000);
end;
p:=k; k:=0; {горизонтальна лінія}
for i:=1 to 25 do
begin
k:=k+10;
line(70+p,70+p,70,70);
setcolor(red);
line(70+p,70+p,70+k,70);
setcolor(10);
line(70+p,70+p,70,70+k);
line(70+k,70,70,70);
delay(10000);
end;
for i:=1 to length(text) do {Вивід фрази}
begin
outtext(text[i]);
delay(10000);
end;
readln;
CloseGraph;
END.
Завдання для самостійного виконання:
В ході лабораторної роботи кожен студент повинен скласти програму із власною довільною анімацією.
Лабораторна робота №13. Поняття структур даних. Одновимірні масиви: поняття, базові процедури і алгоритми оброблення.
Метою цієї роботи є ознайомлення із поняттям структур даних та отримання практичних навичок по роботі із одновимірними масивами та процедурами і алгоритмами їх оброблення.
Текст програми №13:
Program lab1;
Uses crt;
Var m: array [0..9] of integer;
I, max: integer;
Begin
Randomize; {инициализация генератора случайных чисел}
For i:=0 to 9 do
M[i]:=random(100);
Max:=-9999;
For i:=0 to 9 do
If max>m[i] then max:=m[i];
Clrscr;
Writeln(‘max value =’,max);
Readln;
End.
Завдання для самостійного виконання:
-
Існує одномірний масив типу integer та деяке ціле число. Знайти на якому місці знаходиться це число в масиві.
-
Існує одномірний масив типу integer. Знайти полусуму найменшого та найбільшого числа.
-
Існує одномірній масив типу integer. Визначити чи має масив числа в діапазоні від A до B. Якщо має, то вивести їх на екран. A і B вводяться із клавіатури.
-
Існує одномірній масив. Програма повинна визначити кількість додатних, від’ємних та нульових елементів. Результат вивести на екран.
-
Існує одномірний масив типу Integer. Заповнити масив випадковими числами. Знайти максимальне число, мінімальне, та середнє арифметичне чисел масиву.
-
(+) Існує одномірний масив типу integer в якому зібрані оцінки студентів. Елементи масиву можуть приймати значення 2,3,4,5. Обчислити відсоток двійок, трійок, а також четвірок та п’ятірок. Наприклад: «Двійок: 5%, Трійок: 20%, Четвірок та п’ятірок: 75%».
-
(+). Існує одномірний масив типу Integer. Для кожного додатного числа визначити, чи існує в масиві від’ємний елемент із протилежним значенням. Якщо існує, то замінити такi елементи на 0.
Лабораторна робота №14. Багатовимірні масиви: поняття, базові процедури і алгоритми оброблення.
Метою цієї роботи є отримання практичних навичок по роботі із багатовимірними масивами та базовими процедурами і алгоритмами їх оброблення.
Текст програми №14:
Program lab2;
Uses crt;
Var i,j,c,value: integer;
M: array [0..2,0..2] of integer;
Begin
For i:=0 to 2 do
For j:=0 to 2 do
Begin
Readln(value);
M[i,j]:=value;
end;
c:=0;
For i:=0 to 2 do
For j:=0 to 2 do
If m[i,j]>0 then c:=c+1;
Writeln(‘c=’,c);
Readln;
End.
Завдання для самостійної роботи:
-
Існує двовимірний масив довільної розмірності. Замінити всі від’ємні числа в масиві на додатні.
-
Існує двовимірний масив довільної розмірності. Замінити усі елементи із від’ємними значеннями на середнє арифметичне значення усіх додатних елементів.
-
Існує двовимірний масив довільної розмірності. Замінити всі від’ємні числа в масиві на додатні, а додатні на від’ємні.
-
Існує двомірний масив типу integer довільної розмірності. Знайти суму додатних елементів масиву, які відповідають вимогам a<M[i]<b. A і B вводяться з клавіатури.
-
Існує двомірний масив типу integer довільної розмірності. Знайти середнє арифметичне елементів, кожних з парних стовбців цієї матриці.
-
Існує двомірний масив типу integer довільної розмірності. Знайти середнє арифметичне елементів, кожних з непарних рядків цієї матриці.
-
Існує двомірний масив типу integer довільної розмірності. Знайти середнє арифметичне усіх додатних елементів матриці.
-
Існує двомірний масив довільної розмірності. Отримати нову матрицю шляхом складання усіх елементів даної матриці з її найбільшим, по модулю, елементом.
-
Існує двомірний масив довільної розмірності. Отримати нову матрицю шляхом помноження усіх елементів даної матриці з її найменшим, по модулю, елементом.
-
Існує двомірний масив довільної розмірності. Отримати нову матрицю шляхом віднімання усіх елементів даної матриці з її найбільшого, по модулю, елементом.
Лабораторна робота №15. Записи: поняття, оголошення, іменування структурних частин, основні процедури оброблення.
Метою роботи є ознайомлення із поняттям «запис», та отримання практичних навичок з основних процедур їх оброблення.
Текст програми №15:
Program lab3;
type establishment=record
name: string;
workers: integer;
area: integer;
end;
var i, max, pos: integer;
est_list: array [0..3] of establishment;
Begin
Writeln(‘Enter establishment data:’);
For i:=0 to 3 do
Begin
Writeln(‘Enter name of establishment:’);
Readln(est_list[i].name);
Writeln(‘Enter number of workers’);
Readln(est_list[i].workers);
Writeln(‘Enter area of est.’);
Readln(est_list[i].area);
End;
Max:=-9999;
For i:=0 to 3 do
If max<est_list[i].workers then
Begin
max:=est_list[i];
pos:=i;
End;
Writeln(‘Max workers(’,max,’) in ’,est_list[pos].name);
Readln;
End;
