Народ, если не сложно, помогите с задачей:
Написать рекурсивную процедуру, при выполнении которой на экран будет выводиться отрезок натурального ряда чисел.
поможем. что делала? что не получается?
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.
Делов-то...
Добавлено через 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.
Ну а так получше будет
М | kosyak, пользуйся тегом CODE |
to kosyak: Спасибо огромное тебе!
to Michael_Rybak: Cпс за то, что откликнулся
Паскаль начала изучать недавно, поэтому возникают не мало трудностей с написанием программ, но ничего! Учимся, запоминаем
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.
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.
я бы вообще n не хранил внешне, а сравнивал бы внутри не с n, а с 0. а n передавал бы как исходный параметр в рекурсию. так, на мой взгляд, чуть изящнее.