- •“Київський політехнічний інститут” обчислювальна техніка та програмування - 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. Графічний режим екрану
Reset (f2);
вiдкривається iснуючий файл, в даному випадку Inputa.out, як для читання так і для запису, що є відміністю в порівнянні з текстовим файлом.
Команда
Rewrite (f2);
створює новий файл Inputa.out й відкриває його як для запису так і для читання. Якщо файл із ім’ям Inputa.out вже iснує, то його вмiст знищується.
Команди читання Read, Readln та запису Write, Writeln інформації у файл, а також закриття файлу Close використовуються аналогічно як і для розглянутих вище текстових файлів.
Всі елементи типізованого файлу пронумеровані, починаючи з нуля. Для прямого доступу до будь-якого елементу файлу, тобто для читання чи запису конкретного елементу, потрібно попередньо встановити вказівник файлу на потрібну позицію за допомогою команди
Seek (f2, 7);
В даному випадку вказівник встановлено у сьому позицію, тобто на восьмий елемент файлу.
Для визначення кількості елементів у типізованому файлі служить функція цілочисленого типу longint
FileSize (f2),
а для визначення поточної позиції вказівника файла – функція того ж типу
FilePos (f2).
1.5. При вирішенні деяких задач потрібно зчитати всі елементи у текстовому чи типізованому файлі або в окремому рядку, проте кількість елементів невідома. Для цього корисно використовувати функції логічного типу
Eof(f) та Eoln(f).
Перша функція повертає значення True (істина), якщо вказівник файлу знаходиться в кінці файлу, а друга – якщо в кінці рядка.
1.6. Приклад 1. Створити новий типізований файл Inputa.txt та записати до нього до 20 випадкових цілих чисел. Зчитати дані з цього файлу та відсортувати їх на збільшення. Відсортований масив вивести на екран та дописати в кінець існуючого текстового файлу Outputa.txt, розділивши існуючі дані вільним рядком.
Program _File;
Uses Crt;
Var
Masiv :array [1..20] of word;
I, Imax, J, X :word;
f1 :file of word;
f2 :text;
Begin
TextBackGround (blue);
ClrScr;
TextColor (yellow);
{
Створення файлу Inputa.txt та заповнення його випадковою кількістю випадкових цілих чисел
}
Assign (f1, 'Inputa.txt');
Rewrite (f1);
Randomize;
Imax:=Random (20);
for I:=1 to Imax do
begin
J:=Random (777);
Write (f1, J);
end;
Close (f1);
{
Читання з файлу Inputa.txt невідомої
кількості елементів даних
}
Assign (f1, 'Inputa.txt');
Reset (f1);
I:=1;
While Not Eof(f1) do
begin
Read (f1, Masiv[I]);
I:=I+1;
end;
Close (f1);
{
Сортування елементів даних
кількістю Imax на збільшення
}
Imax:=I-1;
For I:=2 to Imax do
for J:=Imax downto I do
if Masiv[J-1] > Masiv[J] then
begin
X:=Masiv[J-1];
Masiv[J-1]:=Masiv[J];
Masiv[J]:=X;
end;
{
Запис відсортованих даних у файл
Outputa.txt та вивід їх на екран
}
Assign (f2, 'Outputa.txt');
Append (f2);
Writeln (f2);
For I:=1 to Imax do
begin
Writeln (f2,Masiv[I]);
Writeln (Masiv[I]);
end;
Close (f2);
Readln;
End.
ЗАВДАННЯ НА РОБОТУ
Розробити та запустити у роботу програму на мові програмування "Паскаль", яка вирішує задачу відповідно до заданого нижче варіанта. При цьому детально вивчити та практично застосувати пункт меню Options інтегрованого середовища мови.
2.1. Створити новий типізований файл, ім’я якого вводиться з клавіатури, та заповнити його 29 випадковими цілими числами. Прочитати і відобразити на екрані 1, 8, 15, 22, 29 елементи файлу та знайти серед них найменший. Результат з відповідним повідомленням записати в новий текстовий файл DATA.OUT та вивести на екран.
2.2. Створити новий текстовий файл DATA.IN та заповнити його 22 випадковими дійсними числами в проміжку від 9 до 125. Прочитати і відобразити на екрані перші 11 елементів файлу та знайти серед них найбільший. Результат дописати в кінець даного файлу з відповідним повідомленням та вивести на екран.
2.3. Обчислити значення функції Y=A*sin(В*X) при зміні Х від 0 до 3 з кроком 0,05. Значення Х та Y в форматі з фіксованою крапкою та з відповідним заголовком вивести в два стовпця на екран та записати в текстовий файл, імя якого задається з клавіатури. Значення параметрів А та В взяти з попередньо створеного текстового файлу ЕРА.ТХТ.
2.4. Знайти мінімальні елементи кожного стовпця дійсної матриці А3х4, яка знаходиться в попередньо створеному текстовому файлі ЕР.DАТ. Результат з відповідним повідомленням записати в новий текстовий файл ЕР.ОUТ та вивести на екран.
2.5. Створити новий типізований файл IN.DAT та записати до нього масив дійсних чисел, кількість елементів якого вводиться з клавіатури. Отримати новий масив шляхом додавання до поточних елементів масиву найменшого елементу. Результат дописати в кінець існуючого текстового файлу OUT.DAT.
2.6. Створити новий типізований файл EPA.DAT та заповнити його випадковими цілими числами. Прочитати і відобразити на екрані перший та останній елементи файлу та знайти серед них найбільший. Результат з відповідним повідомленням записати в новий текстовий файл EPA.OUT та вивести на екран.
2.7. Створити новий текстовий файл DATA.IN та заповнити його 35 випадковими дійсними числами. Прочитати і відобразити на екрані останні 9 елементів файлу та знайти серед них найменший. Результат дописати в кінець даного файлу з відповідним повідомленням та вивести на екран.
2.8. Обчислити значення функції Y=B*соs(C* X) при зміні Х від 1 до 5 з кроком 0,1. Значення Х та Y в форматі з фіксованою крапкою та з відповідним заголовком вивести в два стовпця на екран та записати в текстовий файл ЕРА .IN. Значення параметрів B та C взяти з текстового файлу ЕРА.ТХТ.
2.9. Знайти максимальні елементи кожного рядку цілочисленої матриці С4x4, яка знаходиться в текстовому файлі ЕР.DАТ. Результат з відповідним повідомленням записати в новий текстовий файл, ім’я якого задається з клавіатури, та вивести на екран.
2.10. Створити новий типізований файл ЕР.DАТ та записати до нього масив з 25 цілих чисел. Створити новий масив шляхом множення поточних елементів масиву на перший елемент. Результат дописати в кінець існуючого текстового файлу OUT.DAT.
КОНТРОЛЬНІ ЗАПИТАННЯ
Які види файлів підтримує мова програмування "Паскаль".
Яка послідовність роботи з файлами.
Як описуються файлові змінні для різних видів файлів.
Якими командами відкриваються файли для запису та читання інформації.
За допомогою яких команд здійснюється читання та запис інформації до файлу.
Комп'ютерний практикум № 6