Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 16.11.2010, 13:12   #1 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию Рекурсия в паскале

Помогите пожалуста составить программу на паскаль.
Даны 2 последовательности по 10 целых чисел в каждой. Найти наименьшее среди тех чисел первой последовательности, которые не входят во вторую последовательность(считая,что хотя бы одно такое число есть).

Если бы нужно было решить не через рекурсию, то задача была бы решена, но в рекурсии совсем не разбираюсь.
zena вне форума   Ответить с цитированием

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

Обсуждения которые так или иначе похожи на вашу тему уже встречались, рекомендую вам их просмотреть

Помощь в Паскале
Задача на Паскале
Задача на Паскале

Старый 16.11.2010, 13:26   #2 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Цитата:
Рекурсия — это такой способ организации вспомогательного алгоритма (подпрограммы), при котором эта подпрограмма (процедура или функция) в ходе выполнения ее операторов обращается сама к себе. Вообще, рекурсивным называется любой объект, который частично определяется через себя.
Исходя из определения, вам нужно выбрать рекурсивную часть задания и реализовать её.
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Старый 16.11.2010, 13:37   #3 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию

ну я понимаю что такое рекурсия: это ситуация, когда подпрограмма вызывает сама себя.
Но у меня никогда не получалось составить программу с помощью рекурсии: Я очень много допускаю ошибок(в том числе при описании)
zena вне форума   Ответить с цитированием
Старый 16.11.2010, 19:54   #4 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию

Вот что-то получилось, но что-то мне не нравится...проверьте пожалуйта:
Цитата:
var a,b:array[1..10] of integer;
k,i,max:integer;

function find(k,i:integer):Integer;
begin
if (i>10)or(a[i+1]=k) then
Result:=i
else
Result:=find(k,i+1);
end;
begin
for i:=1 to 10 do begin
a[i]:=random(10);b[i]:=random(10);
write(a[i]:5);
end;writeln;
for i:=1 to 10 do begin
write(b[i]:5);
end;writeln;
for i:=1 to 10 do begin
k:=find(b[i],1);
if k=11 then begin
write(b[i]:5);
if max<b[i] then max:=b[i];
end;
end;writeln;

end.
zena вне форума   Ответить с цитированием
Старый 17.11.2010, 19:46   #5 (permalink)
zena
Member
 
Регистрация: 11.11.2010
Сообщений: 85
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Репутация: 20
По умолчанию

Здесь только выводятся две последовательности... минимальное число не выводится.
zena вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 18.11.2010, 06:47   #6 (permalink)
AlexZir
support
 
Аватар для AlexZir
 
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,794
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
По умолчанию

Странно, в задании написано найти минимальное число, а вы в приведенном листинге ищите максимальное. К чему бы это? Ответьте также, каким образом к может быть равным 11, если у вас цикл от 1 до 10? И почему вы на анализируете вторую последовательность?
__________________
Убить всех человеков!
AlexZir вне форума   Ответить с цитированием
Ads

Яндекс

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

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

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

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




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

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