Написать программу суммирования всех положительных элементов заданного файла - Pascal
Формулировка задачи:
Доброго времени суток. Нужна помощь в написании вот какой программы:
Написать программу суммирования всех положительных элементов заданного файла (файл содержит в каждой записи два числа разделенных пробелом).
Найти сумму двух первых и двух последних элементов заданного файла.
На форуме нашёл подобные темы, но корректно работающей программы - нет. Спасибо.
Решение задачи: «Написать программу суммирования всех положительных элементов заданного файла»
textual
Листинг программы
var s : Word; x, y, sFL : Integer; f : Text; begin Assign(f, 'input.txt'); Reset(f); ReadLn(f, x, y); sFL := x + y; s := 0 + Ord(x > 0) * x + Ord(y > 0) * y; while Not(Eof(f)) do begin ReadLn(f, x, y); s := s + Ord(x > 0) * x + Ord(y > 0) * y; end; Close(f); sFL := sFL + x + y; WriteLn('Full sum: ', s); WriteLn('2 first + 2 last: ', sFL); end.
Объяснение кода листинга программы
- В начале объявляются переменные: s - слово, x и y - целые числа, f - текст.
- Задается имя файла для чтения и записывается в переменную f.
- Чтение первых двух чисел из файла и сохранение их в переменных x и y.
- Вычисление суммы положительных чисел x и y и сохранение результата в переменной s.
- Вычисление суммы всех чисел x и y, включая отрицательные, и сохранение результата в переменной sFL.
- Чтение остальных чисел из файла, пока не достигнут конец файла, и добавление их к сумме sFL.
- Закрытие файла.
- Вывод суммы s на экран.
- Вывод суммы первых двух чисел sFL на экран.