Ошибка 207 турбо паскаль

I’m trying to make a program to find the determinant of a matrix like this :

program determinan;
uses crt;
type
        arr=array of array of real;
var
        mat:arr;
        uk:byte;
procedure ukuran(var x:arr;var n:byte);
        begin
                write('Masukkan ukuran matriks : ');readln(n);
                setlength(x,n+1,n+1);
        end;
procedure masuk(var x:arr;n:byte);
        var
                i,j:byte;
        begin
                writeln('Masukkan elemen matriks : ');
                for i:= 1 to n do
                for j:= 1 to n do
                begin
                        write('E(',i,',',j,'):');
                        read(x[i,j]);
                end;
        end;
procedure tulis(x:arr;n:byte;nama:string);
        var
                i,j:byte;
        begin
                writeln('Matriks ',nama,' : ');
                for i:= 1 to n do
                begin
                        for j:=1 to n do
                                write(x[i,j]:0:0,' ');
                        writeln;
                end;
        end;
procedure segitiga(var x:arr;n:byte);
        var
                i,j,k:byte;
                nano :real;
        begin
                for i:=1 to n-1 do
                for j:=i+1 to n do
                begin
                        nano:=x[j,i]/x[i,i];
                        for k:=i to n do x[j,k]:=x[j,k]-nano*x[i,k];
                end;
        end;
function determinan(x:arr;n:byte):real;
        var
                i:byte;
        begin
                determinan:=1;
                for i:=1 to n do
                        determinan:=determinan*x[i,i];
        end;
begin
        clrscr;
        writeln('-----------------------------');
        writeln('Program Menghitung Determinan');
        writeln('-----------------------------');
        ukuran(mat,uk);
        masuk(mat,uk);writeln;
        tulis(mat,uk,'asal');writeln;
        segitiga(mat,uk);
        tulis(mat,uk,'segitiga atas');writeln;
        writeln('Determinan : ',determinan(mat,uk):0:0);
        readkey;
end.

But, if I input with 3×3 matrix with elements (1,1,1;1,1,1;1,1,1) it will be exit with error 207. It’s also happened if I try to input matrix with same colum element. But, it not happened in 2×2 matrix. Please, tell me what is the reason of such behavior because I can’t fund it

hoch

Заблокирован

1

04.10.2014, 18:53. Показов 1265. Ответов 6

Метки ошибка 207, сопроцессор, стек (Все метки)


Студворк — интернет-сервис помощи студентам

Итак ошибка 207. Я просмотрел на форуме целый
ряд тем. Лишний раз убедился, что эта ошибка
возникает например при некорректной операции,
например вычисление логарифма отрицательного числа
Моя программа вычисляет функцию n! Тут нет
некорректных операций. Если функции задать тип
longint , то она сможет вычислить 12!, я же задал функции
тип real. Она может вычислить 7! Но 8! — Не может.
Ошибка 207. Поинтересовался, чем ещё может вызвана
эта ошибка. Нашёл упоминание о стеке предпроцессора.
Мне очень хочется раз и навсегда разобраться с
этой ошибкой. Вот я и создал эту тему. Выбрав очень
простую функцию … ???

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses Crt;
 
function f(n:integer):real;
begin
   if n = 0 then f:= 1
   else f:= n*f(n-1);
end;
 
BEGIN
   clrscr;
   writeln(f(8):0:0);
   readln
END.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

04.10.2014, 18:53

6

bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7534 / 4394 / 2785

Регистрация: 22.11.2013

Сообщений: 12,588

Записей в блоге: 1

04.10.2014, 19:29

2

hoch,
речь о стеке математического сопроцессора. При включенной поддержке сопроцессора возврат действительных значений функций осуществляется на стеке сопроцессора. Если не записать возвращаемое значение в переменную, получите переполнение стека очень быстро. Если правильно путаю, должно хватить

Pascal
1
2
3
4
5
6
function f(n:integer):real;
var r: Real;
begin
   if n = 0 then f:= 1
   else begin r:= n*f(n-1); f:= r; end;
end;



1



Puporev

Почетный модератор

64288 / 47587 / 32739

Регистрация: 18.05.2008

Сообщений: 115,181

04.10.2014, 19:37

3

Вроде так.

Pascal
1
2
3
4
5
else 
 begin
  r:=f(n-1);//запоминаем, типа очищаем стек
  f:= r*n; //считаем
 end;

В Турбо Паскале часто этот трюк приходится использовать.



1



hoch

Заблокирован

04.10.2014, 19:45

 [ТС]

4

Bormant
А как узнать включён у меня сопроцессор или нет?

Добавлено через 6 минут
Puporev
Я потрясен! Работает! Фантастика!
Спасибо! 100 раз Спасибо!



0



3030 / 1916 / 1649

Регистрация: 30.04.2011

Сообщений: 3,060

04.10.2014, 20:47

5

