М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Catia2006
Catia2006
18.05.2021 17:02 •  Информатика

Составьте программу, заменяющую из двух данных чисел меньшее число суммой, а большее – произведением этих чисел.

👇
Ответ:
эрика95
эрика95
18.05.2021
Program pf;
var x,y,a,b:integer;
begin
read(x);
read(y);
a:=x; b:=y;
if x>y then begin x:=a*b; y:=a+b; end else begin x:=a+b; y:=a*b; end;
write(x,y);
end.
4,8(71 оценок)
Открыть все ответы
Ответ:
lsrk
lsrk
18.05.2021
1. Современный эффективный код

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.
4,6(13 оценок)
Ответ:
V369906
V369906
18.05.2021
Var a,b,i,nod:integer
Begin
a:=-1;
b:=-1;
//ввод первого числа
Writeln('Введите первое число');
While a<0 do
begin
readln(a);
if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');
end;
//ввод второго числа
Writeln('Введите второе число');
While b<0 do
begin
readln(b);
if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');
end;
//определение минимального числа
if a>b then i:=b else i:=a;
//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)
While nod=0 do
begin
i:=i-1;
if (a mod i = 0) and (b mod i = 0) then nod:=i;
end;
//вывод НОД
Writeln('НОД ', a,' и ', b, ' = ', nod);
end.
4,6(78 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