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

ОТ Методичка

.pdf
Скачиваний:
7
Добавлен:
17.03.2016
Размер:
618.24 Кб
Скачать

15.Що таке конфлікт імен змінних?

16.Як вирішується конфлікт імен змінних?

17.Які є способи передачі параметрів у процедури та функції? 18.Що таке параметр-значення?

19.Що таке параметр-змінна?

20.Яка різниця між параметром-значення і параметром-змінна? 21.Як передати масив у процедуру або функцію?

22.Написати програму. Умову і вимоги до задачі надає викладач.

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

Записи

Мета

Знати що таке запис. Вміти задавати записи різного ступеню складності. Навчитися працювати з записами.

Хід роботи

Варіанти завдань

1.Ввести масив записів, що містять відомості про прізвища і номери телефонів. Упорядкувати цей масив за прізвищами . Роздрукувати вихідний масив.

2.Ввести масив записів, що містить відомості про прізвища і номери телефонів. Упорядкувати масив за прізвищами. Програма вводить нового абонента та вставляє його в необхідне місце масиву.

3.Ввести масив записів що містить прізвища та екзаменаційні оцінки

зтрьох предметів. Для кожного студента обчислити середній бал. Створити новий масив записів що містить прізвища та середній бал.

4.Ввести масив записів що містить прізвища та екзаменаційні оцінки

зтрьох предметів. Створити новий масив в якому знаходяться прізвища студентів які склали екзамени без трійок в алфавітному порядку.

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

6.Ввести масив записів що містить прізвища, табельний №, зарплату. Відсортувати масив за зарплатою. Обрізати масив після відповідної зарплати величина якої вводиться з дисплею.

7.Заданий масив містить відомості про прізвища та екзаменаційну оцінку. Роздрукувати студентів, які отримали задану оцінку а алфавітному порядку.

8.Ввести масив записів, який містить автора та назву книги. Роздрукувати ті записи з масиву автор яких починаються на задану букву.

9.Ввести масив записів, який містить автора та назву книги. Створити програму, яка може ввести новий запис та замінити запис, що

містить вказане прізвище на нововведений.

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

11.Ввести масив записів, який містить автора (упорядкований за автором) та назву книги. Ввести нові записи таким чином, щоб масив залишався впорядкованим.

12.Ввести масив записів, який містить прізвище та назву групи. Роздрукувати ті записи, прізвища в яких починаються на введену букву.

13.Ввести масив записів, який містить автора та назву книги. Роздрукувати ті записи, які мають одного автора.

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

15.Ввести масив записів, який містить прізвище та екзаменаційні оцінки. Створити новий масив, що містить прізвище, та розмір стипендії, залежно від здачі сесії. Якщо стипендія не призначається, поле повинно бути пустим. Розмір стипендії визначається таким чином: якщо середній бал нижче 4, то стипендії не має, якщо в межах від 4 то 4,5 не включно то 500, якщо в межах від 4,5 до 5 не включно то надбавка 20%, якщо 5 то надбавка 50%

16.Ввести масив записів, який містить прізвище та номер телефону. Роздрукувати телефонні номери згруповані по прізвищам в алфавітному порядку.

17.Ввести масив записів, який містить коефіцієнти квадратного рівняння. Утворити новий масив записів, який містить коефіцієнти квадратного рівняння та корені рівняння.

18.Дано масив дійсних чисел. Утворити новий масив записів, які містять дійсне число з вхідного масиву, окремо цілу частину, оремо дробову частину дійсного числа. Вихідний масив повинен бути відсортований за спаданням дробової частини.

19.Ввести масив записів, який містить розклад руху потягів. Елемент масиву складається з таких полів: № потяга, назва станції, час прибуття, час відправлення. Роздрукувати перелік станцій, на яких заданий потяг стоїть не менше ніж задана кількість хвилин.

20.Ввести масив записів, який містить № групи, прізвище студента, предмет, оцінка. Утворити новий масив записів, який містить № групи, предмет, середню оцінку групи з предмету.

21.Ввести масив записів. Запис складається з таких полів: анкета учня, масив записів, який містить інформацію про видані/повернуті книжки з бібліотеки. Анкета учня має такі поля: прізвище, ім’я, рік народження, дата запису до бібліотеки. Структура запису про видані/повернуті книжки: назва книги, дата видачі, дата повернення. Роздрукувати перелік не повернутих книжок та перелік повернутих книжок за заданим учнем. Також потрібно роздрукувати анкету учня.

22.Ввести масив записів, який містить номер автомобіля, марку автомобіля, рік випуску. Роздрукувати записи відсортовані за спаданням року випуску за заданою маркою автомобіля.

23.Дано масив цілих чисел. Утворити масив записів, який містить число з вхідного масиву, середнє арифметичне цифр числа, кількість розрядів числа, середнє геометричне цифр числа.

24.Ввести масив записів, який містить назва країни, площа країни, населення країни, назва столиці, населення столиці. Роздрукувати Інформацію про країни, в яких співвідношення у відсотках кількості населення у столиці до кількості населення у країни перевищує задану величину

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

