SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
1
Estructuras de control.
Estructuras de control.
Secuencial, condicional y
Secuencial, condicional y
repetitivas.
repetitivas.
2
Estructuras de control.
 Hemos visto en los diagramas de flujo y
pseudo-código que:
1) Se piden datos de entrada (al usuario) →
Asiganción de valores a las variables
2) Se hacen cálculos con los datos introducidos por
el usuario, guardando el resultado deseado en
una variables → asignaciones.
3) Devolver al usuario los resultados almacenados
en variables → En pantalla → sentencia print.
 La programación Top-Down (Paradigma
estructural) → serie de líneas que se ejecutan una
tras otra
3
Estructuras de control.
 El flujo de ejecución del programa es
estrictamente secuencial.
 No obstante a esta linealidad, es posible
alterar este flujo de ejecución de órdenes para
conseguir:
1) tomar decisiones a partir de los datos y/o
resultados intermedios y, en función de éstas,
ejecuten ciertas sentencias y otras no;
2) tomen decisiones a partir de los datos y/o
resultados intermedios y, en función de éstas,
ejecuten ciertas sentencias más de una vez.
4
Estructuras de control.
 El primer tipo de alteración se efectúa con
sentencias condicionales o de selección.
 El segundo tipo con sentencias iterativas o
de repetición.
 Las sentencias que permiten alterar el flujo de
ejecución se engloban en las denominadas
estructuras de control de flujo → estructuras
de control.
5
 Ejemplo, resolver cualquier ecuación de primer
grado
ax + b = 0,
 Empezamos contestando:
 1. ¿Cuáles son los datos del problema?
 Se piden al usuario, los coeficientes a y b son los
datos del problema y son conocidos.
 2. ¿Qué deseamos calcular? → será mostrado
al usuario mediante un print.
 En este caso es el valor de x.
Estructuras de control:
Sentencias condicionales
6
 Conociendo los datos de entrada y el resultado
que hemos de calcular (datos de salida),
 ¿Cómo calcular la salida a partir de la entrada?
En el ejemplo: basta con despejar x de la
ecuación: x se obtiene calculando −b/a.
 Pasos:
 1. Pediremos el valor de a y el valor de b (que
supondremos de tipo flotante).
 2. Calcularemos el valor de x como −b/a.
 3. Mostraremos por pantalla el valor de x.
Estructuras de control:
Sentencias condicionales
7
 Nuestro procedimiento presenta un punto débil:
cuando a vale 0, se produce un error de
división b/0=? → NAN, INF, sistema colgado
etc
 En la medida de lo posible se debe tratar de
evitar los errores en tiempo de ejecución, ya
que:
 detienen la ejecución del programa y muestran
mensajes de error poco comprensibles para el
usuario.
Estructuras de control:
Sentencias condicionales
8
La sentencia condicional if
 En el ejemplo, se deberá detectar si a vale cero
para, en ese caso, no continuar con la
ejecución del cálculo, para prevenir un error de
ejecución
 La sentencia condicional o de selección quiere
decir:
 <<Al llegar a este punto, ejecuta esta(s)
acción(es) sólo si esta(s) condición(es) es
(son) cierta(s)>>
 Este es el condicional IF (Si)
9
La sentencia condicional if
 if a != 0:
 x = -b/a
 print ’Solución: ’, x
 Si introducimos a=0, b=1, no pasará nada, no
ocurre error, pero el procedimento no
producirá salida
10
 if a != 0:
 x = -b/a
 print ’Solución: ’, x
 if a == 0:
 print ’La ecuación no tiene solución.’

La sentencia condicional if
11
Sentencias condicionales
anidadas
 IF (Condición) THEN
 IF (Condición) THEN
 IF (Condición) THEN
12
 Ejemplo: Un capital de C euros a un interés del
x por ciento anual durante n años se convierte
en en
C · (1 + x/100)n euros.
 Diseñar el pseudo código que solicite la
cantidad C y el interés x y n y calcule el capital
final sólo si x es una cantidad positiva.

La sentencia condicional if
13
ELSE
 En caso contrario (else):
 if condición:
 acciones
 if condición contraria:
 otras acciones
14
ELSE
 Este tipo de combinación es muy frecuente,
hasta el punto de que se ha incorporado al
lenguaje de programación una forma abreviada
que significa lo mismo:
 if condición:
 acciones
 else:
 otras acciones
 Else → Si no, en caso contrario, además
15
 Construir mentalmente un programa tan
complicado es muy dificil, pero posiblemente
sea porque sigues una aproximación
equivocada: no debes intentar construir
mentalmente todo el programa de una vez.
 Es recomendable:
a) Primero haz una versión sobre papel que resuelva
el problema de forma directa ( tosca) Utilizar datos
concretos y hacer un esquema con el orden de las
operaciones a realiza y las desiciones tomada
Una estrategia de diseño:
refinamientos sucesivos
16
b) Analiza tu diseño y considera si realmente
resuelve el problema planteado: ¿es posible que se
cometan errores en tiempo de ejecución?, ¿hay
configuraciones de los datos que son especiales y,
para ellas, el cálculo debe ser diferente? → CASOS
PARTICULARES
 c) Cada vez que te plantees una de estas
preguntas y tengas una respuesta, modifica el
procedimiento en consecuencia. No hagas más de
un cambio cada vez.
Una estrategia de diseño:
refinamientos sucesivos
17
 d) Si el procedimiento funciona correctamente
para todas las entradas posibles y eres capaz
de anticiparte a los posibles errores de
ejecución, ¡Felcidades!, Si no es el caso,
regresa al paso b)
 e)Asegurando que todo funciona
correctamente, al teclear en el programa el
mayor número de pruebas posibles,
comprobando cuidadosamente que el resultado
calculado es correcto.
Una estrategia de diseño:
refinamientos sucesivos
18
 e) Presta especial atención a configuraciones
extremas o o singulares de los datos (los que
pueden provocar divisiones por cero o valores
muy grandes, o muy pequeños, o negativos,
etc.). Si el programa calcula algo diferente de lo
esperado o si se aborta la ejecución del
programa por los errores detectados, vuelve a
paso b).

Una estrategia de diseño:
refinamientos sucesivos
19
 Un error frecuente es tratar de diseñar el
programa directamente sobre el ordenador,
escribiéndolo a bote pronto. Es más, hay
estudiantes que se atreven a empezar con la
escritura de un programa sin haber entendido
bien el enunciado del problema que se
pretende resolver. Es fácil descubrirlos en falta:
no saben resolver a mano un caso particular
del problema. Una buena práctica, pues, es
solucionar manualmente unos pocos ejemplos
concretos para estar seguros de que
conocemos bien lo que se nos pide y cómo
calcularlo.
Una estrategia de diseño:
refinamientos sucesivos
20
Ejemplo
 Diseña un programa que, dados cinco números
enteros, determine cual de los cuatro ultimos
números es más cercano al primero. (Por
ejemplo, si el usuario introduce los números
 2, 6, 4, 1 y 10, el programa responderá que el
número más cercano al 2 es el 1
 Diseñelo para un número indetermidado de
números

21
 Evaluación con cortocircuitos:
 La evaluación de expresiones lógicas es algo
especial. Observa la condición de este if :
 if a == 0 or 1/a > 1:
 ¿Puede provocar una división por cero?
 NO
Estructuras de control:
Sentencias condicionales
22
●Evaluación con cortocircuitos:
 if a == 0 or 1/a > 1:
Si a vale cero, el primer término del or es 1.
Como la evaluación de una or lógica de 1 con
cualquier otro valor, es necesariamente 1, El
programa no evaluará el segundo término y se
ahorra así un esfuerzo innecesario.
23
●Evaluación con cortocircuitos:
 Algo similar ocurre en este otro caso:
 if a != 0 and 1/a > 1:
 Si a es nulo, el valor de a != 0 es 0, así que ya
no se procede a evaluar la segunda parte de
 la expresión.
 Al calcular el resultado de una expresión lógica,
se evalúa (siguiendo las reglas de asociatividad
y precedencia oportunas) lo justo hasta
conocer el resultado:
24
●Evaluación con cortocircuitos:
 cuando el primer término de un or es cierto, se
acaba y devuelve directamente cierto y cuando
el primer término de un and es falso, se acaba
y devuelve directamente falso.
 Este modo de evaluación se conoce como
evaluación con cortocircuitos.

25
Método de la iteración simple II:
 Segundo ejemplo: g(x)=5x-exp(x)
 ¿Cúantas raices tiene?
 ¿cuáles aboramos directamente con el método
de la iteración simple?
 ¿Cómo solucionamos las demás?
26
Pseudocódigo de la iteración
simple
27
iteración simple II: primera raiz
28
Método de la iteración simple:
Valor de la primera raiz:
29
iteración simple:
Convergencia
Divergencia

Más contenido relacionado

Similar a Estructuras de control y sentencias condicionales

Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)daniel lozada cutiva
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoJosé Antonio Sandoval Acosta
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoLincoln School
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++David
 
Yosenith illidge- introducción a la programación.
Yosenith illidge- introducción a la programación.Yosenith illidge- introducción a la programación.
Yosenith illidge- introducción a la programación.Luisa Fernandez Llorente
 
introducción a la programación. yosenith lllidge
introducción a la programación. yosenith lllidgeintroducción a la programación. yosenith lllidge
introducción a la programación. yosenith lllidgeLuisa Fernandez Llorente
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXReyna FalcÓn
 
Universidad fermin toro
Universidad fermin toroUniversidad fermin toro
Universidad fermin torofoliche
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoJosé Antonio Sandoval Acosta
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxTIRZOANTONIOMEDINACA1
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos ProgramasPaulo Guerra Terán
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
algoritmos 7 4p.pptx
algoritmos 7 4p.pptxalgoritmos 7 4p.pptx
algoritmos 7 4p.pptxmartin298577
 
informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxyvillada8
 
informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxDanielHidalgo92
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoJosé Antonio Sandoval Acosta
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmosCarlos
 

Similar a Estructuras de control y sentencias condicionales (20)

Estructuras básicas conceptos básicos de programación (1)
Estructuras básicas  conceptos básicos de programación (1)Estructuras básicas  conceptos básicos de programación (1)
Estructuras básicas conceptos básicos de programación (1)
 
talleres de lpp
talleres de lpptalleres de lpp
talleres de lpp
 
Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Fp04
Fp04Fp04
Fp04
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Yosenith illidge- introducción a la programación.
Yosenith illidge- introducción a la programación.Yosenith illidge- introducción a la programación.
Yosenith illidge- introducción a la programación.
 
introducción a la programación. yosenith lllidge
introducción a la programación. yosenith lllidgeintroducción a la programación. yosenith lllidge
introducción a la programación. yosenith lllidge
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Universidad fermin toro
Universidad fermin toroUniversidad fermin toro
Universidad fermin toro
 
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
LÓGICA DE LA PROGRAMACIÓN (II Bimestre Abril Agosto 2011)
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujo
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas6 Escritura De Algoritmos Programas
6 Escritura De Algoritmos Programas
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
algoritmos 7 4p.pptx
algoritmos 7 4p.pptxalgoritmos 7 4p.pptx
algoritmos 7 4p.pptx
 
informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptx
 
informatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptxinformatica_iv_-_unidad_2._algoritmos.pptx
informatica_iv_-_unidad_2._algoritmos.pptx
 
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujoIng. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica U3 control de flujo
 
01 algoritmos
01 algoritmos01 algoritmos
01 algoritmos
 

Más de nicolaspelaez3

presentacion-comunicacion maletín educativo
presentacion-comunicacion maletín educativopresentacion-comunicacion maletín educativo
presentacion-comunicacion maletín educativonicolaspelaez3
 
explicacic3b3n-ciclo-mientras.pptx
explicacic3b3n-ciclo-mientras.pptxexplicacic3b3n-ciclo-mientras.pptx
explicacic3b3n-ciclo-mientras.pptxnicolaspelaez3
 
13Líneas para dibujo técnico 1ºclase.ppt
13Líneas para dibujo técnico 1ºclase.ppt13Líneas para dibujo técnico 1ºclase.ppt
13Líneas para dibujo técnico 1ºclase.pptnicolaspelaez3
 
02 - Introduccion Sistemas Operativos.ppt
02 - Introduccion Sistemas Operativos.ppt02 - Introduccion Sistemas Operativos.ppt
02 - Introduccion Sistemas Operativos.pptnicolaspelaez3
 
clase-topografiabasica-pp-160222005613.pdf
clase-topografiabasica-pp-160222005613.pdfclase-topografiabasica-pp-160222005613.pdf
clase-topografiabasica-pp-160222005613.pdfnicolaspelaez3
 

Más de nicolaspelaez3 (8)

presentacion-comunicacion maletín educativo
presentacion-comunicacion maletín educativopresentacion-comunicacion maletín educativo
presentacion-comunicacion maletín educativo
 
explicacic3b3n-ciclo-mientras.pptx
explicacic3b3n-ciclo-mientras.pptxexplicacic3b3n-ciclo-mientras.pptx
explicacic3b3n-ciclo-mientras.pptx
 
13Líneas para dibujo técnico 1ºclase.ppt
13Líneas para dibujo técnico 1ºclase.ppt13Líneas para dibujo técnico 1ºclase.ppt
13Líneas para dibujo técnico 1ºclase.ppt
 
02 - Introduccion Sistemas Operativos.ppt
02 - Introduccion Sistemas Operativos.ppt02 - Introduccion Sistemas Operativos.ppt
02 - Introduccion Sistemas Operativos.ppt
 
clase-topografiabasica-pp-160222005613.pdf
clase-topografiabasica-pp-160222005613.pdfclase-topografiabasica-pp-160222005613.pdf
clase-topografiabasica-pp-160222005613.pdf
 
Dr.Marcos.pdf
Dr.Marcos.pdfDr.Marcos.pdf
Dr.Marcos.pdf
 
010unidad-1.pdf
010unidad-1.pdf010unidad-1.pdf
010unidad-1.pdf
 
020unidad-2.pdf
020unidad-2.pdf020unidad-2.pdf
020unidad-2.pdf
 

Último

Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 

Último (20)

Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 

Estructuras de control y sentencias condicionales

  • 1. 1 Estructuras de control. Estructuras de control. Secuencial, condicional y Secuencial, condicional y repetitivas. repetitivas.
  • 2. 2 Estructuras de control.  Hemos visto en los diagramas de flujo y pseudo-código que: 1) Se piden datos de entrada (al usuario) → Asiganción de valores a las variables 2) Se hacen cálculos con los datos introducidos por el usuario, guardando el resultado deseado en una variables → asignaciones. 3) Devolver al usuario los resultados almacenados en variables → En pantalla → sentencia print.  La programación Top-Down (Paradigma estructural) → serie de líneas que se ejecutan una tras otra
  • 3. 3 Estructuras de control.  El flujo de ejecución del programa es estrictamente secuencial.  No obstante a esta linealidad, es posible alterar este flujo de ejecución de órdenes para conseguir: 1) tomar decisiones a partir de los datos y/o resultados intermedios y, en función de éstas, ejecuten ciertas sentencias y otras no; 2) tomen decisiones a partir de los datos y/o resultados intermedios y, en función de éstas, ejecuten ciertas sentencias más de una vez.
  • 4. 4 Estructuras de control.  El primer tipo de alteración se efectúa con sentencias condicionales o de selección.  El segundo tipo con sentencias iterativas o de repetición.  Las sentencias que permiten alterar el flujo de ejecución se engloban en las denominadas estructuras de control de flujo → estructuras de control.
  • 5. 5  Ejemplo, resolver cualquier ecuación de primer grado ax + b = 0,  Empezamos contestando:  1. ¿Cuáles son los datos del problema?  Se piden al usuario, los coeficientes a y b son los datos del problema y son conocidos.  2. ¿Qué deseamos calcular? → será mostrado al usuario mediante un print.  En este caso es el valor de x. Estructuras de control: Sentencias condicionales
  • 6. 6  Conociendo los datos de entrada y el resultado que hemos de calcular (datos de salida),  ¿Cómo calcular la salida a partir de la entrada? En el ejemplo: basta con despejar x de la ecuación: x se obtiene calculando −b/a.  Pasos:  1. Pediremos el valor de a y el valor de b (que supondremos de tipo flotante).  2. Calcularemos el valor de x como −b/a.  3. Mostraremos por pantalla el valor de x. Estructuras de control: Sentencias condicionales
  • 7. 7  Nuestro procedimiento presenta un punto débil: cuando a vale 0, se produce un error de división b/0=? → NAN, INF, sistema colgado etc  En la medida de lo posible se debe tratar de evitar los errores en tiempo de ejecución, ya que:  detienen la ejecución del programa y muestran mensajes de error poco comprensibles para el usuario. Estructuras de control: Sentencias condicionales
  • 8. 8 La sentencia condicional if  En el ejemplo, se deberá detectar si a vale cero para, en ese caso, no continuar con la ejecución del cálculo, para prevenir un error de ejecución  La sentencia condicional o de selección quiere decir:  <<Al llegar a este punto, ejecuta esta(s) acción(es) sólo si esta(s) condición(es) es (son) cierta(s)>>  Este es el condicional IF (Si)
  • 9. 9 La sentencia condicional if  if a != 0:  x = -b/a  print ’Solución: ’, x  Si introducimos a=0, b=1, no pasará nada, no ocurre error, pero el procedimento no producirá salida
  • 10. 10  if a != 0:  x = -b/a  print ’Solución: ’, x  if a == 0:  print ’La ecuación no tiene solución.’  La sentencia condicional if
  • 11. 11 Sentencias condicionales anidadas  IF (Condición) THEN  IF (Condición) THEN  IF (Condición) THEN
  • 12. 12  Ejemplo: Un capital de C euros a un interés del x por ciento anual durante n años se convierte en en C · (1 + x/100)n euros.  Diseñar el pseudo código que solicite la cantidad C y el interés x y n y calcule el capital final sólo si x es una cantidad positiva.  La sentencia condicional if
  • 13. 13 ELSE  En caso contrario (else):  if condición:  acciones  if condición contraria:  otras acciones
  • 14. 14 ELSE  Este tipo de combinación es muy frecuente, hasta el punto de que se ha incorporado al lenguaje de programación una forma abreviada que significa lo mismo:  if condición:  acciones  else:  otras acciones  Else → Si no, en caso contrario, además
  • 15. 15  Construir mentalmente un programa tan complicado es muy dificil, pero posiblemente sea porque sigues una aproximación equivocada: no debes intentar construir mentalmente todo el programa de una vez.  Es recomendable: a) Primero haz una versión sobre papel que resuelva el problema de forma directa ( tosca) Utilizar datos concretos y hacer un esquema con el orden de las operaciones a realiza y las desiciones tomada Una estrategia de diseño: refinamientos sucesivos
  • 16. 16 b) Analiza tu diseño y considera si realmente resuelve el problema planteado: ¿es posible que se cometan errores en tiempo de ejecución?, ¿hay configuraciones de los datos que son especiales y, para ellas, el cálculo debe ser diferente? → CASOS PARTICULARES  c) Cada vez que te plantees una de estas preguntas y tengas una respuesta, modifica el procedimiento en consecuencia. No hagas más de un cambio cada vez. Una estrategia de diseño: refinamientos sucesivos
  • 17. 17  d) Si el procedimiento funciona correctamente para todas las entradas posibles y eres capaz de anticiparte a los posibles errores de ejecución, ¡Felcidades!, Si no es el caso, regresa al paso b)  e)Asegurando que todo funciona correctamente, al teclear en el programa el mayor número de pruebas posibles, comprobando cuidadosamente que el resultado calculado es correcto. Una estrategia de diseño: refinamientos sucesivos
  • 18. 18  e) Presta especial atención a configuraciones extremas o o singulares de los datos (los que pueden provocar divisiones por cero o valores muy grandes, o muy pequeños, o negativos, etc.). Si el programa calcula algo diferente de lo esperado o si se aborta la ejecución del programa por los errores detectados, vuelve a paso b).  Una estrategia de diseño: refinamientos sucesivos
  • 19. 19  Un error frecuente es tratar de diseñar el programa directamente sobre el ordenador, escribiéndolo a bote pronto. Es más, hay estudiantes que se atreven a empezar con la escritura de un programa sin haber entendido bien el enunciado del problema que se pretende resolver. Es fácil descubrirlos en falta: no saben resolver a mano un caso particular del problema. Una buena práctica, pues, es solucionar manualmente unos pocos ejemplos concretos para estar seguros de que conocemos bien lo que se nos pide y cómo calcularlo. Una estrategia de diseño: refinamientos sucesivos
  • 20. 20 Ejemplo  Diseña un programa que, dados cinco números enteros, determine cual de los cuatro ultimos números es más cercano al primero. (Por ejemplo, si el usuario introduce los números  2, 6, 4, 1 y 10, el programa responderá que el número más cercano al 2 es el 1  Diseñelo para un número indetermidado de números 
  • 21. 21  Evaluación con cortocircuitos:  La evaluación de expresiones lógicas es algo especial. Observa la condición de este if :  if a == 0 or 1/a > 1:  ¿Puede provocar una división por cero?  NO Estructuras de control: Sentencias condicionales
  • 22. 22 ●Evaluación con cortocircuitos:  if a == 0 or 1/a > 1: Si a vale cero, el primer término del or es 1. Como la evaluación de una or lógica de 1 con cualquier otro valor, es necesariamente 1, El programa no evaluará el segundo término y se ahorra así un esfuerzo innecesario.
  • 23. 23 ●Evaluación con cortocircuitos:  Algo similar ocurre en este otro caso:  if a != 0 and 1/a > 1:  Si a es nulo, el valor de a != 0 es 0, así que ya no se procede a evaluar la segunda parte de  la expresión.  Al calcular el resultado de una expresión lógica, se evalúa (siguiendo las reglas de asociatividad y precedencia oportunas) lo justo hasta conocer el resultado:
  • 24. 24 ●Evaluación con cortocircuitos:  cuando el primer término de un or es cierto, se acaba y devuelve directamente cierto y cuando el primer término de un and es falso, se acaba y devuelve directamente falso.  Este modo de evaluación se conoce como evaluación con cortocircuitos. 
  • 25. 25 Método de la iteración simple II:  Segundo ejemplo: g(x)=5x-exp(x)  ¿Cúantas raices tiene?  ¿cuáles aboramos directamente con el método de la iteración simple?  ¿Cómo solucionamos las demás?
  • 26. 26 Pseudocódigo de la iteración simple
  • 27. 27 iteración simple II: primera raiz
  • 28. 28 Método de la iteración simple: Valor de la primera raiz: