Приклади складання та реалізації програм опрацювання рядкових величин.
ЛЕКЦІЙНЕ ЗАНЯТТЯ № 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 Все права принадлежат авторам размещенных материалов.
|