
- •Лабораторна робота №1. Тема: Програмування алгоритмів циклічної структури. Оператор циклу з параметром. Оператори циклу while, repeat.
- •Хід роботи
- •Лабораторна робота №2. Тема: Робота з одновимірними масивами.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 2 . Масиви.
- •Дії над масивами. Заповнення масиву даними
- •Виведення масиву.
- •Дії з одновимірними масивами
- •Сортування масиву
- •Лабораторна робота №3. Тема: Сортування масивів. Робота з двовимірними масивами.
- •Хід роботи
- •Лабораторна робота №4. Тема: Процедури та функції. Рекурсивні функції. Відкриті масиви
- •Хід роботи
- •Використання процедур без параметрів та з параметрами.
- •Використання функцій.
- •Лабораторна робота №5. Тема: Робота з даними рядкового типу.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 5 . Рядки (string)
- •Змінну рядкового типу оголошують за допомогою слова string так:
- •Лабораторна робота №6. Тема: Модулі користувача. Модулі crt і graph.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 6. Модулі.
- •Виведення тексту
- •Приклад виводу тексту.
- •Поняття модуля
- •Структура модуля
- •Компіляція модулів
- •Стандартні модулі Короткий опис модулів
- •Графіка
- •Лабораторна робота №7. Тема: Записи. Команда приєднання (with).
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 7. Поняття запису
- •Оператор with
- •Лабораторна робота №8. Тема: Робота з текстовими файлами. Використання типізованих файлів.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 8. Файли і робота з ними.
Лабораторна робота №5. Тема: Робота з даними рядкового типу.
Мета роботи: навчитися працювати з окремими символами рядкових змінних, стандартними процедурами і функціями для роботи з рядковими змінними.
Хід роботи
Запустіть програму TURBO PASCAL.
Створіть програму злиття двох відсортованих масивів рядків. Розберіть принцип роботи програми. Виконайте програму.
const m=4; n=3;
а:array [l..m] string=('Андрєєв','Григорьєв','Іванов','Сидоров');
b:array [l..n] string=('Васильєв','Петров','Яковлев');
var з:array [l..m+n] string;
к,i,j:integer; {індекси трьох масивів}
begin
i:=1; j:=1;
for к:=1 to m+n do
if (i>m) or (b[j]<a[i]) then {якщо індекс i вийшов за межі масиву а або b[j]<a[i] }
begin
с[k]:=b[j]; j:=j+l;
end
else begin
с[k]:=a[i]; i:=i+1;
end;
writeln('Массив с:');
for к:=1 to m+n do write(с[k],' ');
end.
Вставка, видалення і заміна фрагментів тексту з використанням процедур і функцій для роботи з рядками. Ці дії постійно виконуються при редагуванні тексту різними текстовими процесорами.
Створіть програму, в якій проводиться заміна у введеному тексті одного слова іншим. Розберіть принцип роботи програми.
var text, word1, word2:string;
i,k:integer;
begin
write('введіть текст='); readln(text);
write('word1='); readln(word1); write('word2='); readln(word2);
к:=length(word1);
for i:=1 to length(text)-(k-1) do
if сору(text,i,k)=word1 then begin
delete(text,i,k);
insert(word2,text,i);
end;
writeln(text);
end.
Створіть програму, в якій скорочується розмір тексту без спотворення змісту. Видаліть з тексту всі незначущі пропуски (ведучі, завершальні і зайві між словами). Крім того, замініть стійкі поєднання типу "оскільки", "тобто" їх абревіатурами "т.як.", "т.т.". Скорочення розмірів тексту особливо важливо, наприклад, при пересилці листів по електронній пошті
{$V-} { відключили перевірку повної сумісності типів }
var s:string[80];{ формальний і фактичний параметри різних типів }
procedure delspace(var s:string);
begin
{пропуски видаляються до тих пір, поки функція роz видає ненульовий результат при пошуку}
while роs{' ',s)>0 do delete(s,роs(' ',s),l); {подвійного пропуску в рядку}
if s[l]=' ' then delete(s,l,l); { видаляємо з початку рядка }
if s[length(s)]=' ' then delete(s,length(s),1); { і кінця }
end;
procedure itd_itp(var s:string);
const а:array[1..4] string[15]=('і т. д.', 'і тому подібне','т. як.', 'т. т. ') ;
al:array[1..4] string[5]=('і т.д', 'і т.п', 'т.як', 'т.т');
var к,p: integer;
begin
for к:=1 to 4 do begin { скорочуємо кожну з 4 фраз }
while роs(а[k],s)>0 do
begin { поки зустрічається фраза }
p:=pos(а[k],s); {визначаємо номер першого символу фрази} delete(s,p,length(а[k])); { видаляємо фразу }
{ якщо після фрази стояла крапка, то не додаємо останню '.'}
if s[p]='.' then insert(a1[k],s,p)
else insert(a1[k]+'.',s,p);
end; end; end;
begin
writeln('Введіть рядок тексту:'); readln(s);
delspace(s); itd_itp(s);
writeln('Скорочений варіант:'); writeln(s)
end.
Створіть програму: введіть прізвище, ім'я і по батькові як одне дане рядкового типу; визначіть довжину рядка і кількість букв "а" в ньому; виконайте додатково завдання свого варіанту.
№ варіанту
Задача
Вивести ім'я і кількість букв в третьому слові.
Визначити скільки букв 'а' є в прізвищі.
Вивести три букви (свої ініціали) з крапками.
Вивести довжини прізвища і імені.
Вивести прізвище і ініціали.
Вивести ім'я і кількість букв в прізвищі.
Визначити скільки букв 'о' є в імені.
Вивести найдовше слово.
Вилучити всі букви 'а' і 'о' з прізвища.
Вивести ім'я в стовпчик.
Чи починається хоча б одне слово з букви 'М'?
Всі букви 'и' в імені продублювати.
Вивести прізвище і кількість букв в імені.
Вивести ім'я в зворотному порядку.
Вивести ім'я, по батькові і кількість букв в прізвищі.
Оформіть звіт про лабораторну роботу, в якому запишіть: тема і мета роботи;
тексти задач і програм, створених на лабораторній роботі.