• Страница 1 из 1
  • 1
Модератор форума: Екатерина_Пашкова  
Форум учителей об образовании в России и мире » Форум педагогов по предметам, разделам » Форум учителей информатики » паскаль (тест)
паскаль
PotapДата: Суббота, 26.12.2009, 22:31 | Сообщение # 1
Potap

Ainur
Ранг: Дошколенок (?)
Группа: Зарегистрированные
Сообщений:
8
Награды: 0
Статус: Offline
Здравствуйте. я учусь в инетрнет универе ИТ, тут попался такой тест никак не могу сделать его. вот он прдеставлен ниже, плиз помогите разобраться help
Какие из приведенных ниже подпрограмм вычисляют функцию двойного факториала (n!!), определяемую следующим образом:
0!! =1
1!! = 1
n!! = n*(n-2)!!, для любого натурального n.

1
function f(n,k:longint):longint;
var ff: longint;
begin if (k=0)or(k=n)
then f:= 1
else if k>n then f:= 0
else begin ff:= f(n-1,k-1)+f(n-1,k);
f:= ff
end;
end;

2
function f(c:longint):longint;
var a: array[1..1000]of longint;
i: integer;
begin a[1]:= 1;
a[2]:= 1;
for i:= 3 to c do a[i]:= a[i-1]+a[i-2];
f:= a[c]
end;

3
function f(c:longint):longint;
begin if (c=0)or(c=1) then f:= 1
else f:= f(c-2)*c
end;

4
function f(c:longint):longint;
begin if c =1 then f:= 1
else f:= f(c-1)+f(c-2)
end;

5
function f(n,k:longint):longint;
var a: array[0..n]of longint;
i,j,t,tt: longint;
begin if k>n
then f:= 0
else if (k=n)or(k=0)
then f:= 1
else begin
a[0]:= 1;
a[1]:= 1;
for i:= 2 to k do a[i]:= 0;
for i:= 2 to n do
begin
t:= 1;
for j:= 1 to i-1 do
begin
tt:= a[j]+t;
t:= a[j];
a[j]:= tt;
end;
a[i]:= 1;
end
end;
f:= a[k]
end;

6
function f(c:longint):longint;
var ff: longint;
begin ff:= 1;
while c >1 do
begin
ff:= ff*c;
dec(c,2);
end;
f:= ff
end;
26.12.2009

a_stecenkoДата: Воскресенье, 27.12.2009, 01:44 | Сообщение # 2
a_stecenko

Артём
Ранг: Студент (?)
Группа: Я - учитель
Сообщений:
101
Награды: 2
Статус: Offline
Potap, во-первых факториалы вычисляют с помощью рекурсий; во-вторых... просто подумайте, всё очень просто... ну или если не придумывается - повторите пройденный материал ;-)

Добавлено (27.12.2009, 01:44)
---------------------------------------------
Вообще цель данной задачи, не в том чтобы сделать тест, а в том чтобы студент понял для чего и как используется рекурсия.

27.12.2009
PotapДата: Воскресенье, 27.12.2009, 12:45 | Сообщение # 3
Potap

Ainur
Ранг: Дошколенок (?)
Группа: Зарегистрированные
Сообщений:
8
Награды: 0
Статус: Offline
не могли бы вы мне сказать какие подпрограммы из перечиленных вичисляют функцию двойного факториала? Просто щас времени нету перечитывать матеирал, в школе контрольные работы...а это я просто для себя учусь, но потом я конечно же заново вернусь к этим факториалом.
27.12.2009
a_stecenkoДата: Воскресенье, 27.12.2009, 20:29 | Сообщение # 4
a_stecenko

Артём
Ранг: Студент (?)
Группа: Я - учитель
Сообщений:
101
Награды: 2
Статус: Offline
Potap, ну я Вам уже собственно говоря ответил, нужно только немного подумать...
конкретизирую:
Рекурсия (с помощью которой вычисляются факториалы) используется только в двух из приведенных Вами альтернатив, формула вычисления факториала n-ого порядка, приведенная Вами же в условии, практически в явном виде описана на ЯП Pascal в одной из этих альтернатив ;-)

Quote
...а это я просто для себя учусь...

Ну так зачем Вам спешить - учитесь последовательно, от простого к более сложному. Вас же ни кто не гонит.
27.12.2009
PotapДата: Вторник, 29.12.2009, 13:59 | Сообщение # 5
Potap

Ainur
Ранг: Дошколенок (?)
Группа: Зарегистрированные
Сообщений:
8
Награды: 0
Статус: Offline
a_stecenko, спасибо разобрался happy
29.12.2009
Форум учителей об образовании в России и мире » Форум педагогов по предметам, разделам » Форум учителей информатики » паскаль (тест)
  • Страница 1 из 1
  • 1
Поиск:



Спорная ситуация с родителями или администрацией? Ищете выход из проблемы на уроке или с учеником?
Не знаете, как что-то сделать на компьютере?


Вы можете задать анонимный вопрос
х
Подробно изложите суть вашего вопроса.
Обратите внимание, что вопросы публикуются в открытом доступе на сайте, поэтому не указывайте персональные данные ваши или иных лиц. Однако стоит указать свой РЕГИОН, т.к. законодательство в разных регионах разное.
Отправить