Pascal привести выражение к несократимой дроби
Формулировка задачи:
Привести выражение к несократимой обыкновенной дроби
1/2+2/3+3/4+...+9/10
Пишет неправильная команда или имя файла
Не могу понять в чем ошибка
Решение задачи: «Pascal привести выражение к несократимой дроби»
textual
Листинг программы
program PROG12; uses crt; var Ch ,Zn ,NODs,i : longint; function NOD(x,y:longint):longint; begin while (x>0)and(y>0) do if x>y then x:=x mod y else y:=y mod x; NOD:=x+y; end; begin clrscr; Ch:=1; Zn:=2; for i := 2 to 9 do begin Ch:= Ch*(i+1)+i*Zn; Zn:=Zn*(i+1); NODs:= NOD (Ch,Zn); if NODs <> 1 then begin Ch:= Ch div NODs; Zn:= Zn div NODs; end; writeln ( Ch,'/',Zn); end; readln end.
Объяснение кода листинга программы
- Начинается объявление переменных: Ch, Zn, NODs, i (должно быть, для хранения значений).
- Определяется функция NOD(x,y), которая принимает два целых числа и возвращает их наибольший общий делитель (НОД).
- Цикл for запускается от i=2 до 9 (включительно), с шагом 1.
- Внутри цикла, Ch и Zn умножаются на (i+1) и i соответственно.
- Вызывается функция NOD с Ch и Zn в качестве аргументов.
- Если результат НОД не равен 1, то выполняется блок if, который делит Ch и Zn на НОД.
- Выводится значение Ch и Zn в формате
Ch/Zn. - Завершается цикл for.
- Программа ожидает ввода данных с помощью функции readln.