Здавалка
Главная | Обратная связь

Приклади складання та реалізації програм опрацювання рядкових величин.

ЛЕКЦІЙНЕ ЗАНЯТТЯ № 23, 24

Тема:Рядкові величини. Операції над рядковими величинами

Рядок – це послідовність символів кодової таблиці ЕОМ. При використанні у виразах рядок охоплюється з двох сторін апострофами. Кількість символів у рядку (максимальна довжина рядка) може змінюватись від 0 до 255.

Для опису рядкових величин використовують ідентифікатор string, після якого в квадратних дужках записується максимальне значення довжини рядка для даної величини.

Загальний вигляд команди:

var <ідентифікатор>: string[максимальна довжина рядка];

Приклад:

Var R1:string[10];

R2:string[4];

Максимальна довжина рядка для змінної r1=10, r2=4.

Якщо довжина рядка не вказана, то вона автоматично приймає значення 255 байт.

Рядкові величини використовуються в програмі і у вигляді констант.

Наприклад,

Const NAME=’інформатика’;

Для роботи з рядковими величинами існує ряд процедур і функцій:

Функція Concat

Concat(R1,R2,R3);

Функція Concat здійснює склеювання рядків R1, R2, R3 в один рядок в такому порядку, в якому вони були записані.

Наприклад,

program Fconcat;

const R1=’Мова’; R2=’програмування’; R3=’Turbo pascal’;

var r:=string[35];

begin

R:=concat(R1,R2,R3);

writeln(R);

End.

На екрані дисплея буде надруковано: Мова програмування Turbo Pascal.

Concat(‘20’,’05’); Значення: ‘2005’

Даний результат можна отримати ще з допомогою операції склеювання - "+".

Доступ до і-го символу текстового даного з іменем а можна отримати з допомогою виразу а[i].

Н-д, якщо а:=’Роман’, то а[1] – це ‘P’, a[3] – ‘M’.

Функція Length

Length(R);

Функція Length видає фактичну довжину рядка, який міститься в даній змінній. При підрахуванні довжини рядка враховуються всі символи, в тому числі і проміжки.

Н-д, Length(‘Іван Підкова’); Значення: 12

Функція Сору

Сору(R,Poz,N);

Функція Сору копіює фрагмент довжиною N рядка R, починаючи з позиції Poz.

Н-д, Copy(‘Іван Підкова’,6,7); Значення: ‘Підкова’;

Функція Pos

Pos(WORD,R);

ФункціяPos знаходить номер позиції Р, з якої починається перше вход­ження слова WORD в рядку R. Якщо слово WORD в рядку R не знайдено, то буде надруковано число 0.

Pos(‘’,‘Іван Підкова’);

Задача 1. Скласти програму для визначення кількості букв «а» в деякому заданому тексті В.

Program Kilkist;

Var B:string; n, i, k:integer;

Begin

Writeln(‘Введіть текст’);

Readln(B);

n:=0; k:=length(B);

for i:=1 to k do

if b[i]=’a’ then n:=n+1;

writeln (n);

end.

 

Процедура Insert

Insert(Word,R,Poz);

Процедура Insert вставляє слово Word в рядок R, починаючи з позиції Роz.

Н-д, Нехай L:=’Львівська політехніка’

Insert(‘НУ’,L,1); Значення: ‘НУ Львівська політехніка’

Процедура Delete

Delete(R,Poz,N);

Процедура Delete знищує слово, яке починається з вказаної позиції Роz і має задану довжину N в рядку R.

Delete(L,1,13) Значення: ‘політехніка’

Задача 2. Змінна а містить текст з двох слів. Слова розмежовані пропуском. Вивести на екран друге слово.

ProgramSlovo;

Var a:string; Begin

Writeln(‘Введіть текст’);

Readln(a);

Delete(a,1,pos(‘’,a));

writeln (a);

end.

Приклади складання та реалізації програм опрацювання рядкових величин.

1.Program Fconcat;

Var R:string[35];

begin

R:='Moвa '+'пporpaмyвaння'+'Turbo Pascal';

writeln(R);

end.

На екрані дисплея буде надруковано: Мова програмування Turbo Pascal.

2.Program Flength;

Const R=’Turbo Pascal’ ;

Var N:integer;

begin

N:=length(R);

writeln('n=',N);

end.

На екрані дисплея буде надруковано: n=12

3.Program Fcopy;

const R=’Turbo Pascal’;

var WORD:string[6];

Poz, N : integer;

begin

Poz:=7;

N:=6;

WORD:=Copy(R,Poz,N);

writeln(WORD);

end.

На екрані дисплея буде надруковано: Pascal.

4.Program Fpos;

Const R='Севастополь';

WORD='cто';

Var P:integer;

begin

P:=Pos(WORD,R);

Writeln(‘P=’,P);

end.

На екрані дисплея буде надруковано: P=5

5.Program Finsert;

Var Poz:integer;

R,WORD:string[35];

begin

Poz=20;

R:=Мова програмування Pascal';

word:=’Turbo';

insert(WORD,R,Poz);

writeln(R);

end.

На екрані дисплея буде надруковано: Мова програмування Turbo Pascal.

6.Program Fdelete;

Var R:string[35];

N,Poz:integer;

begin

R:=’Мова програмування Turbo Pascal';

Poz:=1;

N:=19;

delete(R,Poz,N);

writeln(R);

end.

На екрані дисплея буде надруковано: Turbo Pascal.

Завдання для самостійного виконання:

1. Скласти програму, яка в заданому тексті R рахує кількість буквосполучень «нн».

2. Скласти програму, яка в заданому тексті замінює всі слова «студент» на «учень».

3. В тексті всі букви «а» замінити на «у» та підрахувати кількість замін.

4. Задано текст. В тексті видалити всі пропуски.

Запитання для самоконтролю:

1. Як описуються рядкові величини?

2. Як описується функція визначення довжини рядка?

3. Як описується функція копіювання фрагментів рядка?

4. Яка функція визнає місцезнаходження фрагмента в рядку?

5. Яка процедура визначає вставлення фрагмента в рядок?

6.Яка процедура здійснює знищення фрагмента з рядка?

 





©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.