Правильно ли определён тип величины (отметьте верные варианты) Выберите все подходящие ответы из списка
название континента – целочисленный
количество книжных полок – целочисленный
название месяца – строковый
объём шара – строковый
вес контейнера – целочисленный
кличка собаки – строковый
площадь земной поверхности – целочисленный
количество тетрадей – вещественный
скорость велосипеда – вещественный
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var (x,y):=ReadInteger2('Введите через пробел два числа:');
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do (x,y):=(y,x mod y);
Writeln('НОД=',x)
end
end.
Примеры
Введите через пробел два числа: 14 -2
Ввод отрицательных чисел недопустим
Введите через пробел два числа: 32 76
НОД=4
2. Традиционный "школьный" код
var
x,y,t:integer;
begin
Write('Введите через пробел два числа: ');
Read(x,y);
if (x<0) or (y<0) then Writeln('Ввод отрицательных чисел недопустим')
else begin
while y>0 do begin
x:=x mod y;
t:=x; x:=y; y:=t
end;
Writeln('НОД=',x)
end
end.
Внимание! Если программа не работает, обновите версию!
procedure Preobraz(var Stroka:string);
begin
var bq:=new Queue<(integer,integer)>;
foreach var m in Stroka.Matches('\s+') do
bq.Enqueue((m.Index,m.Length));
var wq:=new Queue<(integer,string)>;
foreach var m in Stroka.Matches('\S+') do
if m.Value.Any(t->t in ['0'..'9']) then wq.Enqueue((m.Index,''))
else wq.Enqueue((m.Index,m.Value));
Stroka:='';
var pbi,pwi:integer;
while (bq.Count>0) and (wq.Count>0) do begin
(pbi,pwi):=(bq.Peek[0],wq.Peek[0]);
if pbi<pwi then begin
Stroka:=Stroka+bq.Peek[1]*' ';
bq.Dequeue
end
else begin
Stroka:=Stroka+wq.Peek[1];
wq.Dequeue
end
end;
while bq.Count>0 do begin
Stroka:=Stroka+bq.Peek[1]*' ';
bq.Dequeue
end;
while wq.Count>0 do begin
Stroka:=Stroka+wq.Peek[1];
wq.Dequeue
end
end;
begin
var s:=ReadlnString;
Preobraz(s);
s:='<'+s+'>'; // чтобы было видно, как работает
s.Println
end.