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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

akaGM

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

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

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


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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пользовательский рейтинг языков, раздел фортран:
 
http://therighttool.hammerprinciple.com/languages/fortran
 
Из заинтересовавшего...
 
Высокая оценка

    I am reluctant to admit to knowing this language  
    The thought that I may still be using this language in twenty years time fills me with dread  
    Writing code in this language is a lot of work

 
Низкая оценка

    This language is expressive  
    Learning this language improved my ability as a programmer  
    I enjoy using this language

 
ужос, в общем, не язык...

Всего записей: 10 | Зарегистр. 06-09-2007 | Отправлено: 02:56 28-05-2010 | Исправлено: pir0texnik1, 03:03 28-05-2010
Tau_0

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

Цитата:
Насколько я помню свой опыт, версии 6.1, 6.5 были довольно глючные. Нужно не заморачиваться и ставить сразу 6.6С.

 
Угу, спасибо Вам и всем остальным тоже. Нашёл на трекере и поставил CVF 6.6. С помощью сервиспака  CVF-66-66C3.EXE обновил до 6.6C. Для начала сгодится? и вроде как работает. Бум разбираться.
 
Красивая цацка. Здоровущая, однако….
 
 
 
Добавлено:
pir0texnik1

Цитата:
ужос, в общем, не язык...  

Как пятьдесят лет назад ВСЁ серьёзное писали на FORTRAN’е, так и через пятьдесят лет на нём писать будут. Пусть язык и трансформируется, это всё равно будет FORTRAN.
 
Для Науки и Инженерии нет более удачного языка.

Всего записей: 1273 | Зарегистр. 26-03-2010 | Отправлено: 11:57 28-05-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tau_0
Цитата:
Нашёл на трекере и поставил CVF 6.6. С помощью сервиспака  CVF-66-66C3.EXE обновил до 6.6C. Для начала сгодится?

 
Здесь уже писали, что все зависит от того, что Вам нужно. Если Фортран нужен для
учебных целей - CVF 6.6C вполне достаточно.
Его достоинства:
1.Компактный по сравнению с более новыми компиляторами.
2. Устойчивый
3. IDE (MS Developer Studio) входит в дистрибутив  
4. Также в дистрибутив включена библиотека IMSL,
5. Хорошая документация.
 
Недостатки:
1. Старый, поэтому не поддерживает возможности новых стандартов Фортрана -  2003 и 2008.
2. Не поддерживает команды для современных процессоров, поэтому программа, скомпилированная с использованием CVF-6.6, будет работать в несколько раз медленнее, чем скомпилированная с помощью Intel Visual Fortran.
3, 4, 5 и т.д. - можно придумать еще массу недостатков, но и этих вполне достаточно.
 
Вывод:
Для учебных целей больше ничего не нужно.
Если хотите писать серьезные программы на Фортране - устанавливайте и осваивайте сразу Intel Visual Fortran последних версий.

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 12:19 28-05-2010
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pir0texnik1
Fortran привлекателен тем, что на нём доступно громадное сножество полезных процедур, проверенных временем. А по сути дела, для конечной цели важен язык, а алгоритмы, которые Вы реализуете его средствами. И если Вы можете сократить усилия, необходимые для решения задачи, используя эти наработки, то этим грех не воспользоваться.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 12:51 28-05-2010
KChernov



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

Цитата:
3, 4, 5 и т.д. - можно придумать еще массу недостатков, но и этих вполне достаточно.

Не знаю, в стандарт это или нет, но недавно обнаружил, что Erf есть у интела, но нет у компака.
Думаю, что можно найти и много других примеров.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 13:55 28-05-2010
akaGM

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

Цитата:
Низкая оценка
 
 
      This language is expressive  
      Learning this language improved my ability as a programmer  
      I enjoy using this language
хорошо сказано, действительно ужос...
 
KChernov

Цитата:
что Erf есть у интела

:)
в него вообще на уровне языка надо mkl встроить, типа версии IF-2010...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 14:15 28-05-2010 | Исправлено: akaGM, 14:16 28-05-2010
Ingve



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

Цитата:
Не знаю, в стандарт это или нет, но недавно обнаружил, что Erf есть у интела, но нет у компака.

 
это чисто интеловская функция, при переносе на другие компиляторы вы об этом узнаете ;) (сам столкнулся с такой проблемой)
 
для того чтобы узнать какие есть проблемы с несоответствием стандарту, я использую опцию ком. строки для ifort - /stand:f90[f95]

Всего записей: 156 | Зарегистр. 26-11-2003 | Отправлено: 14:41 28-05-2010
Andrew10

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

Цитата:
Не знаю, в стандарт это или нет, но недавно обнаружил, что Erf есть у интела, но нет у компака.
Думаю, что можно найти и много других примеров.

 
Функция ошибки в стандарт языка не входит, это расширение Intel Fortran-а.  

Всего записей: 780 | Зарегистр. 26-02-2005 | Отправлено: 14:49 28-05-2010
Igorr

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

Цитата:
Erf есть у интела, но нет у компака

CVF идет с IMSL, а там она есть.
 
Добавлено:
Использовал ли кто Compaq Array Visualizer в качестве OCX в IFС? Совместим ли Compaq Visualizer с Intel Fortran-ом? (Интересует именно Compaq Array Visualizer, а не Intel Array Visualizer.)

Всего записей: 2003 | Зарегистр. 01-05-2002 | Отправлено: 17:35 28-05-2010
Tau_0

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

Цитата:
А по сути дела, для конечной цели важен [не?] язык, а алгоритмы, которые Вы реализуете его средствами

 
Это не совсем так. Для описания алгоритмов всем хорош был Алгол, а вот программный код, генерируемый транслятором, --- дерьмо.
 
Это с FORTRAN’а-70 пошло применение форм Бэкуса-Наура и правил структурного программирования. А до этого код был ещё тот, --- попробуй его разбери. Зато работал шустро. Не выдержал Алгол конкуренции именно из-за неэффективности кода.
 
Да и здоровый консерватизм --- научной братии не нужны многие новомодные навороты,  (якобы) повышающие скорость разработки.  
 
А алгоритмы и численные методы --- статья особая …
 

Всего записей: 1273 | Зарегистр. 26-03-2010 | Отправлено: 18:04 28-05-2010
KChernov



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

Цитата:
Совместим ли Compaq Visualizer с Intel Fortran-ом?

Сильно сомневаюсь.
Он с CVF-ом то работает постольку поскольку.
Но по возможностям он конечно получше - странно, что Интел так его урезало.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 19:13 28-05-2010
Igorr

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

Цитата:
Он с CVF-ом то работает постольку поскольку.

У меня работает без нареканий - все нормально (в пределах его возможностей).

Всего записей: 2003 | Зарегистр. 01-05-2002 | Отправлено: 19:26 28-05-2010
pir0texnik2



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

Цитата:
CVF идет с IMSL, а там она есть.

Угу, а потом мы переползаем плавно на IVF(ну хотя бы ради OMP) и обнаруживаем, что IMSL там нет! И  начинаются заморочки с лицензией... IMSL хорошо, конечно, но многое, что в нем есть так или иначе доступно в открытых исходниках, и если есть возможность лучше уж как-то без него...имно...

Всего записей: 173 | Зарегистр. 27-02-2008 | Отправлено: 21:59 28-05-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ещё по поводу вейвлетов...
после нескольких дней поисков остановился вот на этом пакете
http://sourceforge.net/projects/cwtlib/
реализован на С/С++ и даже на жабе
оч симпатично выглядит...
 
а на фортране удалось найти только пару штук:
http://paos.colorado.edu/research/wavelets/
http://www.srcc.msu.su/num_anal/lib_na/cat/cat105.htm
 
если кому интересно...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 14:16 31-05-2010 | Исправлено: akaGM, 16:35 31-05-2010
Krapusta

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен перевод с паскаля в фортран.
Дело в том, что я в фортран почти незнаю. Помогите плиз) заранее спасибо.)
program proga;
type arr = array [1..10,1..10] of integer;
var a:arr; {исходный массив}
j,i,m,n:integer;
min: integer; {номер строки с минимальным приращением}
max: integer; {номер строки с максимальным приращением}
procedure readmatr(var a:arr);
var j,i:integer;
f: text;
begin
assign (f, 'c:\1.txt'); {открытие файла с числовым массивом}
reset(f);
for i:=1 to n do begin
for j:=1 to m do begin
read(f,a[i,j]);
end;
end;
close(f);
end;
procedure vichmin(a:arr; var min:integer);
var jj,i,g,t:integer;
x: array[1..10] of integer;
k:array[1..10] of integer; {массив с значениями минимального приращения каждой строки}
begin
{вычисление значения приращения}
for i:=1 to n do begin
for j:=1 to m-1 do begin
x[j]:=a[i,j]-a[i,j+1];
end;
for jj:=1 to m-2 do begin
if x[jj]<x[jj+1] then
t:=x[jj]
else
t:=x[jj+1]
end;
 
{запись наименьшего значения приращения в массив}
k[i]:=k[i]+t;
end;
{нахождение и вывод минимального значения приращения}
for i:=1 to n-1 do begin
if k[i]<k[i+1] then
min:=i
else
min:=i+1
end;
writeln ('минимальное значение приращения в строке №:',min);
for i:=1 to n do begin
write(a[min,i],' ')
end;
end;
 
procedure vichmax(a:arr; var max:integer);
var ii,i,g,t:integer;
x: array[1..10] of integer;
o:array[1..10]of integer; {массив с значениями максимального приращения каждой строки}
begin
{вычисление значения приращения}
for i:=1 to n do begin
for j:=1 to m-1 do begin
x[j]:=a[i,j]-a[i,j+1];
end;
for ii:=1 to m-2 do begin
if x[ii]>x[ii+1] then
t:=x[ii]
else
t:=x[ii+1]
end;
{запись наибольшего значения приращения в массив}
o[i]:=o[i]+t;
end;
{нахождение и вывод максимального значения приращения}
for i:=1 to n-1 do begin
if o[i]>o[i+1] then
max:=i
else
max:=i+1
end;
writeln ('максимального значение приращения в строке №:',max);
for i:=1 to n do begin
write(a[max,i],' ')
end;
end;
begin
writeln ('введите кол-во строк');
readln(n) ;
writeln ('введите кол-во столбцов');
readln(m);
readmatr(a);
vichmin(a,min);
writeln;
vichmax(a,max);
end.
 

Всего записей: 8 | Зарегистр. 03-06-2010 | Отправлено: 22:44 03-06-2010
KChernov



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

Цитата:
Дело в том, что я в фортран почти незнаю

А что там знать - они очень похожи - большая часть делается простой заменой.
assign -> open
read -> read
write -> print
for -> do
if -> if
program -> program (только вот процедуры надо объявлять в конце после ключевого слова contains
procedure -> subroutine
readmatr(a); -> call readmatr(a)

Цитата:
type arr = array [1..10,1..10] of integer;  
->

Код:
integer arr(10,10)

 
В общем с хелпом/книжкой проблем быть не должно вообще.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 23:09 03-06-2010 | Исправлено: KChernov, 23:10 03-06-2010
Tau_0

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

Цитата:
write -> print

А я на ВСЕХ FORTRAN’ах, начиная с 66 (4), ВСЕГДА вместо PRINT, WRITE пишу…
Ещё ни разу в жизни PRINT не нарисовал…

Всего записей: 1273 | Зарегистр. 26-03-2010 | Отправлено: 00:09 04-06-2010
KChernov



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

Цитата:
А я на ВСЕХ FORTRAN’ах, начиная с 66 (4), ВСЕГДА вместо PRINT, WRITE пишу…  

Не возбраняется.
Вроде как вообще print *, эквивалентен write (*,*).
Не вижу смысла писать больше букв, чем можно. Опять же при поиске легко отличаются выводы в файл.
С другой стороны второй вариант легко превращается в вывод в файл (хотя для меня это очень маленький плюс, так как в подобных ситуациях я делаю двойной вывод и там проще скопировать/использовать либу для логирования).

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 00:42 04-06-2010
Krapusta

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
все равно не работает программа. эх жаль, помогите написать, комментарии не нужны, чисто программу пожалуйста

Всего записей: 8 | Зарегистр. 03-06-2010 | Отправлено: 00:44 04-06-2010
KChernov



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

Цитата:
все равно не работает программа

Если вы поменяли только то, о чём я писал - не удивительно.
Но это самое сложное - остальное чисто по примерам из хелпа/книжек делается.
 
А насчёт полного перевода, например я не знаю, что такое в паскале reset.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 08:27 04-06-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

Компьютерный форум 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