Різниця по модулю і твір двох чисел

Різниця по модулю і твір двох чисел

C ++ - це один з найпопулярніших мов програмування. Не важливо, якою мовою програмуєте особисто ви. Але, якщо ви хоча б в загальних рисах не знаєте С ++, то це велика прогалина в вашу освіту, який треба заповнити якомога швидше. Детальніше.

Умова завдання 1.2

завдання 1.2
Дано два цілих числа Х і Т. Якщо вони мають різні знаки, то присвоїти Х значення твори цих чисел, а Т - значення їх різниці по модулю. Якщо числа мають однакові знаки, то присвоїти Х значення різниці по модулю вихідних чисел, а Т - значення твори цих чисел. Нові значення Х і Т вивести на екран.

Завдання теж нескладна. "Непонятки" можуть виникнути тільки в тому випадку, якщо ви забули, що таке різниця по модулю (сподіваюся, що такий твір двох цілих чисел, ви все-таки пам'ятайте))).

Різниця по модулю двох чисел

Різниця по модулю двох цілих чисел (хоча не обов'язково цілих - це не має значення, просто в нашій задачі числа цілі) - це, кажучи по простому, коли підсумком обчислення є модуль різниці двох чисел.

Тобто спочатку виконується операція вирахування одного числа з іншого. А потім обчислюється модуль результату цієї операції.

Математично це можна записати так:

Якщо хто забув, що таке модуль або як його обчислити в Паскалі, то див. Тут.

Алгоритм визначення знаків двох чисел

Рішення завдання в цілому досить просте. Труднощі у новачків може викликати лише визначення знаків двох чисел. Тобто треба відповісти на питання: як дізнатися, мають числа однакові знаки або різні.

Спочатку напрошується почергове порівняння чисел з нулем. Це допустимо. Але вихідний код буде досить великим. Тому більш правильно використовувати такий алгоритм:

  1. Помножити числа один на одного
  2. Якщо результат менше нуля, значить у чисел різні знаки
  3. Якщо результат дорівнює нулю або більше нуля, то у чисел однакові знаки

Цей алгоритм я виконав у вигляді окремої функції. А сама програма вийшла такою, як показано в прикладах на Паскалі і С ++ нижче.

Рішення завдання 1.2 на Паскалі

Рішення завдання 1.2 на С ++

оптимізація