Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Файловая задача Фибоначи

15K
15 мая 2007 года
Monkey
24 / / 22.11.2006
Вот есть такая задачка:
Надо сделать програму с помошью которой в текстовом формате был бы выведен ряд Фибоначи, который начнетса числом 1 и окончица числом меншим чем 47. Помогите подкаректировать програму, у меня выводит слишком большое количество чисел, плиз.
Код:
program ucheniy;
uses crt;
const n=47;
var f1:text;
i,a1,a2,y:integer;
begin clrscr;
 assign(f1,'uchen.txt');
 rewrite(f1);
 a1:=0;
 a2:=1;
 writeln(f1,a2);
  for i:=1 to 47 do
   begin
    y:=a1+a2;
    a1:=a2;
    a2:=y;
    i:=y;
    writeln(f1,y);
   end;
 close(f1);
end.
622
15 мая 2007 года
nilbog
507 / / 19.12.2006
зачем вам цикл for 47 раз выполнять интересно
и ктомуже меняете i в цикле - но от этого не поменяется число раз которое выполнится тело цикла
сделайте while цикл
в while цикле сравнивайте условие >47
15K
15 мая 2007 года
Monkey
24 / / 22.11.2006
Цитата: nilbog
зачем вам цикл for 47 раз выполнять интересно
и ктомуже меняете i в цикле - но от этого не поменяется число раз которое выполнится тело цикла
сделайте while цикл
в while цикле сравнивайте условие >47



Боьшое спасибо. Сделал, поменял for на while и вот так изменил выделеную часть:

Код:
program ucheniy;
uses crt;
const n=47;
var f1:text;
i,a1,a2,y:integer;
begin clrscr;
 assign(f1,'uchen.txt');
 rewrite(f1);
 a1:=0;
 a2:=1;
 writeln(f1,a2);
  while i<47 do
   begin
    y:=a1+a2;
    a1:=a2;
    a2:=y;
    [COLOR="DarkOliveGreen"][COLOR="Magenta"]i:=y+a1;[/COLOR][/COLOR]
    writeln(f1,y);
   end;
 close(f1);
end.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог