XPEHOMETP
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Нету у меня Intel Fortran, тем не менее попытаюсь кое-какие ответы дать. 1. Кодировка в окне консоли - ДОСовская, а в редакторе M$ VS, понятное дело, ANSI. В принципе, в винде есть такая функция: перевода выводящегося текста в ОЕМ-кодировку (ДОСовскую), я нашел инфу про нее в MSDN, но на практике не применял. Я лично использую редактор KoEdit, у него есть подсветка синтаксиса: Fortran и куча других языков, работа с несколькими русскими кодировками... Просто набрать там что нужно, кодировку поставить ДОСовскую, и все. А потом файл можно загрузить в VS. 2. QuickWin дает не консольное окно, а ущербное виндовое, притворяющееся консольным. С него можно копировать текст в буфер обмена и делать другие операции, невозможные для консоли. Поэтому кодировка для него ANSI, со всеми последствиями. Почему эти последствия не на всех компах, мне не понятно. Возможно, по умолчанию в окне не тот шрифт ставится, без поддержки русского языка. 3. Кардинальное решение проблемы со сравнением чисел с плавающей точкой НЕ ВОЗМОЖНО в принципе: они представляются в памяти компьютера ПРИБЛИЖЕННО, отсюда все фокусы. Вот если бы ЦЕЛЫЕ числа при сравнении оказались не равными, тогда можно было бы закатывать скандалы и требовать с Intel напрасно потраченных денежек. Да, подобные ошибки действительно могут быть повсюду. Именно поэтому из стандарта Фортрана исключено использование дробного числа в качестве счетчика цикла - потому что результат при его изменении, с точки зрения компьютера, может оказаться совсем не тот, что ожидался программистом. 4. Про оптимизацию - лучше не надеяться на компилятор и прописать все самому. Мне кажется, что когда компилятор дойдет до повтора, он вряд ли вспомнит, что такое выражение уже встречалось раньше. |