- •З м і с т
- •Лабораторна робота 13. Робота з множинними типами даних . . . 76 Лабораторна робота 14. Створення й обробка файлів . . . . . . . . . . 79
- •Порядок виконання лабораторних робіт
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу
- •Структура Паскаль–програми
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Програмування розгалуЖеного циклічного
- •Завдання до лабораторної роботи
- •Лабораторна робота 4 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 6 формування робочих масивів за допомогою операцій селекції вихідного масиву
- •Сортування масивів
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •'Abcdef' copy(s,2,3) 'bcd';
- •'System' length(s) 6;
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 робота з множинними типами даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 14 створення й оброблення файлів
- •Файли з типом
- •Процедури для роботи з файлами з типом
- •Функції для обробки файлів з типом
- •Завдання до лабораторної роботи
- •Лабораторна робота 15 коректування файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 16 робота з екраном у текстовому режимі засобами мови паскаль
- •Загальні вказівки
- •Процедури роботи з екраном
- •Процедури установлення текстових режимів I управління кольором
- •Процедури управління курсором
- •Процедура установлення текстових вікон
- •Завдання до лабораторної роботи
- •Лабораторна робота 17 перевірка достовірності даних
- •Вибір критеріїв достовірності
- •Типові алгоритми уводу I перевірки достовірності даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 18 графічні засоби мови паскаль
- •Графічні процедури мови Паскаль
- •Завдання до лабораторної роботи
- •Розрахунок масштабу I зрушення графіка
- •Процедура для креслення графіка
- •Завдання до лабораторної роботи
- •Порядок виконання роботи
- •Зміст звіту
- •Список рекомендованої літератури
- •Додаток а
Функції
Функції відрізняються від процедур тим, що в них результат обчислень привласнюється безпосередньо імені функції.
Опис функції повинен починатися зі службового слова function і закінчуватися вказівкою типу функції:
function f(x:matr; var y:real):real;
Серед операторів функції обов'язково має бути присвоювання імені функції деякого значення: f:=<значення>;
Формальні параметри функцій вводяться за тими ж правилами, що й формальні параметри процедур.
Приклад виконання завдання лабораторної роботи
Приклад 29. Обчислити значення виразу
.
Елементи масивів a(10) і b(5) визначаються за формулами:
ai=3,1i2+4,9і-5, bi=10ln(i+5)+cos2(i).
Обчислення добутку модулів елементів оформимо у виді процедури, а обчислення суми квадратів елементів - у виді функції. Програма має вид:
program pr29;
uses crt;
const m=10; n=5;
type raz=1..m; mac=array[raz] of real;
var a,b:mac; pa,pb,sa,sb,z:real;i:integer; w:char;
procedure pro(x:mac;k:integer; var p:real);
var i:integer;
begin p:=1;
for i:=1 to k do p:=p*abs(x[i])
end;
function sum(x:mac;k:integer):real;
var i:integer; s:real;
begin s:=0;
for i:=1 to k do s:=s+sqr(x[i]); sum:=s
end;
begin clrscr;
WRITELN(' ':10,'МАСИВ А ');
for i:=1 to m do begin
a[i]:=3.1*sqr(i)+4.9*i-5;
Write(a[i]:8:2,' ':4);
IF I MOD 5 = 0 THEN WRITELN; END;
WRITELN; WRITELN(' ':10,'МАСИВ B ');
for i:=1 to n do begin
b[i]:=10*ln(i+5)*sqr(cos(pi*i));
write(b[i]:8:2,' ':4); end; writeln;
pro(a,m,pa); pro(b,n,pb);
sa:=sum(a,n); sb:=sum(b,n);
z:=(pa+pb)/(sa+sb); writeln;
WRITELN(' PA = ',PA:8:2,' PB = ',PB:8:2);
WRITELN(' SA = ',SA:8:2,' SB = ',SB:8:2);
WRITELN(' Z = ',Z:8:2);
w:=readkey
end.
Завдання до лабораторної роботи
Складіть програми для рішення наступних задач, використовуючи звертання до процедури та функції.
Дані масиви X(8), Y(8), Z(10), W(15), елементи яких визначаються за формулами:
xi=a1i2-a2(5-i); yi=b1sin(2i)+b2ei-5;
zi=c1(і-4)+c2sin2(1,5i); wi=d1ln(0,1i)+d2cos3(і-2,5).
Значення коефіцієнтів a1,...,d2 наведені в таблиці 10.
Таблиця 10
Варіанти |
a1 |
a2 |
b1 |
b2 |
c1 |
c2 |
d1 |
d2 |
01-05 |
2 |
10 |
4 |
6 |
8 |
3 |
5 |
12 |
06-10 |
3 |
9 |
6 |
5 |
6 |
5 |
6 |
10 |
11-15 |
4 |
8 |
9 |
4 |
2 |
7 |
8 |
6 |
16-20 |
5 |
7 |
10 |
3 |
4 |
9 |
7 |
8 |
21-25 |
6 |
5 |
12 |
2 |
3 |
11 |
9 |
4 |
26-29 |
7 |
6 |
14 |
1 |
5 |
13 |
10 |
2 |
Варіант m1. Підрахуйте відсоток <умова А> елементів у масивах Х,Y,Z. Визначте мінімальний з них.
Варіант m2. Підрахуйте загальну кількість <умова А> елементів у масивах Y,Z,W.
Варіант m3. Знайдіть суму мінімальних <умова А> елементів масивів X,Y,W.
Варіант m4. Знайдіть добуток максимальних <умова А> елементів масивів Y,Z,W.
Варіант m5. Сформуйте масив з різниць між сумами елементів <умова А> з парними і непарними індексами в масивах Х,Y,Z.
Варіант m6. Знайдіть середні арифметичні <умову А> елементів масивів Х,Y,Z і визначте максимальне з них.
Варіант m7. Знайдіть суму добутків квадратів <умова А> елементів масивів Х,Z,W.
Варіант m8. Сформуйте масив з різниць між максимальним <умова А> і мінімальним елементами масивів Х,Y,Z.
Варіант m9. Сформуйте масив із сум <умова А> елементів масивів Х,Y,W. Знайдіть максимальну суму.
Варіант m0. Сформуйте нові масиви, що складаються з <умова А> елементів масивів Y,Z,W.
Умова А наведена в таблиці 11.
Таблиця 11
m |
Умова А |
0,3 |
від'ємних |
1 |
додатних |
2 |
що належать інтервалу [-10;20] |