Advertisement
nblknn

laba 1 3

Sep 15th, 2023 (edited)
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.57 KB | None | 0 0
  1. Program Lab13;
  2.  
  3. Uses
  4.     System.SysUtils;
  5.  
  6. Var
  7.     Numer1, Numer2, Denom1, Denom2, SumNumer,
  8.     SumDenom, Nod, Nod1: Integer;
  9.     IsCorrect: Boolean;
  10.  
  11. Begin
  12.     Writeln('Данная программа вычисляет сумму двух рациональных дробей.');
  13.  
  14.     Repeat
  15.         IsCorrect := True;
  16.  
  17.         Try
  18.             Write('Введите числитель первой дроби: ');
  19.             Readln(Numer1);
  20.             Write('Введите знаменатель первой дроби: ');
  21.             Readln(Denom1);
  22.             Write('Введите числитель второй дроби:  ');
  23.             Readln(Numer2);
  24.             Write('Введите знаменатель второй дроби: ');
  25.             Readln(Denom2);
  26.         Except
  27.             Writeln('Введенные данные не соответствуют условию. Повторите попытку.');
  28.             IsCorrect := False;
  29.         End;
  30.  
  31.     Until (IsCorrect);
  32.  
  33.     Numer1 := Numer1 * Denom2;
  34.     Numer2 := Numer2 * Denom1;
  35.     SumNumer := Numer1 + Numer2;
  36.     SumDenom := Denom1 * Denom2;
  37.  
  38.     Nod := SumDenom;
  39.     Nod1 := SumNumer;
  40.  
  41.     While Nod1 <> Nod Do
  42.     Begin
  43.         If Nod > Nod1 Then
  44.         Begin
  45.             Nod := Nod - Nod1;
  46.         End
  47.         Else
  48.         Begin
  49.             Nod1 := Nod1 - Nod;
  50.         End;
  51.     End;
  52.  
  53.     SumNumer := SumNumer Div Nod;
  54.     SumDenom := SumDenom Div Nod;
  55.     Writeln('Полученный результат: ', SumNumer, '/', SumDenom);
  56.  
  57.     Readln;
  58.  
  59. End.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement