Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Posibnik_Pascal

.pdf
Скачиваний:
75
Добавлен:
17.02.2016
Размер:
1.49 Mб
Скачать
{виведення та підрахунок букв}
{виведення та підрахунок цифр}
{формування множини цифр} {формування множини символів}
{початкове значення множини літер} {початкове значення множини цифр}

Х, у яких усі елементи будуть різними. Підрахувавши кількість елементів у кожній множині, отримаємо розв’язок задачі.

Program primer;

 

uses crt;

 

var

 

s:string;

{змінна для рядка}

c :set of ‘a’..’z’;

{змінна для множини букв}

x :set of ‘0’..’9’;

{змінна для множини цифр}

i :byte;

{параметр циклу}

l :byte;

{лічильник цифр у множині}

k :byte;

{лічильник букв у множині}

b:char;

{елемент множини}

begin

 

clrscr;

writeln(‘Введіть рядок’); readln(s);

c:=[];

x:=[];

for i:=1 to length(s) do begin

if s[i] in [‘0’..’9’] then x:=x+[s[i]]; if s[i] in [‘a’..’z’] then c:=c+[s[i]];

end;

k:=0; l:=0; {початкові значення лічильників} writeln(‘Рядок містить такі літери:’);

for b:=’a’ to ‘z’ do if b in c then begin

write(b, ‘ ‘); k:=k+1; end;

writeln;

writeln(‘Кількість літер = ‘, k); writeln(‘Рядок містить такі цифри:’); for b:=’0’ to ‘9’ do

if b in x then begin write(b, ‘ ‘); l:=l+1; end;

writeln;

writeln(‘Кількість цифр = ‘, l); readln;

end.

Завдання для виконання

Основний рівень

1.Дано речення української мови. Із яких різних великих та малих літер воно складається? (Літери українського алфавіту – а, б, в, г, ґ, д, е, є, ж, з, и, і, ї, й, к, л, м, н, о, п, р, с, т, у, ф,

х, ц, ч, ш, щ, ь, ю, я).

2.Дано речення української мови. Які великі та малі літери не містяться в реченні? (Літери українського алфавіту – а, б, в, г, ґ, д, е, є, ж, з, и, і, ї, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч,

ш, щ, ь, ю, я).

51

3.Дано речення української мови. Із яких різних великих та малих літер, що передають голосні звуки, воно складається? (Літери українського алфавіту, що передають голосні звуки – а, е, є, и, і, ї, о, у, ю, я).

4.Дано речення української мови. Які великі та малі літери, що передають голосні звуки, не містяться в реченні? (Літери українського алфавіту, що передають голосні звуки – а, е, є,

и, і, ї, о, у, ю, я).

5.Дано речення української мови. Із яких різних великих та малих літер, що передають приголосні звуки, воно складається? (Літери українського алфавіту, що передають приголосні звуки – б, в, г, ґ, д, ж, з, й, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ).

6.Дано речення української мови. Які великі та малі літери, що передають приголосні звуки, не містяться в реченні? (Літери українського алфавіту, що передають приголосні звуки – б, в, г, ґ, д, ж, з, й, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ).

7.Дано речення української мови. Із яких різних великих та малих літер, що передають дзвінкі приголосні, воно складається? (Літери українського алфавіту, що передають дзвінкі приголосні – б, в, г, ґ, д, ж, з, й, л, м, н, р).

8.Дано речення української мови. Які великі та малі літери, що передають дзвінкі приголосні, не містяться в реченні? (Літери українського алфавіту, що передають дзвінкі приголосні – б, в, г, ґ, д, ж, з, й, л, м, н, р).

9.Дано речення української мови. Із яких різних великих та малих літер, що передають глухі приголосні, воно складається? (Літери українського алфавіту, що передають глухі приголосні – к, п, с, т, ф, х, ц, ч, ш, щ).

10.Дано речення української мови. Які великі та малі літери, що передають глухі приголосні, не містяться в реченні? (Літери українського алфавіту, що передають глухі приголосні – к, п, с, т, ф, х, ц, ч, ш, щ).

11.Дано натуральне число. Із яких різних цифр воно складається?

12.Дано натуральне число. Які цифри не використані в записі цього числа?

13.Вивести всі прості числа із інтервалу 1..n, де n – задане натуральне число.

14.Дано рядок. Підрахувати кількість різних символів, що не є буквами або цифрами, і вивести їх на друк.

15.У зростаючому порядку надрукувати всі цілі числа з діапазону 1..10000, що мають вигляд n2+m2, де n, m≥0.

Підвищений рівень

Задано масив n слів із малих латинських літер, у кожному слові до 10 букв.

1.Знайти всі різні літери, що зустрічаються більше ніж в одному слові.

2.Знайти всі різні літери, що зустрічаються не більше ніж в одному слові.

3.Знайти всі різні літери, що містяться у словах непарної довжини.

4.Знайти всі різні літери, що не містяться в жодному слові парної довжини.

5.Знайти всі різні літери, що містяться в кожному слові непарної довжини.

6.Знайти всі різні літери, що містяться в кожному слові.

7.Знайти всі різні літери, що не містяться в жодному слові.

8.Знайти всі різні літери, що містяться у словах.

9.Знайти всі різні літери, що містяться в першому слові та не містяться у решті слів.

10.Знайти всі різні літери, що містяться у словах парної довжини та не містяться у словах непарної довжини.

11.Знайти всі різні літери, що містяться в кожному слові з парним номером та не зустрічаються у всіх словах з непарними номерами.

12.Знайти всі різні літери, що містяться в першому слові та не містяться у кожному з решти слів.

13.Знайти всі різні літери, що містяться в кожному слові непарної довжини та не містяться в кожному слові парної довжини.

14.Знайти всі різні літери, що містяться в словах, але не у кожному слові.

52

15.Знайти всі різні літери, що містяться у словах парної довжини, але не у кожному з цих слів.

Додаткові задачі

1.type продукт = (хліб, масло, молоко, м’ясо, риба, сіль, сир, ковбаса, цукор, чай, кава); асортимент = set of продукт;

магазини = array[1..20] of асортимент;

Написати програму, яка за інформацією з масиву магазинів виводить:

a.множину продуктів, що є у всіх магазинах;

b.множину продуктів, кожний із яких є хоча б в одному магазині;

c.множину продуктів, яких немає в жодному магазині.

2.type ім’я = (Вася, Володя, Іра, Ліда, Марина, Міша, Наташа, Олег, Оля, Свєта, Юля);

гості = set of ім’я;

група = array[ім’я] of гості;

Написати програму, що визначає, чи є у групі хоча б одна людина, яка побувала у гостях

урешти людей із групи.

3.Створити програму генерування всіх підмножин заданої n-елементної множини.

4.Навчальний план підготовки фахівців містить відомості про назви дисциплін та кількість навчальних годин з кожної. Вибрати з навчального плану будь-який блок дисциплін, що складається не менше ніж з 5 дисциплін, які мають сумарний обсяг 756 годин або більше (якщо такий блок є).

5.Довідник продуктів містить назву, калорійність і ціну одного кілограма кожного продукту. Скласти всі можливі меню, сумарна калорійність кожного з яких буде не менше, а загальна вартість – не більше від введених користувачем величин. Меню – це перелік продуктів із зазначенням їх кількості.

6.Дано деякий текст, що закінчується крапкою (у сам текст крапка не входить). Визначити, чи є цей текст правильним записом «формули»

<формула>::= <терм> | (<формула> <знак> <формула>) <знак>::= + | - | * <терм>::= <ім’я> | <ціле>

<ім’я>::= <буква> | <ім’я> <буква> | <ім’я> <цифра> <ціле>::= <цифра> | <ціле> <цифра> <буква>::= а | б | в | г | д | е | ж <цифра>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Питання для самоконтролю

1.Дайте означення множини.

2.Наведіть приклади множин-констант.

3.Дайте означення множинного типу.

4.Який синтаксис оголошення множинного типу?

5.Вкажіть допустимі варіанти типів для базового типу множини.

6.Яка максимальна кількість елементів може бути у множині?

7.Які операції можна виконувати над множинами?

8.type bits = set of 0..1;

var x:bits; y:set of (a,b,c); z:set of ‘*’..’*’;

Дайте відповідь на питання:

а) Який базовий тип кожного із вказаних множинних типів?

б) Скільки і які значення може приймати кожна зі змінних x, y, z?

53

9. Які з наступних конструкцій є множинами (в смислі мови Паскаль), а які ні, та чому?

а) [9,6,3,0];

б) [2..3,5,7];

в) [1..15,4..18];

г) [‘*’,’*’];

д) [0..0];

е) [true..false];

є) [2,sqrt(9)];

ж) [‘=’,’>=’,’>’];

з) [[], [5]];

и) [odd(7), 0<2];

і) [1.2,,2.1];

ї) [1.2..2.1].

10. var p: set of 0..9;

i, j: integer;

 

 

Якщо i=3 та j=5, то яке значення отримає змінна p при виконанні наступного оператора

 

присвоювання:

 

 

 

 

 

а) p:=[i+3, j div 2, j..sqr(i)-3]; б) p:=[2*i..j];

в) p:=[i, j, 2*i, 2*j].

11.

Обчислити значення відношень:

 

 

а) [2]<>[2,2,2];

 

 

б) [‘a’,’b’]=[‘b’,’a’];

в) [4,5,6]=[4..6];

 

г) [‘c’,’b’]=[‘c’..’b’];

д) [2,3,5,7]<=[1..9];

е) [3,6..8]<=[2..7,9];

 

є) []<=[‘0’..’9’];

 

 

ж) ‘q’ in [‘a’..’z’];

з) trunc(3.9) in [1,3,5];

 

и) odd(4) in [];

 

 

і) [2]<[1..3];

ї) 66=[66].

12.

Чи еквівалентні вирази:

 

 

 

а) p in [0,5,19]

і

(p=0)or(p=5)or(p=19)?

 

 

б) p in [20..50]

і

(p>=20)and(p<=50)?

 

13.

Обчислити значення виразів:

 

 

а) [1,3,5]+[2,4];

 

 

б) [1,3,5]*[2,4];

в) [1,3,5]-[2,4];

 

г) [1..6]+[3..8];

 

 

д) [1..6]*[3..8];

е) [1..6]-[3..8];

 

є) [2,4]+[1..5];

 

 

ж) [2,4]*[1..5];

з) [2,4]-[1..5];

 

и) []+[4];

 

 

і) []*[4];

ї) []-[4].

14.

Обчислити значення виразів:

 

 

а) [2..13]*[3,13..60]+[4..10]-[5..15]*[6];

 

 

б) [2..10]-[4,6]-[2..12]*[8..15];

 

 

в) ([‘0’..’7’]+[‘2’..’9’])*([‘a’]+[‘z’]).

 

15.

Спростити (А і В – множини):

 

 

а) А*В-А;

 

 

б) А-(А-В);

 

 

в) (А+В)-(А-В)-(В-А);

г) (А-В)+(В-А)+А*В.

54

Лабораторна робота № 10

Тема: Записи

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

Теоретичні відомості

Запис – це структурований тип даних, що є об’єднанням фіксованого числа змінних одного або декількох типів. Змінні, що входять до складу запису, називаються його полями. Можливість інтегрування в один запис різнотипних компонентів становить головну відмінність запису від масиву.

Оголошення типу запису та змінної цього типу має такий вигляд: type < ім’я типу запису > = record

<ім’я поля1 > : < тип >;

<ім’я поля2 > : < тип >;

………………………….

<ім’я поляN > : < тип >; end;

var < ім’я змінної запису > : < ім’я типу запису >;

Можна оголошувати змінну запису без використання розділу type. Але тип цієї змінної буде безіменним, і таке оголошення зазвичай не практикується. Поле запису може мати будьякий тип, крім файлового. Зокрема, воно може бути змінною структурованого типу. Тому допускається вкладення записів.

Компоненти запису розташовуються в пам’яті комп’ютера послідовно один за одним. Обсяг пам’яті для запису визначається як сума розмірів областей пам’яті, що виділені для зберігання всіх його полів.

Кожне поле запису є ідентифікатором, який повинен бути унікальним у межах запису. Доступ до компонентів (полів) здійснюється через складене ім’я

< ім’я змінної запису >.< ім’я поля >.

Це складене ім’я є аналогом звичайної змінної, яка ототожнюється з іменем поля, і для цієї змінної допустимі всі операції, які можна виконувати над даними типу цього поля. Для спрощення доступу до полів запису використовують оператор приєднання with, який має синтаксис:

with < список змінних типу запису > do begin

< оператори >

end;

У операторах всередині конструкції with замість складених імен полів вказуються лише імена полів. Дія конструкції with розповсюджується лише на ті записи, імена яких були вказані у списку змінних типу запису. Найчастіше цей список складається з однієї змінної.

