Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program task_3;
- uses
- System.SysUtils;
- var
- Num1, Den1, Num2, Den2, I: Integer;
- IsCorrect: Boolean;
- begin
- Writeln('Эта программа найдет сумму двух рациональных дробей');
- repeat
- try
- Writeln('Введите числитель первой дроби ');
- Readln(Num1);
- IsCorrect := True;
- except
- Writeln('Неправильно. Введите целое число!');
- IsCorrect := False;
- end;
- until (IsCorrect);
- repeat
- try
- Writeln('Введите знаменатель первой дроби');
- Readln(Den1);
- IsCorrect := True;
- except
- Writeln('Неправильно. Введите целое число!');
- IsCorrect := False;
- end;
- until (IsCorrect);
- repeat
- try
- Writeln('Введите числитель второй дроби');
- Readln(Num2);
- IsCorrect := True;
- except
- Writeln('Неправильно. Введите целое число!');
- IsCorrect := False;
- end;
- until (IsCorrect);
- repeat
- try
- Writeln('Введите знаменатель второй дроби');
- Readln(Den2);
- IsCorrect := True;
- except
- Writeln('Неправильно. Введите целое число!');
- IsCorrect := False;
- end;
- until (IsCorrect);
- if Den1 <> Den2 then
- begin
- Num1 := Num1 * Den2;
- Num2 := Num2 * Den1;
- Den1 := Den1 * Den2;
- Num1 := Num1 + Num2;
- end
- else
- Num1 := Num1 + Num2;
- I := 2;
- while (I <= Num1) and (I <= Den1) do
- begin
- if (Num1 mod I = 0) and (Den1 mod I = 0) then
- begin
- Num1 := Num1 div I;
- Den1 := Den1 div I;
- end
- else
- I := I + 1;
- end;
- Write(Num1, '/' ,Den1);
- Readln;
- Readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement