Решенные задачи на языке Паскаль
Условие задачи - из "гостевой книги".
Дана последовательность слов. В каждом из них от 3 до 10 латинских букв; между словами - один пробел; за последним словом - точка. Вывести в текстовый файл все слова, преобразовав их по правилу: если слово нечетной длины, то заменить среднюю букву на цифру.
VAR
st, tmp : string;
i : integer;
f : text;
a : byte;
BEGIN
st := 'ноль один два три четыре пять шесть семь восемь девять.';
writeln('Дана последовательность слов:');
writeln(st);
{ создать файл }
assign(f, 'test.txt');
rewrite(f);
{ цикл - пока длина строки больше нуля, то обработка строки }
while length(st) > 0 do begin
{ ищем позицию пробела или точки - это означает конец слова }
a := pos(' ',st);
if a = 0 then a := pos('.',st);
{ записываем найденное слово в переменную tmp }
tmp := copy(st, 1, a-1);
{ из последовательности слов st, удаляем найденное слово }
delete(st, 1, a);
{ обработка самого слова - если длина не четная, то заменяем букву }
if (length(tmp) mod 2) <> 0 then begin
{ находим позицию середины слова }
a := (length(tmp) div 2) + 1;
{ удаляем из слова одну среднюю букву }
delete(tmp, a, 1);
{ на ее место вставляем любое число }
insert('5',tmp,a);
end;
{ записываем слово в файл }
writeln(f,tmp);
end;
close(f);
writeln('Последовательность слов обработана и записана в файл!');
readln;
END.
Скачать исходник