Как сделать так, чтобы программа работала без массива? - Pascal ABC
Формулировка задачи:
Решение задачи: «Как сделать так, чтобы программа работала без массива?»
textual
Листинг программы
var f:text; a:integer; ars:string; begin; assign(f,'C:\Users\oleg\Desktop\хлам\для сдачи ноут\7 лаба\о.txt'); reset(f); a:=0; while not Eof(f) do//если достигнут конц фала то возвращает истину begin readln(f,ars); if pos('.',ars)<>0 then a:=a+1; end; close(f); writeln(a); end.
Объяснение кода листинга программы
- Переменная
f
устанавливается в значениеtext
, что означает, что мы будем работать с текстовым файлом. - Переменная
a
устанавливается в значениеinteger
, что означает, что мы будем работать с целым числом. - Переменная
ars
устанавливается в значениеstring
, что означает, что мы будем работать со строкой. - Функция
assign
используется для назначения пути к файлу переменнойf
. - Функция
reset
используется для подготовки файла к чтению. - Переменная
a
инициализируется значением 0. - Запускается цикл
while not Eof(f)
(цикл будет выполняться до тех пор, пока не будет достигнут конец файла). - В цикле вызывается функция
readln(f,ars)
, которая читает строку из файла и сохраняет ее в переменнойars
. - Внутри цикла проверяется, содержит ли строка точку (
if pos('.',ars)<>0
). Если это условие истинно, то значение переменнойa
увеличивается на 1. - После завершения цикла
while not Eof(f)
вызывается функцияclose(f)
, которая закрывает файл. - Выводится значение переменной
a
.