Advertisement
nikitaxe132

Untitled

Sep 25th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.99 KB | None | 0 0
  1. program task_3;
  2. uses
  3.    System.SysUtils;
  4. var
  5.    Num1, Den1, Num2, Den2, I: Integer;
  6.    IsCorrect: Boolean;
  7. begin
  8.    Writeln('Эта программа найдет сумму двух рациональных дробей');
  9.    repeat
  10.        try
  11.           Writeln('Введите числитель первой дроби ');
  12.           Readln(Num1);
  13.           IsCorrect := True;
  14.        except
  15.           Writeln('Неправильно. Введите целое число!');
  16.           IsCorrect := False;
  17.        end;
  18.    until (IsCorrect);
  19.    repeat
  20.        try
  21.           Writeln('Введите знаменатель первой дроби');
  22.           Readln(Den1);
  23.           IsCorrect := True;
  24.        except
  25.           Writeln('Неправильно. Введите целое число!');
  26.           IsCorrect := False;
  27.        end;
  28.    until (IsCorrect);
  29.    repeat
  30.        try
  31.           Writeln('Введите числитель второй дроби');
  32.           Readln(Num2);
  33.           IsCorrect := True;
  34.        except
  35.           Writeln('Неправильно. Введите целое число!');
  36.           IsCorrect := False;
  37.        end;
  38.    until (IsCorrect);
  39.    repeat
  40.        try
  41.           Writeln('Введите знаменатель второй дроби');
  42.           Readln(Den2);
  43.           IsCorrect := True;
  44.        except
  45.           Writeln('Неправильно. Введите целое число!');
  46.           IsCorrect := False;
  47.        end;
  48.    until (IsCorrect);
  49.    if Den1 <> Den2 then
  50.    begin
  51.       Num1 := Num1 * Den2;
  52.       Num2 := Num2 * Den1;
  53.       Den1 := Den1 * Den2;
  54.       Num1 := Num1 + Num2;
  55.    end
  56.    else
  57.       Num1 := Num1 + Num2;
  58.    I := 2;
  59.    while (I <= Num1) and (I <= Den1) do
  60.    begin
  61.       if (Num1 mod I = 0) and (Den1 mod I = 0) then
  62.       begin
  63.          Num1 := Num1 div I;
  64.          Den1 := Den1 div I;
  65.       end
  66.       else
  67.          I := I + 1;
  68.    end;
  69.    Write(Num1, '/' ,Den1);
  70.    Readln;
  71.    Readln;
  72. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement