- •“Київський політехнічний інститут” обчислювальна техніка та програмування - 1
- •Обчислювальна техніка та програмування - 1
- •Символи кодової таблиці ascii
- •Умовні переходи на мові "паскаль"
- •1: Begin
- •Цикли на мові "паскаль"
- •Підпрограми на мові "паскаль"
- •Function Alfha(a,b:real; c:byte):real;
- •Function Beta:integer;
- •Procedure Sorter (a,b:real; c:byte; Var X,y:real);
- •Procedure Beep;
- •Uses crt;
- •Window (x1,y1,x2,y2);
- •Window (10,5,45,15);
- •Window (1,1,80,25);
- •TextColor (yellow);
- •TextColor (14);
- •Текстові та типізовані файли мови "паскаль"
- •Assign (f1, ’Data.Pas’);
- •Reset (f2);
- •Rewrite (f2);
- •Seek (f2, 7);
- •FileSize (f2),
- •FilePos (f2).
- •Побудова графіків функцій на мові "паскаль"
- •MoveTo (200, 100);
- •SetLineStyle (0,0,1);
- •OutText (’Текст для виводу’);
- •OutTextXy (200,100,’Текст для виводу’);
- •SetTextStyle (0,0,0);
- •SetTextJustify (1,1);
- •PutPixel (150,50,green);
- •ClearDevice;
- •Бібліотечний модуль на мові "паскаль"
- •Interface
- •Implementation
- •Динамічні змінні мови "паскаль"
- •SetFillStyle (1, white);
- •Об’єктно-орієнтоване програмування на мові "паскаль"
- •New (Person, Init);
- •Destructor Done; Virtual;
- •Dispose (Person, Done);
- •Форматований ввід та вивід даних на мові “cі”
- •Printf(“керуючий рядок”,аргумент1,аргумент2, ...);
- •Scanf(“керуючий рядок”,аргумент1,аргумент2,...);
- •Scanf(“%d %f %c %s”,&I,&j,&k,l);
- •Scanf(“%d %*d %d”, &I,&j);
- •Scanf(“%d,%d”,&n,&m);
- •Оператори організації переходів на мові "сі"
- •1.2. Для організації умовного переходу по одному із багатьох варіантів доцільно використовувати оператор switch. Він має наступний формат:
- •Організація циклів на мові "сі"
- •Одновимірні та двовимірні масиви на мові "сі"
- •Char b[30];
- •Char a[10][20];
- •Записи, вкладені записи, масиви записів на мові "сі"
- •Int month;
- •Int year;};
- •Int class, age;};
- •Робота із бінарними та текстовими файлами
- •File *lst;
- •Int fflush (вказівник_на_файл);
- •Int fgetc(вказівник_на_файл);
- •Int fputc(вказівник_на_файл);
- •Int fread (вказівник_на_масив, розмір_об’єкта, кількість_об’єктів , вказівник_на_файл);
- •Int fwrite(вказівник_на_масив, розмір_об’єкта, кількіст_об’єктів , вказівник_на_файл);
- •Int fseek(вказівник_файла, зміщення, поч. Значення);
- •3. Контрольні запитання
- •Робота з функціями на мові “сі”
- •Тип_функції назва_функції(тип1 параметр1, ..., тип_n параметр_n);
- •Int main(int argc, char *argv)
- •3.1. Який синтаксис функцій у мові “сі”.
- •Комп’ютерний практикум № 17 графічний режим екрану на мові “ci”
- •Initgraph(int *driver, int *mode, char *path);
- •Void *pimage;
- •Void *malloc(об'єм_пам’яті_в_байтах);
- •Imagesize(x1,y1,x2,y2);
- •Putimage(x1, y1, вказівник, вид_вставки);
- •Вирішення диференційних рівнянь методом ейлера
- •Основи роботи в середовищі “turbo pascal 7.0” та “turbo c 3.0”
- •Комп’ютерний практикум № 17. Графічний режим екрану
Робота із бінарними та текстовими файлами
НА МОВІ “CІ”
Мета практикуму – вивчення методів запису, зчитування та доповнення файлів на мові “СІ”.
ТЕОРЕТИЧНІ ВІДОМОСТІ
1.1. Для виконання операцій над файлами необхідно зв’язати фізичний файл, який знаходиться на диску, із файловою змінною – вказівником на об’єкт типу FILE. Вказівник на файл необхідно оголошувати, наприклад,
File *lst;
Тут FILE - ім’я типу, описане в заготовочному файлі stdio.h; lst – вказівник на файл;
Відкриття файла здійснюється за допомогою функції fopen, яка має наступний формат:
FILE *fopen (“фізичне ім’я файлу”, “режим”);
Функція fopen повертає вказівник на файл, або NULL, якщо під час відкриття файла виникла помилка. Фізичне ім’я файлу – це його повне ім’я, включаючи шлях до файлу.
Можливі режими:
“w”- текстовий файл відкривається для запису; якщо файл із вказаним іменем існує, то його вміст знищується;
“r”- текстовий файл відкривається для читання;
“a”- текстовий файл відкривається для доповнення, інформація додається в кінець файлу.
Режими відкривання файлу можуть бути доповнені специфікатором +, який означає режим виправлення – відкриття файлу одночасно і для запису, і для читання, наприклад:
FILE *lst;
lst=fopen(“D:\TC\file.txt”,”r+”);
Дані команди забезпечують відкриття вже існуючого текстового файлу D:\TC\file.txt як для читання, так і для запису.
При переході від операцій запису до операцій читання необхідно застосовувати функцію fflush, яка забезпечує запис ще не збереженої інформації із буфера в файл. Вона має наступний формат:
Int fflush (вказівник_на_файл);
Функція повертає EOF у разі помилки, та 0 в разі успішного виконання операції.
Після закінчення роботи з файлом його необхідно закрити командою fclose, яка має наступний формат:
int fclose(вказівник_на_файл);
Для видалення файла на диску слугує функція remove. Вона має наступний формат:
int remove(“ім’я_файлу”);
Для видалення файла на диску слугує функція remove, яка має наступний формат:
int rename(“старе_ім’я_файлу”, “нове_ім’я_файлу”);
У разі успішності виконання функцій remove, rename вони повертають 0, та ненульове значення у іншому випадку.
1.2. Форматоване виведення-введення даних у текстовий файл здійснюється за допомогою функцій fprint та fscanf віповідно, які мають наступний формат:
int fprintf (вказівник_на_файл,рядок форматування, перелік змінних);
int fscanf (вказівник_на_файл,рядок форматування, перелік змінних);
Рядок форматування вміщує об’єкти трьох типів:
-звичайні символи, які виводяться на екран;
-специфікації перетворення, кожна з яких викликає виведення на екран значення чергового аргументу зі списку аргументів;
-керуючі символи (для початку з нового рядка, табуляції, звукового сигналу та ін.).
Специфікація розпочинається символом % і закінчується символом, який задає перетворення. Між цими знаками може стояти:
- знак мінус “-”, який вказує, що параметр при виведенні на екран повинен вирівнюватися по лівому краю. Інакше - по правому;
- рядок цифр, який задає розмір поля для виведення. Крапка, яка відділяє розмір поля від наступного рядку цифр, що визначає розмір поля для виведення розрядів після коми для типів float та double;
- символ довжини l, який вказує на тип long;
Далі вказується символ типу інформації виведення (перетворення):
d- десяткове число;
o- вісімкове число;
x- шістнадцяткове число;
c- символ (тип char);
s- рядок символів (string);
e- дійсне число в експоненціальній формі;
f- дійсне число (float);
g- використовується як e і f, але виключає виведення на екран незначущих нулів;
u- беззнаковий тип (unsigned);
p- вказівник (pointer).
Якщо після % записано не символ перетворення, то він виводиться на екран.
Керуючі символи:
\a- для короткочасної подачі звукового сигналу (alarm);
\b- для переведення курсору вліво на одну позицію (back);
\n- для переходу на новий рядок (new);
\r- для повернення каретки (курсор на початок поточного рядка) (return);
\t- для горизонтальної табуляції (tabulation);
\v- для вертикальної табуляції (vertical).
Приклад 1. Відкрити файл для запису. Записати у файл матрицю з 10 рядків і 10 стовпців.
#include <stdio.h>
main()
{int i,j;
FILE *lds;
lds=fopen("epa.txt","w");
/*Відкриття файлу на дискеті для запису. Якщо він не існує, то створюється автоматично*/
for(i=1;i<=10;i++)
for(j=1;j<=10;j++)
fprintf(lds,"%d%c",i+j-1,((j==10)?'\n':' '));
/*Запис даних до файлу*/
/*Перший аргумент – вказівник на файл, другий і третій такі ж як і для команди printf*/
fprintf(lds,"\n");
fclose(lds);
/*Закриття файлу*/
}
1.3. Для посимвольного введення та виведення даних у файл використовуються функції fgetc та fputc відповідно, які мають наступний формат: