Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf ·...

41
1 An An á á lisis lisis Num Num é é rico rico y y Programaci Programaci ó ó n n Facultad de Ingeniería Química Primavera 2009 Dra. Lilia Meza Montes – Instituto de Física

Transcript of Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf ·...

Page 1: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

1

AnAnáálisislisis NumNumééricoricoy y

ProgramaciProgramacióónnFacultad de Ingeniería Química

Primavera 2009

Dra. Lilia Meza Montes – Instituto de Física

Page 2: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

2

Conceptos Básicos

1. Varios2. Estructuras de programación3. Lenguaje Fortran

LMM

Page 3: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

3

Notas importantes para el curso• Buenos hábitos

a) Estudiarb) Aprender las instruccionesc) Respaldar (y borrar si es posible) los archivosantes de apagar la computadorad) Preguntar lo que no se entiendee) Hacer sus propios programas (no copiarlos)f) Escribir pseudocódigo

LMM

Page 4: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

4

1. Varios

Se presentan conceptosrelacionados con programación y

Fortran

Page 5: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

5

Programación• Programa: conjunto de instrucciones para que

la computadora realice una tarea• Algoritmo: procedimiento para obtener una

solución aproximada.• Estructuras de un algoritmo

a) secuenciab) selecciónc) repetición

Convención: mayúsculas para instruccionesdefinidas por la computadora

LMM

Page 6: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

6

Fortran• Formula Translation Fortran (traducción de

fórmulas)• Proceso para correr un programa:

Edición: las instrucciones se guardan en archivos (con extensión for: nombre.for)

Compilación: se revisan las instrucciones, si hay errores, genera mensajes indicando tipo de error y línea donde ocurre. Si no hay errores, genera archivo en lenguaje de máquina.

• Liga y ejecución: Si instrucciones en variosarchivos, los liga y genera un archivo ejecutable, el cual al ser llamado ejecutará las instrucciones.

Page 7: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

7

Formato de un programaprincipal en Fortran

PROGRAMPROGRAM nombrenombreC C DeclaracionDeclaracion de variablesde variables

REALREALINTEGERINTEGERCHARACTERCHARACTER

**C C InstruccionesInstrucciones del del programaprograma**C Fin del C Fin del programaprograma

STOPSTOPENDEND

NotasNotas: En Fortran 77 se : En Fortran 77 se escribenescriben instruccionesinstrucciones a a partirpartir de 7a de 7a columnacolumna y y hastahasta la 72a.la 72a.C,* C,* parapara comentarioscomentarios (se (se escribenescriben en 1a en 1a columnacolumna))! ! ComentariosComentarios, se , se ignoraignora lo lo escritoescrito despuésdespués de de esteeste signosigno LMM

Page 8: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

8

Instrucciones en un programa• Representación de información sencilla (declaración de

constantes, variables y sus tipos)

• Representación de información más compleja (estructuras de datos, arreglos y registros)

• Fórmulas matemáticas (asignación , reglas de prioridad y funciones intrínsecas)

• Entrada/Salida (de informació)

• Representación lógica (secuencias, selección y repetición)

• Programación modular (funciones y subrutinas)

LMM

Page 9: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

9

Convención en Pseudocódigo

Asignación de valorvariable=valor

Para entrada: INPUT variable

Para salida:DISPLAY variable

variable=valor

READ(*,*)variable

WRITE(*,*)variableDispositivoDispositivo de de salidasalida: :

monitormonitorFormatoFormato librelibre en en salidasalida

LMM

DispositivoDispositivo de de entradaentrada: : tecladoteclado

FormatoFormato librelibre en en entradaentrada

Instruccionesen Fortran

Page 10: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

10

Variables

EnterasEnteras: : empiezanempiezan con con laslas letrasletras I,J,K, L, M, NI,J,K, L, M, NRealesReales EmpiezanEmpiezan con con laslas letrasletras AA--H, OH, O--ZZCaracteresCaracteres:: La La cadenacadena de de caracterescaracteres entreentre comillascomillas

