Как разделить эту процедуру на функции и процедуры pascal
Задание выглядит следующим образом : сделать все буквы большими в тех словах, которые начинаются и заканчиваются с одной и той же буквы.
Обязательно нужно использовать процедуры и функции.
Вот процедура
procedure print_stirng();
var
s, word, sign: string;
punc: set of char;
i: integer;
begin
Readln(s);
punc := ['.', ',', ' ', '-', ';', ':', '?'];//добавьте нужные знаки пунктуации
i := 1;
while (i <= length(s)) do
begin
while (i <= length(s)) and (not (s[i] in punc)) do
begin
word := word + s[i];
i := i + 1;
end;
if (word[1] = word[length(word)]) then
begin
for var j := 1 to length(word) do
write(UpCase(word[j]));
write(' ')
end
else write(word + ' ');
Word := '';
i := i + 1;
end;
end;
И она прекрасно работает, просто не могу понять, как можно её разделить. Не обязательно использовать эту процедуру, если напишите заново - буду благодарен.
Ответы (1 шт):
Автор решения: nightflash
→ Ссылка
Как минимум можно сделать одну функцию, которая в качестве параметра принимает слово, и выдаёт True/False в зависимости от того, равны ли буквы в конце и начале слова. Т.е. перенести в функцию условие
if (word[1] = word[length(word)]) then