Цитата
Сообщение от hoch
Посмотреть сообщение

А как узнать включён у меня сопроцессор или нет?

Для этого в редакторе Turbo Pascal нажмите комбинацию клавиш Ctrl + O, O. В редакторе появится список состояний директив. Если в списке присутствует N+ — значит включен, а если N- — значит выключен.



1



Модератор

Эксперт Pascal/DelphiЭксперт NIX

7534 / 4394 / 2785

Регистрация: 22.11.2013

Сообщений: 12,588

Записей в блоге: 1

04.10.2014, 22:04

6

Если используется компилятор командной строки, обычно достаточно запустить его без параметров или с ключом -? или -h, чтобы узнать используемые умолчания.
Если используете компиляции из какой либо IDE, то обычно либо она позволяет устанавливать желаемые флажки параметров компиляции, либо задавать параметры командной строки вызываемого компилятора.
Параметры по умолчанию могут быть перекрыть явным указанием в командной строке или в тексте программы.



1



hoch

Заблокирован

05.10.2014, 08:40

 [ТС]

7

Ребята,
Спасибо! Я всем Вам очень благодарен!
Вы так мне помогли. Вы ввели меня в мир
Директив …
Спасибо! Спасибо! Спасибо!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

05.10.2014, 08:40

Помогаю со студенческими работами здесь

Ошибка 207 при вычислении выражения
Здравствуйте. Вчера делала лабораторную. Препод дал задание и сказал, что программа ничего не…

Ошибку 207 при вычислении выражения
При Вводе a=1 b=2 x=2 Выдает ошибку 207
Помогите
program perimetr;
uses crt;
var a,b,x,y:real;…

Error 207 при вычислении выражения
program dsfdsf;
uses crt;
var c,a:integer;
d,b,k:real;
begin
clrscr;
repeat
{$I-}…

Ошибка при вычислении функции, деление на ноль.
Фрагмет:

function Myfunc(a,eps:real):real;
var
i:integer;
s,sn,t:real;
begin
if (a=0)…

Ошибка 207 при возведении числа в степень
for i:=1 to n do
a:=(exp(i*ln(-1)))
как возвести -1 в степень подскажите?

Ошибка 207 при решении задачи с логарифмом
Здравствуйте! я- студент-заочник, нужно решить задачу на Паскале. Написал код, выдает ошибку 207,…

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

Или воспользуйтесь поиском по форуму:

7

