Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на файлы *
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Димас
вот сегодня по информатике начали файлы изучать...

Учитель задал такую задачку blink.gif :

Заполнить файл последовательного доступа f целыми числами, получеными с помщью генератора случайных чисел. Получить в файле g:
б.) те компоненты файла f, которые делятся на m и не делятся n .


Меня интересует что это за "генератор случайных чисел" ??

и как приблизительно можно решить б) ?

wacko.gif
Perfez

const
k=1000;
var
m,n,f,i:longint;
g:text;
Begin
Assign(g,'output.txt');
ReWrite(g);
Read(f,m,n);
Randomize;
For i:=1 to f do
If (Random(k) mod m=0) and (Random(k) mod n<>0) then WriteLn(g,Random(k));
Close(g);
End.



По-моему должно быть так. smile.gif А
Цитата
генератор случайных чисел
это просто Randomize & Random(n) вроде... smile.gif
Perfez
А на счёт
Цитата
генератор случайных чисел
смотри ещё: yes2.gif Randomize
volvo
Цитата
По-моему должно быть так.
А по-моему, вот так:
const k=1000;
var
m,n,i:longint;
f, g:text;
begin
Randomize;
assign(f, 'input.txt'); rewrite(f);
for i := 1 to k do writeln(f, Random(200));
reset(f);

assign(g, 'output.txt'); rewrite(g);
ReadLn(m,n);
While not eof(f) do begin
readln(f, i);
if (i mod m = 0) and (i mod n <> 0) then WriteLn(g, i);
end;
close(g);
close(f);
end.
(все-таки сначала, по условию, заполняется один файл, а потом из него определенные числа переносятся в другой...)
Димас
Так-с вроде разобрался:)

но только не понял одного:


Randomize; {Это для чего надо тут ?}
assign(f, 'input.txt'); rewrite(f);{<<Это ясно!}
for i := 1 to k do writeln(f, Random(200)); {ну цыкл перебирает от 1 до k, а что в нем делает Random(200)?}


так приблизиттельно понял, что Randomize (от англ. random-произвольный ) , так у tp это что функция такая чтоль?

volvo
Цитата
а что в нем делает Random(200)?
А кто по-твоему сами случайные числа генерирует? Вот этот Random и генерирует...
klem4
Цитата
Randomize; {Это для чего надо тут ?}


Подключение генератора СВ, для того, чтобы псевдослучайная последовательность не повторялась.

Цитата
for i := 1 to k do writeln(f, Random(200)); {ну цыкл перебирает от 1 до k, а что в нем делает Random(200)?}


Ну догадаться помоему можно из твоего задания

Цитата
Заполнить файл последовательного доступа f целыми числами, получеными с помщью генератора случайных чисел.


добавено: опоздал smile.gif

Цитата
так у tp это что функция такая чтоль?


Да, а еще у tp есть замечательный Help.
Димас
так а почему имено Random с значением 200, а не другим ?

Цитата(klem4)
Да, а еще у tp есть замечательный Help.


Да у tp7 действительно только сейчас открыл глаза, что там есть help, но жаль он на English, может где то русик к нему можно качнуть?
volvo
Цитата
жаль он на English, может где то русик к нему можно качнуть?

Был тут:
Turbo Pascal на Xp.
?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.