Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Открыть новую тему     Написать ответ в эту тему

akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на ФОРТРАН, как общего так и конкретного характера.
Постарайтесь дать как можно больше информации о возникшей проблеме -- это в конце концов в ваших же интересах чтобы вам помогли...

прежде чем просить помощи в задании
платное решение задач

ресурсы этого топика
ссылка на подборку ресурсов, собранных посетителями этого форума
 
то, чем мы решили поделиться
ссылка на страничку программ etc собственного изготовления, которыми любезно делятся наши форумчане


если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим
 
просьба к пишущим и отвечающим все большие листинги оформлять тегом more
и отключать графические смайлики при размещении фортран-кода

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 18:11 14-01-2007 | Исправлено: akaGM, 09:47 01-03-2020
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
у нас у всех тоже FAR стоит, слава богу, все наши сотрудники с NC начинали,
а после Colorer'a, я из него вообще не вылажу...
если надо, то вот под More выкладываю два файла (для common.jar), кот. я адаптировал для корректного 77- и 90-синтаксиса (.f, .for и .f90), были там проблемы с "c * !" комментами...
77-ой
90-ый

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 21:05 14-12-2010 | Исправлено: akaGM, 21:07 14-12-2010
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Цитата:
у нас у всех тоже FAR стоит, слава богу, все наши сотрудники с NC начинали
Эх, были времена). Мне вот NC нравился 4-й версии, а вот как ввели в 5-й перетаскивание мышью, начался ужас, но там уже Far подоспел
Кстати, Far какой версии? А то я, как консерватор), отстал от жизни --- до сих пор пользуюсь версией 1.74 beta (чем удобно --- один раз инсталлировал, затем сохранил настройки и записал на DVD, и, в дальнейшем, никаких инсталляции, копирую и запускаю RestoreSettings.bat --- самонастраивается). Мне вот не хватает нынче в нем полноценной работы с Unicode, знаю, что вроде это реализовано, но вот насколько неглюкаво? И, пардон, что такое
Цитата:
Colorer
это типа syntax highlighting?
 
Добавлено:
Ясно, это плюгин к Far и не только. Спасибо, на досуге гляну

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 21:29 14-12-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TeXpert
[offtop]
у меня тоже 1.7, под всеми виндами (включая 7/64) работает и ладно...
а после NC был Volkov Commander ещё :)
а вот Дос Навигатор как-то не пошёл...
 
а Колорер надо просто в директорию плугов скопировать, ФАР его при старте сам подцепит...
[/offtop]

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 22:02 14-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
и студия у меня -- Express...

 
А как отлаживаешь? Или в Express можно встроить IVF?

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 22:33 14-12-2010
Vladik71

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть вопрос...
 
В фортране можно проводить сложение символьных\строковых констант, скажем
если программа считывает имя файла, скажем "start" и присваевает его переменной nname, то тогда могут быть выполнены операции сложения  
 
n1=nname//'f.dat'
n2=nname//'v.dat'
 
В результате получаем, что  
 
n1 имеет значение 'startf.dat'
n2 имеет значение 'startv.dat'
 
Вопрос, а возможна ли операция вычитания? Либо замены?
 
Скажем, что-бы при выводе данных в файл назначить ему имя входного файла, но с другим расширением? Или просто убрать расширение? Или просто укоротить имя?
 

Всего записей: 81 | Зарегистр. 12-07-2010 | Отправлено: 23:52 14-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71
 
Есть полезная функция index, которая ищет в строке заданную подстроку. С ее помощью
можно делать подобные вещи. Вот пример:
 
 
character(len=32)  n1
integer i
 
n1='start'
n1=trim(n1)//'f.dat'
 
!
! Сейчас n1 имеет значение   startf.dat
!
write(*,*) trim(n1)
 
i = index(n1,'.',back=.true.)
 
n1 = n1(1:i-2)//'v.dat'
 
!
! Сейчас n1 имеет значение   startv.dat
!
 
write(*,*) trim(n1)
 
stop
end

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 00:57 15-12-2010
Vladik71

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
n1=trim(n1)//'f.dat'  
А что в данном случае trim? эквивалент апосторофа?
 

Цитата:
i = index(n1,'.',back=.true.)  

 
Тут понятно, целочисленной переменной i присвевается значение (порядковый номер) которое занимает "точка" в character-ной переменной "n1"  
 
BACK = .TRUE. - в справке написано опционально, т.е. если в n1 встречена "точка" то: "истина" => присвоить "i" его номер... И моя программа правильно вычисляет это значение.
 

Цитата:
n1 = n1(1:i-2)//'v.dat'  

Тут происходит замена, т.е. нужно отбросить всё что стоит после i-2 и добавить то, что стоит после двойного слэша.
Правильно?
 
Но, эта строчка у меня не срабатывает, результат n1 у меня остается равным 'v.dat'  т.е. суммирования не происходит...

Всего записей: 81 | Зарегистр. 12-07-2010 | Отправлено: 01:54 15-12-2010 | Исправлено: Vladik71, 02:14 15-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71
 
