|
Почему разные результатыПеред вами — четыре программы, написанные на языках программирования Бейсик и Паскаль (по две на каждом языке): 1) язык Бейсик REM Первая программа CLS sum = 0 FOR i = 1 TO 1000 fr = (-1) ^ (i + 1) / i sum = sum + fr NEXT i PRINT sum REM Вторая программа CLS sum = 0 FOR i = 1000 TO 1 STEP -1 fr = (-1) ^ (i + 1) / i sum = sum + fr NEXT i PRINT sum 2) язык Паскаль {Первая программа} Program First; Uses CRT; Var i: word; fr, sum: real; koeff: -1..1; BEGIN Clrscr; sum := 0; koeff := -1; For i := 1 Downto 1000 Do Begin fr := koeff * 1 / i; sum := sum + fr; koeff := -1 * koeff End; Writeln(sum) END. {Вторая программа} Program Second; Uses CRT; Var i: word; fr, sum: real; koeff: -1..1; BEGIN Clrscr; sum := 0; koeff := -1; For i := 1000 Downto 1 Do Begin fr := koeff * 1 / i; sum := sum + fr; koeff := -1 * koeff End; Writeln(sum) END. Первые программы на каждом из двух языков решают одну и ту же задачу, вторые — тоже. Ответьте, пожалуйста, на вопросы: 1. Какие две задачи решаются в представленных программах? 2. Почему результаты выполнения двух программ для одного и того же языка программирования отличаются? (Проверьте это!) |