русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Опис змінних строкового типу в Паскале

Опис змінних строкового типу у Паскале

Змінні строкового типу повинні бути описані з використанням розділу описания або безпосередньо в розділі описания змінних

  1. Type st =string[n]; 2. Var s :string[n];

Var s :st;
де st - ім'я типу;
s - ім'я змінної;
/strong> - розмір рядка (область пам'яті), кількість символів у рядку
(атрибут довжини n=1..255).
Нульовий байт рядка містить інформацію про її фактичної довжині.

Операції з змінними строкового типу

Над змінними строкового типу (стрінгами) можна виконувати наступні операції:

  1. присвоювання (ввід/вивід);
  2. порівняння
  3. конкатенацію.

 

Призначення у Паскале

Перемененной типу String можна присвоїти значення інший змінної або строкової константи
:St=’Студент’;
Stu:St=;
При цьому довжина строкової константи повинні бути не більше оголошеної в іншому випадку надлишкові символи будуть проігноровані.

Поповнення / вивід

Перемененные типу Stringможна зчитувати з файлу або записувати у файл цілком або символи, тобто до кожного елементу рядка можна звертатися як до елемента масиву.

Readln(f, Str);
Writeln(f, Str);
For i:=1 to n do Readln(f, Str[i]);
For i:=1 to n do Writeln(f, Str[i]);

 

 

Порівняння в Паскале

Порівняння стрінгів проводиться за допомогою операцій відносини (=, <>, <, >, <=, >=) шляхом за парного порівняння двох символів різних стрінгів зліва на право (порівнюються їх числові подання таблиці кодів ASCII Два рядки рівні, якщо вони однакової довжини і складаються з однаковою послідовності символів.
‘a’<’b’ т. к. ORD(‘a’)<ORD(’b’)
‘a1’<’a2’ т. к. ORD(‘a1’)<ORD(’a2’)
‘ a’<’a ’ т. к. ORD(‘ ’)<ORD(’a’)
‘kom’<’com’ т. к. ORD(‘k’)<ORD(’c’)

 

Конкатенація (Зчеплення) в Паскале

Конкатенація - ообъединение двох і більше рядків в одну. Операція позначається знаком ‘+’ і має більш високий пріоритет, ніж порівняння. Вона застосовується до стринговым змінним і констант. При цьому довжина строкової константи повинні бути не більше оголошеної в іншому випадку надлишкові символи будуть проігноровані.
S:=St1+St2;
S:=’TURBO’+’PASCAL’;
R:=’5’+’.’+’5’; (R:=5.5)

Існує набір процедур і функцій для роботи зі стоками. Основні з яких наведені в табл.

Таблиця 1


п/ф

Запис

Призначення

Приклад

ф

Length(str)

Визначає фактичну довжину рядка.

Var Str :string[10];
***
Srt:=’ПЕТРОВ’;
L:=Length(str); (l=6)

ф

Concat(S1,...

Зчеплення рядків

S1:= ’ПЕТРОВ’;
S2:=Concat(S1,’Н. І.’)

ф

Pos(St1,Str)

Виявляє в рядку Str підрядок ST1 і видає номер позиції (к), з якої вона починається і 0, якщо рядок не знайдено

k=Pos:(‘55’,’1552’); (k=2)
k:=(Pos‘53’,’1552’); (k=0)

ф

Copy(Str,p,N)

Виділяє з рядка Str підрядок довжиною Nначиная з позиції P

s:=Copy(‘ПЕТРОВ’,4,3);
s:=’РІВ’

п

Delete(Str,p,N)

Видаляє з рядка Str, починаючи з позиції P, N символів

S:= ’ПЕТРОВ’;
Delete(S,5,2);
S:= ’ПЕТРО’;

п

Insert(Str1,Str,p)

Вставляє в рядок Str підрядок Str1 починаючи з позиції P, N символів

S:= ’ПЕТРОВ’;
Insert(S,’A’ ,7);
S:= ’ПЕТРОВА’;

п

Val(Str,N,k)

Перетворює стринг Str у число N. k-код перетворення

Val(‘30’,N,k); (N=30; k=0)
Val(‘3.0’,N,k);
(N=той же; k=2)

п

Str(N,Str)

Перетворює число N стринг в Str

Str(55,S);S:=’55’

Приклад 17.3. Замінити під введеному тексті прізвище ІВАНОВ на ПЕТРОВ.

 

Текст програми

Program string1;
Uses CRT;
Var
str :string;
:pinteger;
Begin
ClrScr;
{ Writeln("Введіть рядок");
Read(str);}
str:=" Студент Іванов не відвідував лекції,
студент Іванов не склав іспит ";
p:=Pos("€ў ®ў",str);
While p>0 do
Begin
Delete(str,p,6);
("Insert ЏҐва®ў",str,p);
p:=Pos("€ў ®ў",str);
End;
Writeln("Підсумок:");
Writeln(str);
Readln;
End.

 

Результати роботи програми

Результат:
Студент Петров не відвідував лекції, студент Петров не склав іспит

Просмотров: 1806

Повернутися в зміст:Алгоритмічні мови





Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн