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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2010, 22:50   #1
profan
Новичок
Джуниор
 
Регистрация: 29.03.2010
Сообщений: 2
По умолчанию Рекурсивные алгоритмы в Паскале.

Помогите, пожалуйста, разобраться с задачами на Паскале. Должны выполняться с помощью рекурсии.
1)Последовательность полиномов Лагерра L0(х),...,Ln(x) определяется следующим образом L0(X) = 1, L1(X) = x–l,
Lk(x) = (x–2k+l)*Lk-1(x)+(k–1)2*Lk-2(x) Вычислить L8(20)
2)Удалить из массива заданный элемент. Массив задается, затем упорядочивается методом пузырька, далее бинарный поиск.
Заранее большое спасибо тому, кто не пожалеет своего времени на помощь профану в Паскале)
profan вне форума Ответить с цитированием
Старый 29.03.2010, 22:54   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

насчет второй задачки могу помочь за небольшое вознаграждение
пиши на мыло, если заинтересуешься
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 29.03.2010, 23:17   #3
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Вроде бы сделал первую. Расчетные формулы взял с Википедии.

Код:
var res, xp:Real;
    i:Integer;  

function L(n:Integer; x:Real):Real;
begin
  if n > 1 then
     L := ((2*(n-1)+1-x)*L(n-1,x)-(n-1)*L(n-2,x))/n
  else
   case n of
     0 : L := 1;
     1 : L := 1-x;  
   end;             
end;

begin
  Write('Введите значение X: ');
  Readln(xp);
  write('Введите номер полинома: ');
  Readln(i);
  res := L(i, xp);
  Writeln('Результат:  ', res);
  Readln;
end.

Последний раз редактировалось Stilet; 30.03.2010 в 09:08.
D61C76h вне форума Ответить с цитированием
Старый 29.03.2010, 23:20   #4
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

В переменную xp вводишь 20, а в i - 8, согласно твоему условию.
D61C76h вне форума Ответить с цитированием
Старый 31.03.2010, 10:12   #5
profan
Новичок
Джуниор
 
Регистрация: 29.03.2010
Сообщений: 2
По умолчанию

Хм...Спасибо)Вопрос по поводу второй задачи.Она настолько сложнее первой, что именно ее предлагают купить?Не, я конечно понимаю, что в наше время время - деньги, но почему выбор пал именно на нее?
profan вне форума Ответить с цитированием
Старый 31.03.2010, 10:34   #6
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от profan Посмотреть сообщение
Хм...Спасибо)Вопрос по поводу второй задачи.Она настолько сложнее первой, что именно ее предлагают купить?Не, я конечно понимаю, что в наше время время - деньги, но почему выбор пал именно на нее?
Потому что там сортировка и бинарный поиск, немногим сложнее, чем рекурсия...
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 31.03.2010, 11:00   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Потому что там сортировка и бинарный поиск, немногим сложнее, чем рекурсия...
Да ну.. прямо так и сложнее?... ну ладно, с утверждением "немногим" соглашусь...


Цитата:
Сообщение от profan
Она настолько сложнее первой, что именно ее предлагают купить?Не, я конечно понимаю, что в наше время время - деньги, но почему выбор пал именно на нее?
Вы немного не поняли.. Первую Вам D61C76h сделал исключительно по доброте душевной... (ну, может ему было интересно решить эту задачу.. или положительную репутацию человек зарабатывает... или просто Вас пожалел)...

А вообще на форуме действует правило: хочешь бесплатно - так приложи усилия, попытайся сделать, покажи свои наработки, тебе помогут. А сделать полностью за кого-то — это в отдел фриланс (работа за вознаграждение).

теперь по сути.
что не получается?
ввод массива?
сортировка пузырьком?
(поиск по форуму:
Поиск: Ключевые слова: пузырьком ; Раздел: Паскаль )

бинарный (двоичный) поиск?
Двоичный (бинарный) поиск элемента в массиве
или на Wiki: Двоичный поиск

дерзайте и всё у Вас получится...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2010, 16:36   #8
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Код:
 {сортировка пузырьком}
 for i := 1 to n do
   for j := 1 to n - 1 do
if a[j]>a[j+1] then
  begin
   p:=a[j];
   a[j]:=a[j+1];
   a[j+1]:=p;
  end;
  readln(x);
  {бинарный поиск}
  i := 1;  
  j := n;  
  while i <= j do begin
    k := i + (j - i) div 2; 
    if x > a[k] then
      i := k + 1
    else if x < a[k] then
      j := k - 1
    else
      break; 
  end;
  {удаление элемента}
if a[k]=x then begin
  n:=n-1;
  for i:=k to n do
   a[i]:=a[i+1];end;

Последний раз редактировалось Google2010; 31.03.2010 в 17:36.
Google2010 вне форума Ответить с цитированием
Старый 31.03.2010, 17:31   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Google2010, ну, в целом неплохо!

пара замечаний.
1) в сортировке пузырьком не зачем вложенный цикл каждый раз гонять до конца массива, ведь там уже стоят наибольшие элементы..
лучше так:
Код:
 {сортировка пузырьком}
 for i := 1 to n-1 do
   for j := 1 to n - i do
2) нет проверки того, что бинарный поиск нашёл нужный элемент x
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Простейшие рекурсивные алгоритмы (ПАСКАЛЬ) Таня.Ку Помощь студентам 1 14.12.2009 16:38
Рекурсивные алгоритмы. Delphi. Помогите... DeN...!!! Помощь студентам 2 31.05.2009 19:29