Advertisement
klasscho

Untitled

Oct 29th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. Program Project6;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6. sysUtils;
  7. function CheckOne(max : integer) : integer;
  8. var
  9. IsCorrect: Boolean;
  10. input: integer;
  11. begin
  12. repeat
  13. try
  14. writeln('Enter a value : ');
  15. readln(input);
  16. if ((input > 0) and (input < max)) then
  17. IsCorrect := True
  18. else
  19. writeln('Enter a correct value!');
  20. except
  21. IsCorrect := False;
  22. writeln ('Try again. Enter a correct value!');
  23. end;
  24. until IsCorrect;
  25. CheckOne := input;
  26. end;
  27.  
  28. function fraction(num, den: integer) : integer;
  29. var
  30. mult: integer;
  31. begin
  32. mult := num * den;
  33. fraction := mult;
  34. end;
  35.  
  36. procedure CheckTwo(var num, den : integer);
  37. var
  38. l: integer;
  39. begin
  40. if (num < den) then
  41. for l := num downto 2 do
  42. else
  43. if (num mod l = 0) and (den mod l = 0) then
  44. num := num div l;
  45. den := den div l;
  46. end;
  47. const
  48. MaxInt = 46340;
  49. var
  50. m, n, p, q, a, b, num1, den1 : integer;
  51. begin
  52. Writeln ('This program divides two irreducible fractions');
  53. m := CheckOne(MaxInt);
  54. n := CheckOne(MaxInt);
  55. p := CheckOne(MaxInt);
  56. q := CheckOne(MaxInt);
  57. CheckTwo(m, q);
  58. CheckTwo(p, n);
  59. num1 := fraction(m, q);
  60. den1 := fraction(p, n);
  61. writeln (num1 ,'/', den1);
  62. readln;
  63. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement