Program primer 8;
Uses Crt;
var a, b : string[25];
Begin
Clrscr ; В результате получим: 8 19.
a:='computer';
b:='calculating machine';
writeln(length(a), ' ', length(b));
readln;
End.
Преобразование строк
Программа, определяющая и сравнивающая в введённом с клавиатуры числе количество чётных и нечётных цифр.
Program primer 9;
Uses Crt;
vara: string[5] ;
b: string[1];
i, k, s, sn , x : integer;
Begin
Clrscr;
s: =0; sn: =0 ;
write('Задайте число'); readln(a);
for i:=l to length(a) do
begin
b:=copy(a,i,l) ;
val(b,x,k) ;
if x mod 2=0 then s:=s+l else sn:=sn+l;
end;
if s>sn then writeln ('Четных цифр больше');
if s<sn then writeln ('Нечетных цифр больше');
if s=sn then writeln ('Одинаково');
readln;
End.
Программа, заменяющая в предложении одно слово на другое.
Program Replace;
UsesCrt;
var Text, Slovol, Slovo2 : String;
i, DlinaSlova, P : Integer;
Begin
CIrScr;
write(‘Введите строку :');
readln(Text);
write('Kaкoe слово заменить ? '); readln(Slovol);
write('Haкакое слово заменить ? '); readln(Slovo2);
writeln;
writeln('0 т в е т : ');
writeln('Исходный текст: ', Text);
DlinaSlova := Length( Slovol);
P := Pos(Slovol,Text); {номер позиции, с которой в строке Text в первый раз встречается подстрока Slovol}
while P>0 do {цикл продолжается до тех пор, пока подстрока Slovol встречается в строке Text}
begin
Delete(Text,P, DlinaSlova); {удаление подстроки Slovol, начинающейся с позиции P, из строки Text}
Insert(Slovo2, Text, P); {вставка подстроки Slovo2 в строку Text с позиции P}
P:=PostSlovol, Text);{номер позиции, с которой подстрока Slovol встречается в строке Text в очередной раз}
end;
writeln('Hoвый текст: ', Text);
readln;
End.
Программа подсчета различных букв в слове.
Program schot;
Uses Crt;
var s: string;
r: real;
i, j, n: integer;
Вegin
CIrScr;
r:=0;
readln(s);
for i:=1 to length(s) do
begin
n:=0;
for j:=1 to length(s) do
if s[i]=s[j] then inc(n);
r:=r+1/n;
end;
writeln('количество различных букв = ', r:1:0);
readln;
Еnd.
Программа определяющая, является ли слово "перевертышем" .
{Например, "шалаш", "казак" - перевёртыш}.
Program kazak;
UsesCrt;
var s1, s2: string;
i: integer;
Вegin
CIrScr;
readln(s1); s2:='';
for i:=length(s1) downto 1 do
s2:=s2+s1[i];
if s1=s2 then writeln(s1, ' - перевертыш')
else writeln(s1, ' - не перевертыш');
readln;
Еnd.
Обработка текста: Выделение слов из текста
--------------------------------------------------------------------------
На входе - текст, на выходе - список слов
--------------------------------------------------------------------------
Program slovo1;
UsesCrt;
const Alpha : set of char=['A'..'Z', 'А'..'П', 'Р'..'Я', 'a'..'z', 'а'..'п', 'р'..'я'];
var s, t: string;
i: integer;
Вegin
CIrScr;
writeln('Введите текст'); readln(s);
writeln('Список слов в тексте:');
i:=1;
Repeat
while NOT(s[i] in Alpha) and (i<=length(s)) do inc(i);
t:=' ';
while (s[i] in Alpha) and (i<=length(s)) do
begin
t:=t+s[i];
inc(i);
end;
if length(t)<>0 then writeln(t);
Until (i>length(s));
readln;
Еnd.
Обработка текста: Подсчет количества слов в тексте
--------------------------------------------------------------------------
На входе - текст, на выходе - количество слов в тексте
--------------------------------------------------------------------------
Program slovo2;
UsesCrt;
const Alpha : set of char=['A'..'Z', 'А'..'П', 'Р'..'Я', 'a'..'z', 'а'..'п', 'р'..'я'];
var s: string;
i: integer;
wc: integer;
Вegin
CIrScr;
writeln('Введите текст'); readln(s);
i:=1; wc:=0;
Repeat
while NOT(s[i] in Alpha) and (i<=length(s)) do inc(i);
if (i<=length(s)) then inc(wc);
while (s[i] in Alpha) and (i<=length(s)) do inc(i);
Until (i>length(s));
writeln('Количество слов в этом тексте = ', wc);
readln;
end.
Обработка текста: Выделение чисел из текста
--------------------------------------------------------------------------
На входе - текст, на выходе - список чисел
--------------------------------------------------------------------------
Program number;
UsesCrt;
const Digits : set of char=['0'..'9'];
var s, d: string;
i: integer;
Вegin
CIrScr;
writeln('Введите текст, в котором есть и цифры:');
readln(s);
writeln('Список чисел в тексте:');
i:=1;
Repeat
while NOT(s[i] in Digits) and (i<=length(s)) do inc(i);
d:=' ';
while (s[i] in Digits) and (i<=length(s)) do
begin
d:=d+s[i];
inc(i);
end;
if length(d)<>0 then writeln(d);
Until (i>length(s));
readln;
Еnd.
Обработка текста: Перевод в маленькие буквы (нижний регистр)
-------------------------------------------------------------------------
На входе - текст, на выходе - текст из маленьких букв
--------------------------------------------------------------------------
Program text1;
UsesCrt;
var s: string;
function SmallAlpha(ps: string): string;
var i: integer;
begin
for i:=1 to length(ps) do
begin
case ps[i] of
'A'..'Z','А'..'П': inc(ps[i],32);
'Р'..'Я' : inc(ps[i],80);
end;
end;
SmallAlpha:=ps;
end;
Вegin
CIrScr;
writeln('Введите любой текст'); readln(s);
writeln('Этот же текст маленькими буквами:');
writeln(SmallAlpha(s));
readln;
Еnd.
Обработка текста: Перевод в заглавные буквы (верхний регистр)
--------------------------------------------------------------------------
На входе - текст, на выходе - текст из больших букв
--------------------------------------------------------------------------
Program text2;
UsesCrt;
var s: string;
function BigAlpha(ps: string): string;
var i: integer;
begin
for i:=1 to length(ps) do
begin
case ps[i] of
'a'..'z','а'..'п': dec(ps[i], 32);
'р'..'я' : dec(ps[i], 80);
end;
end;
BigAlpha:= ps;
end;
Вegin
ClrScr;
writeln('Введите любой текст');
readln(s);
writeln('Этот же текст большими буквами:');
writeln(BigAlpha(s));
readln;
Еnd.
Список использованных источников
Лахтин А.С., Искакова Л.Ю. Языки и технология программирования. Начальный курс.
Учебное пособие. Екатеринбург. 1998.
Немнюгин С., Перколаб Л. Изучаем Turbo Pascal. – СПб.: Питер, 2002.
Шауцукова Л. З. Информатика: Учеб. Пособие для 10-11 кл. общеобразоват. Учреждений. М.: Просвещение, 2002.