|
|
Sloshenie.PAS |
|
{* Сложение двух дробей с разными знаменателями *}Unit SLOSHENIE;Interface Implementation Begin writeln('Сложение двух дробей с разными знаменателями '); End. Program Sloshenie; Uses Sloshenie.pas; {* Эту строку можно удалить *} Uses Crt; {* Подключаем внешние файлы *} Var {* В работе нам потребуются переменные: *} a : longint; b : longint; c : longint; a1 : longint; b1 : longint; a2 : longint; b2 : longint; nok : longint; Procedure Nod; {процедура находит НОД чисел a и b} {a, b, c - глобальные параметры } Begin If b > a Then Begin c := a; a := b; b := c; End; While a Mod b 0 Do Begin c := b; b := a Mod b; a := c; End; End; Begin ClrScr; {* Очищаем экран *} Write('Введите числитель 1ой дроби: > '); Readln(a1); Write('Введите знаменатель 1ой дроби: > '); Readln(b1); Write('Введите числитель 2ой дроби: > '); Readln(a2); Write('Введите знаменатель 2ой дроби: > '); Readln(b2); If (b1 = 0) Or (b2 = 0) Then Begin Writeln('Ошибка!! Знаменатель не должен равнятся нулю.'); Readkey; {* Ждем нажатия любой клавиши *} Halt(1); End; Write(a1, ' / ', b1, ' + ', a2, ' / ', b2, ' = '); If (a1 = 0) Or (a2 = 0) Then Begin If a1 = 0 Then Begin a := a2; b := b2; a1 := a2; nok := b2; End; Else Begin a := a1; b := b1; nok := b1; End; End; Else Begin a := b1; b := b2; Nod; {находим НОД и записываем его в переменную b} nok := b1 * b2 Div b; {находим НОК знаменателей 2х дробей (b1 и b2)} a1 := a1 * nok Div b1; {умножаем числитель первой дроби на дополнительный множитель} a2 := a2 * nok Div b2; {умножаем числитель второй дроби на дополнительный множитель} a1 := a1 + a2; {складываем дроби: числитель полученной дроби - a1, знаменатель требуемой дроби - nok} a := a1; b := nok; End; Nod; {сокращаем полученную дробь до несократимой дроби} Write (a1 Div b); {выводим на экран полученный результат} If nok Div b1 Then Writeln(' / ', nok Div b); Writeln; {* Пустая строка *} Readkey; {* Ждем нажатия пользователя *} End...... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|