1 Out of memory (Выход за границы памяти). 2 Identifier expected (Не указан идентификатор). 3 Unknown identifier (Неизвестный идентификатор). 4 Duplicate identifier (Двойной идентификатор). 5 Syntax error (Синтаксическая ошибка). 6 Error in real constant (Ошибка в вещественной константе). 7 Error in integer constant (Ошибка в целой константе). 8 String constant exceeds line (Строковая константа превышает допустимые размеры). 9 Too many nested files (Слишком много вложенных файлов). 10 Unexpected end of file (He найден конец файла). 11 Line too long (Слишком длинная строка) 12 Type identifier expected (Здесь нужен идентификатор типа). 13 Too many open files (Слишком много открытых файлов). 14 Invalid file name (Неверное имя файла). 15 File not found (Файл не найден). 16 Disk full (Диск заполнен). 17 Invalid compiler directive (Неправильная директива компилятора). 18 Too many files (Слишком много файлов). 19 Undefined type in pointer definition (Неопределенный тип в объявлении указателя). 20 Variable identifier expected (Отсутствует идентификатор переменной). 21 Error in type (Ошибка в объявлении типа). 22 Structure too large (Слишком большая структура). 23 Set base type of range (Базовый тип множества нарушает границы). 24 File components may not be files (Компонентами файла не могут быть файлы) . 25 Invalid string length (Неверная длина строки). 26 Type mismatch (Несоответствие типов). 27 Invalid subrange base type (Неправильный базовый тип для типа-диапазона). 28 Lower bound greater than upper bound (Нижняя граница больше верхней). 29 Ordinal type expected (Нужен порядковый тип). 30 Integer constant expected (Нужна целая константа). 31 Constant expected (Нужна константа). 32 Integer or real constant expected (Нужна целая или вещественная константа) . 33 Type identifier expected (Нужен идентификатор типа) 34 Invalid function result type (Неправильный тип результата функции) 35 Label identifier expected (Нужен идентификатор метки). 36 BEGIN expected (Нужен BEGIN). 37 END expected (Нужен END). 38 Integer expression expected (Нужно выражение типа INTEGER). 39 Ordinal expression expected (Нужно выражение перечисляемого типа). 40 Boolean expression expected (Нужно выражение типа BOOLEAN). 41 Operand types do not match operator (Типы операндов не соответствуют операции). 42 Error in expression (Ошибка в выражении). 43 Illegal assignment (Неверное присваивание). 44 Field identifier expected (Нужен идентификатор поля) . 45 Object file too large (Объектный файл слишком большой). 46 Undefined external (Неопределенная внешняя процедура). 47 Invalid object file record (Неправильная запись объектного файла). 48 Code segment too large (Сегмент кода слишком большой). 49 Data segment too large (Сегмент данных слишком велик). 50 DO expected (Нужен оператор DO). 51 Invalid PUBLIC definition (Неверное PUBLIC-определение). 52 Invalid EXTRN definition (Неправильное EXTRN-определение). 53 Too many EXTRN definition (Слишком много EXTRN-определений). 54 OF expected (Требуется OF). 55 INTERFACE expected (Требуется интерфейсная секция). 56 Invalid relocatable reference (Неправильная перемещаемая ссылка). 57 THEN expected (Требуется THEN). 58 TO or DOWNTO expected (Требуется TO или DOWNTO). 59 Undefined forward (Неопределенное опережающее описание). 60 Too many procedures (Слишком много процедур). 61 Invalid typecast (Неверное преобразование типа). 62 Division by zero (Деление на ноль). 63 Invalid file type (Неверный файловый тип). 64 Cannot Read or Write variables of this type (Нет возможности считать или записать переменные данного типа). 65 Pointer variable expected (Нужно использовать переменную-указатель). 66 String variable expected (Нужна строковая переменная). 67 String expression expected (Нужно выражение строкового типа). 68 Circular unit reference (Перекрестная ссылка модулей). 69 Unit name mismatch (Несоответствие имен программных модулей). 70 Unit version mismatch (Несоответствие версий модулей). 71 Duplicate unit name (Повторное имя программного модуля). 72 Unit file format error (Ошибка формата файла модуля). 73 IMPLEMENTATION expected (Отсутствует исполняемая часть модуля). 74 Constant and case types do not match (Типы констант и тип выражения опе- ратора CASE не соответствуют друг другу). 75 Record variable expected (Нужна переменная типа запись). 76 Constant out of range (Константа нарушает границы). 77 File variable expected (Нужна файловая переменная). 78 Pointer expression expected (Нужно выражение типа указатель). 79 Integer or real expression expected (Нужно выражение вещественного или целого типа). 80 Label not within current block (Метка не находится внутри текущего блока) 81 Label already defined (Метка уже определена). 82 Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов). 83 Invalid @ argument (Неправильный аргумент операции @). 84 Unit expected (Нужно кодовое слово UNIT). 85 ”;” expected (Нужно указать”;”). 86 ”:” expected (Нужно указать”:”). 87 ”,”expected (Нужно указать”,”). 88 ”(” expected (Нужно указать ”(”). 89 ”)” expected (Нужно указать”)”). 90 ”=” expected (Нужно указать”=”) 91 ”:=” expected (Нужно указать”:=”) 92 ”[” or ”(.”expected (Нужно указать ”[” или ”(.”). 93 ”]” or ”.)” expected (Нужно указать”]” или ”.)”). 94 ”.” expected (Нужно указать”.”) 95 ”..” expected (Нужно указать”..”). 96 Too many variables (Слишком много переменных). 97 Invalid FOR control variable (Неправильный параметр цикла оператора FOR). 98 Integer variable expected (Нужна переменная целого типа). 99 File and procedure types are not allowed here (Здесь не могут использоваться файлы или процедурные типы). 100 String length mismatch (Несоответствие длины строки). 101 Invalid ordering of fields (Неверный порядок полей). 102 String constant expected (Нужна константа строкового типа). 103 Integer or real variable expected (Нужна переменная типа INTEGER или REAL). 104 Ordinal variable expected (Нужна переменная порядкового типа). 105 INLINE error (Ошибка в операторе INLINE) 106 Character expression expected (Предшествующее выражение должно иметь символьный тип). 107 Too many relocation items (Слишком много перемещаемых элементов). 108 Overflow in arithmetic operator (Переполнение при выполнении арифметического оператора). 109 No enclosing FOR, WHILE or REPEAT statement (Нет операторов, заканчивающих операторы FOR, WHILE или REPEAT). 110 Debug information table overflow (Переполнение информационной таблицы отладки) 111 N/A 112 CASE constant out of range (Константа CASE нарушает допустимые границы) . 113 Error in statement (Ошибка в операторе). 114 114 Cannot call an interrupt procedure (Невозможно вызвать процедуру npерывания). 115 N/A 116 Must be in 8087 mode to compile this (Для компиляции необходим режим 8087). 117 Target address not found (Указанный адрес не найден). 118 118 Include files are not allowed here (Здесь не допускаются включаемые файлы). 119 No inherited methods are accessible here (В этом месте программы нет унаследованных методов). 120 N/A 121 Invalid qualifier (Неверный квалификатор). 122 Invalid variable reference (Недействительная ссылка на переменную). 123 Too many symbols (Слишком много символов). 124 Statement part too large (Слишком большой раздел операторов). 125 N/A 126 Files must be var parameters (Файлы должны передаваться как параметры-переменные). 127 Too many conditional symbols (Слишком много условных символов). 128 Misplaced conditional directive (Пропущена условная директива). 129 ENDIF directive missing (Пропущена директива ENDIF). 130 Error in initial conditional defines (Ошибка в условных определениях). 131 Header does not match previous definition (Заголовок не соответствует предыдущему определению). 132 Critical disk error (Критическая ошибка диска). 133 Cannot evaluate this expression (Нельзя вычислить данное выражение). 134 Expression incorrectly germinated (Некорректное завершение выражения). 135 Invalid format specifier (Неверный спецификатор формата). 136 Invalid indirect reference (Недопустимая косвенная ссылка). 137 Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа). 138 Cannot evaluate without System unit (Нельзя вычислить выражение без мо-дуля SYSTEM). 139 Cannot access this symbol (Нет доступа к данному символу). 140 Invalid floating-point operation (Недопустимая операция с плавающей запятой). 141 Cannot compile overlay to memory (Нельзя выполнить компиляцию оверлейных модулей в память). 142 Procedure or function variable expected (Должна использоваться перемен- ная процедурного типа). 143 Invalid procedure or function reference (Недопустимая ссылка на процедуру или функцию) . 144 Cannot overlay this unit (Этот модуль не может использоваться в качестве оверлейного). 145 Too many nested scopes (Слишком много вложений). 146 File access denied (Отказано в доступе к файлу). 147 Object type expected (Здесь должен быть тип OBJECT) . 148 object types are not allowed (Нельзя объявлять локальные объекты). 149 VIRTUAL expected (Пропущено слово VIRTUAL). 150 Method identifier expected (Пропущен идентификатор инкапсулированного правила). 151 Virtual constructor are not allowed (Конструктор не может быть виртуальным). 153 Destructor identifier expected (Пропущен идентификатор деструктора). 154 Fail only allowed within constructor (Обращение к стандартной процедуре FAIL может содержаться только в конструкторе). 155 Invalid combination of opcode and operands (Недопустимая комбинация кода команды и операндов). 156 Memory reference expected (Отсутствует адрес). 157 Cannot add or subtract relocatable symbols (Нельзя складывать или вычитать перемещаемые символы). 158 Invalid register combination (Недопустимая комбинация регистров). 159 286/287 instructions are not enabled (Недоступен набор команд микропроцессоров 286/287). 160 Invalid symbol reference (Недопустимая ссылка на символ). 161 Code generation error (Ошибка генерации кода). 162 ASM expected (Отсутствует зарезервированное слово ASM).


