- •Лабораторна робота № 1.
- •Теоретичні відомості
- •Система меню Turbo Pascal 7.0.
- •Меню роботи з файлами file.
- •Меню редагування edit.
- •Меню пошуку інформації search.
- •Меню використання програми run.
- •Меню компіляції compile.
- •Меню наладки debug
- •Меню вікон window
- •Меню інформаційної допомоги help.
- •Редактор тексту середовища Turbo Pascal
- •Команди управління рухом курсора.
- •Контрольні запитання.
- •Лабораторна робота № 2. Лінійні програми. Арифметичні вирази.
- •Теоретичні відомості(Pascal)
- •Значення вбудованих функцій:
- •Процедури введення-виведення:
- •Теоретичні відомості (с) Дві прості програми
- •В цій програмі порівняно з першою використано декілька нових речей
- •Приклад програми
- •Завдання
- •Контрольні запитання.
- •Лабораторна робота № 3 Процеси розгалуження.
- •Теоретичні відомості.(pascal)
- •If логічний вираз then оператор1 else оператор 2;
- •If логічний вираз then
- •If умова1 then if умова2 then оператор1 else оператор 2
- •Теоретичні відомості.(c) Операції відношення і логічні операції.
- •Умовний оператор if.
- •If (умова) оператор;
- •If (умова) оператор;
- •Приклад програми
- •Блок-схема алгоритму
- •Варіанти завдань
- •Контрольні запитання:
- •Лабораторна робота № 4. Розв’язування на еом задач з циклічним обчислювальним процесом.
- •Теоретичні відомості (Pascal).
- •Теоретичні відомості (“с”)
- •Цикли While і do-While
- •Контрольні запитання.
- •Лабораторна робота № 5,6. Одновимірні масиви. Двовимірні масиви.
- •Теоретичні відомості.(Pascal)
- •Теоретичні відомості.(c)
- •Двовимірні масиви
- •Ініціалізація масивів.
- •Масиви вказівників
- •Лабораторна робота №7 Складання блок-схем і програм з використанням процедур і функцій.
- •Теоретичні відомості.(Pascal)
- •1. Процедури
- •Теоретичні відомості.(«с») Функції в мові Сі.
- •Оголошення функції.
- •Прототипи функцій.
- •Область дії і область видимості змінних.
- •Параметри і аргументи функції.
- •Void sort (int arr[ ],int n ) /*можна ще писати void sort(int arr[10], int n), або void sort(int *arr, int n)*/
- •Програма мовою с
- •Лабораторна робота №8. Обробка текстів.
- •Теоретичні відомості.(Pascal)
- •Процедури для роботи з рядками
- •Функції для роботи з рядками.
- •Теоретичні відомості.(с) Масиви символів . Рядки.
- •Функції для роботи з рядками.
- •Приклад виконання завдання.
- •Блок-схема
- •Програма мовою Pascal
- •Програма мовою с
- •Контрольні запитання.
- •Завдання .
- •Лабораторна робота № 9. Записи з фіксованою частиною.
- •Теоретичні відомості
- •Приклад програми
- •Варіанти завдань
- •Процедури та функції тільки для типізованих файлів
- •Теоретичні відомості (с) Вказівник на файлову змінну.
- •Текст програми (Pascal)
- •Блок-схема.
- •Завдання.
- •Лабораторна робота №11. Графіка.
- •Деякі графічні функції
- •Приклад програми.
- •Варіанти завдань.
- •Контрольні запитання.
Процедури та функції тільки для типізованих файлів
SEEK(F,N) – позиціонування покажчика запису на запис з номером N. Перший запис файлу має номер 0.
FILEPOS(F) – функція визначає номер запису, на який вказує покажчик.
FILESIZE(F) – функція визначає кількість записів у файлі F.
EOLN(F) – функція приймає значення TRUE, якщо покажчик запису вказує на кінець рядка.
SEEKEOLN(F) -- аналогічно EOLN.
SEEKEOF(F) -- аналогічно EOF.
APPEND(F) – додавання записів у файл, виконується відкриття файлу F і встановлення покажчика на EOF.
READLN(F) – читання текстового файлу.
WRITELN(F) – запис у текстовий файл.
Теоретичні відомості (с) Вказівник на файлову змінну.
Зв’язуючою ланкою між файлом і потоком є вказівник на файл (file pointer). Це вказівник на інформацію, яка визначає різні боки файлу: ім’я, статус, поточну позицію. Він визначає ім’я файлу на диску.
У файлі stdio.h визначені також функції :
fopen() відкрити файл
fclose() закрити файл
fputc() записати символ в потік
fgetc() прочитати символ з потоку
fseek() змінити вказівник позиції файлу у вказане місце
fprintf() форматний запис у файл
fscanf() форматне читання з файлу
feof() повертає значення “істина”, якщо досягнутий кінець файлу
ferror() повертає значення “фальш”, якщо є помилка
fread() читає блок даних з потоку
fwrite() записує блок даних у потік
rewind() встановлює вказівник позиції файлу на початок
remove() знищує файл
Логічне ім’я файлу – це вказівник на файл. Його необхідно оголошувати так:
FILE *fopen( ), *lst;
Звертання до функції fopen() в програмі робиться так:
lst=fopen(<ім’я файлу на диску>,<вид операції>);
Види операції (вид використання файлу) : “w”- запис, ”r” - читання, ”a” – доповнення …
Якщо ми збираємось відкрити файл з іменем test для запису, то достатньо записати
FILE *fp;
fp=fopen(“test”,”w”);
Але рекомендується використовувати такий порядок відкриття файлу:
FILE *fp;
If((fp=fopen(“test”,”w”))==NULL) {
Puts(“Не можна відкрити файл \n”);
Exit(1);
}
Цей метод визначає помилку при відкритті файлу. Константа NULL визначена в stdio.h. Функція exit() має прототип у файлі stdlib.h
Void exit(int val);
Вона припиняє виконання програми, а величину val повертає в операційну систему (або в програму, яка її викликала). Всі відкриті файли будуть закриті. Крім того, є функція abort() з прототипом
Void abort(int val);
Вона негайно припиняє виконання програми без закриття файлів.
Якщо файл відкритий для запису, то існуючий файл знищується і створюється новий файл. При відкритті для читання треба, щоб файл існував. У випадку відкриття для читання і запису існуючий файл не знищується, але створюється, якщо його немає.
У системі програмування Borland C++ створена друга система вводу/виводу, ця система відповідає стандарту UNIX. Прототипи функцій знаходяться у файлі io.h. Цими функціями є:
read() читає буфер даних,
write() пише в буфер даних,
open() відкриває файл,
close() закриває файл,
lseek() пошук певного байта у файлі,
unlink() знищує файл.
Після закінчення роботи зфайлом він повинен бути закритий. Це можна зробити за допомогою бібліотечної функції fclose(), наприклад fclose(lst);
Приклад : вивід інформації на принтер.
#include <stdio.h>
main()
{
int i=150;
FILE *fopen(), *lst; /* FILE –ім’я файлового типу (подібно до int або float); fopen – бібліотечна функція відкриття файлу(вона повнртає вказівник на внутрішнє ім’я відкритого файлу); lst – вказівник на файл (об’єкт типу FILE ). */
lst=fopen(“prn”,”w”); /*lst отримує адресу відкритого файлу з іменем prn , призначеного для запису в нього інформації (символ w); Вся інформація з файлу з адресом lst буде виводитись на друкуючий пристрій. */
fprintf(lst,”\n число i=%d”,i); /* Тут lst – вказівник на файл. На друк буде виведений рядок “число і=150” */
fclose(lst); /*Функція fclose закриває файл зі вказівником lst ; Тепер посилання lst можна використовувати для іншого файла. */
}
В якості першого параметра у функції fprintf стоїть логічне ім’я (вказівник) файла.
Другий приклад показує організацію виводу інформації на диск.
include <stdio.h>
main()
{
int i=150;
FILE *fopen(), *lds;
lds=fopen(“c:zni.f”,”w”);
fprintf(lds,”\n число i=%d”,i);
fclose(lds);
}
У файл буде записано ціле число 150;
Аналогічно можна записати і для читання з диска і для доповнення файла на диску.
Ще один приклад – програма створення копії файлу.
#include <stdio.h>
main()
{
File *fopen(), *or, *co;
If (( or = fopen(“to1.doc”,”r”)) = = null)
{printf (“ Відкрити вихідний файл не вдалось \n”);
return;
}
while (!feof(or))
fputc(fgetc(or),co); /* fgetc(or) – читає символ з файлу or; fputc(co) – записує символ у файл co*/
}
Для одночасного закриття всіх файлів використовують функцію Fcloseall( )
Приклад. Сформувати файл, що містить інформацію про розклад руху поїздів, які відправляються з Івано-Франківського вокзалу: номер поїзду, час відправлення, станція призначення, час у дорозі. Використовуючи ці дані, надати інформацію про розклад руху поїздів до станції Київ, які відправляються з 20 до 24 години, і перебувають у дорозі менше 15 годин.