Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 12.04.2010, 08:37   #1 (permalink)
ДенисКО
Member
 
Регистрация: 02.11.2009
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию 2 задачи на Паскале: с рекурсивными процедурами и текстовыми файлами

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

2. Пусть дан файл целых чисел f1. Создайте два новых файла f2 и f3 из положительных и отрицательных чисел соответственно. Если какой – то из созданных файлов окажется пустым, сообщите об этом.
ДенисКО вне форума   Ответить с цитированием

Старый 12.04.2010, 08:37
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Если вы еще не читали похожие обсуждения - сделайте это

Три задачи в Паскале
Работа с файлами на Паскале
Три задачи на Паскале

Старый 12.04.2010, 10:14   #2 (permalink)
Vladimir_S
Специалист
 
Аватар для Vladimir_S
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 26,853
Сказал(а) спасибо: 317
Поблагодарили 542 раз(а) в 183 сообщениях
Репутация: 101510
По умолчанию

Цитата:
Сообщение от ДенисКО Посмотреть сообщение
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.
Разумеется, пути к файлам могут быть изменены.
__________________
With Mozilla Firefox - straight to communism!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:37.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.