Над записами, як цілісними об’єктами, допустима лише одна операція – присвоєння. У мові Паскаль записи можуть мати варіативну частину, і такі записи називаються

записами з варіантами. Варіантна частина формується за допомогою оператора case.

55

Приклад

Створити масив записів із полями: прізвище учня і три оцінки. Вивести прізвища учнів, які мають хоча б одну двійку.

Аналіз задачі та алгоритм

Задача є простою. Доцільно створити процедури занесення та виведення даних запису, пошуку запису в масиві про учнів, що мають двійку. Пошук є послідовним і елементарно реалізується для масиву. Алгоритм очевидний.

program pr1;

 

 

uses crt;

 

 

const n=3;

 

{кількість записів у масиві}

type

 

 

zap=record

 

 

fio:string[20];

{поле для прізвища}

oz1,oz2,oz3:integer;

{поля оцінок}

end;

 

 

mas=array[1..n] of zap;

{тип масиву записів}

var

 

 

a:mas;

i:integer;

 

{-------------------------------------------------------------------------------------------------------------------

 

}

procedure st_zap (var s:zap); {Створення запису} begin

with s do begin

write('Введіть прізвище учня:');readln(fio); write('Введіть оцінку 1:');readln(oz1); write('Введіть оцінку 2:');readln(oz2); write('Введіть оцінку 3:');readln(oz3);

end;

 

end;

 

{-------------------------------------------------------------------------------------------------------------------

}

procedure druk_zap(s:zap);

{Виведення запису}

begin

 

with s do

 

writeln(fio:40,oz1:2,oz2:2,oz3:2);

end;

 

{-------------------------------------------------------------------------------------------------------------------

}

procedure st_mas;

{Створення масиву записів}

var i:integer;

 

begin

 

for i:=1 to n do

 

st_zap(a[i]);

 

end;

 

{-------------------------------------------------------------------------------------------------------------------

}

procedure poisk;

{Обробка масиву записів}

var i,d:integer;

 

begin

 

d:=0;

{лічильник записів}

for i:=1 to n do

{пошук учнів, що мають двійку}

begin

with a[i] do

if (oz1=2) or (oz2=2) or (oz3=2) then writeln('Двійки має:',fio)

56

else d:=d+1;

 

end;

 

if (d = n) then writeln('Учнів з двійками немає');

 

end;

 

{-------------------------------------------------------------------------------------------------------------------

}

Begin

 

clrscr;

 

writeln('Кількість учнів - 3');

 

st_mas;

 

writeln;

 

writeln('Створений масив записів');

 

for i:=1 to n do

 

druk_zap(a[i]);

 

poisk;

 

readln;

 

end.

 

Завдання для виконання

 

Основний рівень

1.Створити масив записів із полями: прізвище та рік народження. Надрукувати прізвища тих, хто народився в 1979 році.

2.Створити масив, який містить дані про учнів: прізвище, клас, номер школи і додатково оцінки за останню чверть (середній бал). З’ясувати, скільки учнів мають середній бал не нижчий за 4.

3.Дано масив, який містить дані про книги. Відомості про кожну книгу: прізвище автора, назва книги та рік видання. Вивести на екран усі книги вказаного автора та їх роки видання.

4.Дані про автомобіль складаються з його марки, номера та прізвища господаря. Дано масив, який містить дані про декілька автомобілів. Вивести інформацію про господарів автомобілів певної марки.

5.Дано масив записів із полями: прізвище учня, число та місяць народження. Надрукувати список учнів, які народилися влітку.

6.Дано масив, який містить різні дати. Кожна з цих дат складається з числа, місяця та року. Знайти дати з найменшим номером року.

7.Дано масив, який містить дані про книги. Відомості про кожну книгу: прізвище автора, назва книги та рік видання. Визначити, чи є книга з назвою ”Інформатика”, і якщо є, то повідомити прізвище автора та рік видання.

8.Дано масив, який містить дані про куби: розмір кожного куба (довжина ребра), його колір та матеріал. Вивести інформацію про дерев’яні куби.

9.Дано масив записів, який містить дані про учнів школи. Поля запису: прізвище, ім’я, клас та номер школи. Надрукувати дані про учнів, прізвища яких найкоротші.

10.Дано масив записів із полями: прізвище учня, число та місяць народження. Надрукувати список учнів, які народилися взимку.

11.Дано масив, який містить дані про учнів: прізвище, клас, номер школи і гурток, у роботі якого учень бере участь. З’ясувати, скільки учнів і які саме відвідують вказаний гурток.

