Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Файлы

Автор: ManyaK 17.12.2005 4:05

Люди пожалуйста помогите сделать программы по файлам у меня что-то плохо получается!!!
Очень сильно нужно PLZZZ!!!

1. Создать файл вещественных чисел. Переписать в другой файл его компоненты, сначала положительные, затем отрицательные.
2. Дан текстовый файл F. Записать в файл F1, компоненты файла F, заменив все прописные буквы на строчные.
3. Дан файл F, компоненты которого являются целыми числами. Найти сумму всех четных чисел среди компонент.

Автор: Altair 17.12.2005 4:27

http://forum.pascal.net.ru/index.php?showtopic=3584 здесь все необходимое.

Автор: Анна 17.12.2005 16:27

Задача №3:

uses crt;
const
N=3;
var
f : file of integer ;
summ, i, B : integer;

begin
clrscr;
assign(f,'c:\test');
rewrite(f);
writeln ('Введите числа: ');

for i:=1 to N do begin

readln(b);
write (F, B);
end; close(f);

reset(f);
summ:=0;
while not eof(f) do begin
read(f,B);

if B mod 2=0 then summ:=summ+b; end;

writeln('Сумма чётных чисел = ',summ);
readln;
close(f);
end.

Автор: Анна 17.12.2005 21:11

Задача №2:

uses crt;
const
Q = ['A'..'Z', 'А'..'Я'];
var
f1, f : text;
B : char;
x, i : integer;

begin
clrscr;
assign(f,'c:\test.txt');
reset(f);

assign (f1, 'c:\test1.txt');
rewrite(f1);

while not eof (f) do begin
read (F, B);

if b in q then begin x:=(ord(b)+32);
b:=chr(x); x := x+1; end;

write(f1,b);
end;
writeln ('Все прописные буквы были заменены на строчные');
write ('Клавиша для выхода ...');
readln;
close(f);
close(f1);
end.



Автор: Анна 18.12.2005 1:00

Задача №1:

const
n=5;

var
f, f1: file of real;
B : real;
s,s1 : string;
i : byte;

begin

writeln ('Имя вход. файла: '); readln (s);
assign (f,s); rewrite(f);
writeln ('Имя результирующего файла: '); readln (s1);
assign (f1,s1); rewrite(f1);

writeln ('Введите числа: ');
for i:=1 to N do begin
readln(B);
write (f, B);
end;

reset(f);
while not eof(f) do
begin
read(f,B);
if B>=0 then write(f1,B);
end;

reset(f);

while not eof(f) do
begin
read(f,B);
if B<0 then write(f1,B);
end;
writeln ('Все компоненты переписаны в ',s1, ' файл');
writeln ('Для выхода - любая клавиша');
readln;
close(f);
close(f1);
end.


GoodWind blum.gif

Автор: GoodWind 18.12.2005 2:04

чё " blum.gif " ?
я ж тебе решение разжевал lol.gif blum.gif

Автор: klem4 18.12.2005 15:03

во второй задаче впринципе можно сократить :

 while not eof (f) do begin
read (F, B);

if b in q then begin x:=(ord(b)+32);
b:=chr(x); x := x+1; end;

write(f1,b);
end;


на

 while not eof (f) do begin
read (F, B);
if b in q then write(f1, chr(ord(b)+32));
end;


и вообще что такое x := x + 1 я не понял unsure.gif

Автор: ManyaK 18.12.2005 21:31

Cпасибо за редактирование второй программы!
Думаю она дествительно так станет намного проще!

Может мне еще поможете с такой задачкой разобраться. Буду очень благодарен!!!
Задача:
Даны файлы f1, f2, f3, f4, f5 компоненты которых являются действительными числами. Организовать обмен компонентами между файлами в соответствии со следующей схемой. f1=> f3; f2=>f2; f3=>f5; f4=>f2; f5=>f1 (т. е . компоненты файла f1 переписываются в файл в файл f3)/ Разрешается использовать только одby вспомогательный файл h.

Автор: ManyaK 19.12.2005 6:22

Как можно вывести на экран данные которые содержит текстовый файл???

Автор: klem4 19.12.2005 11:18

http://forum.pascal.net.ru/index.php?s=&showtopic=7939&view=findpost&p=55413

Автор: Анна 19.12.2005 20:17


...
reset(f); {открываешь файл}
while not eof(f) do begin {пока не конец файла ..}
read(f,b); {считываешь каждый элемент}
writeln (b); {выводишь на экран}
end; {ВСЁ!}
...


Автор: klem4 19.12.2005 20:29

файл текстовый - содержимое строки, чатать надо строками - будет быстрее чем посимвольно.

Автор: ManyaK 20.12.2005 19:52

Что получится если из файла F,содержащего данные переписать данные в другой файл G, содержащий данные. И потом из G в F???
Получится два файла содержащие одинаковые данные??? Или что-то другое???

Автор: volvo 20.12.2005 19:55

Смотря какие это файлы, как ты их открываешь, и как записываешь... Может получиться дубликат одного и того же файла, информация из одного файла может быть добавлена в другой... Вариантов много.