La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

1 Sesión 14: Python (5) – Aplicaciones

2 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia AGENDA 1 Repaso 2 Enumeración exhaustiva 3 Soluciones Aproximadas 1

3 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Estructuras de Control  Las estructuras de control, son aquellas que permiten controlar el flujo de ejecución de un programa Tres tipos de Estructuras: 1 Secuencial 2 Instrucción condicional. 3 Iteración (bucle de instrucciones)

4 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Salida de datos  Salida de datos:  Escribir: Para mostrar información en la pantalla en Diagramas de flujo utilizábamos:  Ahora en Python reemplazaremos dicha estructura por la función print:  El mensaje posee la siguiente sintaxis diferentes formatos de salida Mensaje print (“mensaje”, variables) ;

5 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia  Descripción: Permite ingresar los datos mediante el teclado.  Sintaxis: vble: es la variable que se le asignará un valor por teclado. tipo: se debe indicar el tipo de dato que deseamos recibir: –int: entero –float: real –bool: booleano –Sin tipo: cadena Mensaje: El mensaje es opcional, y es el texto que se mostraría antes de ingresar la variable. vble = tipo(input(“mensaje”)) Entrada de datos

6 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Decisión if (condicion): Instrucciones1 else: Instrucciones2 if (condicion1): Instrucciones1 elif (condicion2): Instrucciones2 elif (condicion3): Instrucciones3. elif (condicionN): InstruccionesN else: InstruccionesE

7 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Realiza un conjunto de operaciones mientras una condición se esté cumpliendo, o mientras una expresión sea verdadera 1 Se evalúa la condición-bucle 2 Si condición-bucle es verdadera : Se ejecuta el cuerpo del bucle Vuelve el control al paso 1. 3 Si condición-bucle es falsa : Se termina el ciclo. * Condiciones: Cuantitativas y Caulitativas Sentencia while

8 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia while (condición): Instrucciones Python Sintaxis

9 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia SENTENCIA FOR Realiza un conjunto de operaciones un determinado número de veces 1 Se inicializa la variable de control y se evalúa la condición-bucle 2 Si condición es verdadera : Se ejecuta el cuerpo del bucle Se incrementa la variable y se evalúa la condición 3 Si condición-bucle es falsa : Se termina el ciclo. * Condiciones: Cuantitativas Sentencia for

10 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia SENTENCIA FOR #de 1 en 1 desde inicio hasta fin-1 for vble in range (inicio,fin) : instrucciones Python Sintaxis #de 1 en 1 desde 0 hasta fin-1 for vble in range (fin) : instrucciones #valores fijos for vble in (valor1,valor2,…valorN) : instrucciones #de paso en paso desde inicio hasta fin-1 for vble in range (inicio,fin,paso) : instrucciones

11 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Recomendaciones

12 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia AGENDA 1 Repaso 2 Enumeración exhaustiva 3 Soluciones Aproximadas 2

13 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Enumeración exhaustiva  El siguiente programa calcula la raíz cúbica de un entero, si la tiene.programa 13 enumeración exhaustiva n = int(input('Enter an integer number: ')) cube = 0 while cube**3 < abs(n): cube = cube + 1 if cube**3 != abs(n): print(n, 'is not a perfect cube') else: if n < 0: cube = -cube print('Cube root of', n, 'is', cube)

14 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Enumeración exhaustiva  Los ciclos for nos permiten expresar de una forma más simple, por ejemplo, ciclos que iteran sobre una secuencia de enteros.ejemplo 14 n = int(input('Enter an integer number: ')) for cube in range(0, abs(n)+1): if cube **3 >= abs(n): break if cube**3 != abs(n): print(n, 'is not a perfect cube') else: if n < 0: cube = -cube print('Cube root of', n, 'is', cube) cube = 0 while cube**3 < abs(n): cube = cube +1 cube = 0 while cube**3 < abs(n): cube = cube +1

15 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia AGENDA 1 Repaso 2 Enumeración exhaustiva 3 Soluciones Aproximadas 3

16 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Soluciones Aproximadas  Calcular una aproximación de la raíz cuadrada de un número positivo:aproximación 16 #Find an approximation of the square root x = 25 epsilon = 0.01 step = epsilon**2 guesses = 0 ans = 0.0 while abs(ans**2 - x) >= epsilon and ans <= x: ans += step guesses += 1 if abs(ans**2 - x) >= epsilon: print('Couldn\'t find the square root of', x) else: print(ans, 'is approximately the square root of', x) print('There were', guesses, 'guesses')

17 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Método de bisección  Para este problema, mejor que la enumeración exhaustiva es la búsqueda binaria. búsqueda binaria 17 x0medioxbajoalto medio x0 altobajo medio

18 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Método de bisección 18 #Find a FASTER approximation of the square root x = 25 epsilon = 0.01 step = epsilon**2 guesses = 0 low = 0.0 high = max(1.0, x) ans = (high + low)/2.0 while abs(ans**2 - x) >= epsilon: guesses += 1 if ans**2 < x: low = ans else: high = ans ans = (high + low)/2.0 print(ans, 'is approximately the square root of', x) print('There were', guesses, 'guesses')

19 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Método Newton-Raphson 19

20 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática I Universidad de Antioquia Método Newton-Raphson Método Newton-Raphson 20 #Using Newton-Raphson to find the square root epsilon = 0.01 k = 24.0 root = k/2.0 guesses = 0 while abs(root**2 - k) >= epsilon: root = root - (root**2 - k)/(2*root) guesses += 1 print(root, 'is close to the square root of', k) print('There were', guesses, 'guesses')


Descargar ppt "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."

Presentaciones similares


Anuncios Google