- •Методичні вказівки до виконання лабораторних робіт із дисципліни “Інформатика”
- •Полтава 2014
- •Середовище програмування turbo pascal 7.0
- •1.1. Виклик інтегрованої інструментальної оболонки
- •1.2. Рядок меню
- •1.3. Створення та збереження програми на дискові
- •1.4. Виконання програми
- •1.5. Пошук помилок у програмі за допомогою налагоджувача
- •1.5.2. Виконання програми до вказаної точки
- •1.5.3. Перезапуск програми
- •1.5.4. Перегляд та модифікація змінних програми
- •1.5.1. Покрокове налагодження програми та трасування
- •1.5.5. Використання вікна output
- •1.6. Завершення роботи з по тр 7.0
- •Мова turbo pascal 7.0
- •2.1. Загальна структура програм у turbo pascal 7.0
- •Розділ оголошень та узгоджень
- •Розділ текстів процедур та функцій
- •Основний блок програми
- •2.2. Типи даних мови тр
- •2.3. Поняття алгоритму
- •Виконання лабораторних робіт
- •3.1 Лабораторна робота №1 Складання алгоритму та написання програми мовою тр 7.0 для розрахунку функції розгалуженням
- •Послідовність виконання роботи
- •3.1.1. Умовні оператори (умовні конструкції) мови тр
- •3.1.2. Оператори циклу (циклічність конструкції) мови тр
- •3.1.3. Дані типу array (масив)
- •3.1.4. Зразок виконання індивідуального завдання
- •Контрольні питання
- •3.2. Лабораторна робота №2 Написання програм для роботи з простими типами даних мови тр 7.0
- •3.2.1. Прості (скалярні) типи даних мови тр 7.0
- •3.2.2. Оператор присвоювання
- •3.2.3. Зразок виконання індивідуального завдання
- •Контрольні вправи та питання
- •3.3. Лабораторна робота №3 Написання програм для введення та обробки серій із нулів та одиниць
- •3.3.1. Поняття послідовності серій із чисел
- •3.3.2. Зразок виконання індивідуального завдання
- •Контрольні вправи та питання
- •3.4. Лабораторна робота №4 Написання програми введення та обробки двомірних масивів
- •3.4.1. Поняття двомірного масиву. Правила опису та роботи з ним
- •3.4.2. Зразок виконання індивідуального завдання
- •Контрольні вправи та питання
- •3.5.Лабораторна робота №5 Написання програм із використанням процедур та функцій
- •3.5.1.Поняття процедур та функцій
- •3.5.2. Механізм параметрів у процедурі та функції
- •3.5.3.Зразок виконання індивідуального завдання
- •Контрольні вправи та питання
- •3.6. Лабораторна робота №6 Написання програми з використанням складених типів даних: string (рядковий), record (запис), file (файловий)
- •Послідовність виконання роботи:
- •3.6.1. Файлові типи даних (file) і робота з ними
- •3.6.2. Записи (record). Робота з ними
- •3.6.3. Рядковий тип даних (string). Стандартні процедури та функції для обробки рядків
- •Зразок виконання індивідуального завдання
- •Контрольні запитання та вправи
- •3.7.2. Зразок виконання індивідуального завдання
- •2)Ввести, налагодити та виконати наведену програму за комп’ютером. Контрольні вправи та запитання
- •Рекомендована література
Зразок виконання індивідуального завдання
Завдання 1. Увести у файл інформацію про студентів групи (прізвище, домашню адресу, телефон, вік, екзаменаційні оцінки). Вивести інформацію про встигаючих студентів та студентів-відмінників(їх прізвища). Число студентів групи - №.
1) Виконання завдання 1. Складемо алгоритм розв’язання поставленої задачі у вигляді графічної блок-схеми (рис.3.6.2).
Напишемо програму мовою ТР7.0, яка реалізує наведений алгоритм.
Оскільки інформація про студента є сукупністю різних за типом і змістом даних, то для її зберігання зручно використати запис (тип даних RECORD). Тоді програма матиме вигляд:
PROGRAM INFORM GRUP;
USES Crt;
TYPE STUDENT=RECORD {тип даних запис}
PRIZVUSHE:=STRING [25]; {рядковий тип}
ADRESA: STRING [50];
TELEFON: STRANG [10];
VIK: 15..25; {обмежений тип даних}
ECZAMEN: RECORD FIZIKA,MATHEM,PROGR:2..5;
END; {укладений запис}
END;
VAR INFORM STUD: STUDENT;
GRUP: FILE OF STUDENT; {опис файлової змінної}
FILE NAME: STRING [20]; i: INTEGER;
CONCT N=25: {кількість студентів у групі}
BEGIN
CrlScr;
WRITE(‘Уведіть ім’я файла на дискові:’);
READLN (FILE NAME);
ASSIGN (GRUP, FILE NAME); { зв’язування }
REWRITE9GRUP); {створення і відкриття файла}
FOR i:=1 TO N DO {введення інформації про студентів}
BEGIN
WITH INFORM STUD, ECZAMEN DO
BEGIN
WRITE (‘Прізвище, ім’я та по батькові студента:’);
READLN (PRIZVUSHE);
WRITE (‘адреса:’);
READLN (ADRECA);
WRITE (‘телефон’);
READLN (TELEFON);
WRITE (‘вік’);
READLN (VIK);
WRITE (‘екзаменаційні оцінки:’);
READLN (FIZIKA, MATHEM, PROGR);
END;
WRITE (GRUP, INFORM STUD); {запис у файл}
END;
CLOSE (GRUP); {закриття файла}
RESET (GRUP); {повторне відкриття файла}
{указівник файла переміщується на початок}
WHILE NOT EОF (GRUP) DO {кінець файла}
BEGIN
READ (GRUP, INFORM STUD); {зчитування інформації}
WITH INFORM STUD, ECZAMEN DO
BEGIN
IF (FIZIKA>2) AND (MATHEM>2) AND (PROGR>2)
THEN
WRITELN (‘устигаючий’, PRIZVISHE);
IF FIZIKA+MATHEM+PROGR=15
THEN
WRITELN (‘відмінник’, PRIZVUSHE);
END;
END;
CLOSE (GRUP);
END.
так
ні
так
ні
так
ні
так
Рис.3.6.2.Блок-схема введення інформації про студента групи в файл та її обробки
Особливістю наведеної програми є те, що одне поле запису STUDENT в свою чергу також є змінною типу RECORD (поле ECZAMEN). Оскільки поля цього вкладеного запису (назви екзаменаційних дисциплін) мають однаковий тип (обмежений тип 2..5), то їх можна об’єднати, записавши через кому.
Зверніть також увагу на використання в даній програмі оператора під’єднання WITH..DO, який робить її більш компактною.
Після закінчення введення інформації про студентів групи виконується закриття файла (процедура GLOSE), а потім повторне його відкриття (процедура RESET). Цей прийом застосовується для переведення вказівника файла на його початок, щоб потім виконувати зчитування інформації саме з початку файла до його кінця. Хоча для переміщення вказівника можна використовувати й інші засоби (наприклад, процедуру SEEK).
Зчитування інформації з файла організовано за допомогою циклу WHILE..DO. Він використовується до тих пір, поки не буде досягнуто кінця файла (коли умова NOT EОF ( ) стане хибною).
Завдання 2. Виконувати введення слів у файл до тих пір, поки не буде введено слово, що містить N букв (символів). Вивести число введених слів та слова, що містять непарну кількість символів.
Виконання завдання. Складемо алгоритм розв’язку поставленої задачі у вигляді графічної блок-схеми (рис.3.6.3).
Напишемо програму мовою ТР7.0, яка реалізує наведений алгоритм.
PROGRAM FILE SLOVO;
USES Crt;
VAR SLOVO:STRING; I,N: INTEGER;
WESTERN: FILE OF STRING; FILE NAME: STRING[20];
BESIN ClrScr;
WRITE (‘Введіть потрібну довжину слова:’);
READLN(N);
WRITE(‘Введіть ім’я файлу на дискові:’);
READLN(FILE NAME);
ASSIGN(WESTERN,FILE NAME);
REWRITE(WESTERN);
I:=0;
REPEAT
I:=I+1;
WRITE( :);
READLN(SLOVO);
WRITE(WESTERN,SLOVO);
UNTIL Length(SLOVO)=N; {довжина введеного слова }
WRITELN(’Кількість введених слів:’,i);
CLOSE(WESTERN);
RESET(WESTERN);
WHILE NOT EОF(WESTERN)DO
ні
так
ні
ні
т
так
Рис.3.6.3.Блок-схема введення слів у файл та їх обробки
BEGIN
READ(WESTERN,SLOVO);
IF LENGTH(SLOVO)MOD 2<>0 THEN
WRITELN(SLOVO);
END;
READLN;
CLOSE(WESTERN);
END.
Зверніть увагу на те, як визначаються слова, що містять непарну кількість символів. Це робиться за допомогою операції МОD, яка виробляє остачу від ділення на два; якщо остача не дорівнює нулю, то ділене число непарне.
2)Введемо, налагодимо і виконаємо програми за комп’ютером.