12.Дано масив записів, який містить дані про системні блоки: розмір, колір та ціна. Вивести на екран дані про системні блоки певної ціни.

13.Дано масив записів із полями: назва книги, автор та рік видання. Надрукувати дані про книги, які видані з n-го року.

14.На Олімпійських Іграх у Сіднеї брали участь гімнасти різних країн. Відомості про кожного складаються з імені, прізвища, країни та кількості балів. Дано масив, який

57

містить відомості про спортсменів. Вивести на екран інформацію про представників України.

15.У змаганнях зі спортивної гімнастики беруть участь декілька спортсменів. Вони виконують вправи на 4 снарядах. Масив містить відомості про кожного спортсмена: прізвище та оцінки на кожному снаряді. Вивести прізвища тих спортсменів, які в сумі отримали найбільше балів.

Підвищений рівень

1.Масив містить відомості про автомобілі: марка, країна, вартість. Вивести за зростанням вартості інформацію про авто, які випускаються в країні К.

2.Відомості про учнів складаються з імені, прізвища та дати народження (дата містить число, місяць та рік). Вивести на екран відомості за алфавітом прізвищ про тих учнів, які народилися в заданому місяці.

3.Дано масив записів із полями: місяць, число. Вивести на екран за зростанням спочатку всі літні дати, потім усі зимові, а інші замінити на нулі і не виводити.

4.Дано масив записів із полями: ім’я, вік. Написати програму, яка виводить на екран за алфавітом прізвища людей, вік яких найбільший.

5.Дано масив записів із полями: прізвище учасника змагань та його результат (час у секундах). Надрукувати прізвища та результати переможців (1, 2 та 3 місця ).

6.Створити масив записів із полями: прізвище студента та три оцінки за сесію. Вивести назву предмета, який здано найкраще. Потім вивести за алфавітом прізвищ інформацію про те, яку оцінку отримав кожний студент із цього предмету.

7.Створити масив записів із полями: прізвище студента та три оцінки за сесію. Знайти двієчників (тих, хто має хоча б 1 двійку) та вивести про них інформацію на екран за алфавітом прізвищ.

8.Створити масив записів із полями: ім’я учня, вік, зріст. Знайти найвищого учня, учня середнього зросту та відсортувати масив за спаданням зросту.

9.Створити масив записів із полями: прізвище, рік народження та номер школи. Вивести за алфавітом прізвищ інформацію про учнів, які навчаються у школі з даним номером, та, яким у цьому році виповнилося 16 років.

10.Створити масив записів із полями: прізвище учня та три оцінки. Визначити якісний показник успішності (кількість 4 та 5 в %) та упорядкувати масив за спаданням середнього балу учнів.

11.Дані про учня складаються з його імені, прізвища та класу, у якому він навчається. Дано масив, який містить відомості про учнів школи. З’ясувати, чи є у школі учні з однаковим прізвищем. Упорядкувати масив за зростанням номеру класу, а у межах одного класу упорядкувати за алфавітом прізвищ.

12.Дано масив записів із полями: прізвище, телефон, адреса. Вивести на екран за алфавітом прізвищ інформацію про тих абонентів, телефон яких починається з цифри 2.

13.Дано масив, який містить дані про книги. Відомості про кожну книгу: прізвище автора, назва книги та рік видання. Вивести на екран за зростанням року видання інформацію про книги, назва яких починається з ”Інф”. Якщо таких книг немає, то повідомити про це.

14.У змаганнях зі спортивної гімнастики беоуть участь декілька спортсменів. Вони виконують вправи на 4 снарядах. Масив містить відомості про кожного спортсмена: прізвище та оцінки на кожному снаряді. Вивести на екран інформацію про спортсменів за спаданням сум отриманих балів.

15.Дано масив записів із полями: ім’я, вік, стать. Написати програму, яка виводить на екран інформацію про чоловіків за зменшенням віку.

58

Додаткові задачі

1.Створити два масиви, що містять відомості про прізвища та адреси людей. Записи, які є у першому масиві та яких немає у другому масиві, скопіювати до третього масиву.

2.Задано два масиви записів. Записи першого масиву містять відомості про прізвища людей та їхні адреси, другого – про прізвища та номери телефонів. Скласти програму, що за цими двома масивами формує третій масив, записи якого мають такі поля: прізвище, адреса, номер телефону.

