• Составьте и запишите КОМПЬЮТЕРНУЮ программу на языке программирования
    Паскаль для решения следующей задачи:
    НАЙТИ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ (сокращённо НОД) двух целых чисел Х и Y. КРОМЕ этого, ВАША ПРОГРАММА не должна вычислять НОД, если введено хотя бы одно отрицательное число. О неправильном вводе чисел следует сообщить пользователю!!!
    Например, программа ПОСЛЕДОВАТЕЛЬНО просит ввести два числа А и В.
    Затем, если хоть одно число или оба числа отрицательные, программа сообщает об этом пользователю. Если всё хорошо, то находится НОД.

    На всякий случай: имена переменных в программах у обучающихся совпадать не должны. Также следует обеспечить ДИАЛОГ с пользователем (например «Введите положительные целые – натуральные – числа», «Ввод ошибочен, повторите ввод…» и т.п.).
    В программе обязательны комментарии!!!
    Комментарий по ходу выполнения программы давать вразумительный.
    Файл прикреплен.

Ответы 2

  • Там нужно проверку на делимость и у меньшение i местами поменять, а то когда нод является меньшее число он неверно определяется
    • Автор:

      duke80
    • 6 лет назад
    • 0
  • Var a,b,i,nod:integerBegin a:=-1;b:=-1;//ввод первого числаWriteln('Введите первое число');While a<0 do beginreadln(a);if a<0 then writeln('Ввод ошибочен, повторите ввод первого числа');end;//ввод второго числаWriteln('Введите второе число');While b<0 do beginreadln(b);if b<0 then writeln('Ввод ошибочен, повторите ввод второго числа');end;//определение минимального числаif a>b then i:=b else i:=a;//перебор чисел от минимального до 0 (т.к. НОД не может быть больше минимального числа)While nod=0 do begini:=i-1;if (a mod i = 0) and (b mod i = 0) then nod:=i;end;//вывод НОДWriteln('НОД ', a,' и ', b, ' = ', nod);end.
    • Автор:

      declan
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years