Строковые и символьные переменные length(s)

advertisement
Строковые и символьные переменные
length(s) - определяет текущую длину строки s.
сopy(s, poz, n) - выделяет из строки s, начиная с позиции poz, подстроку из n символов.
pos(s1, s) - определяет позицию подстроки s1 в строке s.
chr (х) - определяет символ по его коду х из таблицы кодировки ASCII
ord (s) - определяет код символа s из таблицы кодировки ASCII по символу
delete(s, poz, n) - удаляет из строки s, начиная с позиции poz, подстроку из n символов.
insert(s1, s, poz) - вставляет в строку s, начиная с позиции poz, подстроку s1
str(x, s) - преобразует число x в строковый формат.
val (s, x, kod) - преобразует строку символов s в число x. кod-номер позиции, с которой
пошла ошибка при преобразовании.
pred(x) – возвращает предыдущий символ относительно значения переменной х
succ(x) – возвращает следующий символ относительно значения переменной х
1. Напишите программу, которая подсчитает кол-во слов в телеграмме и стоимость ее пересылки,
если известна стоимость пересылки одного слова – N.
program telegramma;
var c,p,s,z,k,i:integer; a, T:string;
begin
writeln ('Введите текст телеграммы');
readln (T);
writeln ('Введите стоимость одного слова');
readln (c);
k:= length (T);
p:=0;
for i:= 1 to k do
begin
a:=copy(T,i,1);
if a=' ' then p:=p+1;
end;
s:=p+1;
z:=s*c;
writeln ('Стоимость телеграммы', z)
end.
program telegramma;
var c, p, i, k: integer; T:string;
begin
writeln ('Введите текст телеграммы'); readln
(T);
writeln ('Введите стоимость одного слова');
readln (c);
p:=1; i:=1;
k:= length (T);
while i<= k do
begin
if copy(T,i,1) = ' ' then p:=p+1;
i:= i +1;
end;
writeln ('Стоимость телеграммы', p*c);
end.
program telegramma;
var c, p, i: integer; T:string;
begin
writeln ('Введите текст телеграммы'); readln (T);
writeln ('Введите стоимость одного слова'); readln (c);
p:=1;
for i:= 1 to length (T) do
if copy(T,i,1) = ' ' then p:=p+1;
writeln ('Стоимость телеграммы', p*c);
end.
var s,s1:string;
k:byte;
n:real;
begin
write ('Введите текст телеграммы: '); readln(s);
write ('Введите стоимость одного слова: '); readln(n);
k:=0;s:=s+' ';
while pos(' ',s)>0 do
begin
s1:=copy(s,1,Pos(' ',s)-1);
delete(s,1,Pos(' ',s));
if (s1<>'ЗПТ') and (s1<>'Т') then inc(k);
end;
writeln('Стоимость телеграммы=', n*k:0:2);
end.
Download