Составим программу, которая после ввода строки строчных латинских букв заменяет их на прописные. Решение данной задачи можно разделить на три самостоятельные части: ввод строки строчных латинских букв, преобразование букв в прописные, вывод полученной строки из прописных букв. Назовем вводимую строку символов S и опишем ее как переменную строкового типа:
var S: string;
Для обращения к символу, входящему в строку, введем переменную I типа byte, так как в строке может быть не более 255 символов. Для ввода строки используем стандартную функцию ReadLn(S), для вывода полученной строки из прописных букв используем стандартную функцию Writeln(S). Для преобразования символов строки из строчных в прописные введем подпрограмму-процедуру UpChar.
program Demollpper; {Преобразование строчных букв в ПРОПИСНЫЕ}
var S: string: {Описание S — строки переменной длины}
begin
Write(‘Введите исходную строку: ‘):
Readln(S): {Ввод исходной строки}
UpChar(S);{Преобразование символов строки из строчных в прописные}
Writeln(S); {Вывод выходной строки}
end.
При разработке подпрограммы-процедуры UpChar(S), выполняющей преобразование символов строки из строчных в прописные, используем стандартную функцию UpCase(S[I]) для преобразования строчной латинской буквы в прописную.
Действие подпрограммы заключается в том, что, начиная с 1-го символа и до конца строки строчная буква заменяется прописной. Так как эта операция повторяется, то будет удобно записать ее в виде цикла for, параметр которого будет изменяться от 1 до величины длины строки, которую вычислит стандартная функция Length(S).
Текст процедуры будет таким:
procedure UpChar(var S: string);
var I: byte; {Локальная переменная I — номер очередного символа в строке}
for I:= 1 to Length(S) do
{Просматривая с 1-й до последней буквы строки}
S[I]:= UpCase(S[I]):
{Преобразовать очередной символ}
end;
В результате получится следующая программа:
program DemoUpper; {Преобразование строчных букв в ПРОПИСНЫЕ}
var S: string; {Описание S — строки переменной длины}
procedure UpCharCvar S: string); {Процедура преобразования строки}
var I: byte; {Локальная переменная I — номер очередного символа в строке}
begin
for I:= 1 to Length(S) do {Просматривая с 1-й до последней буквы строки}
S[I]:= UpCase(S[I]); {Преобразовать очередной символ}
end:
begin {Начало основной программы}
Write(‘Введите исходную строку: ‘);
Readln(S): {Ввод исходной строки}
UpChar(S); {Вызов процедуры преобразования символов строки из строчных в прописные с передачей ей параметра-переменной S}
Writeln(S); {Вывод выходной строки}
end.