26.Ввести масив записів, який містить автора, назву книги, рік видання. Роздрукувати записи за вказаним автором, які відсортовані за зростанням року видання та назвою книги.

27.Задано масив цілих чисел. Створити масив записів «анкета числа». Структура анкети: число з вхідного масиву, просте або не просте число, найбільший спільний дільник, чи е число перевертишем.

28.З клавіатури вводяться дійсні числа. Створити масив записів, який містить інформацію про введені дійсні числа. Структура запису: ціла частина дійсного числа, дробова частина дійсного числа, дійсне число. Ціла та дробова частина представлені у вигляді цілого числа.

29.Створити масив записів, який містить інформацію про студентів вашої групи. Структура запису: Прізвище, Ім’я, По батькові, Рік народження, зріст, знак зодіаку. Роздрукувати записи про студентів, які:

мають вказаний знак зодіаку

зріст вище за вказаний (зріст вказується в метрах)

30.Створити масив записів, який містить інформацію про області України. Структура запису: Назва, площа, населення, адміністративний центр, населення в адміністративному центрі. Роздрукувати записи:

в алфавітному порядку

площа, яких більше за вказану

площа яких менше за вказану

населення яких менше за вказане значення

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

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

Узагальнений вигляд опису типу запис:

Type

<Імя типу>=record

<Поле 1> :<Тип поля>; <Поле 2> :<Тип поля>;

<Поле N> :<Тип поля>; end;

Приклад запису

Var person:record name:string; age:integer; end;

person – змінна типу запис, name та age поля запису, які зберігають ім’я та вік персони. Опис запису обов’язково закінчується словом end, тобто кожному record відповідає end.

Для доступу до полів запису використовують складене ім’я, тобто вказується назва змінної, потім крапка, потім назва поля. Наприклад:

person.name=’Petrenko’; person.age = 20;

writeln(‘Person name: ’, person.name, ‘ Person.age : ’: 15, person.age:4);

Для полегшення роботи з полями записів використовують оператор приєднання With do.

With <змінна типу запис 1>,…,< змінна типу запис N> do <Блок операторів>

Приклад:

With person do begin

name=’Petrenko’; age = 20;

writeln(‘Person name: ’, name, ‘ Person.age : ’: 15, age:4); end;

Слід зазначити, що при використанні оператора приєднання потрібно пам’ятати про область видимості змінних (локальні та глобальні змінні), тобто наприклад, якщо в основній програмі є змінна age, а також описаний запис з полем age, то в середині оператора With ідентифікатор age буде позначати поле запису, а не змінну.

Program records; type

tRecord=record

a,b:integer

end; var

r:tRecord;

a,b:integer; BEGIN

a:=1;

b:=2;

r.a:=3;

r.b:=4; with r do a:=a+b; writeln(a); writeln(b); writeln(r.a); writeln(r.b);

END.

Вивід на екран:

1{a}

2{b}

7{r.a}

4{r.b}

Контрольні питання

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

2.Що таке поле запису?

3.Наведіть приклад запису.

4.Запис це простий чи складаний тип даних? Відповідь поясніть.

5.Яка відмінність запису від масиву?

6.Чи можна вкладати запис у інший запис?

7.Наведіть приклад вкладеного запису.

8.Яким чином можна роздрукувати запис?

9.Що таке оператор приєднання?

10.Наведіть структуру оператора приєднання.

11.Чи можливо вкладати оператори приєднання один в одний?

12.Чи можливо використовувати в операторі приєднання декілька змінних типу запис?

13.Яким чином вибирається поле запису в операторі приєднання, для випадку, коли оператори приєднання вкладені один в одний, якщо в змінних типу запис є однакові поля?

14.Яким чином вибирається поле запису в операторі приєднання, для випадку, коли оператори приєднання використовуються в одному операторі приєднання, якщо в змінних типу запис є однакові поля?

15.Написати програму. Умову і вимоги до задачі надає викладач.

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

Типізовані файли

Мета

Знати що таке файл. Вміти задавати файли різних типів даних. Вміти виконувати операції читання та запису у файл. Вивчити вбудовані функції для роботи з типізованими файлами

Хід роботи

1.Створити файл цілих чисел. Перемістити цілі додатні , парні числа до другого файлу, від’ємні та непарні у третій файл. Шляхом читання другого та третього файлів створити четвертий файл, у якому парні та непарні числа чергуються.

2.Створити файл цілих чисел, вводячи дані з клавіатури. Переписати парні числа до другого файлу, підрахувати їх кількість. Визначити розмір файлу, якщо він перевищує задане користувачем значення, то обрізати його.

3.Створити файл цілих та дробових чисел, вводячи дані з клавіатури. Переписати дробові числа до другого файлу, підрахувати їх кількість. Число кількості дописати в файл з дробовими числами. Визначити розмір файлу з дробовими числами.

4.Створити файл цілих та дробових чисел, вводячи дані з клавіатури. Попарно скласти два числа, що знаходяться поруч (перше + друге, третє + четверте). Якщо сума ціле число то переписати такі числа в вихідний файл. Підрахувати кількість таких сум.

5.Створити файл записів з полями: прізвище, телефон, плата. Вилучити з файлу абонентів, що не сплатили. Переписати