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

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

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vskazka
а я лично пару раз жалел, что на Ф не было сишного аналога
struct ts {
    unsigned short a : 1;
    unsigned short b : 2;
    unsigned short c : 5;
} bs;

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 16:38 21-12-2009
Vskazka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Ну сейчас такое можно изобразить, хотя для простого счета сие и не суть интересно. Это к логическому разбору... Вы, кстати, ежели не читали, карнигановские размышления, на кой ляд он с ричи дошел до жизни такой, что написал C, почитайте. Любопытно. Особенно в той части, где им требовалось одновременно и  система и компиляторы и синтаксический анализ (собственно сие было новое - как мне блезится) и размышления о пресловутых 500 строчек кода на асемблере.  Но ссылку навскидку дать не могу. Читал еще в доинтернетовскую эру, а искать сейчас не очень стремлюсь. Вдруг не так все, как помню  

Всего записей: 382 | Зарегистр. 24-11-2003 | Отправлено: 16:57 21-12-2009
akaGM

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

Цитата:
Ну сейчас такое можно изобразить, хотя для простого счета сие и не суть интересно

изображать кодом данные, формат? можно канешна, но задачи/данные -- "оне" разные бывают...
 

Цитата:
почитайте...

самого K&R или их/его мемуары?
 
"Unix -- С front-end" (с) чей-то...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 17:09 21-12-2009
elisseev2000

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

Всего записей: 21 | Зарегистр. 28-05-2009 | Отправлено: 17:16 21-12-2009
Vskazka

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

Цитата:
struct ts {
    unsigned short a : 1;
    unsigned short b : 2;
    unsigned short c : 5;
} bs;
 

 
Цитата:
изображать кодом данные, формат? можно канешна, но задачи/данные -- "оне" разные бывают...  

Собственно, я имел в виду, что для чисто расчетных целей, такие вещи, как структуры в С не нужны были. Но потом, фортран начал пытаться и приспосабливаться к другим вещам. И после всех этих структур там появились типы (type) и тд и тп. Так что теперь, начиная с 90го фортрана даже библиотека вычислений с произвольной разрядностью позволяет почти мгновенно приспосабливать стандартные программы, заменяя все что надо на type(). А насчет K&R (действительно, вспомнил, что так назывался сей труд у программистов) - да в том числе и это имел в виду, но не только. Не помню точно, много лет прошло. Остался флер и идеи. Те помню, но сие очень уж специально и не слишком интересно в форуме.
 

Всего записей: 382 | Зарегистр. 24-11-2003 | Отправлено: 18:09 21-12-2009
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vskazka
всё верно...
только моё
Цитата:
"оне" разные бывают.
-- не "красное словцо"
вот пример из лич.опыта:
 
дано:
- ДВК (Диалоговый Вычислительный Комплекс, кто не знает, или слизанная PDP)
- фортран ("версия 5" ! -- так гордо называлась тогда эта адаптация четвёрки)
т.е. ни Си, ни АСМа, только фортран
- плата сопряжения с прибором, кот. гнала данные в своём формате бит-перебит-недобиток...
т.е. как раз в формате типа
 unsigned short a : 1;
 unsigned short b : 2;
 unsigned short c : 5;
 unsigned short d : 8;
 
вот я и вспомнил эту ситуацию, когда появился Си в активе...
 
elisseev2000
я ж тебе ответил уже: поищи сам по ссылкам вверху этой страницы

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 19:00 21-12-2009
terminat0r



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
elisseev2000
1. http://www.srcc.msu.su/num_anal/lib_na/cat/cat73.htm
2. nag
http://www.nag.co.uk/numeric/FL/nagdoc_fl22/html/D01/d01conts.html#D01
3. chapter 4 in imsl
http://www.vni.com/products/imsl/documentation/fort06/math/NetHelp/default.htm  
4. hsl QB01 (но надо допиливать вручную)
http://hsl.rl.ac.uk/cgi-bin/hsl2002/download.cgi?package=qb01&vers=arch
5. Numerical Recipes fortran90, chapter b4
...
можно продолжать очень долго в принципе. Все зависит от функции, которую интегрируют

Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 23:03 21-12-2009 | Исправлено: terminat0r, 23:21 21-12-2009
sirjik37

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!помогите пожалуйста с программой.в Fortran 77 надо создать программ у для циклического сдвига элементов на n позиций влево . Заранее спасибо !  

Всего записей: 1 | Зарегистр. 11-01-2010 | Отправлено: 16:55 11-01-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sirjik37
shiftl(i, n)
сдвигает i на n позиций влево
т.е.
 
  integer i, n
 
  i = 10
  n = 2
  print *, shiftl(i, n)
  end

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 17:16 11-01-2010 | Исправлено: akaGM, 17:28 11-01-2010
BagaBaga

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос немного не по фортран, но все же:
 
Как из кода Fortran вызвать внешнюю программу на обработку.
 
Т.е. рутина посчитала. Запустила внешнюю прогу, та свое дело сделала, после чего рутина продолжила считать. Желательно, чтоб под Win9х/xp/2000/Vista
 
PS
Софт запускается на таком вот зоопарке.
 
PPS
В моем случае будет запускатья bat-файл

Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 12:33 15-01-2010
Andrew10

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BagaBaga
 
Зависит от компилятора. в Intel Visual Fortran используется функция из библиотеки IFPORT
Пример из документации:
 
USE IFPORT
INTEGER(4) I, errnum
I = SYSTEM("dir > file.lst")
If (I .eq. -1) then
     errnum = ierrno( )
     print *, 'Error ', errnum
end if
END
 
В Compaq Visual Fortran вместо IFPORT нужно использовать DFPORT

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

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BagaBaga
совет:
если скорость счёта не очень критична, то используй файловый обмен данными меж программами, не будешь иметь проблем практически нигде...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 15:07 15-01-2010
BagaBaga

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

Цитата:
В Compaq Visual Fortran вместо IFPORT нужно использовать DFPORT  

 
А в MS FPS 4 ???
 
akaGM,
проще (по крайней мере, думается) в унаследованном коде воткнуть вызов после счета, чем перписывать _большущий_ монолит...

Всего записей: 463 | Зарегистр. 14-11-2005 | Отправлено: 17:43 15-01-2010
akaGM

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

Цитата:
А в MS FPS 4 ???

вот видишь, не только "платформозависимость", так ещё и компилятор уже не катит...
поищи в этом топике в "версии для печати" ключ. слово SPAWNLP, я уже этот пример приводил здесь

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 17:50 15-01-2010
Andrew10

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

Цитата:
А в MS FPS 4 ???  

 
Поиск функции в документации по ключевому слову SYSTEM поможет

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, как грамотно реализовать обращение к стороннему исполняющему файлу (*.exe) так чтоб он находился в отдельной папке.
 
Для компиляции используется Compaq Visual Fortran
 

Всего записей: 1 | Зарегистр. 20-01-2010 | Отправлено: 12:03 20-01-2010 | Исправлено: UnrealNothing, 17:27 20-01-2010
MATRIXIO

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
где a=√(5*x+4) , c=cos(2*x**2)
тема"Операторы вложеных цыклов," для Compaq Fortran 6    .помогите написать програму.Заранее благодарен

Всего записей: 1 | Зарегистр. 26-01-2010 | Отправлено: 16:52 26-01-2010
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
UnrealNothing
ну буквально же полэкрана выше тебя отвечают на этот вопрос
смотри п/п system()

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 18:30 01-02-2010
pazanru



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, не мог бы кто-нибудь переписать вот этот код на Fortran:
 
Код:
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
 
const int x_max=20;
const int x_min=-20;
const int y_max=20;
const int y_min=-20;
const int z_max=20;
const int z_min=-20;
const double step=0.1;
 
int main(){
 
    clock_t start_time = clock();  
    double r=0.0, sum=0.0;
 
    for (double x = x_min; x<=x_max; x+=step){
        for (double y = y_min; y<=y_max; y+=step){
            for (double z = z_min; z<=z_max; z+=step){
 
                r = sqrt(x*x+y*y+z*z);
                sum+=exp(-r)*exp(-r);
 
            }
        }
    }
 
    cout << sum-1 << endl;
    clock_t time_passed = clock() - start_time;
    cout << "time = " << time_passed/1000.0 <<" s"<<endl;
    system("pause");
    return 0;
}
Интересует скорость языков пр-ния примерно для таких задач, минимальное время достиг пока на MVS 2008(C++) в 3,51 сек (на одном ядре в 2.2GHz).

Всего записей: 35 | Зарегистр. 25-07-2005 | Отправлено: 17:49 07-02-2010
Mav80

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

Код:
 
      program prog
 
      implicit none
 
    integer, parameter :: x_min = -20, x_max = 20
    integer, parameter :: y_min = -20, y_max = 20
    integer, parameter :: z_min = -20, z_max = 20
    real(8), parameter :: step = 0.1_8
 
    real(8) :: r, sum
    real(8) :: x,y,z
    real(8) :: t0, t1
 
    call cpu_time(t0)
    r = 0.0_8
    sum = 0.0_8
    
    do x = x_min, x_max, step
        do y = y_min, y_max, step
            do z = z_min, z_max, step
                r = sqrt(x*x + y*y + z*z)
                sum = sum + exp(-r)*exp(-r)
            end do
        end do
    end do
    call cpu_time(t1)
    write(*,*) sum-1  
    write(*,*) t1-t0
    read *
 
      end program prog
 
 

Всего записей: 20 | Зарегистр. 31-01-2006 | Отправлено: 22:28 07-02-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