Ejecución Condicional

Slides:



Advertisements
Presentaciones similares
Pippy (Python para niños)‏ 1.
Advertisements

Estructuras de Decisión I IF - THEN - ELSE
Conceptos Básicos de Java
Conversión cadena a número
Sesión 12: Python (3) – Estructura Decisión. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
Sesión 14: Python (5) – Aplicaciones. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática.
ESTRUCTURAS DE DATOS Y ALGORITMOS Samuel Peñaló
GESTOR DE BASE DE DATOS CARRERA: COMPUTACIÓN E INFORMÁTICA CURSO: TALLER DE SISTEMAS I DOCENTE: ING. JOSÉ EDUARDO QUISPE TAIPE CICLO: QUINTO.
Estructuras de control Por Diego Caro A. udec.cl}
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
¿Que es PHP? PHP Hypertext Preprocessor Y solo porque me quiero hacer el profesor cool y meter un chiste: PHP también significa: Para Hacer Páginas.
DESARROLLO WEB CON HTML 5 Francisco J. Arce Anguiano
Convenciones de nomenclatura y diseño
Paul Leger Repaso While y FOR Paul Leger
Estructuras de Control en Visual Basic.net
Operadores Java es un lenguaje rico en operadores, que son casi idénticos a los de C/C++.
¿Cómo almacenar datos dentro del computador?
WORD.
¿Que son Creative Commons?
Olimpiadas Chilenas de Informática - Formación
PHP Hypertext Preprocessor
Introducción a Sistemas Operativos
Métodos y parámetros.
Paul Leger CICLOS: For Paul Leger
Lenguaje C en pocas palabras
Estructuras de Control en Visual Basic.net
ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES
CONFIGURAR PÁGINA Antes de imprimir una hoja de cálculo, es conveniente que configuremos la página, para modificar factores que afectan a la presentación.
¿Qué es un OPERADOR? “Un operador es un elemento de programa que se aplica a uno o varios operandos en una expresión o instrucción. Los operadores que.
Lenguaje de Programación C en pocas palabras
Tema 6. Conceptos básicos de programación (Clase 2)
Comprueba si una u otra condición se cumple o no.
Paul Leger Uso de Condicionales Paul Leger
Programación PHP condicional IF saregune CC 2009.
Unidad 3. Introducción a la programación
PowerPoint.
ESTRUCTURAS DE CONTROL EN VISUAL BASIC.NET Prof.: Rafael Mourglia.
PROGRAMACION: Que es un computador: Es un aparato electrónico que tiene el fin de recibir y procesar datos para realización de diversas operaciones..
HERRAMIENTAS DE PROGRAMACIÓN
Instrucciones para abrir el cuestionario de aplicación a empresas de TI A continuación se mencionan los pasos a seguir para poder realizar el cuestionario.
Introducción práctica la uso de la tarjeta Arduino.
Características de “C”
PROGRAMACIÓN (2).
CICLOS EN JAVA FOR, WHILE, DO WHILE Un ciclo en Java o bucle en Java (como prefieras llamarlo) permite repetir una o varias instrucciones cuantas veces.
Operaciones con Acumuladores
Excel. Microsoft Office Excel, mejor conocido sólo como Microsoft Excel, es una aplicación para manejar hojas de cálculos. Este programa fue y sigue siendo.
Tema 6. Conceptos básicos de programación (Clase 2)
Algunas Características de C++ no presentes en C
Descarga de Formatos Una vez que descargues y llenes los formatos, asegúrate tener a la mano también los documentos que están en el recuadro azul.
UNIVERSIDAD JUÁREZ AUTÓNOMA DE TABASCO Nombres: Isaac Sánchez García Teofilo Martinez Garcia Ricardo Del Carmen Paz López Vanesa Anahí Pérez Lizárraga.
¿Por qué programar? Capítulo 1 Python para Todos
Construyendo Nuestras Propias Funciones
Bucles e Iteración – Parte 2
Bucles e Iteración – Parte 4
Expresiones– Parte 2 PYTHON PARA TODOS Expresiones.
Funciones Capítulo 4 Python para Todos PYTHON PARA TODOS
Ejecución Condicional
Variables, Expresiones y Enunciados
Introducción – Parte 4 PYTHON PARA TODOS Hablemos con Python.
Más Patrones de Ejecución Condicional
Bucles e Iteración Capítulo 5 Python para Todos
Expresiones– Parte 3 PYTHON PARA TODOS Crear un Programa.
Lenguajes de Bucle: Lo Que Hacemos en los Bucles
Tema 8. Estructuras de decisión. Clases 1 y 2.
Access Este programa permite manipular datos en forma de tablas, realizar cálculos complejos con fórmulas y funciones, incluso dibujar distintos tipos.
UNIDAD IV ESTRUCTURAS DE DESICIÓN LÓGICA (Simple, Doble, Anidada o Múltiple ) Msc. Rina Arauz.
¿Por qué programar? Capítulo 1 Python para Todos
Funciones Capítulo 4 Python para Todos
Bucles e Iteración Capítulo 5 Python para Todos
Variables, Expresiones y Enunciados
Transcripción de la presentación:

Ejecución Condicional Capítulo 3 Nota de Chuck. Si está usando estos materiales, puede retirar el logotipo de UM y reemplazarlo por el suyo pero, por favor, conserve el logo de CC-BY en la primera página así como también retenga la(s) página(s) de agradecimientos al final. Python para Todos www.py4e.com

Pasos Condicionales Programa: Resultado: Más pequeño Finis x = 5 Sí if x < 10: print('Más Pequeño') if x > 20: print('Más Grande') print('Finis') print('Más pequeño') Resultado: Más pequeño Finis x > 20 ? No print('Más Grande') print('Finis')

Operadores de Comparación Las expresiones booleanas formulan una pregunta y generan un resultado Yes (afirmativo) o No (negativo) que utilizamos para controlar el flujo del programa Las expresiones booleanas utilizan operadores de comparación para evaluar si es True (Verdadero) / False (Falso) o Yes (Sí) / No Los operadores de comparación observan las variables pero no las modifican Python Significado < Menor que <= Menor que o Igual a == Igual a >= Mayor que o igual a > Mayor que != No igual a Recuerde: “=” se usa para asignación. http://en.wikipedia.org/wiki/George_Boole

Operadores de Comparación x = 5 if x == 5 : print('Igual a 5') if x > 4 : print('Mayor que 4') if x >= 5 : print('Mayor que o Igual a 5') if x < 6 : print('Menor que 6') if x <= 5 : print('Menor que o Igual a 5') if x != 6 : print('No igual a 6') Igual a 5 Mayor que 4 Mayor que o Igual a 5 Menor que 6 Menor que o Igual a 5 No igual a 6

Decisiones Unidireccionales x = 5 print('Antes de 5') if x == 5 : print('Es 5') print('Sigue Siendo 5') print('Tercer 5') print('Después de 5') print('Antes de 6') if x == 6 : print('Es 6') print('Sigue siendo 6') print('Tercer 6') print('Después de 6') Sí x == 5 ? Antes de 5 Es 5 Sigue siendo 5 Tercer 5 Después de 5 Antes de 6 Después de 6 print(‘Es 5’) No print('Sigue siendo 5') print('Tercer 5')

Indentación Aumentar la indentación sirve para indentar luego de un enunciado if o for (después: ) Mantener la indentación sirve para indicar el alcance del bloque (qué líneas son afectadas por if/for) Reducir la indentación permite regresarla al nivel del enunciado if o for para indicar el final del bloque Las líneas en blanco son ignoradas y no afectan la indentación Los comentarios en una línea en sí mismos se ignoran en lo que respecta a la indentación

Advertencia: ¡Deshabilite las Tabulaciones! Atom automáticamente usa los espacios para los archivos con la extensión ".py" (¡genial!) La mayoría de los editores de texto pueden convertir las tabulaciones en espacios – asegúrese de habilitar esta funcionalidad NotePad++: Settings -> Preferences -> Language Menu/Tab Settings (Configuración -> Preferencias -> Menú de Idiomas/Configuración de Tabulación) TextWrangler: TextWrangler -> Preferences -> Editor Defaults (TextWrangler: TextWrangler -> Preferencias -> Valores Predeterminados del Editor) A Python le importa *mucho* cuánta indentación tiene una línea. Si usted mezcla tabulaciones y espacios, tal vez obtenga “indentation errors” (errores de indentación) incluso aunque todo se vea bien

Esto le ahorrará dolores de cabeza innecesarios.

aumentar / mantener después de if o for reducir para indicar el final del bloque x = 5 if x > 2 : print('Mayor que 2') print('Sigue siendo mayor') print('Terminado con 2') for i in rango(5) : print(i) if i > 2 : print('Terminado con i', i) print('Todo Terminado')

Piense en los bloques de inicio/fin x = 5 if x > 2 : print('Mayor que 2') print('Sigue siendo mayor') print('Terminado con 2’) for i in rango(5) : print(i) if i > 2 : print('Terminado con i', i) print('Todo Terminado')

Decisiones Anidadas sí no sí no x = 42 if x > 1 : print('Más de 1') print('Más de uno') no x = 42 if x > 1 : print('Más de 1') if x < 100 : print('Menos de 100') print('Todo Terminado') x < 100 sí no print('Menos de 100') print 'Todo Terminado'

Decisiones Bidireccionales X = 4 A veces, queremos hacer una cosa si una expresión lógica es verdadera y otra cosa si la expresión es falsa Es como una encrucijada – debemos elegir un camino u otro pero no podemos elegir ambos no x > 2 Sí print('No más grande') print('Más grande') print 'Todo Terminado'

Decisiones Bidireccionales con else: X = 4 x > 2 no Sí x = 4 if x > 2 : print('Más grande') else : print('Más pequeño') print 'Todo Terminado' print('No más grande') print('Más grande') print 'Todo Terminado'

Más Patrones de Ejecución Condicional

Visualizar Bloques x > 2 print 'Todo Terminado' no Sí if x > 2 : print('Más grande') else : print('Más pequeño') print 'Todo Terminado' print('No más grande') print(‘Más grande') print 'Todo Terminado'

print('Todo Terminado') Multidireccional sí x < 2 print('pequeño') if x < 2 : print('Pequeño') elif x < 10 : print('Mediano') else : print('ENORME') print('Todo terminado') no x < 10 sí print('Mediano') no print('ENORME') print('Todo Terminado')

print('Todo Terminado') Multidireccional x = 0 sí x < 2 print('pequeño') x = 0 if x < 2 : print('pequeño') elif x < 10 : print('Mediano') else : print('ENORME') print('Todo terminado') no x < 10 sí print('Mediano') no print('ENORME') print('Todo Terminado')

print('Todo Terminado') Multidireccional x = 5 sí x < 2 print('pequeño') x = 5 if x < 2 : print('pequeño') elif x < 10 : print('Mediano') else : print('ENROME') print('Todo terminado') no x < 10 sí print('Mediano') no print('ENORME') print('Todo Terminado')

print('Todo Terminado') Multidireccional x = 20 sí x < 2 print('pequeño') x = 20 if x < 2 : print('pequeño') elif x < 10 : print('Mediano') else : print('ENORME') print('Todo terminado') no x < 10 sí print('Mediano') no print(‘ENORME') print('Todo Terminado')

Multidireccional if x < 2 : print('pequeño') elif x < 10 : print('Mediano') elif x < 20 : print('Grande') elif x < 40 : print('Enorme') elif x < 100: print('Gigante') else : print('Descomunal') # No Else x = 5 if x < 2 : print('Pequeño') elif x < 10 : print('Mediano') print 'Todo terminado'

Enigmas Multidireccionales ¿Cuál es el que nunca se imprimirá independientemente del valor de x? if x < 2 : print('Debajo de 2') elif x < 20 : print('Debajo de 20') elif x < 10 : print('Debajo de 10') else : print('Otro') if x < 2 : print('Debajo de 2') elif x >= 2 : print('Dos o más') else : print('Otro')

La Estructura try / except Usted rodea una sección peligrosa del código con try y except Si el código en try funciona – except es omitido Si el código en try falla – pasa a la sección except 5

$ python3 notry.py Traza de rastreo (llamada más reciente a la último): Archivo "notry.py", línea 2, in <module> istr = int(astr)ValueError: invalid literal for int() with base 10: 'Hola Bob' $ cat notry.py astr = 'Hola Bob' istr = int(astr) print('Primero', istr) astr = '123' print('Segundo', istr) Todo Terminado

El programa se detiene aquí $ python3 notry.py Trazas de rastreo (llamada más reciente a lo último): Archivo "notry.py", línea 2, in <module> istr = int(astr)ValueError: invalid literal for int() with base 10: 'Hola Bob' El programa se detiene aquí $ cat notry.py astr = 'Hola Bob' istr = int(astr) print('Primero', istr) astr = '123' print('Segundo', istr) Todo Terminado

Computadora genérica Software Dispositivos de Entrada CPU Memoria Secundaria ¿Quién ha visto una traza de rastreo en CTools? Dispositivos de Salida Memoria Principal

Computadora genérica Software Dispositivos de Entrada CPU Memoria Secundaria ¿Quién ha visto una traza de rastreo en CTools? Dispositivos de Salida Memoria Principal

astr = 'Hola Bob' try: istr = int(astr) except: istr = -1 print('Primero', istr) astr = '123' print('Segundo', istr) Cuando la primera conversión falla – simplemente cae en except (excepción): clausula, y el programa continúa. $ python tryexcept.py Primero -1 Segundo 123 Cuando la segunda conversión es exitosa – solo omite except (excepción): clausula, y el programa continúa.

print('Terminado', istr) try / except astr = 'Bob' print('Hola') astr = 'Bob' try: print('Hola') istr = int(astr) print('a todos') except: istr = -1 print('Terminado', istr) istr = int(astr) print('a todos') istr = -1 Red de seguridad print('Terminado', istr)

Muestra de try / except rawstr = input('Ingresar un número:') try: ival = int(rawstr) except: ival = -1 if ival > 0 : print('Buen trabajo') else: print('No es un número') $ python3 trynum.py Ingresar un número:42 Buen trabajo Ingresar un número:cuarenta-y-dos No es un número $

Ejercicio Reescriba su cálculo del salario para darle al empleado 1,5 veces la tarifa por hora para las horas trabajadas que excedan las 40 horas. Ingresar Horas: 45 Ingresar Tarifa: 10 Salario: 475.0 475 = 40 * 10 + 5 * 15

Ejercicio Reescriba su programa de salarios usando try y except de modo que su programa maneje input (entradas) no numéricas de forma correcta. Ingresar Horas: 20 Ingresar Tarifa: nueve Error, por favor, ingresar un valor numérico Ingresar Horas: cuarenta

Síntesis Operadores de comparación == <= >= > < ! = Indentación Decisiones Unidireccionales Decisiones Bidireccionales: if: y else: Decisiones Anidadas Decisiones Multidireccionales usando elif try / except para compensar errores

Agradecimientos / Colaboraciones Estas diapositivas están protegidas por derechos de autor 2010- Charles R. Severance (www.dr-chuck.com) de la Facultad de Información de la Universidad de Michigan, y se ponen a disposición bajo licencia de Creative Commons Attribution 4.0. Por favor, conserve esta última diapositiva en todas las copias del documento para cumplir con los requisitos de atribución de la licencia. Si realiza algún cambio, siéntase libre de agregar su nombre y el de su organización a la lista de colaboradores en esta página cuando republique los materiales. Desarrollo inicial: Charles Severance, Facultad de Información de la Universidad de Michigan … Ingrese nuevos colaboradores y traductores aquí ...