Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO PASCAL _lab_rab.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
577.54 Кб
Скачать

Лабораторна робота №5. Тема: Робота з даними рядкового типу.

Мета роботи: навчитися працювати з окремими символами рядкових змінних, стандартними процедурами і функціями для роботи з рядковими змінними.

Хід роботи

  1. Запустіть програму TURBO PASCAL.

  2. Створіть програму злиття двох відсортованих масивів рядків. Розберіть принцип роботи програми. Виконайте програму.

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.

  1. Вставка, видалення і заміна фрагментів тексту з використанням процедур і функцій для роботи з рядками. Ці дії постійно виконуються при редагуванні тексту різними текстовими процесорами.

    1. Створіть програму, в якій проводиться заміна у введеному тексті одного слова іншим. Розберіть принцип роботи програми.

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.

    1. Створіть програму, в якій скорочується розмір тексту без спотворення змісту. Видаліть з тексту всі незначущі пропуски (ведучі, завершальні і зайві між словами). Крім того, замініть стійкі поєднання типу "оскільки", "тобто" їх абревіатурами "т.як.", "т.т.". Скорочення розмірів тексту особливо важливо, наприклад, при пересилці листів по електронній пошті

{$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.

  1. Створіть програму: введіть прізвище, ім'я і по батькові як одне дане рядкового типу; визначіть довжину рядка і кількість букв "а" в ньому; виконайте додатково завдання свого варіанту.

    № варіанту

    Задача

    Вивести ім'я і кількість букв в третьому слові.

    Визначити скільки букв 'а' є в прізвищі.

    Вивести три букви (свої ініціали) з крапками.

    Вивести довжини прізвища і імені.

    Вивести прізвище і ініціали.

    Вивести ім'я і кількість букв в прізвищі.

    Визначити скільки букв 'о' є в імені.

    Вивести найдовше слово.

    Вилучити всі букви 'а' і 'о' з прізвища.

    Вивести ім'я в стовпчик.

    Чи починається хоча б одне слово з букви 'М'?

    Всі букви 'и' в імені продублювати.

    Вивести прізвище і кількість букв в імені.

    Вивести ім'я в зворотному порядку.

    Вивести ім'я, по батькові і кількість букв в прізвищі.

  2. Оформіть звіт про лабораторну роботу, в якому запишіть: тема і мета роботи;

тексти задач і програм, створених на лабораторній роботі.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]