PrecisiónPrecisión asignadaasignada: : SIMPLESIMPLE: : realesreales (real*4 con 6 (real*4 con 6 cifrascifras significativassignificativas, 16 bits), 16 bits)EnteroEntero: integer*4 : integer*4 CaracteresCaracteres 1 1 caractercaracter

Localidad de almacenamiento de datos que puede ser modificada durantela ejecución del programa.

Cada variable tiene un nombre que la identifica. Características de los nombres:

•Debe comenzar con un caracter del alfabeto•No puede contener un punto o caracter de tipo de declaración (!, =, etc.) •Debe ser única en el contexto. •No debe tener más de 255 characters.

TIPOS DE VARIABLES

LMM

valorvalor

AA

Page 11: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

11

Ejemplo de programaPROGRAM PROGRAM Ejemplo_variablesEjemplo_variables

C C DeclaracionDeclaracion de variablesde variablesinteger ninteger nreal a1real a1character*3 character*3 var_carvar_car

C C AsignacionAsignacion de de valoresvaloresn=2n=2a1= 1.4ea1= 1.4e--44var_carvar_car=‘=‘abcabc’’write(*,*)n,a1,var_carwrite(*,*)n,a1,var_carn=3n=3write(*,*)’n’=,nwrite(*,*)’n’=,nSTOPSTOPENDEND

NotasNotas::nombrenombre de de programaprogramacomentariocomentario

variable variable enteraenteravariable realvariable realcadenacadena con 3 con 3 caracterescaracteres

comentariocomentarion n tienetiene valor 2valor 2real en real en notaciónnotación científicacientíficatrestres caracterescaracteresescribeescribe valoresvalores de variablesde variablesmodificamodifica nnescribeescribe cadenacadena de de caracterescaracteres y y valor de nvalor de n

terminatermina programaprogramafinalizafinaliza

Page 12: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

12

Arreglos (=arrays)•• EscalaresEscalares

Solo tienen un valor, se asigna con nombre=valor•• VectoresVectores

tienen n componentes, n es la dimensiónEjemplo Si n=3, un vector A=(a1,a2,a3) tiene componentes a1, a2, a3.

Varias formas de Declaración, ejemplos (alguna de las dos):REAL A(3)DIMENSION A(3)

Asignación de valores:A(1) = valor1A(2) = valor2A(3) = valor3

Notas: Indices y dimensiones son enterosPuede irse incrementando dimensión, se declaran en forma diferente; pero en nuestro caso será fija.

A (1)A (1)

A A

A (2)A (2) A (3)A (3)

Page 13: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

13

Arreglos (=arrays)•• MatricesMatrices

Una matriz de tamaño m x n (m renglones, n columnas)

Elemento aij renglón i, columna j

Declaración (3 x 2), alguna de las dos:

REAL A(3,2)DIMENSION A(3,2)

Asignación de valoresA(1,1 )= valor11A(2,2) = valor22A(3,2) = valor32

Nota: Puede irse incrementando dimensión, se declaran en forma diferente; pero en nuestrocaso ésta será fija.

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

=

mnmmm

n

n

aaaa

aaaaaaaa

A

.........

...

321

2232221

1131211

Un Arreglo en general, puedetener varios índicesEjemplo tamaño 3x2x4Declaración

REAL A(3,2,4)Asignación de valores

A(1,1,1)=valor111A(3,2,4)=valor324

Page 14: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

14

Ejemplo

PSEUDOCÓDIGOInput nDO i=1,n

A(i)=iENDDO

Input jDISPLAY A(j)

FIN

PLANTEAMIENTOPLANTEAMIENTOHacerHacer un un programaprograma queque1.1. Declare un Declare un arregloarreglo ((enteroentero) de un ) de un

ciertocierto nnúúmeromero de de elementoselementos((dimensidimensióónn) )

2.2. Lea n Lea n ≤≤dimension del dimension del arregloarreglo3.3. GenereGenere arregloarreglo taltal queque la la ii--éésimasima

componentecomponente sea sea igualigual al al ííndicendice de de la la componentecomponente..

4.4. Lea Lea enteroentero jj5.5. EscribaEscriba el valor de la el valor de la componentecomponente

j del j del arregloarreglo

