centro universitario uaem zumpango · estructuras de control de flujo las estructuras de control de...
Post on 23-Aug-2020
22 Views
Preview:
TRANSCRIPT
Centro Universitario UAEM ZumpangoIngeniería en Computación
Agosto 2016
IngenieríaenComputación CursodeInducció
UniversidadAutónomadelEstadodeMéxicoCentroUniversitarioUAEMZumpango
IngenieríaenComputación
UA:ProgramaciónEstructuradaTema:Estructurasdecontroldeflujoselectivas
Dr.AsdrúbalLópezChaualchau@uaemex.mx
Octubre2017
2
IngenieríaenComputación CursodeInducció
Contenido
3
1. Propósito de la UA2. Propósito de la UC 13. Estructuras de control de flujo
a. Selectivas4. Ejemplos5. Conclusiones6. Referencias
IngenieríaenComputación CursodeInducció
Propósito delaUA
• Aplicarelparadigmadelaprogramaciónestructuradapararepresentarentérminosdepseudocódigo,lasolucióndeproblemasrealesautomatizables,mostrandoenellaeldominiodevariablessimples,vectores,matrices,registrosymodularidad.
4
IngenieríaenComputación CursodeInducció
Propósito delaUC1:
• Identificarlasfasesdelametodologíadeprogramaciónestructuradaparalasolucióndeproblemas
ConocimientosdelaUC1:• Definiryexplicar:Algoritmo,fasesdelasolucióndeunprograma,sentencia,identificadores,expresiones,reglasdeprecedenciadesignosoperacionales,estructurasdedatosyestructurasdecontrol.
5
IngenieríaenComputación CursodeInducció
Guionexplicativodelusodeestematerial
• Enestasdiapositivasseexplicanlasestructurasdecontroldeflujoselectivas,aplicablesacualquierlenguajedeprogramación.• Serecomiendaaldocentecomenzarconejemplossimplesparaquelosalumnosentiendanelfuncionamientodecadaestructuradecontrol,ypaulatinamenteavanzarhaciaejemplosmáscomplejos.
6
IngenieríaenComputación CursodeInducció
Guionexplicativodelusodeestematerial
• SepresentanejemploscompletoslenguajeC,conlafinalidaddedespertarelinterésenlosalumnos,ydeorientarlosenlaimplementacióndeprogramassimplesperocompletosenunlenguajedeprogramaciónreal.• Serecomiendaaldocente,usarellenguajedeprogramaciónqueconsideremásapropiado.
7
IngenieríaenComputación CursodeInducció
Estructurasdecontroldeflujo
• EnlosprimerosejemplosdeestaUA,sedesarrollaronejemplosenlosqueseintroducendatosyseproducenresultadosqueseimprimenenlapantalladelacomputadora.• Entodosestosejemplos,losprogramasSONINCAPACESDETOMARDECISIONESBASADASENLOSDATOSINTRODUCIDOS.
8
IngenieríaenComputación CursodeInducció
Estructurasdecontroldeflujo
• Enestetema,seaprenderánlasprincipalesestructurasdecontroldeflujoselectivas,quepermitenhacerprogramasmásinteresantes,concapacidadde“tomardecisiones”simples.
9
IngenieríaenComputación CursodeInducció
Estructurasdecontroldeflujo
Lasestructurasdecontroldeflujosiguientes,sonválidasparacualquierlenguajedeprogramación.
• Selectivas:IF,IF-ELSE,SWITCH• Repetitivas:FOR,WHILE,DO-WHILE
10
IngenieríaenComputación CursodeInducció
Estructurasdecontroldeflujo
Lasestructurasdecontroldeflujosiguientes,sonválidasparacualquierlenguajedeprogramación.
• Selectivas:IF,IF-ELSE,SWITCH• Repetitivas:FOR,WHILE,DO-WHILE
11
Estasseránrevisadasenelpresentetema
Próximotema
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Permiteejecutar,oevitarlaejecucióndeungrupodesentencias.
LaformageneraldelaestructuraIF eslasiguiente:IF condición THEN
sentencia(s)END
12
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Permiteejecutar,oevitarlaejecucióndeungrupodesentencias.
Explicacióndecondición:IF condición THEN
sentencia(s)END
13
Lacondición esunasentenciaquetomavaloresTRUE oFALSE.
IngenieríaenComputación CursodeInducció
NOTAEneltemaanterior,seexplicaronlosoperadoresrelacionales.Serecomiendaunrepaso.
14
Operador Se lee
> Mayorque
< Menorque
>= Mayoroigual
<= Menoroigualque
== Igualque
!= Diferente que
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Permiteejecutar,oevitarlaejecucióndeungrupodesentencias.
FuncionamientodeIF:IF condición THEN
sentencia(s)END
15
Sicondición esTRUE entonces seejecutanestassentencias,encasocontrario(condición esFALSE)noseejecutan.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Ejemplo:Dadounnúmero,imprimirlapalabra“Negativo”encasodequeseamenoracero.
Solución.IF numero < 0 THEN
Imprime “Negativo”
END
16
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIFEjemploenC:Dadounnúmero,imprimirlapalabra“Negativo”encasodequeseamenoracero.
17
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Ejemplo:Dadounnúmero,imprimirlapalabra“Positivo”encasodequeseamayoracero.
Solución.IF numero > 0 THEN
Imprime “Positivo”
END
18
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIFEjemploenC:Dadounnúmero,imprimirlapalabra“Positivo”encasodequeseamayoracero.
19
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF
Ejemplo:Dadounnúmero,imprimirlapalabra“Cero”encasodequeseaigualacero.
Solución.IF numero == 0 THEN
Imprime “Positivo”
END
20
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIFEjemploenC:Dadounnúmero,imprimirlapalabra“Cero”encasodequeseaigualacero.
21
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
IF-ELSE permiteelegirlaejecucióndeunodedosbloquesdecódigo.Laformageneraleslasiguiente:
IF condición THENsentencias
ELSEsentencias
END
22
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
IF-ELSE permiteelegirlaejecucióndeunodedosbloquesdecódigo.FuncionamientodeIF-ELSE:
IF condición THENsentencias
ELSEsentencias
END
23
Lacondición tomavalorTRUE oFALSE
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
IF-ELSE permiteelegirlaejecucióndeunodedosbloquesdecódigo.FuncionamientodeIF-ELSE:
IF condición THENsentencias
ELSEsentencias
END
24
Sicondición tomavalorTRUEentoncesseejecutanestassentencias
Sicondición tomavalorFALSEentoncesseejecutanestassentencias
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
NOTA:EnlacondiciónIF-ELSE,lassentenciassonejecutadasdemaneraexclusiva.
IF condición THENsentencias
ELSEsentencias
END
25
Sóloseejecutaráunadeéstas,nuncalasdos.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
Ejemplo:Dadounnúmero,detectareimprimirsiésteesparoimpar.Solución.IF numero % 2 ==0 THEN
Imprime “Par”
ELSEImprime “Impar”
END
26
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSEEjemploenC:Dadounnúmero,detectareimprimirsiésteesparoimpar.
27
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
Ejemplo:Dadodosnúmerosdiferentesacero,indicarsitienenelmismosignoosignoscontrarios.Solución.IF numero1*numero2 > 0 THEN
Imprime “Signos iguales”
ELSEImprime “Signos diferentes”
END
28
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSEEjemploenC:Dadodosnúmerosdiferentesacero,indicarsitienenelmismosignoosignoscontrarios.
29
IngenieríaenComputación CursodeInducció
NOTAEneltemaanterior,seexplicaronlosoperadoreslógicos.Serecomiendaunrepasodeestosoperadores.
30
Operador Nombre Produceverdaderosiysólosi
&& AND A &&B,siA=verdaderoyBesverdadero
½½ OR A½½ B, si cualquiera oambosdeAyBsonverdaderos
^ XOR A^ B,siAyBtienenvaloresdistintos
! NOT !A,siAesfalso
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
Ejemplo:LascalificacionesdelosalumnosenlaUAEMseencuentranenunaescalaentre0y10.Dadaunacalificación,identificarsiesválidaono.Esdecir,verificarsiseencuentraonoenelintervalo[0a10]Solución.IF score >= 0 && score <= 10 THEN
Imprime “Calificación válida”
ELSEImprime “Calificación inválida”
END
31
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSEEjemploenC:LascalificacionesdelosalumnosenlaUAEMseencuentranenunaescalaentre0y10.Dadaunacalificación,identificarsiesválidaono.Esdecir,verificarsiseencuentraonoenelintervalo[0a10].
32
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
• PuedenanidarseestructurasIF-ELSE,estoesparticularmenteútilcuandoserequieredeprobarvariascondiciones.IF condición THEN
Sentencia
ELSE IF condición THENSentencia
ELSESentencia
END
33
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
• PuedenanidarseestructurasIF-ELSE,estoesparticularmenteútilcuandoserequieredeprobarvariascondiciones.IF condición THEN
Sentencia
ELSE IF condición THENSentencia
ELSESentencia
END
34
Sóloseejecutaráunadeéstas.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
Ejemplo:Dadounnúmero,detectarsiésteesnegativo,positivoocero,imprimirlaspalabras“Negativo”,“Positivo”o“Cero”segúnelcaso.Solución.IF numero < 0 THEN
Imprime “Negativo”
ENDIF numero > 0 THEN
Imprime “Positivo”
ENDIF numero == 0 THEN
Imprime “Cero”
END
35
OBSERVAQUESEDEBENDEPROBARTODAS LASCONDICIONES.
LASOLUCIÓNCONIF-ELSESEMUESTRAENLASIGUIENTEDIAPOSITIVA.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF-ELSE
Ejemplo:Dadounnúmero,detectarsiésteesnegativo,positivoocero,imprimirlaspalabras“Negativo”,“Positivo”o“Cero”segúnelcaso.Solución.IF numero < 0 THEN
Imprime “Negativo”
ELSE IF numero > 0 THENImprime “Positivo”
ELSEImprime “Cero”
END
36
CuandounacondiciónesTRUEseejecutalasentenciacorrespondiente,yYANOSECONTINÚANEVALUANDOlassiguientescondiciones.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF vsIF-ELSE
IF numero < 0 THENImprime “Negativo”
ELSE IF numero > 0 THENImprime “Positivo”
ELSEImprime “Cero”
END
37
IF numero < 0 THENImprime “Negativo”
ENDIF numero > 0 THEN
Imprime “Positivo”ENDIF numero == 0 THEN
Imprime “Cero”END
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoIF vsIF-ELSE
38
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoSWITCH
39
Estaestructuradecontrolpermiteseleccionarlaejecucióndeunbloquedecódigo,dependiendodelvalor(ocaso)quetengaunavariable.LaestructuradeSWITCH eslasiguiente:SWITCH variable
CASE c1:
sentencias
CASE c2:
sentencias
DEFAULT
sentencias
END
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoSWITCH
40
FuncionamientodeSWITCH:SWITCH variableCASE c1:
sentenciasCASE c2:
sentenciasDEFAULT
sentenciasEND
Sebuscalacoincidenciadelvalordelavariable conlosposiblescasos
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoSWITCH
41
FuncionamientodeSWITCH:SWITCH variableCASE c1:
sentenciasCASE c2:
sentenciasDEFAULT
sentenciasEND
Sebuscalacoincidenciadelvalordelavariable conlosposiblescasos
Seejecutanlassentencias deacuerdoadichacoincidencia
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoSWITCH
42
FuncionamientodeSWITCH:SWITCH variableCASE c1:
sentenciasCASE c2:
sentenciasDEFAULT
sentenciasEND
Sinoexistealgunacoincidencia,seejecutanestas sentencias.
IngenieríaenComputación CursodeInducció
EstructuradecontroldeflujoSWITCHSWITCH diaCASE 1:
Imprimir “Lunes”CASE 2:
Imprimir “Martes”CASE 3:
Imprimir “Miércoles”CASE 4:
Imprimir “Jueves”CASE 5:
Imprimir “Viernes”CASE 6:
Imprimir “Sábado”CASE 7:
Imprimir “Domingo”DEFAULT
Imprimir “No le corresponde algún día”END
43
Ejemplo:Dadounnúmeroenteroentre1y7,imprimirelcorrespondientedíadelasemanaquelecorresponde.
IngenieríaenComputación CursodeInducció 44
EjemploenC:Dadounnúmeroenteroentre1y7,imprimirelcorrespondientedíadelasemanaquelecorresponde.
IngenieríaenComputación CursodeInducció
NOTAS:EstructuradecontroldeflujoSWITCH
• Engeneral,SWITCH sólopuedeusarseconvariablesenteras.Sinembargo,algunoslenguajessoportanotrostiposcomoenumeracionesocadenas.• NoserecomiendausarSWITCHparaidentificarintervalos.
45
IngenieríaenComputación CursodeInducció
Conclusiones
• EnestetemasehancubiertolastresestructurasdecontroldeflujoselectivasIF,IF-ELSE YSWITCH.• TambiénsehanpresentadoejemplosdeimplementacionescompletasenlenguajeC.Dependiendodelcurso,puedeoptarseporotrolenguajedeprogramación.• Serecomiendaampliamenterealizarvariosejerciciostantoenclasecomofueradeella.
46
IngenieríaenComputación CursodeInducció
Referencias.
• Nell Dale.Programaciónyresolucióndeproblemas.McGrawHill,2010.• GarcíaBermejo,J.R. ProgramaciónEstructuradaenC.PRENTICE-HALL,9788483224236,2008.• Joyanes Aguilar,L.Fundamentosdeprogramación.McGrawHill,2008.• OSVALDOCAIRO,FUNDAMENTOSDEPROGRAMACION:PIENSAENC,ISBN9702608104,Pearson2006.
47
top related