1. trim(string) возвращает содержимое строки string без конечных пробелов
2. back= .true. задает поиск не с первой позиции строки, а с последней. Таким образом в примере находится последняя точка в строке, все что идет за ней считается расширением в полном имени файла
 

Цитата:
Но, эта строчка у меня не срабатывает, результат n1 у меня остается равным 'v.dat'  т.е. суммирования не происходит...

 
3. Странно ... У меня работает. Каким компилятором пользуетесь?

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 10:57 15-12-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Andrew10

Цитата:
А как отлаживаешь?

на Сях в Express'e и отлаживаю, на Дельфях в своей, а так wtite'ми, я ж писал пару страниц
назад -- я в основном зову уже _готовый_ фортран

Цитата:
Или в Express можно встроить IVF?

можно... на уровне внешних .obj, .lib :)

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 13:25 15-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
на Сях в Express'e и отлаживаю, на Дельфях в своей, а так wtite'ми, я ж писал пару страниц
назад -- я в основном зову уже _готовый_ фортран  

 
Тогда понятно, а меня-то в основном Фортран волнует, потому и спросил.
 

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 13:54 15-12-2010
bubanoid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос о командной строке:
1) есть cmd.exe
2) Есть фортрановское: Intel(R) Software Development Tools -> Intel(R) Fortran Compiler 9.1 -> Build Environment for Fortran IA-32 applications  
которое тоже запускает... командную строку???
Чем из этого пользоваться?
 
Ещё.
Есть BuildLog.htm (созданный студией) в котором командная строка выглядит:  
ifort /nologo /Zi /Od /module:"Debug/" /object:"Debug/" /traceback /check:bounds /libs:static /threads /dbglibs /c  /Qvc8 /Qlocation,link,"C:\Program Files\Microsoft Visual Studio 8\VC\bin" "D:\delete2\spline\spline\spline.f90"
 
Командная строка, которую показывает студия (совет pir0texnik2):
Project -> spline Properties -> Fortran -> Command Line ->  
/nologo /Zi /Od /module:"$(INTDIR)/" /object:"$(INTDIR)/" /traceback /check:bounds /libs:static /threads /dbglibs /c
(Понятно, что вначале надо ещё дописать ifort и кроме того, здесь недостаёт самого .for файла. А в первом случае, вероятно, всё что касается студии - лишнее).
 
Эта строка очень похожа на ту, что выше. Какой из них пользоваться? Конечно, в перспективе я собираюсь разобраться со всеми опциями правильной командной строки. Но пока что надо разобраться какой строкой пользоваться и куда её вбивать.
 
PS
Комбинации кнопок копирования в/из буфера с командной строкой не работают. Где-то, когда-то слышал, что продвинутые ребята создают не .bat а .cmd файл. Это так? Это я для того спрашиваю, чтобы определится, что учить: создание bat-ника или cmd-шника.

Всего записей: 101 | Зарегистр. 22-11-2007 | Отправлено: 14:29 15-12-2010 | Исправлено: bubanoid, 14:34 15-12-2010
TeXpert



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bubanoid
Цитата:
Есть фортрановское: Intel(R) Software Development Tools -> Intel(R) Fortran Compiler 9.1 -> Build Environment for Fortran IA-32 applications  
 которое тоже запускает... командную строку???
Обычно в этом варианте предварительно запускается специальный bat-файл, который устанавливает необходимые переменные окружения (типа того же $(INTDIR))
Цитата:
Чем из этого пользоваться?
Вторым
Цитата:
Комбинации кнопок копирования в/из буфера с командной строкой не работают
Вообще-то в случае консоли надо мышу пользовать, через контекстное меню, претензии к извращенцам из Microsoft
Цитата:
...что продвинутые ребята создают не .bat а .cmd файл
Насколько я могу судить, с точностью до изоморфизма это одно и то же (думаю, новое расширение только потому, чтобы отсечь Windows 9x)

----------
Майкудук, Пришахтинск не предлагать!:)
А на Пирогова приходит снова весенний гомон...

Всего записей: 3604 | Зарегистр. 08-02-2003 | Отправлено: 14:42 15-12-2010
Vladik71

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Странно ... У меня работает. Каким компилятором пользуетесь?  

Все заработало, спасибо, просто я сова, и моё время ночь, но иногда, утром, ошибки (вернее описки) находятся легче...
 
Тогда, последний вопрос, вот в этой строке  
n1 = n1(1:i-2)//'v.dat'  
что такое "1", которая стоит перед двоеточием? (Просто я с такой конструкцией ранее не встречался...)

Всего записей: 81 | Зарегистр. 12-07-2010 | Отправлено: 14:56 15-12-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71

Цитата:
что такое "1", которая стоит перед двоеточием?

"с первой позиции" ("с первого символа строки")

Цитата:
(Просто я с такой конструкцией ранее не встречался...)

во всех учебниках по Фортрану...
 
bubanoid
всё равно в консоли без Студии не обойтись :)
например, у интелов нет своего линкера...
а запускать надо батник типа ifortvars_[IA32].bat, кот. в свою очередь будет запускать "студийный" vsvars32.bat
и тд
вот такой геморр у микрософтов...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 15:37 15-12-2010 | Исправлено: akaGM, 15:43 15-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71
 
Если a - массив, то a(i1:i2) возвращает элементы этого массива, начиная с i1-го до i2-го включительно. Читайте про сечения массивов в Фортране
 
Но вообще-то, если хотите программировать, никуда не деться, нужно изучать язык . Это касается любого языка программирования, в том числе и Фортрана.
В шапке есть масса ссылок на документацию и книжки. Читайте!
 
Добавлено:
bubanoid
Насколько сложный у Вас проект? Сколько файлов с исходниками? Какие библиотеки дополнительно используются?  
 
 
Если файлов немного (на мой вкус немного - это до 5-ти), то проще всего  
из командной строки, запущенной через
Run->Programs->Intel(R) Software Development Tools -> Intel(R) Fortran Compiler 9.1 -> Build Environment for Fortran IA-32 applications  
 
> ifort  file1.f90 file2.f90....  /O2 /Fefilename.exe
 
 
Все имена файлов с кодом пишутся один за другим через пробел, /O2 - ключ оптимизации, ключ /Fefilename.exe (без пробела!) создает исполняемый файл с именем filename.exe
 
Все исходники сначала откомпилируются, а потом будет создан исполняемый файл. Большинство ключей, указанных в командных строках, про которые Вы спрашиваете будут применены по умолчанию.
 
Да, кстати, ключи /Zi /Od позволяют затем отлаживать этот файл в IDE, а в том варианте, который я здесь написал - это уже release-версия, оптимизированная и без возможности отладки с исходниками.
 
 
 
Добавлено:
to All
 
В связи с этой дискуссией, я вспомнил, что лет пять назад писал подробную инструкцию коллеге, как работать с Compaq Visual Fortran и Developer Studio на примере программы ddriv1 из книжки Каханера, Моулера. Сейчас это, конечно, устарело, но если есть интерес, могу выложить вместе с проектом. В современных версия Visual Studio все похоже, что касается проектов на Фортране, только добавились solutions.

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 15:39 15-12-2010 | Исправлено: Andrew10, 16:35 15-12-2010
Vladik71

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
В шапке есть масса ссылок на документацию и книжки. Читайте!

Видать не шибко я везучий, ссылка:
"Фортран в России -- подборка ресурсов" - не открывается
 
ссылка:
"http://www.fortranlib.com/ -- Fortran library (Free Technical Programming Resource)"
Весьма оригинальна, типа "свободные программные ресурсы"...
А когда открываешь, то свободного там только список того, что было издано, а также список того кто продает это всё продает: книги по фортрану, и компиляторы...
 
Гм..., человеку забившему последнюю ссылку в "шапку", определённо, присуще чувство юмора...  
 
 

Всего записей: 81 | Зарегистр. 12-07-2010 | Отправлено: 16:03 15-12-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71
Вот ссылка на специальный топик, посмотрите, там можно найти прямые ссылки на книжки. Если не получится, запросите _там_, обязательно откликнутся
 
Еще проще: идете сюда, забиваете в строку поиска Fortran и получаете прямые ссылки на десятки книг

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 16:25 15-12-2010 | Исправлено: Andrew10, 16:42 15-12-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vladik71

Цитата:
Гм..., человеку забившему последнюю ссылку в "шапку", определённо, присуще чувство юмора...

Хм..., простому человеку, зашедшему сюда с _просьбами_ и за помощью_ (и получающему её!), определённо, присуще чувство минимальной благодарности...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 16:55 15-12-2010
Vladik71

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
akaGM

Цитата:
Хм..., простому человеку, зашедшему сюда с _просьбами_ и за помощью_ (и получающему её!), определённо, присуще чувство минимальной благодарности...

Право, не серчайте... Я очень благодарен этому форуму и всем кто мне помогает. Кроме этого форума, я в сети не встретил чего-то более действенного... А что по поводу ссылок, так Вы же сами просите называть "битые" ссылки...  (ну, не "со слезами же на глазах" сообщать о неработающих линках...)

Всего записей: 81 | Зарегистр. 12-07-2010 | Отправлено: 17:00 15-12-2010 | Исправлено: Vladik71, 17:02 15-12-2010
plazmon



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bubanoid

Цитата:
1) есть cmd.exe  
2) Есть фортрановское: Intel(R) Software Development Tools -> Intel(R) Fortran Compiler 9.1 -> Build Environment for Fortran IA-32 applications  
которое тоже запускает... командную строку???  
Чем из этого пользоваться?

2 запускает 1, и настраивает переменные окружения (путь к исполняемым файлам, библиотекам, модулям и др.)
Так что есле просто запустить cmd, и набрать ifort, то Windows ругнется, что команда ему неизвестна.

Всего записей: 107 | Зарегистр. 29-05-2007 | Отправлено: 17:14 15-12-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы программирования на FORTRAN (ФОРТРАН)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru