Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo...

Post on 07-Feb-2015

6 views 0 download

Transcript of Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo...

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

rogramación rogramación dedeomputadoreomputadoress

Algoritmos: Algoritmos: Constructores Constructores

BásicosBásicos

Algoritmos: Algoritmos: Constructores Constructores

BásicosBásicos

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

ESTRUCTURAS DE CONTROLESTRUCTURAS DE CONTROL

• SecuenciaSecuencia

• SelecciónSelección

• IteraciónIteración

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

• DefiniciónDefinición

• Tipos de IteraciónTipos de Iteración

• Tipos de VariablesTipos de Variables

• Correspondencia entre Correspondencia entre ciclosciclos

ITERACIÓNITERACIÓN

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

Ejecución repetitiva de un conjunto Ejecución repetitiva de un conjunto de instrucciones.de instrucciones.

““Te Te quiero”quiero”

““Yo Yo también”también” ““Te Te

quiero”quiero”............

““Yo Yo también”también”

..

..

..

..

..

..

..

““Te Te quiero”quiero”

““Yo Yo también”también”

DEFINICIÓNDEFINICIÓN

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

TIPOS DE ITERACIÓNTIPOS DE ITERACIÓN

•Ciclo MIENTRASCiclo MIENTRAS

•Ciclo HAGA-MIENTRASCiclo HAGA-MIENTRAS

•Ciclo PARACiclo PARA

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

CICLO MIENTRASCICLO MIENTRAS

Permite ejecutar repetidamente un conjunto de instrucciones, mientras que una condición sea verdadera.

La condición siempre se evalúa antes de ejecutar el bloque de instrucciones.

CICLO MIENTRASCICLO MIENTRAS

  DIAGRAMA DE DIAGRAMA DE FLUJO FLUJO

PSEUDOCODIGOPSEUDOCODIGO

mientras <condición> hacer <bloque de instrucciones>fin_mientras

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

Escribir en pantalla los Escribir en pantalla los números del uno al tresnúmeros del uno al tres

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

ProgramaPrograma(Diagrama de (Diagrama de

Flujo)Flujo)

:=

:=

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

x: enterox: entero

x = 1x = 1

mientrasmientras x x 3 3 hagahaga

escribirescribir xx

x = x+1x = x+1

fin_mientrasfin_mientras

ProgramaPrograma(pseudocódigo)(pseudocódigo)

MemoriMemoriaa

?????? xx

112233

11

44

22 33

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

PantallPantallaa

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

CICLO HAGA- MIENTRASCICLO HAGA- MIENTRAS

““Veo el arco iris Veo el arco iris

mientras llueve y hace solmientras llueve y hace sol””

En este ciclo la condición se evalúa después de ejecutar el bloque de instrucciones, por lo tanto, el bloque se ejecuta por lo menos una vez y se repite en caso que la evaluación de la condición sea verdadero.

CICLO HAGA - MIENTRASCICLO HAGA - MIENTRAS

  DIAGRAMA DE FLUJO DIAGRAMA DE FLUJO PSEUDOCODIGOPSEUDOCODIGO

haga <bloque de instrucciones> mientras <condición>

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

Escribir en pantalla los Escribir en pantalla los números del uno al tresnúmeros del uno al tres

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

ProgramaPrograma(Diagrama de (Diagrama de

Flujo)Flujo)

:=

:=

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

x: enterox: entero

x = 1x = 1

hagahaga

escribirescribir xx

x = x+1x = x+1

mientrasmientras x < 4x < 4

ProgramaPrograma(pseudocódigo)(pseudocódigo)

MemoriMemoriaa

?????? xx

112233

11

44

22 33

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

PantallPantallaa

CICLO PARACICLO PARA

Ejecuta un conjunto de instrucciones un número determinado de veces. Ese número es controlado por una variable contadora (entera), que toma valores desde un límite inferior hasta un límite superior.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

CICLO PARACICLO PARA

  DIAGRAMA DE DIAGRAMA DE FLUJO FLUJO

PSEUDOCODIGOPSEUDOCODIGO

para (<variable> := <lim_inf> hasta <lim_sup>) hacer          <bloque instrucciones>fin_para

para variable limite_inf,hasta limite_sup

<bloque de instrucciones>

ENTRADA

SALIDA

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

Realizar la suma de los númerosRealizar la suma de los númerosdel 1 hasta el N e imprimirla en del 1 hasta el N e imprimirla en

pantallapantalla

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

ProgramaPrograma(Diagrama de (Diagrama de

Flujo)Flujo)IteraciIteración ón

INICIO

Leer N

suma 0

suma suma + i

escribirsuma

FIN

para i 1, hasta N

:=

:=

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

suma, n, i: suma, n, i: enteroenterosuma = 0suma = 0leerleer nnparapara i=1i=1 hastahasta nn hacerhacer suma = suma+isuma = suma+ifin_parafin_paraescribir sumaescribir suma

X

MemoriaMemoria

??? S xxxxxx xxxxxx

EJEMPLOEJEMPLO

suma i suma i n n xxxxxx

66

00 11 3311 2233 3366 44

ProgramaPrograma(pseudocódigo)(pseudocódigo)

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

TIPOS DE VARIABLESTIPOS DE VARIABLES

• Variables ContadorasVariables Contadoras

• Variables Variables AcumuladorasAcumuladoras

• Variables BanderaVariables Bandera

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

VARIABLES VARIABLES CONTADORASCONTADORAS

Ejemplo: Una variable de control Ejemplo: Una variable de control en un ciclo para.en un ciclo para.

11 11GeneralmenteGeneralmente

óó

Se usan dentro de un ciclo para CONTAR ( llevar la cuenta de algo). Son de tipo entero

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

Leer números mientras una variableLeer números mientras una variable contadora sea positivacontadora sea positiva

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

i, n: enteroi, n: enteroi i == 5 5mientrasmientras i >= i >= 11 hacerhacer leer leer n n escribirescribir nn i i == i - 2 i - 2fin_mientrasfin_mientras

MemoriaMemoria

xxxxxx i i n n xxxxxx553311-1-1 220077

22 00 77

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

VARIABLES VARIABLES ACUMULADORASACUMULADORAS

Se usan dentro de un ciclo para Se usan dentro de un ciclo para ACUMULAR (totalizar alguna cuenta). ACUMULAR (totalizar alguna cuenta). Almacenan valores numéricos (entero Almacenan valores numéricos (entero o real)o real)

GeneralmenteGeneralmente

óó

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

Realizar la suma de i al cuadrado Realizar la suma de i al cuadrado para los números del 1 al 3para los números del 1 al 3

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

i, suma: enteroi, suma: enteroi i == 1 1suma suma == 0 0mientrasmientras i <= 3i <= 3 hacerhacer suma suma == suma + suma + i*ii*i i i == i + 1 i + 1 fin_mientrasfin_mientras escribirescribir sumasuma

MemoriaMemoria

xxxxxx

i i suma suma xxxxxx

1414

112233 0044 11551414

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

VARIABLES BANDERAVARIABLES BANDERA

Se usan dentro de un ciclo para Se usan dentro de un ciclo para determinar si este continúa determinar si este continúa iterando o no. Generalmente son de iterando o no. Generalmente son de tipo booleano o entero.tipo booleano o entero.

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

Leer un entero positivo y Leer un entero positivo y determinar si tiene determinar si tiene divisores exactosdivisores exactos

EJEMPLOEJEMPLO

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOEJEMPLO

n, d: enteron, d: enteroflag: booleanoflag: booleano leerleer nnd = 2d = 2flag = falsoflag = falsomientras mientras (~flag) & (d < n)(~flag) & (d < n) hacerhacer sisi nn mod mod d = 0d = 0 entoncesentonces flag = verdaderoflag = verdadero fin_sifin_si d = d+ 1d = d+ 1fin_mientrasfin_mientrassisi (flag)(flag) entoncesentonces escribirescribir “Divisor exacto”“Divisor exacto”fin_sifin_si

MemoriaMemoria n d n d

flagflag

xxxx

Divisor Divisor exactoexacto

xxxx

xxxxxxfalsofalso

44 2233

verdaderoverdadero

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

CORRESPONDENCIA ENTRE CORRESPONDENCIA ENTRE CICLOSCICLOS

 haga   <bloque>mientras (<condición>)

mientras <condición> hacer    <bloque>  fin_mientras

Correspondencia entre el ciclo mientras y el ciclo haga-

mientras

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

CORRESPONDENCIA ENTRE EL CICLO PARA Y EL CICLO MIENTRAS

<variable> := <lim_inf> mientras <variable> <= <lim_sup> hacer     <bloque>        <variable> := <variable> +1fin _mientras                         

para <variable> := <lim_inf> hasta <lim_sup> hacer     <bloque>                                 fin _para                         

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLO CORRESPONDENCIA EJEMPLO CORRESPONDENCIA ENTRE CICLOSENTRE CICLOS

Leer 5 números correspondientesLeer 5 números correspondientesa las notas de un estudiantea las notas de un estudiante del cursodel curso e imprimirlas en e imprimirlas en

pantallapantalla

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLO “PARA”EJEMPLO “PARA”

i: enteroi: enterox: realx: reali=1i=1parapara i = 1i = 1 hastahasta 55 hacerhacer leerleer xx escribirescribir xx i = i+1i = i+1fin_parafin_para

ProgramaPrograma(pseudocódigo)(pseudocódigo)

MemoriMemoriaa?????? ii

112233

55

44

3.3.55

44

2.52.5 4.54.5

5566

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

PantallPantallaa

EJEMPLO “MIENTRAS”EJEMPLO “MIENTRAS”

i: enteroi: enterox: realx: reali=1i=1mientrasmientras ii 5 5 hacerhacer leerleer xx escribirescribir xx i = i+1i = i+1fin_mientrasfin_mientras

ProgramaPrograma(pseudocódigo)(pseudocódigo)

MemoriMemoriaa?????? ii

112233

33

44

2.2.55

44

4.54.5 55

5566

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

PantallPantallaa

EJEMPLO “HAGA EJEMPLO “HAGA MIENTRAS”MIENTRAS”

i: enteroi: enterox: realx: reali=1i=1hagahaga leerleer xx escribirescribir xx i = i+1i = i+1mientrasmientras ii 5 5finfin

ProgramaPrograma(pseudocódigo)(pseudocódigo)

MemoriMemoriaa?????? ii

112233

44

44

4.4.55

3.3.994.54.5 55

5566

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

TRADUCCION MIENTRAS PSEUDOCODIGOmientras <condición> hacer <bloque instrucciones> fin_mientras

CODIGOwhile(<condición>) { <bloque instrucciones> }

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

TRADUCCION HACER MIENTRASPSEUDOCODIGOhaga <bloque instrucciones>mientras <condición>

CODIGOdo{ <bloque instrucciones>}while(<condición>);

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

TRADUCCION PARAPSEUDOCODIGOpara (i := <lim_inf> hasta <lim_sup>) hacer <bloque instrucciones>fin_para

CODIGOfor (i = <lim_inf>; i <= <lim_sup>; i ++) { <bloque instrucciones>}

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

EJEMPLOS EN C++

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B

FINFIN

Gracias por la atención Gracias por la atención prestadaprestada

Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial

UN - Virtual

2008

Módulo 3ConstructoresBásicos. Parte

B