Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгор_ТХТК_пособие.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.6 Mб
Скачать

I, n, p: integer;

begin

readln (n);

for i:=1 to n do resdln (s[i]);

for i:=1 to n do

if (ord (s[i])>=ord ('0')) and

(ord (s[i])<=ord('9')) then

p:=p+1;

writeln (p);

end.

Ord - выдает код символа.

'0', '9' - символьные константы.

Каждый символ в строковой переменной можно рассматривать как переменную типа char, доступ к ним через индекс в квадратных скобках, можно применить все функции типа char

word [1]:='M'

word [2]:='0'.

Пример 5.23 В произвольном тексте заменить все “чя” на “ча”.

Program pp;

var

text: string;

I: integer;

begin

readln (text);

for i:=1 to length (text)-1 do

if copy (text, i, 2)=‘чя’ then

begin

delete (text, i+1, 1);

insert (‘a’, text, i+1);

end;

text [i+1]=‘a’

writeln (text);

end.

Пример 5.24 Подсчитать сколько раз слово word встретилось в тексте text и первую букву в этом слове сделать заглавной (текст латинский).

Program word_ text;

var

text, word: string;

s, i: integer;

begin

writeln (‘Введите текст’); readln (text);

s: =0

writeln (‘Введите слово’); readln (word);

for i:=1 to length (text) - lenght (word)+1 do

if copy (text, i, length (word))=word then

begin

s:=s+1;

word [i]:=upcase (word [i]);

end;

writeln (s);

end.

Пример 5.25 Заменить в произвольном тексте все word1 слова на слово word2.

Program ww;

var

text, word1, word2: string;

I: integer;

begin

readln (text); readln (word1); readln (word2);

repeat

i:=pos (word1, text)

if i<>0 then

begin

delete (text, i, length (word1));

Insert (word2, text, I);

end;

until i=0;

writeln (text);

end.

Пример 5.26 Составить программу заменяющую все малые буквы русского алфавита на большие.

Program pp;

var

t: string;

p: char;

k, i: byte;

begin

readln (t); (ввод текста);

for i:=1 to length (t) do

begin

k:=ord (t[i]);

Заменить

if k>=160 and k<=175 then

begin

delete (t, i, 1);

Insert (chr (k-32), t, I);

end;

if k>=224 and k<=239 then

begin

delete (t, i, 1);