forum.rastrnet.ru

forum.rastrnet.ru (http://forum.rastrnet.ru/index.php)
-   Поиск (http://forum.rastrnet.ru/forumdisplay.php?f=52)
-   -   Паскаль... Борланд Паскаль (http://forum.rastrnet.ru/showthread.php?t=3849)

Juggernaut 10.03.2005 17:43

Паскаль... Борланд Паскаль
 
Срочно необходим, желательно с примерами, доки тоже сойдут.

Kron1C 10.03.2005 18:10

Пожалуйста: ftp://217.117.188.76/For All

Juggernaut 10.03.2005 23:29

А еще .... Может у кого что осталось от практики.... Мне реальные исходники нужны...

Juggernaut 20.03.2005 22:12

Подскажите в паскале есть оператор факториала?

bugness 20.03.2005 22:29

Знаю тока через цикл

program faqt;
var a,n,i:integer;
begin
write('число: ');
readln(a);
for i:=1 to a do
n:=i*a;
writeln('Ответ: ',n);
readln;
end.

Kcylykc 20.03.2005 22:44

Цитата:

Сообщение от Hightower
А еще .... Может у кого что осталось от практики.... Мне реальные исходники нужны...

у мну есть тетрадь 48 листов с Паскалем)

PAPA_KARLO 22.03.2005 14:47

function fakt (var n: longint): longint;
begin
if n<=0 then fakt := 1;
fakt := fakt(n-1);
end;

DeathMoroz 22.03.2005 15:17

Цитата:

Сообщение от PAPA_KARLO
function fakt (var n: longint): longint;
begin
if n<=0 then fakt := 1;
fakt := fakt(n-1);
end;

цикл быстрее и не забивает стек

PAPA_KARLO 22.03.2005 21:41

с функциями удобнее (если задача сводиться к вводу на экран значения - то конечно, а если это часть программы...) да и стек очиститься по завершении программы...

DeathMoroz 23.03.2005 14:19

Цитата:

Сообщение от papa_karlo
с функциями удобнее (если задача сводиться к вводу на экран значения - то конечно, а если это часть программы...) да и стек очиститься по завершении программы...

так а кто тебе мешает сделать функцию с циклом? :) работать она будет быстрее рекурсии и нет опасности переполнение стека.

Рекурсию используют когда не знают сколько раз нужно выполнить определенное действие. в случае с факториалом, мы точно знаем сколько нужно умножений.

COBEHOK 23.03.2005 19:17

Цитата:

Сообщение от DeathMoroz
Рекурсию используют когда не знают сколько раз нужно выполнить определенное действие. в случае с факториалом, мы точно знаем сколько нужно умножений.

Рекурсию используют, если вместо рекурсии нужно резервировать память, а стековая память гораздо быстрее динамической (не надо выделять/освобождать).

В данном случае использование рекурсии бессмыссленно, т.к. нет расходов на вход/выход из функции, чистку стека и забивания параметров функции в стек

DeathMoroz 23.03.2005 20:16

я подхожу с функциональной точки зрения

PAPA_KARLO 23.03.2005 23:46

1) я просто привёл пример альтернативного написания
2) рекурсия здесь возмодно и "бессмысленна", но не противопоказана, плохова тут не будет от неё точно...
3) каждый пишет так, как ему удобнее, так что спорить тут нет смысла, если привыкли писать рекурсивно - пожалуйсто, если любите цыклы - тоже есть пример...


Текущее время: 21:21. Часовой пояс GMT +7.

Powered by vBulletin® Version 3.8.4 Patch Level 5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot

Форум открыт в июле 2004 г.