Переписать в пустой файл g сначала все положительные числа, а потом все отрицательные - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не могли бы кто нибудь помочь с двумя задачами. P.S. прошу прощения что нарушил правила и выложил две задачи в одной теме, но не хочу плодить темы, и рациональнее будет выложить в одной. Задача 1: type rad = file of integer; Описать процедуру p(f,g) от двух файлов типа rаd, которая из файла f переписывает в пустой файл g сначала все положительные числа, а потом все отрицательные. Указание: введите файл f (последний элемент равен 0). Выполните процедуру p(f,g). Распечатайте файл g.

Решение задачи: «Переписать в пустой файл g сначала все положительные числа, а потом все отрицательные»

textual
Листинг программы
uses crt;
type rad=file of integer;
procedure p(var f,g:rad);
var a:integer;
begin
reset(f);
while not eof(f) do
 begin
  read(f,a);
  if a>0 then write(g,a)
 end;
reset(f);
while not eof(f) do
 begin
  read(f,a);
  if a<0 then write(g,a)
 end;
close(f);
end;
 
var f,g:rad;
    a:integer;
begin
assign(f,'fileF');
rewrite(f);
writeln('Введите в файл целые положительные и отрицательные числа,');
writeln('окончание ввода 0');
repeat
readln(a);
if a<>0 then write(f,a);
until a=0;
if filesize(f)=0 then
 begin
  writeln('Файл пустой, введите в него целые числа кроме ноля');
  close(f);
  exit;
 end;
assign(g,'fileG');
rewrite(g);
p(f,g);
reset(g);
writeln('Файл G:');
while not eof(g) do
 begin
  read(g,a);
  write(a,' ');
 end;
close(g);
end.

Объяснение кода листинга программы

  1. Создается тип данных rad, который представляет собой файл, содержащий целочисленные значения.
  2. Создается процедура p, которая принимает два параметра: f и g типа rad. Внутри процедуры считывается значение из файла f и записывается в файл g. Если значение положительное, оно записывается в g, если отрицательное - в g.
  3. Создается переменная a типа integer.
  4. Открывается файл f для чтения и g для записи.
  5. Выводится сообщение для пользователя о том, как использовать программу.
  6. Запрашивается ввод от пользователя до тех пор, пока введенное значение не станет равным нулю.
  7. Если файл f пуст, выводится сообщение об ошибке и программа завершается.
  8. Закрываются файлы f и g.
  9. Выводится содержимое файла g.

Оцени полезность:

13   голосов , оценка 3.846 из 5
Похожие ответы