Исправить ошибки, Исправить переведенную программу |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Исправить ошибки, Исправить переведенную программу |
Accer |
1.01.2008 16:04
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Я просил помочь перевести программу на паскаль( Перевести программу на Pascal )
Мне помогли, но программа не компилируется. Пожалуйста помогите это исправить!
|
volvo |
1.01.2008 16:08
Сообщение
#2
|
Гость |
Да что ты? Хочешь скриншот? Она не только компилируется, но и результат выдает:
Цитата Linear system of equations: (10.00) * x0 + (1.00) * x1 + (1.00) * x2 = 12.00 (2.00) * x0 + (10.00) * x1 + (1.00) * x2 = 13.00 (2.00) * x0 + (2.00) * x1 + (10.00) * x2 = 14.00 Result vector X: X[0] = 1.00 X[1] = 1.00 X[2] = 1.00 (еще одно вот такое высказывание - буду минусовать без предупреждения!!!) |
Accer |
1.01.2008 16:27
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Пишет Must be in 8087 mode to compile this
Может проблема с компилятором??? Сообщение отредактировано: Accer - 1.01.2008 19:30 |
мисс_граффити |
1.01.2008 20:07
Сообщение
#4
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
первой строкой напиши
{$N+} действительно, "проблема с компилятором" (с) настройки другие. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Accer |
2.01.2008 5:41
Сообщение
#5
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Спасибо мисс_граффити, это помогло. Можете рассказать об этой команде?
|
volvo |
2.01.2008 11:30
Сообщение
#6
|
Гость |
В FAQ-е была тема "Директивы компилятора", вот {$N} - одна из них...
|
andriano |
2.01.2008 13:11
Сообщение
#7
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
По хорошему, надо не лепить в каждой программе {$N+}, а настроить компилятор: Options->Compiler-> Отметить 8087/80287.
|
Accer |
2.01.2008 13:22
Сообщение
#8
|
Новичок Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Павел Репутация: 0 |
Сопроцессор-я не совсем понял, для чего он нужен.
|
volvo |
2.01.2008 13:23
Сообщение
#9
|
Гость |
Цитата По хорошему, надо не лепить в каждой программе {$N+}, а настроить компилятор: Options->Compiler-> Отметить 8087/80287. Это - ОЧЕНЬ спорное утверждение.. Ну, установил я у себя эту опцию, и что? Завтра пошел к другу, а у него не установлена - опять перенастраивать? А в университете вообще по мозгам могут дать за перенастройку компилятора. А вот с директивой (которая, кстати, имеет преимущество над настройками среды) все будет в порядке...Сообщение отредактировано: volvo - 2.01.2008 13:23 |
andriano |
2.01.2008 13:39
Сообщение
#10
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
|
andriano |
2.01.2008 14:01
Сообщение
#11
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Это - ОЧЕНЬ спорное утверждение.. Пожалуйста... Во-первых, следует вспомнить (а тем, кто не знал - узнать), для чего нужна эта опция. Первоначально в 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. При различии в настройках при компиляции различных модулей и основной программы могут возникнуть проблемы. Поэтому "компилировать все с настройками по умолчанию" заведомо надежнее, чем "компилировать все с индивидуальными настройками". |
volvo |
2.01.2008 16:16
Сообщение
#12
|
Гость |
Цитата Ну, вообще-то - да. Если видишь, что у друга что-то настроено НЕПРАВИЛЬНО, то почему бы не исправить? Да ты что? А друг, вот незадача, разрабатывает приложения под компьютер БЕЗ сопроцессора, и ему эта "галочка" ни никаким боком просто не сдалась в настройках (вот бывают же в наше время такие раритеты, да? И еще работают... И работают исправно, заметь. У меня есть несколько знакомых, которые пишут под 286 процессор - без сопроцессора, и хозяева не собираются менять аппаратуру)...И вообще: что у тебя за привычка, расскажи мне? Почему надо дать ДУРНОЙ совет, и считать себя просто гением? Что бы ты сказал, если бы кто-то пришел к тебе домой и поменял ТЕБЕ установки компилятора? Для чего ВООБЩЕ по-твоему нужны директивы компилятора? Просто так? Для красоты? Ан нет, вообще-то они как раз и используются (если ты этого делать не хочешь, или не умеешь - это не повод давать идиотских советов по перенастройке "всего и вся" НА СВОЙ ВКУС) для того, чтобы независимо от настроек IDE программа работала одинаково... Да что я с тобой говорю-то вообще? Человек, не имеющий TP лезет в каждую тему раздела "Задачи" и о чем-то с умным видом рассуждает... Цитата Кто сказал, что директива {$N+} чем-то дучше остальных? Следовательно, если уж явно описывать ее, то вполне логично точно также явно описать и еще два десятка директив. Если то значение, которым ты пользуешься ОТЛИЧАЕТСЯ от значения по умолчанию - то да, надо... А ты что, этого тоже не делаешь?Цитата 2. Запоминание строки с двумя десятками директив - удовольствие ниже срежнего. Программирование вообще удовольствие ниже среднего...Цитата 3. При различии в настройках при компиляции различных модулей и основной программы могут возникнуть проблемы. Поэтому "компилировать все с настройками по умолчанию" заведомо надежнее, чем "компилировать все с индивидуальными настройками". Начало фразы правильное, а вот окончание - ну, как всегда у тебя - ты опять извращаешься, и потом-таки будешь говорить, что "ты это и имел в виду"... Так вот, для того, чтобы НЕ было проблем при компилировании модулей и программ с настройками по умолчанию, надо пользоваться директивами... Повторяю для тебя специально вопрос еще раз: почему приоритет директивы выше приоритета настроек через IDE? Почему ты вообще решил, что все пользуются только IDE? Если ты пользуешься ей (это я загнул, конечно, ибо ты теоретик, Turbo Pascal-ем не пользуешься вообще, только раздаешь налево/направо советы, как другие должны им пользоваться) - это еще ничего не значит, есть и консольные компиляторы (никогда не писал программы, которые не помещаются в 640К, выделенные IDE Паскаля?), при работе с которыми гораздо проще записать строку директив, чем вызывать TPC/TPCX с десятком - другим ключей (CFG-файлы можешь не предлагать, будет отвергнуто с цитатой твоих же слов)...Сообщение отредактировано: volvo - 2.01.2008 18:06 |
мисс_граффити |
2.01.2008 16:45
Сообщение
#13
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Интересно, а к организаторам олимпиад по программированию тоже надо прийти и настроить компилятор
Цитата 1. Кто сказал, что директива {$N+} чем-то дучше остальных? Следовательно, если уж явно описывать ее, то вполне логично точно также явно описать и еще два десятка директив. никто не сказал. я, например, и другими нередко пользуюсь. по мере необходимости. а ее явно описываю только при использовании определенных типов переменных. ровно так же, как условия ничуть не хуже циклов... но ты же используешь то, что нужно в условиях данной задачи. Цитата 2. Запоминание строки с двумя десятками директив - удовольствие ниже срежнего. Почему же? Отличная тренировка памяти... Если хелпом пользоваться не получается... Вот, еще пример. Сможешь сделать настройками компилятора аналог такой вещи: {$I-} то есть изменить настройки для какого-то кусочка программы? Сообщение отредактировано: мисс_граффити - 2.01.2008 16:50 -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
andriano |
2.01.2008 20:32
Сообщение
#14
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
А друг, вот незадача, разрабатывает приложения под компьютер БЕЗ сопроцессора, Не надо путать правило с исключением.Настроики по умолчанию должны охватывать наиболее общие случаи, а директивы - применять во всяких экзотических исключениях. Цитата Почему надо дать ДУРНОЙ совет, и считать себя просто гением? Грубить не надо.Цитата Что бы ты сказал, если бы кто-то пришел к тебе домой и поменял ТЕБЕ установки компилятора? Я пришел к Accer'у домой и поменял у него настройки компилятора?Я ПОСОВЕТОВАЛ ему так сделал. И, думаю, ему следует последовать этому примеру в отношении своего приятеля. Не надо мне приписывать требования хозяйничать на чужом компьютере (хотя, признаю, для краткости не делал необходимых оговорок, поэтому мог быть неверно понят). Цитата Для чего ВООБЩЕ по-твоему нужны директивы компилятора? Просто так? Для красоты? См. выше - в НЕСТАНДАРТНЫХ случаях.Цитата ...для того, чтобы независимо от настроек IDE программа работала одинаково... Да что я с тобой говорю-то вообще? Человек, не имеющий TP лезет в каждую тему раздела "Задачи" и о чем-то с умным видом рассуждает... Да. Предпочитаю программы, которые бы работали одинаково независимо от применяемого компилятора.Цитата Если то значение, которым ты пользуешься ОТЛИЧАЕТСЯ от значения по умолчанию - то да, надо... Цитата Программирование вообще удовольствие ниже среднего... Это кому как. Я, например, нередко делаю это для своего удоволствия.Цитата Так вот, для того, чтобы НЕ было проблем при компилировании модулей и программ с настройками по умолчанию, надо пользоваться директивами... Не согласен.Директивами следует пользоваться ТОЛЬКО тогда, когда понимаешь, для чего это нужно. Цитата Повторяю для тебя специально вопрос еще раз: почему приоритет директивы выше приоритета настроек через IDE? Именно потому, что везде, кроме специально оговоренных исключений, должно действовать правило.Цитата Почему ты вообще решил, что все пользуются только IDE? Ты думаешь, я ошибся?Давай спросим у Accer'a. ;) Цитата (никогда не писал программы, которые не помещаются в 640К, выделенные IDE Паскаля?) 2.8 Мб подойдет?И вообще, мы тут собрались, чтобы пальцы гнуть? |
мисс_граффити |
2.01.2008 21:00
Сообщение
#15
|
просто человек Группа: Модераторы Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
все, хватит оффтопа.
вопрос с некомпилирующейся программой решен. тема закрыта. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Текстовая версия | 11.05.2024 12:05 |