1 / 44

AIPQ PROGRAMACIÓ EN FORTRAN

AIPQ PROGRAMACIÓ EN FORTRAN. Assignatura AIPQ (Aplicació de la Informàtica als problemes químics): 2/3 nota QF (Fortran) + 1/3 nota QA FORTRAN: 10 setmanes de classe. Professors QF: Elena Rodríguez elena.rodriguezbalada@urv.net Jordi Carbó j.carbo@urv.net. AIPQ PROGRAMACIÓ EN FORTRAN.

teleri
Download Presentation

AIPQ PROGRAMACIÓ EN FORTRAN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AIPQPROGRAMACIÓ EN FORTRAN • Assignatura AIPQ (Aplicació de la Informàtica als problemes químics): • 2/3 nota QF (Fortran) + 1/3 nota QA • FORTRAN: 10 setmanes de classe Professors QF: Elena Rodríguezelena.rodriguezbalada@urv.net Jordi Carbó j.carbo@urv.net AIPQ - Fortran

  2. AIPQPROGRAMACIÓ EN FORTRAN • Criteris d’AVALUACIÓ: • Imprescindible per aprovar: • Assistència obligatòria a les classes pràctiques • Nota examen + nota classes pràctiques  5 EXAMEN: • sobre 6 (es fa mitja si la nota és  2) • últimdia de classe: 7 abril (de 15 a 16 h) CLASSES PRÀCTIQUES: • sobre 4: activitats diàries + programes finals (s’entreguen l’últim dia de classe) AIPQ - Fortran

  3. AIPQPROGRAMACIÓ EN FORTRAN Fonament teòric - paraules clau + normes de combinació algorismes simples Aplicació - resolució de problemes senzills (programes) Objectius - Conèixer les eines fonamentals d’un llenguatge d’alt nivell. - Saber resoldre de forma ordenada un problema qualsevol. - Entendre la lògica de la programació. AIPQ - Fortran

  4. ALGORISMES Problema ALGORISME (Mètode per resoldre’l) Algorisme – Seqüència d’instruccions ordenades que cal realitzar per a resoldre un problema determinat i obtenir el resultat final buscat. • Característiques • - Són genèrics (serveixen sempre que tinguem el mateix problema) • No cal entendre els principis en què es basa • Qualitats que haurien de tenir • Han de servir pel màxim tipus de problemes • Eficient (menor nombre de passos) • Rapidesa i menys ús de memòria AIPQ - Fortran

  5. LLENGUATGES ALGORÍSMICS • Són aquells llenguatges capaços d’especificar clarament els passos que ha de tenir un algoritme. • Tipus • Llenguatges de programació • Diagrames de flux AIPQ - Fortran

  6. ESTRUCTURES ALGORÍSMIQUES Existeixen 3 estructures algorísmiques bàsiques. Combinant-les adequadament podem obtenir qualsevol algorisme complex. 1. Estructura seqüencial- conjunt d’accions 1, 2, ... N que s’executen en l’ordre en què apareixen en el programa. Acció 1 Acció 2 ... Acció N 2. Estructura alternativa- s’executa una o altra part del programa segons sigui o no certa una condició. Sicondicióllavors acció 1 altrament acció 2 fi-si 3. Estructura repetitiva- es repeteix una acció mentre sigui certa una condició. Mentrecondiciófer acció fi-per-a Per-a i=1 fins-a n fer acció fi-per-a AIPQ - Fortran

  7. MÀQUINES algorísmiques - ORDINADORS Són aquelles màquines que entenen i porten a terme les instruccions escrites en un llenguatge algorísmic. ORDINADOR: És una màquina algorísmica per al processament (transformació) de la informació seguint unes instruccions (PROGRAMA). El llenguatge algorísmic que interpreta és el llenguatge de programació. Ex: Fortran, Basic, Pascal, C,… AIPQ - Fortran

  8. L’ORDINADOR PERSONAL - COMPONENTS Existeixen 2 components: HARDWARE I SOFTWARE HARDWARE: Són els elements físics que són tangibles (circuits, discos, etc) = Suport Electrònic • CPU: Emmagatzema i processa la informació • Perifèrics d’entrada/Sortida: Teclats, pantalles, etc. • Perifèrics d’emmagatzement: Discos, cintes, etc. SOFTWARE: Són els programes que gestionen els elements físics = Suport Lògic • Sistema Operatiu: Conjunt de programes que s’encarreguen de la gestió primària de l’ordinador. • Aplicacions del sistema: Editors, compiladors, etc. AIPQ - Fortran

  9. CODIFICACIÓ DE LA INFORMACIÓ EN ELS ORDINADORS • Representen la informació internament en forma binària (0 i 1). • Bit (Binari digit): Unitat mínima d’informació (o un 0 o un 1). Amb N bits es poden representar 2N nombres diferents. • Byte (B): Unitat mínima de memòria. 1 B = 8 bits • 210 = 1024 bytes= 1 K de memòria • (per comoditat 1 K s’associa a 1000 bytes) • Paraula de memòria: Quantitat d’informació que la màquina pot manipular d’un sol cop: 8, 16, 32 bits, ...segons l’ordinador, generalment potència de dos. AIPQ - Fortran

  10. LLENGUATGES DE PROGRAMACIÓ Altres... Llenguatges d’ALT NIVELL Com és un llenguatge d’ALT NIVELL? ·Conjunt de paraules i regles de combinació intel·ligibles per l’home ·Permet codificar instruccions interpretables per un ordinador FORTRAN Orientat al càlcul matemàtic Molt utilitzat en l’àmbit científic AIPQ - Fortran

  11. FORTRAN • FORTRAN (IBMFORmula TRANslation system) • Es va introduir en l’IBM 704 el 1954. • Primer llenguatge d’alt nivell. • Moltes versions: II(1958), IV(1962-68), 66, 77, 90, 95, 200X. • Primer llenguatge àmpliament acceptat. • Introdueix la facilitat de programació, eficiència dels programes fets a mà i redueix els errors de codificació. • Inventat per enginyers i patrocinat per la companyia IBM. • Llenguatge emprat en l’àmbit científic. AIPQ - Fortran

  12. CODI FONT Llenguatge d’ALT NIVELL Intel.ligible només per l’home traducció COMPILADOR Llenguatge màquina BINARI (1/0). L’únic que entén l’ordinador PROGRAMA EXECUTABLE AIPQ - Fortran

  13. Compilador-Editor VFORT • Windows 95/98 • Buscar el fitxer autoexec.bat • Obrir-lo amb el bloc de notes • Copiar-hi el PATH • Guardar el fitxer autoexec.bat • Windows XP • Inicio • Panel de control • Rendimiento y mantenimiento • Sistema • Opciones avanzadas • Variables de entorno • Afegir el PATH AIPQ - Fortran

  14. En un directori prèviament creat (nom sense espais ni en el directori on es treballa ni en els directoris anteriors. Per tant, no podem treballar aMis documentos!): 1. Crear un nou document amb el programa VFORT 2. Escriure el codi FORTRAN 3.Guardar como 4.Crear un nou projecte al mateix directori on és el codi anterior 5.Obrir el codi.for 6.Compilar(Mirar tipus d’errors, p. 14) 7.Executar (en mode MS-DOS) en el directori Output Si es treballa amb fitxers externs, han d’estar al mateix directori que conté el fitxer executable. AIPQ - Fortran

  15. TIPUS D’ERRORS: • Errors sintàctics: • L’escriptura del programa no està d’acord amb les regles del llenguatge font i per tant el programa no es pot convertir en l’executable. • 2. Errors lògics: • El compilador no els detecta com a errors perquè pertanyen a un defecte de la lògica del disseny de l’algoritme. Condueixen normalment a resultats inadequats o impropis d’un càlcul. AIPQ - Fortran

  16. SINTAXI Normes generals - Un codi FORTRAN és un document de text pla en el qual: 1) Només s’utilitzen les columnes 1 a 72. 2) Si a la columna 1 hi ha una C, el compilador no interpreta aquella línia. 3) Les instruccions només van a les columnes 7 a 72. 4) Si una instrucció llarga no cap a una sola línia, es pot continuar a la línia següent posant un caràcter de continuació a la columna 6 que no sigui un zero o un espai. 5) Les columnes 1 a 5 s’empren per col·locar etiquetes. 6) Els espais en blanc es poden posar on es vulgui ja que el compilador els treu després (excepte en una cadena de caràcters). AIPQ - Fortran

  17. TIPUS D’INSTRUCCIONS(sentències) 1.DECLARACIÓ- indiquen caracterísitiques de les dades o les defineixen. Sempre van davant de les sentències executables. Per exemple, inicialitzar el valor d’una variable o assignar el valor d’un paràmetre. 2.EXECUTABLES- ordenen una acció. ·entrada/sortida de dades ·assignació ·control -condicionals -transferència de control -repetició 3.END - marca el final del programa. També s’hi poden incloure COMENTARIS (els quals no llegeix el compilador). Existeixen instruccions tipus FORMAT. Serveixen per escriure resultats o frases amb una presentació determinada. Cada instrucció en FORTRAN s’escriu en una línia diferent. AIPQ - Fortran

  18. EMMAGATZEMENT DE LA INFORMACIÓ EN ELS ORDINADORS • Segons la informació que es vol guardar: • Nombres ENTERS: Traducció de decimal a binari • Nombres REALS: Parell (mantissa + exponent) i cada un com un nombre enter. Ex: 102.35 +0.10235 · 10+3 • Nombres COMPLEXES: Parell (mantissa + exponent) per la part real i la imaginària. • Caràcters ALFANUMÈRICS: Es guarden caràcter a caràcter, codificats com a enters seguint el conveni ASCII • Variables LÒGIQUES: 1 bit, .TRUE. o .FALSE. (0 o 1) AIPQ - Fortran

  19. CARÀCTERS I ELS SEUS DERIVATS CARÀCTERS: Elements bàsics amb els que es construeixen altres de més elaborats. Alfabètics: lletres Alfanumèrics Numèrics: nombres Especials: =, +, *, ... Amb els caràcters es formen les paraules del llenguatge de programació. OPERADORS ARITMÈTICS: Per indicar les operacions aritmètiques: +, -, *, /, ** AIPQ - Fortran

  20. CONSTANTS • CONSTANT: El seu valor ja no canviarà al llarg del programa. • Poden ser: • NUMÈRIQUES  Poden ser: ENTERES, REALS I COMPLEXES • CARÀCTER • LÒGIQUES ENTERES: Sèrie de dígits precedits o no de signe + o - REALS: Han de portar el punt decimal. Molt útil expressar-les com a constant de punt flotant: Ex. 3E5 COMPLEXES CARÀCTER: Conjunt de caràcters LÒGIQUES: Només 2 valors .TRUE. (.T.) / .FALSE. (F.) AIPQ - Fortran

  21. VARIABLES VARIABLE: Nom simbòlic o identificador que designa o fa referència a una dada susceptible de prendre valors diferents al llarg d’un programa. La classe de variable ha de declarar-se a l’inici del programa emprant una sentència de tipus. INTEGER per a les variables de contingut enter. De forma implícita serà entera si comença per I, J, K, L, M, N (I-N) REAL per a les variables reals (A-H,O-Z), COMPLEX per a les variables complexes CHARACTER per a les variables caràcter LOGICAL per a les variables de contingut lògic AIPQ - Fortran

  22. ASSIGNACIÓ Instruccions d’assignació etiqueta_variable = expressió A l’esquerra del signe ‘=‘ només pot anar-hi el nom d’una variable. A la dreta es desenvolupa l’operació. La variable i l’ expressió han de ser del mateix tipus. Si no és així, el valor final de la variable pot ser menys precís per aquesta raó. Exemple: A = 2.89 A és real I = A + 3 I és enter I = 5 Hi ha hagut truncament! AIPQ - Fortran

  23. OPERACIONS Funcions incorporades ABS(X) SQRT(X) EXP(X) LOG(X) LOG10(X) SIN(X) COS(X) Operacions Suma: + Resta: - Producte: * Divisió: / Exponenciació: ** TAN(X) ATAN(X) ASIN(X) ACOS(X) MOD(n,m) MAX(X1,X2,...) MIN(X1,X2,...) Ordre d’avaluació d’expressions numèriques i) Crides a funcions incorporades ii) 1. ** 2. * , / 3. + , - Aquest ordre es pot alterar fent servir parèntesis. AIPQ - Fortran

  24. CANVIS DE VARIABLE Funcions de canvi de tipus int(variable_real) char(variable_entera) ichar(cadena_caràcters) float(variable_entera) converteix un real en enter converteix un número ASCII a caràcter converteix un caràcter a número ASCII converteix un enter en real LECTURA, ESCRIPTURA READ(5,*)var_1,var_2...var_n el ‘5’ significa el teclat, ‘*’ vol dir sense format WRITE(6,*)x1,x2...xn el ‘6’ significa el monitor AIPQ - Fortran

  25. EXERCICI. 1 • Escriure les següents expressions aritmètiques en Fortran: • a·b • ax • b2-4ac • Solució: a) a*b b) a**x c) b**2-4*a*c EXERCICI. 2 • Catalogar les següents expressions en enteres o reals: • 3*im+metro • (2.5+veloc)*3.89 • 0.5*g*t**2 • Solució: a) entera b) real c) real AIPQ - Fortran

  26. CODIS EXEMPLE. 1 Programa variables c program variables c Aquest programa converteix variables d'un tipus a un altre. c character*1 a c write(6,*) write(6,*) ' Introdueix un nombre real entre 0 i 255.' write(6,*) read(5,*) x k=int(x) write(6,11) k,x a=char(k) write(6,22) a,k 11 format(I3,' es la part sencera del nombre real ',F6.2,/) 22 format(A2,' es el caracter en codi ASCII associat al numero',I3,/) end AIPQ - Fortran

  27. INSTRUCCIONS CONDICIONALS: IF Permet executar una part del programa o una altra segons es compleixi o no certa condició. IF (condició) THEN instruccions executables si es compleix la condició ELSE (o ELSE IF (condició) THEN) instruccions executables si no es compleix la condició END IF general IF (condició) THEN instruccions executables si es compleix la condició END IF reduïda IF (condició) instrucció executable si es compleix la condició super-reduïda AIPQ - Fortran

  28. Definició de condicions en la instrucció IF Operadors de comparació: ”operands” que relacionen dues expressions. NOTACIÓSIGNIFICAT .GT. > .GE.≥ .EQ. = .NE. ≠ .LE. ≤ .LT. < Exemples: (i.GE.4) (a.EQ.’YES’) ((z-4.0).LT.(z**2)) Combinació de condicions: Es poden combinar expressions lògiques amb els operadors Booleans.not., .and. i .or. . Exemples: ((a.EQ.’YES’).OR.(a.EQ.’SI’)) ((sinus.LE.1).AND.(sinus.GE.-1)) AIPQ - Fortran

  29. TRANSFERÈNCIA DE CONTROL GOTO etiqueta envia el control del programa a la línia marcada amb etiqueta. Aquesta nova línia pot ser posterior o anterior a la del GOTO. Es recomana no abusar d’aquesta instrucció. STOP atura l’execució d’un programa. Exemple: 1 READ(5,*) A, B IF((A.EQ.0).AND.(B.EQ.0)) STOP C=A*B WRITE(6,*) C GOTO1 END AIPQ - Fortran

  30. EXECUCIÓ REPETITIVA: DO Existeixen tres tipus d’estructures de DO - END DO en Fortran Sense condició: es repeteixen infinitament les instruccions executables. DO instruccions executables END DO Amb condició: es repeteixen les instruccions executables mentres es compleix la condició. DO WHILE (condició) instruccions executables END DO Amb comptador: es repeteixen les instruccions executables el número de vegades indicat. DO index=valor(i),valor(f),increment instruccions executables END DO Està prohibit canviar l’índex del bucle a l’interior d’aquest. AIPQ - Fortran

  31. Amb condició: Sense condició: K=0 DO WHILE (K.LE.5) K=K+1 SUM=SUM+K END DO WRITE(6,*) SUM END i=0 DO i=i+1 WRITE(6,*) i if(i.EQ.1000) STOP END DO END comptador acumulador Amb comptador: Aquest programa escriu el sumatori de 1 a 5. DO I=1,340 WRITE(6,*) ‘FORTRAN’ END DO END EXECUCIÓ REPETITIVA: DO Existeixen tres tipus d’estructures de DO - END DO en Fortran comptador Per evitar que les instruccions es repeteixin infinitament, és necessari afegir alguna condició “de sortida” en l’interior del DO. Aquest programa escriu els números de l’1 al 1000. S’obtindria el mateix resultat amb “I=341,680”, amb “I=1,680,2” o amb “I=340,1,-1”, ja que no s’usa el valor de “I”, tot i que el programa el coneix. Aquest programa escriu 340 vegades la paraula “FORTRAN”. AIPQ - Fortran

  32. VARIABLES INDEXADES A aquest grup de variables pertanyen els vectors i les matrius. · Al principi del programa s’han de declarar les variables que seran d’aquest tipus. Es pot fer usant la instrucció “DIMENSION” o en la mateixa declaració de la variable. DIMENSIONnom_vector (índex_mínim:índex_màxim) DIMENSIONnom_matriu (índex_mínim files:índex_màxim files, índex mínim columnes:índex màxim columnes) REAL*8nom_vector (índex_mínim:índex_màxim) · També es poden declarar només els índexos màxims i obviar-ne els mínims. · Poden ser de tipus real, integer o character. · Els índex de les files i columnes s’han de posar explícitament o en funció d’un paràmetre prèviament declarat. AIPQ - Fortran

  33. VARIABLES INDEXADES Exemple de declaració: DIMENSION VEC1(20),VEC2(30),MAT1(4,4),MAT2(6,2) Com treballar amb variables indexades do i=1,3 do j=1,3 B(i,j)=A(j,i) end do end do DO implícit (per lectura i escriptura de vectors i matrius) ex 1: WRITE(6,*) (VEC(I), I=1,N) escriu el vector en una mateixa línia ex 2:do i=1,N WRITE(6,*) VEC(I) end doescriu el vector en una columna (N línies) AIPQ - Fortran

  34. LECTURA I ESCRIPTURA AMB FORMAT S’utilitza per llegir i/o escriure resultats amb un ‘aspecte’ determinat. READ(5,etiqueta) llista variables WRITE(6,etiqueta2) llista variables (...) etiqueta FORMAT(llista especificacions) etiqueta2 FORMAT(llista especificacions 2) 1. Onetiquetaés un número entre 1 i 99999. No es pot posar una instrucció FORMAT sense etiqueta. 2. Pot haver-hi tantes etiquetes com es desitgi en un programa. 3. No importa on es col·loqui la instrucció FORMATdins del programa, no és una sentència executable. En la llista d’especificacions: 1. Les cadenes de caràcters s’escriuen entre apòstrofs: ‘cadena car’. 2. Les diferents instruccions se separen per comes (,). 3. La llista d’especificacions pot ocupar diverses línies de codi. AIPQ - Fortran

  35. Models d’edició de variables en la instrucció Format In per a enters, on n és la longitud total del camp. Fn.d per a reals i reals de doble precisió. d és el nombre de decimals. En.d per a reals (notació científica). Dn.d per a reals de doble precisió (notació científica). A o An per a cadenes de caràcters. mIn, mFn.d, mAn, ...quan hi ha m variables que segueixen el model d’edició “In”, “Fn.d”, “An”, ... respectivament. (Exemple: 2A4 indica dues variables de caracters de longitut de camp 4.) mX per posar espais en blanc, on m indica el nombre d’espais. / per a què el cursor salti de línia. $ per a què el cursor es mantingui en la mateixa línia. AIPQ - Fortran

  36. SUBPROGRAMES Són molt emprats per realitzar la mateixa tasca en diverses ocasions. La clau és: - escriure un sol cop el codi corresponent a aquella/es operació/ns. - cridar aquell subprograma quan convingui. SUBROUTINEnom (llista_paràmetres) instruccions de declaració instruccions executables RETURN END FUNCTIONnom (llista_paràmetres) instruccions de declaració instruccions executables RETURN END La instrucció de crida d’un subprograma és call per les subrutines o simplement anomenar la funció en el cas de les últimes. AIPQ - Fortran

  37. EXEMPLES FUNCTION I SUBROUTINE program funcio1 real*8 a,r c c aquest programa calcula l’àrea d’un c cercle Area=PI*r**2 c read(5;*) r a=area(r) write(6,*) a end function area(x) real*8 x, area, pi parameter (pi=3.14159) area=pi*x**2 return end program sub real*8 a,r c c aquest programa calcula larea d’un c cercle Area=PI*r**2 c read(5;*) r call area(a, r) write(6,*) a end subroutine area(x, y) real*8 x, y, pi parameter (pi=3.14159) x=pi*y**2 return end AIPQ - Fortran

  38. OPEN / CLOSE L’entrada i/o la sortida de dades es fa a través de arxiu/s. Amb cadascun dels arxius utilitzats en el programa: 1) Cal “obrir-lo” amb la comanda OPEN(etiqueta,file=‘nom_arxiu’), on etiquetaés un nombre diferent de 5 i 6. 2) En les instruccions d’escriptura i/o lectura en l’arxiu, s’empra l’etiqueta de l’arxiu (assignada en l’OPEN) enlloc del 5 i/o el 6 usuals. 3) Cal “tancar-lo” amb la comanda CLOSE(etiqueta). OPEN(4,FILE=‘ENTRADA.TXT’) READ(4,*) X1, X2, X3 Y1=X1*2 Y2=X2*2 Y3=X3*2 OPEN(44,FILE=‘SORTIDA.TXT’) WRITE(44,*) Y1, Y2, Y3 CLOSE(4) CLOSE(44) END Exemple: AIPQ - Fortran

  39. CODIS EXEMPLE. 2 Programa funcions i operacions c program funcions real*8 x, y, z, r, s, t write(6,50) read(5,*) x y=log(x) z=exp(x) r=sin(x) c L'argument de la funcio sinus esta en radians. s=sqrt(x) t=(z+r)/s-y c Aixo no es (z+r)/(s-y). write(6,100) x, y, z, r, s, t 50 format(/,3x,'Escriu un nombre real: ', $) 100 format(/,3x,'Logaritme neperia de', F10.5,'= ', F10.5, / & 3x,'Exponencial = ', F10.5, / & 3x,'Sinus = ', F10.5, / & 3x,'Arrel quadrada = ', F10.5, / & 3x,'(z+r)/s-y = ', F10.5, //), end AIPQ - Fortran

  40. CODIS EXEMPLE. 3 Programa variables i expressions logiques c234567 integer*4 i,j logical*1 k c k es una variable logica write(6,20) read(5,*) i, j k=i.le.j write(6,30) write(6,*) k write(6,*) 20 format( /, 3x, 'Introdueix dos nombres enters, separats per un esp &ai en blanc.',/) 30 format( /,'El resultat de l''expressio logica de comparacio dels n &ombres es ',$) end AIPQ - Fortran

  41. CODIS EXEMPLE. 4 Exemple sentències IF i DO c234567 c Quantes vegades escriu la paraula 'quimica' aquest codi? do 10 m=1, 5 do 20 j=m, 6 if ((m.gt.3).or.(j.lt.m)) write(6,*) 'quimica' 20 continue 10 continue end AIPQ - Fortran

  42. CODIS EXEMPLE. 5 Programa triangle c234567 c Exemple amb IF ... ELSE (IF)... ENDIF. integer*4 a,b,c write(6,*) ' Escriu tres nombres enters separats per espais.' read(5,*) a, b, c if ((abs(a-b).lt.c).and.(c.lt.(a+b))) then write(6,11) a,b,c if (a.eq.b) then write(6,*)' Es un triangle isosceles.' if (b.eq.c) then write(6,*)' i tambe equilater.' end if else if (a.eq.c.or.b.eq.c) then write(6,*)' Es un triangle isosceles.' else write(6,*)' Es un triangle escale.' write(6,*) end if else write(6,*)' Els segments no formen un triangle.' end if 11 format(' Existeix un triangle de costats',I3,',',I3,',',I3,/) stop end AIPQ - Fortran

  43. CODIS EXEMPLE. 6 Treball amb matrius c234567 c Aquest codi llegeix del teclat una matriu nxm. REAL*4 A DIMENSION A(50,50) write(6,*)' Introdueix el nombre de files de la matriu A.' read(5,*) n write(6,*)' Introdueix el nombre de columnes de la matriu A.' read(5,*) m write(6,*) 'Introdueix els elements de la matriu A per files separa &ts per espais. En acabar una linia, premer intro.' do i=1,n read (5,*) (A(i,j), j=1,m) end do end AIPQ - Fortran

  44. CODIS EXEMPLE. 7 Entrada/Sortida. OPEN, CLOSE c234567 c Gestio de fitxers. implicit double precision (A-H, O-Z) DIMENSION A(50,50), B(50,50) c Llegim una matriu A (3x3) d'un fitxer extern anomenat mat.in. open (2, file='mat.in') do i=1,3 read(2,*) (A(i,j), j=1,3) end do close (2) c Fem la trasposta de la matriu A. do i=1,3 do j=1,3 B(i,j)=A(j,i) end do end do c Escrivim la nova matriu B en un fitxer anomenat mat.out. open (3, file='mat.out') do i=1,3 write(3,*) (B(i,j), j=1,3) end do close (3) stop end AIPQ - Fortran

More Related