Строка: лово формируется по правилу: первая буква - случайным образом заданная русская согласная... - PascalABC.NET
Формулировка задачи:
Добрый день! Помогите, пожалуйста, решить задачку
Слово формируется по правилу: первая буква - случайным образом заданная русская согласная, вторая буква – случайным образом заданная русская гласная и т.д. Всего n букв (n может быть нечетным числом)
Решение задачи: «Строка: лово формируется по правилу: первая буква - случайным образом заданная русская согласная...»
textual
Листинг программы
const gl:string[10]='аеёиоуыэюя';
sg:string[23]='бвгджзйклмнпрстфхцчшщъь';
var s:string;
n,i:byte;
begin
randomize;
repeat
write('Длина строки от 1 до 255 n=');
readln(n);
until n in [1..255];
s:='';
for i:=1 to n do
if odd(i)then s:=s+sg[1+random(23)]
else s:=s+gl[1+random(10)];
write(s);
end.
Объяснение кода листинга программы
- Объявляются две константы:
glиsg. Обе являются массивами строк. - Переменная
sинициализируется пустой строкой. - Переменные
nиiобъявляются какbyte(без указания диапазона значений). - Выполняется инициализация генератора случайных чисел.
- Пользователю предлагается ввести длину строки от 1 до 255.
- Пока пользователь не введет корректное значение длины строки (в диапазоне от 1 до 255), программа будет повторять запрос.
- После получения корректного значения длины строки, программа переходит к генерации самой строки.
- В цикле, который повторяется
nраз, программа добавляет в строкуsлибо букву из массиваgl, либо букву из массиваsg, в зависимости от того, является ли номер буквы нечетным или четным. - В конце программа выводит получившуюся строку.