Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2011, 18:41   #1
Avvakymova
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 49
По умолчанию рекурсивная процедура

подскажите,пожалуйста,что писать в основной программе!!!


Код:
procedure piramidka(c:char; kiko:byte);
var i:byte;
begin
for i:=1 to (ord(c)-ord('A')) do
write(c);
writeln;
if (ord(c)-ord('A')) < kiko then
piramidka(chr(ord(c)+1),kiko);
end;

begin
  piramidka('A',25);
end.

________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 08.05.2011 в 23:01.
Avvakymova вне форума Ответить с цитированием
Старый 08.05.2011, 23:04   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это полностью законченая программа.
(рисует пирамидку из букв...)

Поэтому Ваш вопрос неясен - что и где Вы собираетесь писать?!!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.05.2011, 23:42   #3
rus12
Пользователь
 
Регистрация: 20.03.2011
Сообщений: 53
По умолчанию

В целом ничего, но можно вот так
Код:
procedure piramidka(c:char; kiko:byte);
var i:byte;
begin
for i:=1 to (ord(c)-ord('A')) do
write(c);
writeln;
if (ord(c)-ord('A')) < kiko then
piramidka(chr(ord(c)+1),kiko);
end;

begin
  piramidka('A',25);
  readln;
end.
Если помог напиши одобрение(иконка весов слева под ником)
rus12 вне форума Ответить с цитированием
Старый 09.05.2011, 12:00   #4
Avvakymova
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 49
По умолчанию

А можно ее сделать не через процедуру?
Avvakymova вне форума Ответить с цитированием
Старый 09.05.2011, 12:05   #5
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
А можно ее сделать не через процедуру?
Легко. Скопируйте тело процедуры в основную программу. И переменные описать не забудьте.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 09.05.2011, 17:21   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Легко. Скопируйте тело процедуры в основную программу.
да щас! Прямо таки - ЛЕГКО.

процедура рекурсивная. Чтобы ещё "развернуть" в последовательную, нужно рекурсию заменить циклом.
Так что, насчёт "Легко", Вы, товарищ, чуток погорячились...

p.s. хотя, в данной задаче рекурсия скорее притянута за уши, чем является обязательным условием, поэтому особых проблем с циклом не будет.

Avvakymova, и учтите, что тогда эта программа уже не будет рекурсивной!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.05.2011, 09:47   #7
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
да щас! Прямо таки - ЛЕГКО.
Ну да, Вы правы. Я слегка погорячился. Хотя я думаю если автор сам смог сделать эту рекурсивную функцию, то развернуть ее в цикл проблем особых не составит.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 10.05.2011, 10:01   #8
Sparkman
220400
Форумчанин
 
Аватар для Sparkman
 
Регистрация: 21.05.2010
Сообщений: 726
По умолчанию

Цитата:
Сообщение от Avvakymova Посмотреть сообщение
А можно ее сделать не через процедуру?
Код:
var i,kiko:byte;c:char;
begin
     c:='A';
     kiko:=25;
     while (ord(c)-ord('A')) <= kiko do
     begin
          for i:=1 to (ord(c)-ord('A')) do
          write(c);
          writeln;
          c:=chr(ord(c)+1);
     end;
  readln;
end.
Cерьёзной помощи не ждите - помогаю в перерывах на "перекур".
Не существует ничего невозможного для человека, который не собирается ничего делать сам.
Не учите человека, если вы не его учитель.
Sparkman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рекурсивная процедура Серый777 Паскаль, Turbo Pascal, PascalABC.NET 1 08.11.2011 18:19
Рекурсивная функция Ангелина-ванила Помощь студентам 2 01.12.2010 10:21
Рекурсивная процедура поиска значений элементов массива кот Бегемот Помощь студентам 0 18.11.2010 11:38
Рекурсивная процедура Asira Помощь студентам 12 23.12.2009 21:47