TAREA: 2.9, 2.17,2.18 de TAREA: 2.9, 2.17,2.18 de ChapraChapra

Page 15: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

15

2. 2. EstructurasEstructurasdede

programaciprogramacióónn

LMM

Page 16: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

16

Diagrama de flujo• Representación visual o gráfica de un algoritmo• Utiles para planear, aclarar o comunicar la lógica

del programa

Flujo de la lógica.Arco indica queno hay conexión

entre flechas

Líneas de flujo

Inicio o final de programa

Terminal

FunciónNombreSímbolo

Page 17: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

17

Comparación, pregunta o decisión

que derterminacaminos alternativos

Decisión

De datos o información

Entrada-salida

Confluencia de líneas de flujo

Unión

Cálculos o manipulación de

datos

ProcesoFunciónNombreSímbolo

Page 18: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

18

Ciclo: Repeticiónpredeterminada de

iteraciones

Ciclo de cuenta

controlada

Continúa en otrapágina

Conexiónde fin de página

FunciónNombreSímbolo

PseudocódigoPseudocódigo••ExpresionesExpresiones semejantessemejantes a a laslas del del códigocódigo de la de la computadoracomputadora en en lugarlugar de de símbolossímbolos gráficosgráficos

Page 19: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

19

a) Estructura secuencial: instrucción tras instrucción

Instrucción1

Instrucción2

Instrucción3

Instrucción 1

Instrucción 2

Instrucción 3

Diagrama de flujo Pseudocódigo

LMM

Page 20: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

20

Operaciones aritméticas• Pseudocódigo+ Suma- Resta* Multiplicación/ DivisiónPotencia: ab

• Sintaxis en Fortran+-*/** a**b= ab

// Concatenación de caracteres

EjecutaEjecuta primeroprimero laslas operacionesoperacionesde mayor de mayor prioridadprioridadmayor mayor prioridadprioridad PotenciaPotenciasiguientesiguiente *, /*, /siguientesiguiente +,+,--

LMM

‘‘a’//’a’//’b’b’ ‘ab‘ab’’

Page 21: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

21

EjemplosSintaxisSintaxis en Fortranen Fortran

a+ba+b*c*c

a*c**2a*c**2

(a*c)**2(a*c)**2

A+b/cA+b/c

((A+b)/cA+b)/c

A/(b*c)A/(b*c)

a/b*ca/b*c

EcuaciónEcuación

a+bca+bc

A*cA*c22

(ac)(ac)22

A+ (A+ (b/cb/c))

((A+b)/cA+b)/c

A/(A/(bcbc))

(A/(A/b)/cb)/c

ObservacionesObservaciones

TieneTiene * mayor * mayor prioridadprioridad queque ++

PrimeroPrimero elevaeleva c al c al cuadradocuadrado

PrimeroPrimero multiplicamultiplica, , resultadoresultado al al cuadradocuadradoPrimeroPrimero divide divide b/cb/c y le y le sumasuma AA

PrimeroPrimero sumasuma ((A+bA+b) y lo divide) y lo divide

PrimeroPrimero multiplicamultiplica bcbc y y luegoluegodividedividePrimeroPrimero divide A y b, divide A y b, luegoluego dividedivide

Si hay Si hay dudaduda, , particularmenteparticularmente en en operadoresoperadores de de mismamisma prioridadprioridad, , usarusar ()()LMM

Page 22: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

22

Ejercicios

• Hacer un programa que:1. Lea dos números2. Realice dos operaciones aritméticas con

ellos3. Escriba los dos resultados especificando

el tipo de operación realizada, por ejemplo‘Suma=‘ ó ‘ab**2’.

Page 23: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

23

b) Estructuras de selección

División del flujo del programa considerandoel resultado de una condición lógica

Condición lógica: igualdad, desigualdad, criterio.

LMM

Page 24: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

24

IF/THEN una alternativa[ IF=si (condicional); THEN=entonces]

Condición?

Bloque Verdadero

Verdadero

IF condición THENBloque Verdadero

ENDIF

DiagramaDiagrama de de flujoflujo PseudocPseudocóódigodigo

••Se Se analizaanaliza la la condicicondicióónn••Si Si eses VerdaderaVerdadera

se se ejecutanejecutan instruccionesinstruccionesdel del BloqueBloque VerdaderoVerdadero

••Si no Si no eses VerdaderaVerdadera se se ignoraignoraBloqueBloque VerdaderoVerdadero y y contincontinúúaaejecuciejecucióónn despudespuééss de ENDIFde ENDIF

EjemploEjemploLMM

Page 25: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

25

Expresión Matemática Sintaxis en Fortran

(A.ne.B)ne=not equal to

A≠B

(A.eq.B)eq=equal to (igual a)

A=B

(A.ge.B)ge=greater or equal to

A≥B

(A.gt.B)gt=greater than (mayor que)

A>B

(A.le.B)le=less than or equal to

A≤B

(A.lt.B)lt=less than (menor que)

A<B

LMM

Page 26: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

26

EjemploEjemplo

LMM

Page 27: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

27

IF/THEN/ELSE dos alternativas[ ELSE=de otro modo, de lo contrario]

Condición?

Bloque Verdadero

Verdadero

IF condición THENBloque Verdadero

ELSEBloque Falso

ENDIF

Bloque Falso

Falso

DiagramaDiagrama de de FlujoFlujoPseudocPseudocóódigodigo

••Se Se analizaanaliza la la condicicondicióónn••Si Si eses VerdaderaVerdadera

se se ejecutaejecuta BloqueBloqueVerdaderoVerdadero••Si Si eses FalsaFalsa se se ejecutaejecutaBloqueBloque FalsoFalso••ELSE divide los ELSE divide los bloquesbloques••ENDIF fin de ENDIF fin de estructuraestructura

EjemploEjemplo LMM

Page 28: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

28

EjemploEjemplo

LMM

Page 29: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

29

IF/THEN/ELSEIF múltiples alternativas[ ELSEIF “palabra” creada para computación]

Condición1?

Bloque 1

V IF condición1 THENBloque 1

ELSEIF condición2Bloque 2

ELSEIF condición3Bloque3

ELSEBloque4

ENDIF

F

Condición3?

Condición2?

Bloque 4

Bloque 2

Bloque 3

F

FV

V

DiagramaDiagrama de de FlujoFlujo

PseudocPseudocóódigodigo

••SemejanteSemejante a ELSEa ELSE••VariasVarias condicionescondiciones••ÚÚltimaltima se se indicaindica con con ELSEELSE

LMM

Page 30: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

30

CASE [ case=caso]

ExpresiónDe

prueba

Bloque 4

PseudocódigoSELECT CASE Expresión de prueba

CASE Valor1Bloque1

CASE Valor2Bloque2

CASE Valor3Bloque3

CASE ELSEBloque4

END SELECT

Bloque 1 Bloque 3Bloque 2

Tantas como sea necesario

Valor1

Otro

DiagramaDiagrama de de FlujoFlujo

LMM

Valor2

Page 31: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

31

Sintaxis en FortranSelect Case (expresión de prueba)

[Case (valor n de la lista)[Bloque n]] . . .

[Case Default si el valor no esta en la lista[Bloque else-n]]

End Select ]

•El contenido entre [] es opcional•expresión de prueba puede ser número (real o entero) o cadena de caracteres

Su evaluación da un valor valor llamado índice del caso. •Se ejecuta el Bloque n correspondiente al valor n de la expresión de prueba•Bloque: secuencia de cero o más instrucciones o construcciones

EjemploEjemplo LMM

Page 32: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

32

EjemploEjemplo

LMM

Page 33: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

33

c) c) EstructuraEstructura de de repeticirepeticióónn

•Ejecución repetida de instrucciones en un ciclo o loop(Loop= rizo, lazo)•Se clasifican según la forma en que terminan

LMM

Page 34: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

34

Loop de decisióntermina con decisión lógica

Condición?

Bloque 2

V

DOBloque 1

IF condición EXITBloque 2

ENDDO

Bloque 1

F

LMM

PseudocPseudocóódigodigo

Page 35: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

35

Sintaxis en Fortran

DO [etiqueta[, ] ] WHILE (expresión)Bloque1

IF (condición) EXITBloque2

[etiqueta] END DO

Etiqueta: número para especificar una instrucción ejecutable

Expresión: es una expresión escalar (un solo valor) lógica(puede ser Falsa o Verdadera).

ProblemaProblema 2.12.1

LMM

Page 36: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

36

Loop controlado por contador o loop DOFOR número determinado de repeticiones o iteraciones

[DO=hacer]

i>fin?

Bloque

i=inicio DO FOR i=inicio, fin, incrementoBloque

ENDDO

F

i=i+incremento

V

Si Si incrementoincremento <0<0terminatermina cuandocuando i<fini<fin

PseudocPseudocóódigodigo

••IndiceIndice I I tomartomaráá valoresvalores desdedesde incioinciohastahasta fin fin aumentandoaumentando segsegúúnnincrementoincremento••Para Para cadacada valor de i, valor de i, mientrasmientras ii≤≤finfin, , ejecutaejecuta BloqueBloque••Al Al llegarllegar a ENDDO, se a ENDDO, se incrementaincrementa el el valor de ivalor de i••TerminaTermina cuandocuando i>fini>fin

LMM

Page 37: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

37

Loop controlado por contador o loop DOFOR

Número determinado de repeticiones o iteraciones

••IndiceIndice ii: variable con valor : variable con valor inicialinicial inicialinicial y valor final y valor final finfin•• SE PRUEBA SI SE PRUEBA SI ii ≤≤ finfin

sisi lo lo eses ejecutaejecuta BloqueBloque y y vuelvevuelve al al inicioinicio del del lazolazo

en ENDDO: se en ENDDO: se incrementaincrementa i i porpor valor valor definidodefinido porporusuariousuario (default 1)(default 1)

•• Si Si i i > > finfin sale del loopsale del loop

LMM

Page 38: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

38

Sintaxis en Fortran[[ NombreNombre::]] DODO [[etiquetaetiqueta, ] ] , ] ] ííndicendice==inicioinicio,,finalfinal, , incrementoincremento

BloqueBloque[[etiquetaetiqueta]] finalizacionfinalizacion [[NombreNombre]]

NombreNombre ((OpcionalOpcional): ): nombrenombre de la de la construcciconstruccióónn DODO. . etiquetaetiqueta ((OpcionalOpcional en END DO): en END DO): nnúúmeromero parapara identificaridentificar la la llííneanea de de finalizacifinalizacióónn, se , se escribeescribe en en laslas primerasprimeras 5 5 columnascolumnasÍÍndicendice: : variable variable enteraentera queque tomatoma el valor el valor inicialinicial inicioinicio, , aumentaaumenta porpor la la cantidadcantidad incrementoincremento (default 1)(default 1) mientrasmientras sea sea menormenor o o igualigual queque finalfinalBloqueBloque: : secuenciasecuencia de cero o de cero o mmááss instruccionesinstrucciones o o construccionesconstrucciones. . FinalizaciFinalizacióónn:: llííneanea parapara indicarindicar final del DO. final del DO. PuedePuede ser END DO, ser END DO, CONTINUE o CONTINUE o unauna instrucciinstruccióónn..

NOTA: NOTA: PuedePuede haberhaber un DO un DO dentrodentro de de otrootro ((anidadoanidado), ), puedenpueden tenertenermismamisma etiquetaetiqueta

EjemplosEjemplos enddoenddo continuecontinue instrucciinstruccióónnLMM

Page 39: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

39

Ejemplo con finalización END DO

LMM

Page 40: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

40

Ejemplo con finalizaciónCONTINUE

Notar la etiqueta de continuación 10 en las primeras 5 columnas

LMM

Page 41: Análisis Numérico y Programación - ifuap.buap.mxlilia/numerico/Estructuras_programacion_1.pdf · la computadora realice una tarea ... cadena con 3 caracteres comentario n tiene

41

Ejemplo final con instrucciónNotar la etiqueta de continuación 10 en las primeras 5 columnas de la

instrucción write

EjemploEjemplo: : sumasuma de de primerosprimeros n n naturalesnaturalesLMM