Recommended Answers

Well the answer would be more evident if you debugged it.

You tell me what the values of each part of that line works out to be, so Z, ln(Z), etc.. you tell me which bit fails.. and what the values are.

Are you really using turbo pascal …

Jump to Post

All 4 Replies

Member Avatar


LizR

171



Posting Virtuoso


14 Years Ago

Well the answer would be more evident if you debugged it.

You tell me what the values of each part of that line works out to be, so Z, ln(Z), etc.. you tell me which bit fails.. and what the values are.

Are you really using turbo pascal from the 80s? or do you mean the turbo delphi products?

Member Avatar

14 Years Ago

Yes the compiler i used is Turbo Pascal unfortunately i checked if the CubeRoot & SquareRoot are computing correctly so i tested them turns out

Ex when input X = 4

The result:

SquareRoot := Sqrt(X);  { Turn out correct  2.0000000000E+00 }
T1 := Trunc(X); { also correct 2 }
D1 := SquareRoot - T1; { is correct 0.0000000000E+00 }






{but with the cube is a different story }
CubeRoot := Exp( V * Ln(Z) ); { Turn out correct 1.5874010520E+00 }
T2 := Trunc(X); { also correct }
D2 := CubeRoot - T2; { is not correct 5.8740105200E-00 it should come out
{ 0.58740105200E+00 }

I also try to use the same program with Dev Pascal its seem to have the same problem with D1 :( it would seem that i cant calculate both of them in the same place

Edited

10 Years Ago
by happygeek because:

fixed formatting

Member Avatar


LizR

171



Posting Virtuoso


14 Years Ago

Forgive my denseness (its past 11, and Im about to go to bed but..)

5.8740105200E-00 = 0.58740105200E+00

as 5.8740105200E surely is 0.587… just as 0.587E+00 is also 0.587….

Member Avatar

14 Years Ago

I discovered that u have to seperate the two operation of square root and cube root and it worked and i changed the compiler thanks for the help :twisted:


Reply to this topic

Be a part of the DaniWeb community

We’re a friendly, industry-focused community of developers, IT pros, digital marketers,
and technology enthusiasts meeting, networking, learning, and sharing knowledge.

hoch

Заблокирован

1

04.10.2014, 18:53. Показов 1173. Ответов 6

Метки ошибка 207, сопроцессор, стек (Все метки)


Итак ошибка 207. Я просмотрел на форуме целый
ряд тем. Лишний раз убедился, что эта ошибка
возникает например при некорректной операции,
например вычисление логарифма отрицательного числа
Моя программа вычисляет функцию n! Тут нет
некорректных операций. Если функции задать тип
longint , то она сможет вычислить 12!, я же задал функции
тип real. Она может вычислить 7! Но 8! — Не может.
Ошибка 207. Поинтересовался, чем ещё может вызвана
эта ошибка. Нашёл упоминание о стеке предпроцессора.
Мне очень хочется раз и навсегда разобраться с
этой ошибкой. Вот я и создал эту тему. Выбрав очень
простую функцию … ???

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
uses Crt;
 
function f(n:integer):real;
begin
   if n = 0 then f:= 1
   else f:= n*f(n-1);
end;
 
BEGIN
   clrscr;
   writeln(f(8):0:0);
   readln
END.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

04.10.2014, 18:53

6

bormant

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7480 / 4352 / 2771

Регистрация: 22.11.2013

Сообщений: 12,478

Записей в блоге: 1

04.10.2014, 19:29

2

hoch,
речь о стеке математического сопроцессора. При включенной поддержке сопроцессора возврат действительных значений функций осуществляется на стеке сопроцессора. Если не записать возвращаемое значение в переменную, получите переполнение стека очень быстро. Если правильно путаю, должно хватить

Pascal
1
2
3
4
5
6
function f(n:integer):real;
var r: Real;
begin
   if n = 0 then f:= 1
   else begin r:= n*f(n-1); f:= r; end;
end;

1

Puporev

Почетный модератор

64270 / 47569 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

04.10.2014, 19:37

3

Вроде так.

Pascal
1
2
3
4
5
else 
 begin
  r:=f(n-1);//запоминаем, типа очищаем стек
  f:= r*n; //считаем
 end;

В Турбо Паскале часто этот трюк приходится использовать.

1

hoch

Заблокирован

04.10.2014, 19:45

 [ТС]

4

Bormant
А как узнать включён у меня сопроцессор или нет?

Добавлено через 6 минут
Puporev
Я потрясен! Работает! Фантастика!
Спасибо! 100 раз Спасибо!

0

3028 / 1914 / 1649

Регистрация: 30.04.2011

Сообщений: 3,060

04.10.2014, 20:47

5

Цитата
Сообщение от hoch
Посмотреть сообщение

А как узнать включён у меня сопроцессор или нет?

Для этого в редакторе Turbo Pascal нажмите комбинацию клавиш Ctrl + O, O. В редакторе появится список состояний директив. Если в списке присутствует N+ — значит включен, а если N- — значит выключен.

1

Модератор

Эксперт Pascal/DelphiЭксперт NIX

7480 / 4352 / 2771

Регистрация: 22.11.2013

Сообщений: 12,478

Записей в блоге: 1

04.10.2014, 22:04

6

Если используется компилятор командной строки, обычно достаточно запустить его без параметров или с ключом -? или -h, чтобы узнать используемые умолчания.
Если используете компиляции из какой либо IDE, то обычно либо она позволяет устанавливать желаемые флажки параметров компиляции, либо задавать параметры командной строки вызываемого компилятора.
Параметры по умолчанию могут быть перекрыть явным указанием в командной строке или в тексте программы.

1

hoch

Заблокирован

05.10.2014, 08:40

 [ТС]

7

Ребята,
Спасибо! Я всем Вам очень благодарен!
Вы так мне помогли. Вы ввели меня в мир
Директив …
Спасибо! Спасибо! Спасибо!

0

IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

05.10.2014, 08:40

Помогаю со студенческими работами здесь

Ошибка 207 при вычислении выражения
Здравствуйте. Вчера делала лабораторную. Препод дал задание и сказал, что программа ничего не…

Ошибку 207 при вычислении выражения
При Вводе a=1 b=2 x=2 Выдает ошибку 207
Помогите
program perimetr;
uses crt;
var a,b,x,y:real;…

Error 207 при вычислении выражения
program dsfdsf;
uses crt;
var c,a:integer;
d,b,k:real;
begin
clrscr;
repeat
{$I-}…

Ошибка при вычислении функции, деление на ноль.
Фрагмет:

function Myfunc(a,eps:real):real;
var
i:integer;
s,sn,t:real;
begin
if (a=0)…

Ошибка 207 при возведении числа в степень
for i:=1 to n do
a:=(exp(i*ln(-1)))
как возвести -1 в степень подскажите?

Ошибка 207 при решении задачи с логарифмом
Здравствуйте! я- студент-заочник, нужно решить задачу на Паскале. Написал код, выдает ошибку 207,…

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

Или воспользуйтесь поиском по форуму:

7

I’m trying to make a program to find the determinant of a matrix like this :

program determinan;
uses crt;
type
        arr=array of array of real;
var
        mat:arr;
        uk:byte;
procedure ukuran(var x:arr;var n:byte);
        begin
                write('Masukkan ukuran matriks : ');readln(n);
                setlength(x,n+1,n+1);
        end;
procedure masuk(var x:arr;n:byte);
        var
                i,j:byte;
        begin
                writeln('Masukkan elemen matriks : ');
                for i:= 1 to n do
                for j:= 1 to n do
                begin
                        write('E(',i,',',j,'):');
                        read(x[i,j]);
                end;
        end;
procedure tulis(x:arr;n:byte;nama:string);
        var
                i,j:byte;
        begin
                writeln('Matriks ',nama,' : ');
                for i:= 1 to n do
                begin
                        for j:=1 to n do
                                write(x[i,j]:0:0,' ');
                        writeln;
                end;
        end;
procedure segitiga(var x:arr;n:byte);
        var
                i,j,k:byte;
                nano :real;
        begin
                for i:=1 to n-1 do
                for j:=i+1 to n do
                begin
                        nano:=x[j,i]/x[i,i];
                        for k:=i to n do x[j,k]:=x[j,k]-nano*x[i,k];
                end;
        end;
function determinan(x:arr;n:byte):real;
        var
                i:byte;
        begin
                determinan:=1;
                for i:=1 to n do
                        determinan:=determinan*x[i,i];
        end;
begin
        clrscr;
        writeln('-----------------------------');
        writeln('Program Menghitung Determinan');
        writeln('-----------------------------');
        ukuran(mat,uk);
        masuk(mat,uk);writeln;
        tulis(mat,uk,'asal');writeln;
        segitiga(mat,uk);
        tulis(mat,uk,'segitiga atas');writeln;
        writeln('Determinan : ',determinan(mat,uk):0:0);
        readkey;
end.

But, if I input with 3×3 matrix with elements (1,1,1;1,1,1;1,1,1) it will be exit with error 207. It’s also happened if I try to input matrix with same colum element. But, it not happened in 2×2 matrix. Please, tell me what is the reason of such behavior because I can’t fund it


Recommended Answers

Well the answer would be more evident if you debugged it.

You tell me what the values of each part of that line works out to be, so Z, ln(Z), etc.. you tell me which bit fails.. and what the values are.

Are you really using turbo pascal …

Jump to Post

All 4 Replies

Member Avatar

LizR

14 Years Ago

Well the answer would be more evident if you debugged it.

You tell me what the values of each part of that line works out to be, so Z, ln(Z), etc.. you tell me which bit fails.. and what the values are.

Are you really using turbo pascal from the 80s? or do you mean the turbo delphi products?

Member Avatar

14 Years Ago

Yes the compiler i used is Turbo Pascal unfortunately i checked if the CubeRoot & SquareRoot are computing correctly so i tested them turns out

Ex when input X = 4

The result:

SquareRoot := Sqrt(X);  { Turn out correct  2.0000000000E+00 }
T1 := Trunc(X); { also correct 2 }
D1 := SquareRoot - T1; { is correct 0.0000000000E+00 }






{but with the cube is a different story }
CubeRoot := Exp( V * Ln(Z) ); { Turn out correct 1.5874010520E+00 }
T2 := Trunc(X); { also correct }
D2 := CubeRoot - T2; { is not correct 5.8740105200E-00 it should come out
{ 0.58740105200E+00 }

I also try to use the same program with Dev Pascal its seem to have the same problem with D1 :( it would seem that i cant calculate both of them in the same place

Edited

9 Years Ago
by happygeek because:

fixed formatting

Member Avatar

LizR

14 Years Ago

Forgive my denseness (its past 11, and Im about to go to bed but..)

5.8740105200E-00 = 0.58740105200E+00

as 5.8740105200E surely is 0.587… just as 0.587E+00 is also 0.587….

Member Avatar

14 Years Ago

I discovered that u have to seperate the two operation of square root and cube root and it worked and i changed the compiler thanks for the help :twisted:


Reply to this topic

Be a part of the DaniWeb community

We’re a friendly, industry-focused community of developers, IT pros, digital marketers,
and technology enthusiasts meeting, networking, learning, and sharing knowledge.

1 Out of memory (Выход за границы памяти). 2 Identifier expected (Не указан идентификатор). 3 Unknown identifier (Неизвестный идентификатор). 4 Duplicate identifier (Двойной идентификатор). 5 Syntax error (Синтаксическая ошибка). 6 Error in real constant (Ошибка в вещественной константе). 7 Error in integer constant (Ошибка в целой константе). 8 String constant exceeds line (Строковая константа превышает допустимые размеры). 9 Too many nested files (Слишком много вложенных файлов). 10 Unexpected end of file (He найден конец файла). 11 Line too long (Слишком длинная строка) 12 Type identifier expected (Здесь нужен идентификатор типа). 13 Too many open files (Слишком много открытых файлов). 14 Invalid file name (Неверное имя файла). 15 File not found (Файл не найден). 16 Disk full (Диск заполнен). 17 Invalid compiler directive (Неправильная директива компилятора). 18 Too many files (Слишком много файлов). 19 Undefined type in pointer definition (Неопределенный тип в объявлении указателя). 20 Variable identifier expected (Отсутствует идентификатор переменной). 21 Error in type (Ошибка в объявлении типа). 22 Structure too large (Слишком большая структура). 23 Set base type of range (Базовый тип множества нарушает границы). 24 File components may not be files (Компонентами файла не могут быть файлы) . 25 Invalid string length (Неверная длина строки). 26 Type mismatch (Несоответствие типов). 27 Invalid subrange base type (Неправильный базовый тип для типа-диапазона). 28 Lower bound greater than upper bound (Нижняя граница больше верхней). 29 Ordinal type expected (Нужен порядковый тип). 30 Integer constant expected (Нужна целая константа). 31 Constant expected (Нужна константа). 32 Integer or real constant expected (Нужна целая или вещественная константа) . 33 Type identifier expected (Нужен идентификатор типа) 34 Invalid function result type (Неправильный тип результата функции) 35 Label identifier expected (Нужен идентификатор метки). 36 BEGIN expected (Нужен BEGIN). 37 END expected (Нужен END). 38 Integer expression expected (Нужно выражение типа INTEGER). 39 Ordinal expression expected (Нужно выражение перечисляемого типа). 40 Boolean expression expected (Нужно выражение типа BOOLEAN). 41 Operand types do not match operator (Типы операндов не соответствуют операции). 42 Error in expression (Ошибка в выражении). 43 Illegal assignment (Неверное присваивание). 44 Field identifier expected (Нужен идентификатор поля) . 45 Object file too large (Объектный файл слишком большой). 46 Undefined external (Неопределенная внешняя процедура). 47 Invalid object file record (Неправильная запись объектного файла). 48 Code segment too large (Сегмент кода слишком большой). 49 Data segment too large (Сегмент данных слишком велик). 50 DO expected (Нужен оператор DO). 51 Invalid PUBLIC definition (Неверное PUBLIC-определение). 52 Invalid EXTRN definition (Неправильное EXTRN-определение). 53 Too many EXTRN definition (Слишком много EXTRN-определений). 54 OF expected (Требуется OF). 55 INTERFACE expected (Требуется интерфейсная секция). 56 Invalid relocatable reference (Неправильная перемещаемая ссылка). 57 THEN expected (Требуется THEN). 58 TO or DOWNTO expected (Требуется TO или DOWNTO). 59 Undefined forward (Неопределенное опережающее описание). 60 Too many procedures (Слишком много процедур). 61 Invalid typecast (Неверное преобразование типа). 62 Division by zero (Деление на ноль). 63 Invalid file type (Неверный файловый тип). 64 Cannot Read or Write variables of this type (Нет возможности считать или записать переменные данного типа). 65 Pointer variable expected (Нужно использовать переменную-указатель). 66 String variable expected (Нужна строковая переменная). 67 String expression expected (Нужно выражение строкового типа). 68 Circular unit reference (Перекрестная ссылка модулей). 69 Unit name mismatch (Несоответствие имен программных модулей). 70 Unit version mismatch (Несоответствие версий модулей). 71 Duplicate unit name (Повторное имя программного модуля). 72 Unit file format error (Ошибка формата файла модуля). 73 IMPLEMENTATION expected (Отсутствует исполняемая часть модуля). 74 Constant and case types do not match (Типы констант и тип выражения опе- ратора CASE не соответствуют друг другу). 75 Record variable expected (Нужна переменная типа запись). 76 Constant out of range (Константа нарушает границы). 77 File variable expected (Нужна файловая переменная). 78 Pointer expression expected (Нужно выражение типа указатель). 79 Integer or real expression expected (Нужно выражение вещественного или целого типа). 80 Label not within current block (Метка не находится внутри текущего блока) 81 Label already defined (Метка уже определена). 82 Undefined label in processing statement part (Неопределенная метка в предшествующем разделе операторов). 83 Invalid @ argument (Неправильный аргумент операции @). 84 Unit expected (Нужно кодовое слово UNIT). 85 ”;” expected (Нужно указать”;”). 86 ”:” expected (Нужно указать”:”). 87 ”,”expected (Нужно указать”,”). 88 ”(” expected (Нужно указать ”(”). 89 ”)” expected (Нужно указать”)”). 90 ”=” expected (Нужно указать”=”) 91 ”:=” expected (Нужно указать”:=”) 92 ”[” or ”(.”expected (Нужно указать ”[” или ”(.”). 93 ”]” or ”.)” expected (Нужно указать”]” или ”.)”). 94 ”.” expected (Нужно указать”.”) 95 ”..” expected (Нужно указать”..”). 96 Too many variables (Слишком много переменных). 97 Invalid FOR control variable (Неправильный параметр цикла оператора FOR). 98 Integer variable expected (Нужна переменная целого типа). 99 File and procedure types are not allowed here (Здесь не могут использоваться файлы или процедурные типы). 100 String length mismatch (Несоответствие длины строки). 101 Invalid ordering of fields (Неверный порядок полей). 102 String constant expected (Нужна константа строкового типа). 103 Integer or real variable expected (Нужна переменная типа INTEGER или REAL). 104 Ordinal variable expected (Нужна переменная порядкового типа). 105 INLINE error (Ошибка в операторе INLINE) 106 Character expression expected (Предшествующее выражение должно иметь символьный тип). 107 Too many relocation items (Слишком много перемещаемых элементов). 108 Overflow in arithmetic operator (Переполнение при выполнении арифметического оператора). 109 No enclosing FOR, WHILE or REPEAT statement (Нет операторов, заканчивающих операторы FOR, WHILE или REPEAT). 110 Debug information table overflow (Переполнение информационной таблицы отладки) 111 N/A 112 CASE constant out of range (Константа CASE нарушает допустимые границы) . 113 Error in statement (Ошибка в операторе). 114 114 Cannot call an interrupt procedure (Невозможно вызвать процедуру npерывания). 115 N/A 116 Must be in 8087 mode to compile this (Для компиляции необходим режим 8087). 117 Target address not found (Указанный адрес не найден). 118 118 Include files are not allowed here (Здесь не допускаются включаемые файлы). 119 No inherited methods are accessible here (В этом месте программы нет унаследованных методов). 120 N/A 121 Invalid qualifier (Неверный квалификатор). 122 Invalid variable reference (Недействительная ссылка на переменную). 123 Too many symbols (Слишком много символов). 124 Statement part too large (Слишком большой раздел операторов). 125 N/A 126 Files must be var parameters (Файлы должны передаваться как параметры-переменные). 127 Too many conditional symbols (Слишком много условных символов). 128 Misplaced conditional directive (Пропущена условная директива). 129 ENDIF directive missing (Пропущена директива ENDIF). 130 Error in initial conditional defines (Ошибка в условных определениях). 131 Header does not match previous definition (Заголовок не соответствует предыдущему определению). 132 Critical disk error (Критическая ошибка диска). 133 Cannot evaluate this expression (Нельзя вычислить данное выражение). 134 Expression incorrectly germinated (Некорректное завершение выражения). 135 Invalid format specifier (Неверный спецификатор формата). 136 Invalid indirect reference (Недопустимая косвенная ссылка). 137 Structured variable are not allowed here (Здесь нельзя использовать переменную структурного типа). 138 Cannot evaluate without System unit (Нельзя вычислить выражение без мо-дуля SYSTEM). 139 Cannot access this symbol (Нет доступа к данному символу). 140 Invalid floating-point operation (Недопустимая операция с плавающей запятой). 141 Cannot compile overlay to memory (Нельзя выполнить компиляцию оверлейных модулей в память). 142 Procedure or function variable expected (Должна использоваться перемен- ная процедурного типа). 143 Invalid procedure or function reference (Недопустимая ссылка на процедуру или функцию) . 144 Cannot overlay this unit (Этот модуль не может использоваться в качестве оверлейного). 145 Too many nested scopes (Слишком много вложений). 146 File access denied (Отказано в доступе к файлу). 147 Object type expected (Здесь должен быть тип OBJECT) . 148 object types are not allowed (Нельзя объявлять локальные объекты). 149 VIRTUAL expected (Пропущено слово VIRTUAL). 150 Method identifier expected (Пропущен идентификатор инкапсулированного правила). 151 Virtual constructor are not allowed (Конструктор не может быть виртуальным). 153 Destructor identifier expected (Пропущен идентификатор деструктора). 154 Fail only allowed within constructor (Обращение к стандартной процедуре FAIL может содержаться только в конструкторе). 155 Invalid combination of opcode and operands (Недопустимая комбинация кода команды и операндов). 156 Memory reference expected (Отсутствует адрес). 157 Cannot add or subtract relocatable symbols (Нельзя складывать или вычитать перемещаемые символы). 158 Invalid register combination (Недопустимая комбинация регистров). 159 286/287 instructions are not enabled (Недоступен набор команд микропроцессоров 286/287). 160 Invalid symbol reference (Недопустимая ссылка на символ). 161 Code generation error (Ошибка генерации кода). 162 ASM expected (Отсутствует зарезервированное слово ASM).

  • Ошибка 207 при активации подорожника
  • Ошибка 207 radeon software
  • Ошибка 207 amd при установке драйверов
  • Ошибка 2068 мерседес спринтер
  • Ошибка 2068 газель некст эвотек