Напишите программу по выдаче рандомной комбинации букв, соответствующую следующим требованиям: - результат должен состоять из 8 символов (букв)- за буквой a могут стоять только буквы d, e, g, i, jза буквой b только e, f, h, j, kза буквой c только f, g, i, k, lза буквой d только a, g, h, j, lза буквой e только a, b, h, i, kза буквой f только b, c, i, j, lза буквой g только a, c, d, j, kза буквой h только b, d, e, k, lза буквой i только a, c, e, f, lза буквой j только a, b, d, f, gза буквой k только b, c, e, g, hза буквой l только c, d, f, h, i обозначения букв по желанию можно заменить на аналоги (a=а, b=б, c=в, d=г, e=д, f=е, g=ж, h=з, i=и, j=к, k=л, l=м)
Создадим второго слона. Для этого надо выполнить все 4 команды:
1,2,3,4.
Второй слон стал на 80% меньше первого.
Создадим третьего слона.
Если мы сейчас снова вставим слона из буфера (команда 3), то вставится первый слон, и команду 4 придется делать 2 раза, чтобы он стал на 80% меньше, чем второй слон.
Поэтому для третьего слона нужно выделить второго и опять проделать все 4 команды: 1,2,3,4.
Чтобы получить еще 6 слонов, нужно эти команды повторить 6 раз.
ответ: В) повторить (1,2,3,4; 6)
const
digits=['0','1','2','3','4','5','6','7','8','9'];
var
s:string;
n,i,err:integer;
isdigit:boolean;
begin
Write('Введите натуральное число (1-9999): ');
Read(s);
i:=1;
isdigit:=True;
n:=Length(s);
repeat
isdigit:=isdigit and (s[i] in digits);
Inc(i)
until (not isdigit) or (i>n);
if isdigit then
begin Val(s,n,err); Writeln('Введено корректное число ',n) end
else Writeln('Число содержит нецифровой символ')
end.
Отметим, что в PascalABC.Net в реальной жизни решение могло бы выглядеть так:
var
s:string;
n,err:integer;
begin
Write('Введите натуральное число (1-9999): ');
Read(s);
Val(s,n,err);
if err=0 then Writeln('Введено корректное число ',n)
else Writeln('Число содержит нецифровой символ')
end.