Цитата:
Сообщение от ДенисКО
1. Числа Фибоначчи U0 ,U1 ,U2 ,… определяются следующим образом:
{U0=0, U1=1; Un=Un-1 - Un-2, n=2,3,4,...
Написать программу вычисления первого числа Фибоначчи, большего m (m>1), включающую рекурсивную функцию, которая основана на непосредственном использовании соотношения Un =Un-1 +Un-2
|
Код:
VAR
m,u,u1,u2:WORD;
i:BYTE;
BEGIN
Write('m= ');
ReadLn(m);
u1:=0;
u2:=1;
Repeat
u:=u1+u2;
u1:=u2;
u2:=u;
Until u>m;
WriteLn('u= ',u);
ReadLn;
END.
Цитата:
2. Пусть дан файл целых чисел f1. Создайте два новых файла f2 и f3 из положительных и отрицательных чисел соответственно. Если какой – то из созданных файлов окажется пустым, сообщите об этом.
|
Код:
VAR
file1,file2,file3:TEXT;
n2,n3:WORD;
a:INTEGER;
BEGIN
Assign(file1,'D:\f1');
ReSet(file1);
Assign(file2,'D:\f2');
ReWrite(file2);
Assign(file3,'D:\f3');
ReWrite(file3);
n2:=0;
n3:=0;
Repeat
Read(file1,a);
if a>0 then
begin
write(file2,a,' ');
inc(n2);
end;
if a<0 then
begin
write(file3,a,' ');
inc(n3);
end;
Until EoF(file1);
Close(file1);
Close(file2);
Close(file3);
if n2=0 then
WriteLn('F1 contains no positive values') else
if n3=0 then
WriteLn('F1 contains no negative values') else
WriteLn('Finished!');
ReadLn;
END.
Разумеется, пути к файлам могут быть изменены.