Другие языки программирования и технологии
программа на Турбо Паскале на тему файлы
В файле f записаны целые числа. Написать программу, которая в файл g записывает положительные числа, а файл h - отрицательные. заранее спасибки, кто поможет=)
Доброго времени суток.
Пока не конец файла, читаем в переменную целого типа очередное число. Если оно положительное, записываем эту переменную в файл g, если отрицательное - в f. Затем закрываются все файлы.
Проверка на "положительность" делается так
if N > 0 then
для проверки на "отрицательность" нужно заменить знак "больше" на "меньше".
Запись в файл делается так
Write(F, N, ' '); {пробельчик, чтобы разделить числа}
Файловая переменная связывается с файлом при помощи процедуры
Assign(F, FileName);
Файл на чтение открывается процедурой Reset(F)? а на запись Rewrite(F);
Вот, пожалуй, и все, что надо знать для реализации программы.
Удачи!
Пока не конец файла, читаем в переменную целого типа очередное число. Если оно положительное, записываем эту переменную в файл g, если отрицательное - в f. Затем закрываются все файлы.
Проверка на "положительность" делается так
if N > 0 then
для проверки на "отрицательность" нужно заменить знак "больше" на "меньше".
Запись в файл делается так
Write(F, N, ' '); {пробельчик, чтобы разделить числа}
Файловая переменная связывается с файлом при помощи процедуры
Assign(F, FileName);
Файл на чтение открывается процедурой Reset(F)? а на запись Rewrite(F);
Вот, пожалуй, и все, что надо знать для реализации программы.
Удачи!
стучи в агент
var
tmp, e: integer;
s :string;
f : text;
f1: integer;
f2 : integer;
begin
Assign(F, "C:\xxx");
Assign(F1,"C:\xxx");
Assign(F1, "C:\xxx");
while not eof(f) do {пока не конец файла}
begin
s:=readln(f); {считываем число}
val(s,tmp,e) ; {преобразуем строку в число}
if tmp>0
writeln(f1) {если > 0 в файл 1}
else
writeln(f2) {если < 0 в файл 2}
end;
Close(f); {закрываем все файлы}
Close(f1);
Close(f2);
end.
tmp, e: integer;
s :string;
f : text;
f1: integer;
f2 : integer;
begin
Assign(F, "C:\xxx");
Assign(F1,"C:\xxx");
Assign(F1, "C:\xxx");
while not eof(f) do {пока не конец файла}
begin
s:=readln(f); {считываем число}
val(s,tmp,e) ; {преобразуем строку в число}
if tmp>0
writeln(f1) {если > 0 в файл 1}
else
writeln(f2) {если < 0 в файл 2}
end;
Close(f); {закрываем все файлы}
Close(f1);
Close(f2);
end.
Поможет=напишет?
Раз вам нужна программа для работы с файлами, я думаю, что процедуры и ункции вы прошли. Следовательно и типы тоже. Посему.. . Программа работает и проверена.
Код программы:
program Neylon;
type
tf=file of integer;
var
f,g,h:tf;
procedure input(var x:tf; ch:char);
var
i,n,a:integer;
begin
rewrite(x);
write('Сколько целых чисел вы хотите записать в файл ',ch,'? ');
readln(n);
for i:=1 to n do
begin
write('Введите ',i,'-ое число ');
readln(a);
write(x,a);
end;
close(x);
end;
procedure doing(var f,g,h:tf);
var
a:integer;
begin
reset(f);
rewrite(h);
rewrite(g);
while not eof(f) do
begin
read(f,a);
if a > 0 then {Число положительное - пишем в файл g}
write(g,a)
else if a < 0 then {Число отрицательное - пишем в файл h}
write(h,a)
else {Цифра ноль - не положительное и не отрицательное - ничего не делаем}
begin end;
end;
close(f);
close(g);
close(h);
end;
procedure output(var x:tf; ch:char);
var
a:integer;
begin
writeln('Файл ',ch,':');
reset(x);
while not eof(x) do
begin
read(x,a);
write(a:3);
end;
close(x);
end;
begin
assign(f, 'f.file');
assign(g, 'g.file');
assign(h, 'h.file');
input(f, 'F');
doing(f,g,h);
output(f,'F');
output(g,'G');
output(h,'H');
end.
Пример работы:
Сколько целых чисел вы хотите записать в файл F? 5
Введите 1-ое число -1
Введите 2-ое число 0
Введите 3-ое число 1
Введите 4-ое число 2
Введите 5-ое число 3
Файл F: -1 0 1 2 3
Файл G: 1 2 3
Файл H: -1
Код программы:
program Neylon;
type
tf=file of integer;
var
f,g,h:tf;
procedure input(var x:tf; ch:char);
var
i,n,a:integer;
begin
rewrite(x);
write('Сколько целых чисел вы хотите записать в файл ',ch,'? ');
readln(n);
for i:=1 to n do
begin
write('Введите ',i,'-ое число ');
readln(a);
write(x,a);
end;
close(x);
end;
procedure doing(var f,g,h:tf);
var
a:integer;
begin
reset(f);
rewrite(h);
rewrite(g);
while not eof(f) do
begin
read(f,a);
if a > 0 then {Число положительное - пишем в файл g}
write(g,a)
else if a < 0 then {Число отрицательное - пишем в файл h}
write(h,a)
else {Цифра ноль - не положительное и не отрицательное - ничего не делаем}
begin end;
end;
close(f);
close(g);
close(h);
end;
procedure output(var x:tf; ch:char);
var
a:integer;
begin
writeln('Файл ',ch,':');
reset(x);
while not eof(x) do
begin
read(x,a);
write(a:3);
end;
close(x);
end;
begin
assign(f, 'f.file');
assign(g, 'g.file');
assign(h, 'h.file');
input(f, 'F');
doing(f,g,h);
output(f,'F');
output(g,'G');
output(h,'H');
end.
Пример работы:
Сколько целых чисел вы хотите записать в файл F? 5
Введите 1-ое число -1
Введите 2-ое число 0
Введите 3-ое число 1
Введите 4-ое число 2
Введите 5-ое число 3
Файл F: -1 0 1 2 3
Файл G: 1 2 3
Файл H: -1
Похожие вопросы
- Помогите написать программу в Турбо паскале.
- Помогите где ошибка в программе на турбо паскале?
- Помогите написать программу для турбо паскаля
- Помогите составить программу на Турбо Паскале! ПЛИЗЗ!!
- Мне завтра рассказывать программы по турбо паскаль,помогите разьяснить задачи по каждой строчке
- помогите написать программу в Турбо Паскале, Шифр цезаря,с сдвигом на три шага!!!!
- Помогите написать программу в турбо паскале (по возможности и блок-схему)
- Помогите сделать анимацию в программе в турбо Паскаль
- Какую программу (Паскаль) использовать в учебных целях, чтоб была овместима с файлами от "Турбо Паскаль"? В которых
- Игра в турбо паскале Киньте программу на любую игру в турбо паскале