русс | укр

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

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


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


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

Масиви символів в Паскале

Масиви символів являють собою символьне рядок певної довжини. Елементами символьного масиву м.б. будь-який символ (типу CHR) як основного, так і додаткового набору символів коду ASCII.

Основний набір ASCII символи з кодами 0..27, додатковий (містить символи національних алфавітів і ін. символи) символи з кодами 128..255. Символи можна записувати вказуючи їх код #Із де З належить 0..255.

Наприклад:

#65=>’A’; #66=>’B’; #97=>’a’; #98=>’b’;
#48=>’0’; #49=>’1’; #49=>’#’; #46=>’.’.

Символи з кодами 0..31 є керуючими, вони не відображаються на екрані, а виконують певні функції (деякі з них наведені в табл. 1).

Таблиця 1


Код

Символ

Призначення

#7

BEL

Звуковий сигнал

#9

HT

Горизонтальна табуляція

#10

LF

Переклад рядка

#11

VT

Вертикальна табуляція

#12

ДАЛІ

Прогін сторінки

#13

CR

Повернення каретки

#26

EOF

Кінець файлу

#27

ESC

Кінець роботи

#32

BL

Пробіл

Керуючі символи можна ставити як ^С.
#7 =>^G; #10 =>^J; #13 =>^M.
Ці символи можна включати в текстові рядки без розділювачів.
рядках виведення вони виконують певні функції
Writeln (^^G G'Таблиця №1’:30^^M J,’A’:10,’B’:10,’y’:10);
Над даними символьного типу можна виконувати відносини (при цьому порівнюються їх ASCII коди). Для даних символьного типу існує набір процедур і функцій:

ORD(S)- визначає порядковий номер символу по таблиці кодів; ORD(‘B’)=>66;
CHR(N) - визначає символ за порядковим номер у таблиці кодів; CHR(66)=>’B’;
SUCC(S)- визначає наступний символ;
SUCC(‘B’)=>’C’;
PRED(S)- визначає попередній символ;
PRED(‘B’)=>’A’;
UpCASE(S)- визначає символ у верхньому регістрі;
UpCASE(‘y’)=>’Y’.

 

Приклад 17.1. Упорядкувати рядок символів в алфавітному порядку.

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

Program chr_1;
Uses CRT;
Const n=10;
Type vec=array[1..n] of char;
Var Arr_s :vec;
s :char;
i :byte;
k :Boolean;
Begin
clrscr;
Writeln("Введіть рядок з 10 символів:’);
For i:=1 to n do Read(Arr_s[i]);
Readln;
Repeat
k:=True;
For i:=1 to n-1 do
If ord (Arr_s[i])> ord (Arr_s[i+1]) Then
Begin
s:=Arr_s[i];Arr_s[i]:= Arr_s[i+1];Arr_s[i+1]:=s;
k:=False;
End;
Until k;
Writeln("Впорядкована рядок:");
For i:=1 to n do Write(Arr_s[i]);
ReadKey;
End.

 

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

Введіть рядок з 10 символів
1qasderfgt
Упорядкована рядок:
1adefgqrst

 

Приклад 17.2. Підрахувати кількість букв, цифр і дужок в рядку.

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

Program chr_2;
Uses CRT;
Const n=100;
Type vec=array[1..n] of char;
Var Arr_s :vec;
s :char;
i,kc,kb,ks :byte;
Begin
clrscr;
kb:=0; kc:=0; ks:=0;
Writeln("Уведіть оператор:");
i:=1;
Repeat
Read(Arr_s[i]); s:= Arr_s[i];
Case s of
"A".."Z", "a".."z": kb:=kb+1;
"0".."9" : kc:=kc+1;
"(",")" : ks:=ks+1;
End;
inc(i);
s Until=";";
Writeln("Підсумок:");
Write("kb=",kb," kc=",kc," ks=",ks);
ReadKey;
End.

 

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

Введіть оператор:
y:=2*a(cos(x)+sin(x))/3;
Результат:
kb=10 kc=2 ks=6

 

Строкові типи даних (string)

Рядок - це упорядкована послідовність символів. Діапазон змінних строкового типу 1..255.

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

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





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