Помощь - Поиск - Пользователи - Календарь
Полная версия: Рекурсивная процедура
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Melany
10.gif Народ, если не сложно, помогите с задачей:

Написать рекурсивную процедуру, при выполнении которой на экран будет выводиться отрезок натурального ряда чисел.

Michael_Rybak
поможем. что делала? что не получается?
kosyak
program pr;
var i: integer;

procedure rec(var ii: integer; n: integer);
begin
writeln(ii);
if ii<n then
begin
inc(ii);
rec(ii,n);
end;
end;
begin
i:=1;
rec(i,5);
end.


smile.gif Делов-то...

Добавлено через 4 мин.
program pr;
var i,n: integer;

procedure rec(var ii: integer);
begin
writeln(ii);
if ii<n then
begin
inc(ii);
rec(ii);
end;
end;
begin
i:=1;
write('n='); readln(n);
rec(i);
end.

Ну а так получше будет
Michael_Rybak
М
kosyak, пользуйся тегом CODE

Melany
to kosyak: Спасибо огромное тебе! rolleyes.gif
to Michael_Rybak: Cпс за то, что откликнулся smile.gif

Паскаль начала изучать недавно, поэтому возникают не мало трудностей с написанием программ, но ничего! Учимся, запоминаем yes2.gif
volvo
Цитата
Ну а так получше будет
Лучше чем что? Кстати, почему бы не так:
var
n: integer;

procedure rec(i: integer);
begin
writeln(i);
if i < n then rec(i + 1);
end;


begin
write('n='); readln(n);
rec(1);
end.
?
kosyak
Цитата(volvo @ 15.05.2008 16:00) *

Лучше чем что? Кстати, почему бы не так:
var
n: integer;

procedure rec(i: integer);
begin
writeln(i);
if i < n then rec(i + 1);
end;
begin
write('n='); readln(n);
rec(1);
end.
?


Ну можно и так, уж не такая большая разница.
Я написал 2 кода в одном сообщении... вот второй получше чем первый... Ну может не получше, просто там n вводится с клавы...
Michael_Rybak
я бы вообще n не хранил внешне, а сравнивал бы внутри не с n, а с 0. а n передавал бы как исходный параметр в рекурсию. так, на мой взгляд, чуть изящнее.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.