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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 00:01   #1
kelly
 
Аватар для kelly
 
Регистрация: 12.12.2011
Сообщений: 5
Восклицание pascal.Рекурсия.

Помогите составить программы.
3.1. Описать рекурсивную функцию pow(x,n) от вещественного x(x¹0) и целого n, которая вычисляет величину xn согласно формуле
xn = система 1 при n=0,1/ x^|n| при n<0,x· x^(n-1) при n>0.
3.2. Описать рекурсивную функцию digits без параметров, которая подсчитывает количество цифр в заданном тексте.
3.3. Имеется n населенных пунктов, перенумерованных от 1 до n(n=10). Некоторые пары пунктов соединены дорогами. Определить, можно ли попасть по этим дорогам из 1-го пункта в n.
kelly вне форума Ответить с цитированием
Старый 15.12.2011, 11:02   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,830
По умолчанию

Начинайте...
p51x вне форума Ответить с цитированием
Старый 16.12.2011, 18:37   #3
kelly
 
Аватар для kelly
 
Регистрация: 12.12.2011
Сообщений: 5
Вопрос pascal.рекурсия.

Поправьте программу),а то не работает,что-то.
3.3.program ex;
uses crt;
const
N=10;
var
map: array[ 1..N, 1..N ] of integer;
road: array[ 1..N, 1..N ] of integer;
incl: array[ 1..N ] of boolean;
start, finish: integer;
i,j: integer;
procedure Step(s,f,p: integer);
var
c: integer;
begin
if s=f then begin
write('Путь : ');
for i:=1 to p-1 do writeln ('road[i]',' ');
writeln;
end
else begin
for c:=1 to N do
begin
if ( map[s,c] <> 0 ) and ( Not incl [ i ] )
then begin
road[p,n]:=c;
incl[c] := TRUE;
Step (c, f, p+1);
incl [ c ] := FALSE;
road [ p,n ]:=0;
end;
end;
end;
end;
begin
for i:=1 to N do road[ i,n ]:=0;
for i:=1 to N do incl[ i ]:=FALSE;
for i:=1 to N do for j:=1 to N do map[ i, j ]:=0;
map[1,2]:=1; map[2,2]:=1; map[1,3]:=1; map[8,2]:=1;
map[3,1]:=1; map[1,4]:=1; map[4,1]:=1; map[9,5]:=1;
map[3,4]:=1; map[4,3]:=1; map[3,7]:=1; map[8,7]:=1;
map[7,3]:=1; map[4,6]:=1; map[6,4]:=1; map[9,2]:=1;
map[5,6]:=1; map[6,5]:=1; map[5,7]:=1; map[10,3]:=1;
map[7,5]:=1; map[6,7]:=1; map[7,6]:=1;
write( 'Введите через пробел номер начальной и конечной точек ->');
readln(start, finish);
road[ 1,n ] := start;
incl[start]:=TRUE;
Step ( start, finish, 2);
if i=n then write('Да') else write('Нет');
readln;
writeln( 'Для завершения нажмите<Enter>' );
readln;
end.
kelly вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рекурсия [Pascal] <Tyz> Помощь студентам 5 18.12.2010 16:03
Pascal - рекурсия darsinella Помощь студентам 4 22.12.2009 21:39
Рекурсия Pascal HoLToFF Помощь студентам 3 31.03.2009 22:25
Pascal: Рекурсия MaGWaY_minsk Помощь студентам 2 19.02.2009 09:46
Pascal. рекурсия. TOSAgrk Помощь студентам 2 04.02.2009 12:05