- •Структура програми
- •Ідентифікатори.
- •Запис чисел на Pascal.
- •Додаткова інформація про оператор write (writeln)
- •3. Дано 3-й дійсні числа а,ь,с. Визначити, скільки серед них від'ємних.
- •Складений оператор.
- •Результати операцій над логічними даними:
- •Var ім 'я_масиву:аrrау[t1 ] of t2;
- •Var ім’я_мас:ім 'я_типу;
- •Var ім’я_масиву: ім'я_типу;
- •Процедури.
- •Структура процедури.
- •Параметри-значення та параметри-змінні.
- •Функції.
- •Відмінні особливості функції в порівнянні з процедурами:
- •Рекурсивні структури.
- •If умова then a;
- •If умова then a;
- •If умова then a;
- •Множини.
- •Var ім'я_запису: record
- •Var ім'я_запису:ім'я_типу;
- •Оператор приєднання.
- •With ім’я_запису do
- •Записи з варіантами.
- •Var ім'я_файлу: iм)я_типу; читання файлів.
- •Запис файлу.
- •Write(ім’я, параметри);
- •Читання та запис файлів.
- •Файлова система.
- •Фізичні файли.
- •Файлові типи.
- •Текстові файли.
- •Текст - орієнтовані процедури та функції.
- •Створення текстових файлів.
- •Операції введення-виведення текстових файлів.
- •Переваги типізованих файлів :
- •Безтипові файли.
- •Послідовний та прямий доступ до файлів.
- •Вказівники.
- •Зсилочнии тип.
- •Var p:pointer; (змінна — вказівник);
- •Операції розіменування.
- •Списки.
- •1. Зв'язне представлення з одним зв'язком.
- •2. Зв'язані представлення з двома зв'язками.
- •3В’язані списки.
- •Перегляд зв'язаного списку.
- •Списки властивостей.
- •Pascal – об’єктно-орієнтована мова.
- •Опис об’єкта: рядок
- •Розробка програм на мові тр з використанням мов Асемблера та с.
- •Підпрограма сортування методом обміну
- •Застосування механізму переривань
- •Лівий, правый: зв ’язок; дані: тип_даних;
Параметри-значення та параметри-змінні.
Параметри - значення виконують роль вхідних параметрів процедури. Вони можуть отримувати значення фактичних параметрів, але не можуть передавати свої значення фактичним параметрам. Параметри-змінні виконують роль як вхідних, так і вихідних параметрів процедури. Вони можуть отримувати значення фактичних параметрів, змінювати їх в процедурі та повертати нові значення фактичним параметрам. Для виділення параметрів-змінних перед ними ставиться слово VAR.
В якості фактичних параметрів можуть бути константи, змінні та вирази. При цьому їх тип повинен відповідати типу формального параметру. В Паскалі допускається використання процедур без параметрів. В цьому випадку формальні та фактичні параметри відсутні. В процедурі, як і в основній програмі, може бути відсутнім розділ опису змінних.
Приклад: Є масив дійсних чисел С [і], де і=(1,п). Визначити мінімальний елемент і порядковий номер (в вигляді процедури без параметрів ).
program proz2;
const n-5;
var c: array [I.. n] of real;
i,k: Integer;
m:real;
procedure min;
var k:integer;
begin
m: =c[1];
for i: =2 to n do
If m>c[i] then
begin
m: =c [i];
k:=i;
end;
end;
begin
witeln('Bведіть масив ');
for i: =1 to n do read(c[i]);
min;
writeln('Мінімальний елемент= ',т:8:2);
writeln('Його порядковий номер =’,k:2);
END.
Приклад: написати програму підрахунку кількості зірочок в першому рядку і кількість літер ' k' в другому.
program proz3;
type str=array[1.. 2 5 5] of char;
var a,b:str;
xl,x2, i, kol: integer;
ch:char;
procedure sumb(ch:char; var m:integer; mas:str; n: integer);
{(символ} (кіл-ть) (мас) (границя)}
var m:integer;
begin
т: =0;
for і: =1 to n do
If mas[i]=ch then m: =т+1;
end;
Begin
write('Bведіть кількість елементів в першому рядку');
readln (xl);
for і: =1 to x1 do read(a[i]);
write ('Введіть кількість елементів в другому рядку');
readln(x2);
for і:=1 to x2 do read(B[i]);
sumb (' * ', kol,a,xl);
writeln(‘Кількість * = ',kol);
sumb ('k', kol, b,x2);
writeln ('Кількість k = ',kol);
End.
Приклад: Знайти суму і добуток елементів у двох масивів: М[і],i =(1,10); N[i]=(1..5), (У процедурі).
program proz4;
uses crt;
type a=array[1.10] of Integer;
var masl,mas2:a;
i,summa, dob: integer; N1,N2: integer; kol:integer;
procedure L (n: integer;var mas: a; var sum, pr: integer) ;
begin
sum:=0; pr:=1;
for i: -1 to kol do begin
sum: =sum+mas [i];
pr: =pr*mas[i] ;
end;
end;
begin
clrscr;
writeln('Bведіть кількість елементів масивів 1-го, ІІ-го');
read(nl,n2);
writeln('Bвeдimь 1-й масив');
for і:=1 to n1 do read (masl [i]);
L(nl,MAS1, summa, dob);
writeln('Сумма:=',summa:2);
writeln(‘Дo6ymoк=’,dob:2) ;
writeln('Введіть 2-й масив');
for і:=1 to n2 do read(mas2[i] );
L (n2, mas2, summa, dob);
writeln(‘Cyммa= ', summa:2) ;
writelп('Добуток= ', dob:2) ;
END.
Завдання 1: Є масив цілих чисел М[1..20]. Обчислити суму елементів з 5-го по 15-й і з 15-го по 20-й (в процедурі).
program proz5;
uses crt;
var sum, n,i,j: integer;
m: array [I ..20] of integer;
procedure proc(i,j: integer);
begin
sum:=0;
for n:=i to j do sum: =sum+m[n];
writeln('from ', i, 'to ',j, ' ':3,'сума= ',sum);
end;
begin
clrscr;
writeln(‘введіть елементи масива');
for n:=1 to20 do
read(m[n]);
proc(5,15);
proc(15,20);
end.
