IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Исправить ошибки, Исправить переведенную программу
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Павел

Репутация: -  0  +


Я просил помочь перевести программу на паскаль( Перевести программу на Pascal )
Мне помогли, но программа не компилируется. Пожалуйста помогите это исправить!


const
n = 3;
A: array[0 .. pred(n), 0 .. pred(n)] of double = (
(10, 1, 1), (2, 10, 1), (2, 2, 10)
);
B: array[0 .. pred(n)] of double = (
12, 13, 14
);

var
X: array[0 .. pred(n)] of double;
i, j, k: integer;
multiplier: double;

begin
writeln('Linear system of equations:');
writeln;

for i := 0 to pred(n) do begin
for j := 0 to pred(n-1) do
write('(', A[i][j]:0:2, ') * x', j, ' + ');
writeln('(', A[i][n-1]:0:2, ') * x', pred(n), ' = ', B[i]:0:2);
end;

for i := 0 to pred(n-1) do begin
for j := i+1 to pred(n) do begin
multiplier := A[j][i] / A[i][i];
for k := 0 to pred(n) do
A[j][k] := A[j][k] - A[i][k] * multiplier;
B[j] := B[j] - B[i] * multiplier;
end;
end;

for i := n-1 downto 0 do begin
X[i] := B[i];
for j := n-1 downto succ(i) do
X[i] := X[i] - A[i][j] * X[j];
X[i] := X[i] / A[i][i];
end;

writeln;
writeln('Result vector X:');
for i := 0 to pred(n) do begin
writeln('X[', i, '] = ', X[i]:0:2);
end;
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
По хорошему, надо не лепить в каждой программе {$N+}, а настроить компилятор: Options->Compiler-> Отметить 8087/80287.
Это - ОЧЕНЬ спорное утверждение.. Ну, установил я у себя эту опцию, и что? Завтра пошел к другу, а у него не установлена - опять перенастраивать? А в университете вообще по мозгам могут дать за перенастройку компилятора. А вот с директивой (которая, кстати, имеет преимущество над настройками среды) все будет в порядке...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Цитата(volvo @ 2.01.2008 13:23) *

Это - ОЧЕНЬ спорное утверждение..
Хочешь поспорить?
Пожалуйста...

Во-первых, следует вспомнить (а тем, кто не знал - узнать), для чего нужна эта опция.
Первоначально в IBM PC (а также IBM PC XT) устанавливался процессор Intel 8088 и пустое гнездо для математического сопроцессора Intel 8087. В дальнейшем на смену IBM PC (XT) пришли IBM PC AT, собранные на процессоре Intel 80286, но также с пустым гнездом под сопроцессор. Примерно аналогичная ситуация произршла и с AT 386, правда, уже не IBM, а Compaq, но не суть важно. И сопроцессор там был уже 80387, оснащенный рядом новых команд.
Начиная с 80486 Intel располагает устройство для обработки чисел с плавающей точкой (FPU) внутри самого процессора. Надобность в гнезде для сопроцессора, а также в самом сопроцессоре отпала, а также ВСЕ выпускаемые компьютеры автоматически оказывались оснащенными FPU.
Borland Pascal 7.0 был разработан в расчете на компьютеры с процессорами 8086/88 и 80286, т.е. на те, кда мог как присутствовать, так и отсутствовать блок FPU. Отсюда и наличие переключателей в опциях компилятора.
Таким образом, на ВСЕХ компьютерах с процессорами 486 и выше, а также на 386, 286 и 86/88, оснащенных блоком FPU должны быть именно рекомендуемые установки.
Если где-нибудь сегодня обнаружите компьютер, на котором используется ТР 7.0 и не имеющий FPU - сообщите мне.
Цитата
Ну, установил я у себя эту опцию, и что? Завтра пошел к другу, а у него не установлена - опять перенастраивать?
Ну, вообще-то - да. Если видишь, что у друга что-то настроено НЕПРАВИЛЬНО, то почему бы не исправить?
Цитата
А в университете вообще по мозгам могут дать за перенастройку компилятора.
Если в университете неправильно настроен компилятор, то по мозгам надо давать сисадмину.
Цитата
А вот с директивой (которая, кстати, имеет преимущество над настройками среды) все будет в порядке...
Что касается лирективы, то возражений по существу нет (т.к. быть не может), но есть несколько соображений, по которым это может оказаться не совсем удобным:
1. Кто сказал, что директива {$N+} чем-то дучше остальных? Следовательно, если уж явно описывать ее, то вполне логично точно также явно описать и еще два десятка директив.
2. Запоминание строки с двумя десятками директив - удовольствие ниже срежнего.
3. При различии в настройках при компиляции различных модулей и основной программы могут возникнуть проблемы. Поэтому "компилировать все с настройками по умолчанию" заведомо надежнее, чем "компилировать все с индивидуальными настройками".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Accer   Исправить ошибки   1.01.2008 20:04
volvo   Да что ты? Хочешь скриншот? Она не только компилир…   1.01.2008 20:08
Accer   Пишет Must be in 8087 mode to compile this :mega_c…   1.01.2008 20:27
мисс_граффити   первой строкой напиши {$N+} действительно, …   2.01.2008 0:07
Accer   Спасибо мисс_граффити, это помогло. Можете рассказ…   2.01.2008 9:41
volvo   В FAQ-е была тема "Директивы компилятора…   2.01.2008 15:30
andriano   По хорошему, надо не лепить в каждой программе {…   2.01.2008 17:11
Accer   Сопроцессор-я не совсем понял, для чего он нужен.   2.01.2008 17:22
andriano   Сопроцессор-я не совсем понял, для чего он нужен.…   2.01.2008 17:39
volvo   Это - ОЧЕНЬ спорное утверждение.. Ну, установил я …   2.01.2008 17:23
andriano   Это - ОЧЕНЬ спорное утверждение.. Хочешь поспорит…   2.01.2008 18:01
volvo   Да ты что? А друг, вот незадача, разрабатывает при…   2.01.2008 20:16
andriano   А друг, вот незадача, разрабатывает приложения под…   3.01.2008 0:32
мисс_граффити   Интересно, а к организаторам олимпиад по программи…   2.01.2008 20:45
мисс_граффити   все, хватит оффтопа. вопрос с некомпилирующейся пр…   3.01.2008 1:00


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 20:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name