
- •Структура програми
- •Ідентифікатори.
- •Запис чисел на 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 ім'я_запису: record
Ім'я1:тип;
Ім'я2: тип;
.
.
.
Ім'яN: тип;
End;
В даному випадку службове слово RECORD виконує роль відкриваючих операторних дужок, a END - закриваючих. В середині операторних дужок записуються елементи запису. Допускається замість імені запису вказувати список імен, тобто імена записів, відокремлених комами. Імена записів разом з їх описом називаються полями запису.
Для представленої відомості об'явлення записів буде виглядати наступним чином:
Var В:RECORD
N: integer;
FIO: array[1..20] of char;
OK: array[1..3] of integer;
END;
Більш універсальна форма об'явлення запису - це використання розділу типів Туре:
Туре і м 'я_типу = RECORD
Ім'я1:тип; Ім'я2:тип;
.
. .
Ім’яN: тип;
End;
Var ім'я_запису:ім'я_типу;
Елемент запису використовується в програмі в тому самому змісті, що й окрема змінна. Таким чином, елемент запису можна вказувати як у лівій частині оператора присвоєння, так і в виразах. Над елементами запису можна виконувати дії, допустимі для даних його типу. (Якщо тип елементу запису цілий, то виконуються всі операції, допустимі для цілих даних і т.д.).
Для відомості, що розглядається, можна виконати наступні операції:
1.порядковому номеру N запису В присвоїти значення 2:
B.N:=2;
2. знайти суму трьох оцінок:
s: =В.ОК[1]+В.ОК[2]+В.ОК[3];
3. ввести значення порядкового номеру:
read(B.N)
Звернення до запису в цілому, а не тільки до її елементів допускається тільки в операторі присвоєння. Зліва і справа від знаку присвоєння повинні використовуватися імена записів однакового типу.
Оператор приєднання.
Звернення до елементів запису відбувається за допомогою уточненого імені. Оператор приєднання дозволяє спростити звернення до елементу запису. Ім’я запису виноситься в заголовок оператора приєднання, а у блоці використовуються тільки імена елементів запису. Загальна форма оператора приєднання наступна:
With ім’я_запису do
Begin
.
.
.
End;
Між Begin та End знаходяться оператори, які містять імена елементів запису.
Для запису, що розглядається, операцію присвоєння, сумування та введення можна об’єднати в один оператор:
With B do
Begin
N:=2;
S:=OK[1]+OK[2]+OK[3];
Read(N); end;
Відмінність запису від масиву заключається в тому, що доступ до елементів запису здійснюється не по індексу, а по імені поля.
Приклад: Описати комбінований тип для представлення:
а) часу в годинах, хвилинах та секундах:
type clock=record
chas: 1..24;
min, sec: 1..60;
end;
б)задати анкетні дані студента. Вказати прізвище, дату народження, стать та національність.
Type v=record
FЮ: array[1..25] of char;
Data = record
Chislo:1..31;
Month: (янв., дек);
God:1900..2000;
End;
РоІ: (м,ж);
National: char;
End;
Приклад: Дано type str=array[1..10] of char;
Adr=record
Gorod,street:str;
Dom, kv:1..999;
End;
Var adrl, adr2: adr;
Використовуючи оператор приєднання, присвоїти змінній adrl значення,
що відповідає вашій адресі. Змінній adr2 присвоїти таке саме значення, замінивши в ньому номер будинку на 15.
With adrl do
Begin
Gorod: = 'Кіровоград';
Street: = 'Попова';
Dom: =13;
Kv: =156;
End;
Adr2: =adrl;
Adr2.kv: =15;
Приклад: є многочлен 4a+ 7b+8a-3a-2k+p-5r+ 7b-4k. Знайти подібні члени для змінної а та обчислити сумарний коефіцієнт. Кожний елемент многочлена можна вважати записом.
program zap 1;
type p=record
buk: char;
koef: integer;
end;
var ml,m2:p;
sum, i: integer;
begin
sum:=0;
writeln('введіть многочлен');
while not eoln do
begin
readln(m1.koef);
readln(m1.buk);
if m1.buk= 'a' then
sum:=sum+m1.koef;
end;
m2.koef:=sum;
m2.buk:=’a’;
writeln(‘сумарний коефіцієнт=',т2.koef,m2.buk);
end.
m1 - вхідний елемент многочлена;
m2 - вихідний елемент многочлена;
Buk - буква (елем. зап.);
Sum - сума;
Koef - коеф. (елем. зап.)
В даній програмі використовується два записи: ml та m2 з однаковою структурою, тобто з однаковими типами даних.
Задача: Група складається з п студентів. Ввести їх дані в комп’ютер та відсортувати за алфавітом (прізвища).
Program ZAP5;
Const n=15;
Type stud=record
FIO: string [20];
OK: array [1..5] of integer;
end;
Var Grupa: array [1..n] of stud;
st: stud;
i, k, j: integer;
Begin
Writeln(‘Введ. записи’);
For i:=1 to N do
begin
with Grupa [i] do begin
Readln (FIO);
For k:=1 to 5 do read (OK [k]);
readln; end; end;
{сортування за алфавітом};
For i:=1 to N do
For j:=1 to N-i do
If Grupa [j].FIO>Grupa[j+1].FIO then
begin
St:=Grupa[j];
Grupa[j]:=Grupa[j]+1;
Grupa[j+1]:=St;
end;
{Список після сортування}
For i:=1 to N do begin
With Grupa[i] do begin
Write(FIO);
For k:=1 to 5 do write (OK [k]:5);
Writeln; end; end; end.
Дана програма забезпечує формування масиву записів в пам’ять, сортування всіх записів за алфавітом і виведення відсортованого масиву.