Предмет: Информатика,
автор: aminov17
Пусть вводится последовательность символов длиной не более 4. Если
все вводимые символы — цифры, то выполните преобразование данной
последовательности в целое число.
Паскаль.
Ответы
Автор ответа:
2
Программа в PascalABC.Net:
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.
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.
Похожие вопросы
Предмет: Английский язык,
автор: Елена5616
Предмет: Русский язык,
автор: igulsinya
Предмет: Русский язык,
автор: nikitabordkin
Предмет: Алгебра,
автор: drobotyulya
Предмет: Математика,
автор: Kek1456