• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Рекурсия в паскале

  • Автор темы Автор темы zena
  • Дата начала Дата начала

zena

Новые
Регистрация
11 Ноя 2010
Сообщения
85
Реакции
1
Баллы
0
Рекурсия в паскале

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

Если бы нужно было решить не через рекурсию, то задача была бы решена, но в рекурсии совсем не разбираюсь.
 
Рекурсия — это такой способ организации вспомогательного алгоритма (подпрограммы), при котором эта подпрограмма (процедура или функция) в ходе выполнения ее операторов обращается сама к себе. Вообще, рекурсивным называется любой объект, который частично определяется через себя.
Исходя из определения, вам нужно выбрать рекурсивную часть задания и реализовать её.
 
ну я понимаю что такое рекурсия: это ситуация, когда подпрограмма вызывает сама себя.
Но у меня никогда не получалось составить программу с помощью рекурсии: Я очень много допускаю ошибок(в том числе при описании)
 
Вот что-то получилось, но что-то мне не нравится...проверьте пожалуйта:
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:=random(10);b:=random(10);
write(a:5);
end;writeln;
for i:=1 to 10 do begin
write(b:5);
end;writeln;
for i:=1 to 10 do begin
k:=find(b,1);
if k=11 then begin
write(b:5);
if max<b then max:=b;
end;
end;writeln;

end.
 
Здесь только выводятся две последовательности... минимальное число не выводится.:tehnari_ru_325:
 
Странно, в задании написано найти минимальное число, а вы в приведенном листинге ищите максимальное. К чему бы это? Ответьте также, каким образом к может быть равным 11, если у вас цикл от 1 до 10? И почему вы на анализируете вторую последовательность?
 
Назад
Сверху