- •Основи програмування та алгоритмічні мови Програмування мовою borland Pаscаl v7.0 для пеом Процедурне та модульне програмування
- •2.2.1. Теоретичні відомості
- •1. Основи алгоритмізації та програмування
- •1.1. Послідовність рішення задачі з допомогою еом
- •1.2.Середовище turbo Pаscаl
- •1.3.Типи даних turbo Pаscаl
- •1.4.Основні поняття мови програмування turbo Pаscаl
- •1.4.1.Синтаксис мови Програмування turbo Pаscаl
- •1.4.2. Основні дії в мові програмування
- •1.4.3. Умовні оператори
- •1.4.4. Методи організації циклів
- •1.4.5. Оператор вибору
- •1.4.6. Масиви.
- •1.4.7. Робота з рядками, масиви символів
- •1.4.8. Робота з типом string
- •1.4.9. Тестові завдання
- •1.4.10. Варіанти завдань для самостійного розгляду
- •2. Програмування в мові Pascal
- •2.1 Процедурний підхід до програмування
- •2.1.1 Теоретичні відомості
- •2.1.2.Приклад програми
- •2.1.3. Варіанти завдань для лабораторної роботи
- •2.2. Записи з фіксованою частиною
- •2.2.1. Теоретичні відомості
- •2.2.2. Приклад програми
- •2.2.3. Варіанти завдань для лабораторної роботи
- •2.3. Записи з варіантами
- •2.3.1. Теоретичні відомості
- •2.3.2. Приклад програми
- •2.3.3. Варіанти завдань для лабораторної роботи
- •2.4. Типізовані файли
- •2.4.1. Теоретичні відомості
- •2.4.2. Приклад програми
- •2.4.3. Варіанти завдань лабораторної роботи
- •2.5. Текстові файли
- •2.5.1. Теоретичні відомості
- •2.5.2. Приклад програми
- •2.5.3. Варіанти завдань Лабораторної роботи
- •2.6. Множини
- •2.6.1. Теоретичні вказівки
- •2.6.2. Приклад програми
- •Алгоритм
- •2.6.3. Варіанти завдань лабораторної роботи
- •2.7. Черги та стеки
- •27.1. Теоретичні вказівки
- •Алгоритм побудови стека:
- •2.7.2. Приклад програми
- •2.7.3. Варіанти завдань лабораторної роботи
- •2.8. Дерева
- •2.8.1. Теоретичні вказівки
- •2.8.2. Приклад програми
- •2.8.3. Варіанти завдань лабораторної роботи
- •2.9. Графіка
- •2.9.1. Теоретичні вказівки
- •2.9.2 Приклад програми
- •2.9.3 Варіанти завдань
- •2.10.Програмування інтерфейсу користувача. Розробка меню
- •2.10.1. Теоретичні вказівки
- •2.10.2. Приклад програми
- •2.10.3. Варіанти завдань
- •4 Створити меню такої структури: Головне меню
- •3. Основні принципи модульного програмування
- •3.1. Приклад програми
2.5. Текстові файли
2.5.1. Теоретичні відомості
EOLN(F) - функція приймає значення TRUE, якщо покажчик запису вказує на кінець рядка.
SEEKEOLN(F) - аналогічно EOLN.
SEEKEOF(F) - аналогічно EOF.
APPEND(F) - додавання записів в файл. Виконується відкриття файлу F і встановлення покажчика на EOF.
READLN(F) - читання текстового файлу.
WRITELN(F) - запис в текстовий файл.
2.5.2. Приклад програми
Умова задачі: Створити текстовий файл, кожний рядок якого містить різні слова. Впорядкувати слова в рядку за алфавітом, переписати в новий текстовий файл, записати останнім рядком файлу кількість слів у файлі.
uses crt;
var
f1,f2:text;
i,k,n,l,j,kol:integer;
b,d,s,prom:string;
sim:char;
c:array [1..20] of string;
procedure vvod_f1;
begin
assign(f1,'lab.dat');
rewrite(f1);
repeat
writeln('input string of words:');
readln(s);
writeln(f1,s);
writeln('continue ?[Y/N]');
sim:=readkey;
until (sim='N') or (sim='n');
close(f1);
end;
procedure print_f(var f:text);
begin
reset(f);
while not eof(f) do
begin
readln(f,s); writeln(s);
end;
close(f);
end;
procedure sort;
begin for i:=1 to l-1 do
for j:=i+1 to l do
if c[i]>c[j] then begin prom:=c[j];
c[j]:=c[i];
c[i]:=prom;
end;
end;
procedure sort_f2;
begin
assign(f2,'new.dat');
assign(f1,'lab.dat');
rewrite(f2);
reset(f1);
kol:=0;
while not eof(f1) do
begin
readln(f1,s);
s:=s+' ';
k:=length(s);
d:=''; L:=0;
for i:= 1 to k do begin
b:= copy (s,i,1);
if b<>' ' then d:=d+b;
if (B= ' ') and (d<>'') then begin l:=l+1; c[l]:=d; d:=''; end;end;
sort;
s:='';
for i:= 1 to l do s:=s+c[i]+' ';
writeln(f2,s);
kol:=kol+l;
end;
writeln(f2,'number of words Is ',kol);
close(f2);
close(f1);
end;
begin
clrscr;
vvod_f1;
writeln('=======================');
print_f(f1);
writeln('=======================');
sort_f2;
writeln('new flte of text after sorting:');
print_f(f2);
end.
2.5.3. Варіанти завдань Лабораторної роботи
Створити текстовий файл, кожний рядок якого містить різні слова. Знайти найдовші слова в кожному рядку файлу, переписати їх в новий текстовий файл, записати останнім рядком файлу кількість слів в файлі.
Створити текстовий файл, рядок якого містить цифри і символи. В кожному рядку виділити найбільшу послідовність цифр. Довжини цих послідовностей записати першими символами рядків цифрового файлу.
Створити текстовий файл, ввід з клавіатури. Визначити в кожному парному рядку слово найбільшої довжини і записати це слово в кожному непарному рядку.
Створити текстовий файл при вводі з клавіатури таких даних: фірма, марка автомобіля, ціна. Визначити максимальну ціну автомобіля, що виготовляється кожною фірмою і дописати це значення в кінець рядка.
Ввести з клавіатури рядки і записати їх в файл. В кожному непарному рядку визначити послідовність цифрових символів і записати довжину цієї послідовності останнім елементом рядка. Перетворити цю послідовність в числа, вивести на екран.
Ввести з клавіатури декілька рядків тексту. Визначити в кожному рядку кількість слів і довжину найбільшого слова, дописати значення кількості слів на початок кожного рядка, довжину максимального слова в кінець рядка.
Ввести рядки з клавіатури. Створити файл, визначити кількість рядків файла, в кожному рядку знайти найдовше слово та дописати його в кінець рядка.
Створити текстовий файл, вводячи рядки з клавіатури. Вміст файлу: фірма, товар, ціна в доларах. Перерахувати ціни в $ в відповідності з курсом в гривні та дописати в кожний рядок отримані значення.
Створити файл цілих чисел при вводі чисел з клавіатури. Створити новий файл, який би містив цілі числа з першого файлу в двійковому вигляді.
Заданий текстовий файл F, рядок букв S. Отримати всі рядки файлу F , що містять в собі рядок S.
Ввести текст з декількох рядків з клавіатури. В кожному рядку тексту знайти слово, що розташоване в центрі рядка. Слова розділяються пробілами. Знайдені слова записати в новий файл.
Створити текстовий файл, який би містив: марку автомобіля, вартість, кілометраж. Упорядкувати рядки за алфавітом марки автомобіля, в кожний рядок файлу додати середній кілометраж по aciv маркам в файлі. Останній рядок нового файлу має містити кількість фірм, які випускають всі перераховані в файлі автомобілі.
Створити текстовий файл, вводячи рядки з клавіатури. Визначити в кожному рядку слова, які починаються на 'а' і закінчуються на 'я'. Вивести знайдені слова в новий текстовий файл. Як роздільники між словами застосовувати пробіли.
Створити текстовий файл, рядки якого містять назву продукту та його ціну. Підрахувати загальну кількість рядків і записати це значення в кінці файлу. Переписати цей файл в новий файл, додавши в кожний рядок між назвою і ціною кількість кожного продукту.
Заданий текстовий файл виду: конкурс, спеціальність, вуз. Відсортувати дані за умовою зменшення конкурсу. Записати цю інформацію в другий файл.
Створити текст, вводячи дані з клавіатури. в кожному рядку тексту знайти слово максимальної довжини і записати знайдені слова та їх довжини в новий текстовий файл.
Заданий текстовий файл F. Переписати компоненти файлу F до файлу Н, вставляючи на початку та в середині рядків символ пропуску. Порядок компонентів зберігається.
Ввести рядки. Записати їх в файл. В текстовому файлі знайти найдовший рядок файлу, якщо їх декілька, то виділити будь-який. Дописати довжину в файл.
Заданий текстовий файл F, рядок букв S. Отримати всі рядки файлу F, що містять рядок S.
Заданий текстовий файл F. Переписати компоненти файлу F до файлу Н. При цьому вставити на початку рядка порядковий номер, в кінці рядка - довжину рядка. Порядок компонентів зберігається.
Заданий текстовий файл. Переписати файл, замінюючи кожний рядок символів символом '-', якщо рядок в заданому файлі закінчується на літеру, відмінну від символу пропуску, коми та крапки.
Заданий текстовий файл, що містить програму мовою ПАСКАЛЬ. Перевірити текст на рівну кількість відкритих і закритих дужок, вважаючи, що кожний оператор в програмі займає не більше одного рядка файлу F.
Заданий текстовий файл, що містить програму мовою ПАСКАЛЬ. Перевірити текст на рівну кількість операторних дужок begin end, вважаючи, що кожний оператор в програмі займає не більше одного рядка в файлі F.
Заданий текстовий файл F. Переписати до файлу G всі компоненти файлу F, замінивши в них символ О на 1 і навпаки.
Отримати копію із заданого текстового файлу F, переписавши його в файл І. В новому файлі на початок кожного рядка записати літеру, що є першою в останньому слові рядка.
В заданому символьному файлі, де не менше, ніж два компоненти, визначити, чи являються цифрами перші два символи файлу. Якщо так, то встановити, чи Е число, записане цими цифрами.
Створити текстовий файл, що містить відомості про марку автомобіля і власника. Дописати до файлу відомості про ціну. Відсортувати файл за умовою зростання ціни.