Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo...
-
Upload
raimunda-cabanas -
Category
Documents
-
view
5 -
download
0
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