3.Створити масив записів із варіантами для збереження бібліотечного каталогу, у якому є дані про книги, журнали та газети. Про книгу відомі її назва, прізвище автора та рік видання, про журнал – його назва, номер, рік видання та перелік статей із прізвищами авторів. Газети ідентифікуються так: назва газети, її номер, дата виходу, перелік статей із прізвищами авторів. У створеному масиві здійснити пошук робіт автора, прізвище якого введено із клавіатури. Із масиву вилучити всі газети, видані до 1995 року.

4.Створити базу даних про студентів деякого вузу. Інформація про студента: прізвище, ім’я, по-батькові, стать, вік, курс. Розробити програму, яка створює базу і друкує наступні дані:

a)номер курсу, на якому найбільший процент чоловіків;

b)найпоширеніше чоловіче та жіноче ім’я;

c)прізвища (в алфавітному порядку) та ініціали всіх студенток, вік і по-батькові яких

єодночасно найпоширенішими.

Питання для самоконтролю

1.Що таке запис?

2.Для представлення якої інформації можна використовувати записи?

3.Який тип даних називається записами? Наведіть приклад.

4.Наведіть синтаксис оголошення типу запису.

5.Які операції допустимі над записами?

6.Як звернутися до поля запису?

7.Яким може бути тип поля запису?

8.Який оператор дозволяє скоротити звертання до полів запису? Наведіть його синтаксис.

59

Лабораторна робота № 11

Тема: Текстові файли

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

Теоретичні відомості

Файл – це іменована область на зовнішньому носії інформації, що містить довільні дані. Файл у такому розумінні називають фізичним файлом, тобто таким, що існує фізично на матеріальному носії інформації. Такий файл є послідовністю байтів, ідентифікується іменем та має певний розмір. З іншого боку, файл – це структура даних, що використовується у програмуванні. У такому розумінні файл називають логічним, тобто таким, що існує у певній програмі як абстракція. Логічний файл є послідовністю значень певного типу, тобто він складається з однотипних компонентів і є структурованим елементом даних. Оскільки компоненти файлу належать до одного типу, то структура логічного файлу нагадує структуру масиву. Але існують суттєві розбіжності між цими структурами даних:

1.Під час оголошення масиву треба вказати кількість його елементів. Під час оголошення файлової змінної розмір файлу невідомий;

2.Розмір масиву, на відміну від розміру файлу, не може змінюватися під час роботи з ним;

3.Для доступу до елементів масиву застосовують індексацію, а для доступу до компонентів файлу – вказівник на поточний компонент;

4.Нумерація елементів масиву виконується від певної нижньої до певної верхньої межі індексу. Компоненти файлу нумеруються починаючи з нуля. Наприкінці фізичного файлу записується керуючий символ #26 (Ctrl+Z), що використовується як ознака кінця відповідного логічного файлу;

5.Компоненти файлу можуть належати до будь-якого типу даних, окрім файлового. Тип

елементів масиву може бути і файловим.

Файли класифікують за типом компонентів і за методом доступу до них. За типом компонентів розрізняють текстові та бінарні (двійкові) файли, а за методом доступу – файли послідовного і прямого доступу. Текстові файли призначені для збереження текстів, а бінарні файли використовують для збереження даних різних типів.

Робота з файлами у мові Паскаль складається з таких етапів:

1.оголошення файлової змінної;

2.зв’язування файлової змінної з фізичним файлом на диску;

3.відкриття файлу;

4.обробка файлу;

5.закриття файлу.

Із кожним відкритим файлом система програмування зв’язує файловий вказівник, який вказує на той (поточний) компонент файлу, над яким буде виконано операцію читання чи запису. Як тільки операція виконана, файловий вказівник автоматично зсувається на наступний компонент, тобто можна виконувати операцію вже з наступним компонентом. При відкритті файлу файловий вказівник встановлюється на початок файлу, тобто на компонент із порядковим номером 0.

У мові Паскаль текстові файли є файлами послідовного доступу і складаються з символів кодової таблиці комп’ютера. Символи файлу об’єднані у рядки. Тому створювати чи обробляти текстовий файл можна посимвольно або рядками. Кожен рядок завершується маркером кінця рядка – спеціальною парою керуючих символів: #13 (повернення каретки) та #10 (переведення рядка). У кінці файлу записується маркер кінця файлу – керуючий символ

#26.

60

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]