Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 69
1

Прошу найти ошибку в коде

25.02.2014, 20:15. Просмотров 485. Ответов 2
Метки нет (Все метки)

Помогите найти ошибку.Программа запускается, но выдаёт ошибку: »*"Ошибка: Слишком много вложенных вызовов подпрограмм (Program2.pas, строка 9)"
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program labrab;
uses crt;
var b: integer; g:real;
 
function fact(b:integer):longint;
var f:longint;
begin
if b=1 then f:=1
else f:=b*fact(b-1);
fact:=f;
end;
 
 
Function N(a:integer; x:real):real;
var net:real;
begin
if a=0  then  net:=1;
if a=1 then net:=x
else  net:=(fact(a)*n(a-1,x))/sqr(a+1) + n(a-2,x);
n:=net;
end;
 
 
begin
write('Введите a and x');
readln(b,g);
write('N(a)',N(b,g));
end.
Вычислить элементы последовательности с использованием рекурсии:
N0(x)=1,
N1(x)=x,
0
Изображения
 
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.02.2014, 20:15
Ответы с готовыми решениями:

Найти ошибку в коде
Цель программы, она должна создавать текстовый файл, потом спрашивает сколько хотите ввести строк -...

Найти ошибку в коде
подскажите где ошибка var a:file of integer; b:file of integer; t,l,k,n,i:integer; begin ...

Найти ошибку в коде.
проверьте задачу!!! не могу найти ошибку var a,x,i1,i2:Integer; begin Writeln('Enter A');...

Найти ошибку в коде
В чем ошибка в файле А.in 3 1 2 3 должно выйти 3 2 1 результат на экране

2
1 / 1 / 2
Регистрация: 19.02.2014
Сообщений: 35
26.02.2014, 00:07 2
Pascal
1
2
3
4
5
function fact(b:integer):longint;
begin
if b<=1 then fact:=1
else fact:=b*fact(b-1);
end;
Так выглядит функция нахождения факториала.

Добавлено через 4 минуты
Могу ошибаться, но, кажется вся программа должна выглядеть так:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
program labrab;
uses crt;
var b: integer; g:real;
 
function fact(b:integer):longint;
begin
if b<=1 then fact:=1
else fact:=b*fact(b-1);
end;
 
 
Function N(a:integer; x:real):real;
begin
if a=0  then  N:=1
        else
          if a=1 then N:=x
                 else  N:=(fact(a)*n(a-1,x))/sqr(a+1) + n(a-2,x);
end;
 
 
begin
write('Введите a and x');
readln(b,g);
write('N(a)',N(b,g));
end.
0
0 / 0 / 0
Регистрация: 19.02.2014
Сообщений: 69
26.02.2014, 18:41  [ТС] 3
Большое спасибо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2014, 18:41

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти ошибку в коде
Всем привет, помогите найти ошибку в коде программы, компилятор выводит операнды имеют неправдивые...

Найти ошибку в коде
begin for j:=1 to msize do begin kol:=0; sum:=0; for i:=1 to nsize do if x mod 2=0 then ...

Найти ошибку в коде
uses crt; const m=10; label met; var c:char; f,dt:text; k,i,j,z,b:byte; a:array of real; ...

Найти ошибку в коде
program COSSET; uses crt; var c,d,a,k,i,u,z,r,q,w,e,n,y,m,b,v,o,s,x:real; begin//начинаю ввод...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.