Арифметические действия с элементами файла - PascalABC.NET
Формулировка задачи:
вот задача: Для заданного файла вычислить
a1*2a2 – 3a3*4a4 + 5a5*6a6 +… (здесь ai — последовательно прочитанные элементы файла, причём нумерация начата с 1)
вот код:
почему преподаватель сказал, что данный код написан не на pascal abc? Если он прав, то что "это" тогда?
Решение задачи: «Арифметические действия с элементами файла»
textual
Листинг программы
var f:text; a1,a2,i,s:integer; begin assign(f,'input.txt'); //в файле записано четное число целых чисел reset(f); //файл в папке с программой s:=0; i:=0; while not seekeof(f) do begin read(f,a1,a2); i:=i+1; if odd(i) then s:=s+a1*a2 else s:=s-a1*a2; end; close(f); write('S=',s); end.
Объяснение кода листинга программы
- Объявлены переменные: — f (тип: text); — a1, a2, i, s (тип: integer).
- Присваивается значение переменной f равное 'input.txt'.
- Файл открывается на чтение с помощью функции reset(f).
- Инициализируется счётчик строк s = 0.
- Инициализируется счётчик строк i = 0.
- Запускается цикл while, который выполняется до тех пор, пока не будет достигнут конец файла (eof).
- В каждой итерации цикла считывается пара чисел из файла с помощью функции read(f, a1, a2).
- К счётчику i прибавляется единица.
- Если i является нечётным числом, то к переменной s прибавляется произведение чисел a1 и a2.
- Если i является чётным числом, то из переменной s вычитается произведение чисел a1 и a2.
- Завершается цикл while.
- Файл закрывается с помощью функции close(f).
- Выводится сообщение с результатом s.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д