ВУЗ:
Составители:
Пример программы на языке Паскаль
{ Сформировать файл из некоторых чисел. }
{ Записать во второй файл количество положительных, }
{ отрицательных и нулевых элементов файла. }
uses CRT; { Подключение библиотеки ввода-вывода }
const n=10; { Максимальный размер массива }
{ Раздел объявления переменных }
var
File1, File2: FILE of Integer; { Переменные файлового типа }
Road1, Road2: String[14]; { Строки для хранения имен файлов }
a : Array[1..n] of Integer; { Массив для хранения введенных чисел }
i, pol, otr, nul: Integer; { i-счетчик цикла }
{ pol-количество положительных элементов массива}
{ otr количество отрицательных элементов массива}
{ nul количество нулевых элементов массива}
{ Основной блок программмы }
begin
ClrScr; { Очистка экрана }
WriteLn('Выполнил Поляков Д.Г., КТФ, гр. Р-11');
Road1:='Test1.dat'; { Задание имен файлов }
Road2:='Test2.dat';
Assign(File1,Road1); { Связь файловой переменной с внешним файлом Road1}
Rewrite(File1); { Создание и открытие файла Test1.dat }
Assign(File2,Road2); { Связь файловой переменной с внешним файлом Road2}
Rewrite(File2); { Создание и открытие файла Test2.dat }
pol:=0; { Инициализация переменных }
otr:=0;
nul:=0;
for i:=1 to n do
begin
WriteLn('Введите ',i,' элемент массива'); { Запрос у пользователя
элементов массива}
Read(a[i]); { Ввод элементов массива }
Write(File1,a[i]); { Запись их в файл Test1.dat }
end;
Close(File1); { Закрытие файла Test1.dat }
WriteLn; { Пропуск строки }
WriteLn('____________________________________');
Reset(File1); { открытие файла Test1.dat для проверки правильности записи }
while not eof(File1) do { Чтение файла до тех пор, пока указатель }
{ текущей компоненты файла находится перед }
{ последней компонентой файла }
begin
Read(File1,a[i]); { Считывание чисел из файла }
Write(a[i]:2); { Распечатка считываемых чисел }
if a[i]>0 then pol:=pol+1; { Подсчет числа положительных, отрицательных}
if a[i]<0 then otr:=otr+1; { и нулевых элементов }
if a[i]=0 then nul:=nul+1;
Inc(i); { Приращение счетчика цикла }
end;
WriteLn; { Пропуск строки }
WriteLn('____________________________________');
Write(File2,pol); { Запись числа положительных, отрицательных }