Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Algoritmos secuenciales con Phyton Robert Espinoza Tipos de datos Entero 25 Flotante 3.678 Booleano o lógico True False Cadena de caracteres (string) “Juan” ‘Rosales’ Tipos de datos Enteros en otros sistemas de numeración Binario. Inician con 0b (Cero y b) >>> 0b100 + 0b101 -------> 4 + 5 9 Octal. Inician con 0o (Cero y o) >>> 0o10 + 0o7 ---------> 8 + 7 15 Hexadecimal. Inicia con 0x >>> 0xF + 0x10 ---------> 15 + 16 31 Operadores aritméticos Operadores para expresiones aritméticas. El nivel de precedencia 1 es el de mayor prioridad y el 4 el de menor. Operadores aritméticos >>> 2 + 3 + 1 + 2 8 >>> 2 + 3 * 2 + 5 13 >>> (2 + 3) * 2 + 5 15 >>> (2 + 3) * (2 + 5) 35 >>> 3 / 2 1.5 >>> 3 // 2 1 >>> -3 // 2 -2 >>> -3 / 2 - 1 -2.5 >>> -3 // 2 - 1 -3 >>> 17 % 5 2 >>> 2 ** 5 32 Operadores relacionales Operadores relacionales >>> 2 < 1 False >>> 5 > 1 True >>> 5 >= 1 True >>> 5 > 5 False >>> 4 == 4 True >>> 1 != 3 True Operadores lógicos and La «y lógica» o conjunción or La «o lógica» o disyunción not el «no lógico» o negación Operadores lógicos Operadores lógicos Paridad, asociatividad y precedencia de los operadores lógicos. Operadores lógicos >>> True and False False >>> not True False >>> (True and False) or True True >>> True and True or False True >>> False and True or True True >>> False and True or False False Operadores de Phyton Operadores de Phyton >>> (True or (2 == 1 + 2)) == True True >>> 2 < 3 < 4 True >>> (2 < 3) and (3 < 4) True >>> 2 < 3 > 1 True >>> (2 < 3) and (3 > 1) True Variables y asignaciones Variable Es una posición de memoria que almacena un y que tiene un identificador como nombre Operador de asignación (=) Sirve para asignar un valor a una variable (no confundir con el operador de igualdad ==) variable = expresión Ejemplos: precio = 1500.25 edad = 35 apellido = “Estrada” Variables y asignaciones El nombre de una variable es su identificador. Un identificador debe estar formado por letras4 minúsculas, mayúsculas, dígitos y/o el carácter de subrayado , con una restricción: que el primer carácter no sea un dígito. Hay una norma más: un identificador no puede coincidir con una palabra reservada o palabra clave de Python: and, as, assert, break, class, continue, def, del, elif, else, except, False, finally, for, from, global, if, import, in, is, lambda, nonlocal, None, not, or, pass, raise, return, True, try, with, while y yield. Variables y asignaciones Calcular el área y perímetro (circunferencia) de un círculo >>> pi = 3.14159265359 >>> r = 1.298373 >>> perímetro = 2 * pi * r >>> perímetro 8.157918156839218 >>> área = pi * r **2 >>> área 5.296010335524904 Asignación Asignar no es comparar >>> a = 10 >>> a 10 >>> a == 1 False >>> a 10 Asignación Una asignación no es una ecuación >>> x = 5 >>> x = x + 1 >>> x 6 Funciones básicas abs: calcula el valor absoluto de un número. >>> abs (-3) 3 float: conversión a flotante. Si recibe un número entero como argumento, devuelve el mismo número convertido en un flotante equivalente. >>> float(3) 3.0 >>> float ('3.2') 3.2 >>> float('3.2e3') 3200.0 Funciones básicas int: conversión a entero. Si recibe un número flotante como argumento, devuelve el entero que se obtiene eliminando la parte fraccionaria. >>> int (2.1) 2 >>> int (-2.9) -2 >>> int ('2') 2 Funciones básicas str: conversión a cadena. Recibe un número y devuelve una representación de este como cadena. >>> str (2.1) '2.1' >>> str (234E20) '2.34e+22' Funciones básicas round: redondeo. Puede usarse con uno o dos argumentos. Si se usa con un solo argumento, redondea el número al entero más próximo. >>> round (2.1) 2 >>> round (2.9) 3 >>> round (-2.9) -3 >>> round (2.1451, 2) 2.15 Funciones básicas ord: Devuelve el código unicode que corresponde a un carácter. >>> ord ('a') 97 >>> ord ("A") 65 chr: Devuelve el carácter que corresponde a un código unicode. >>> chr (97) 'a' >>> chr (65) 'A' Funciones del módulo math Función Significado sin(x) Seno de x, que debe estar expresado en radianes. cos(x) Coseno de x, que debe estar expresado en radianes. tan(x) Tangente de x, que debe estar expresado en radianes. exp(x) El número e elevado a x. ceil(x) Redondeo hacia arriba de x (en inglés, «ceiling» significa techo). floor(x) Redondeo hacia abajo de x (en inglés, «floor» significa suelo). log(x) Logaritmo natural (en base e) de x. log10(x) Logaritmo decimal (en base 10) de x. sqrt(x) Raíz cuadrada de x (del inglés «square root» pow(x,n) El número x elevado a n. Funciones del módulo math Python también proporciona funciones trigonométricas, logaritmos, etc., pero no están directamente disponibles cuando iniciamos una sesión. Antes de utilizarlas hemos de indicar a Python que vamos a hacerlo. Para ello, importamos cada función de un módulo. >>> from math import sin >>> sin (0) 0.0 También podemos importar varias funciones >>> from math import sin, cos >>> from math import * Funciones del módulo math Python provee de otra forma de importar y usar las funciones >>> import math >>> math.sin(0) 0.0 >>> math.cos(0) 1.0 También se pueden importar algunas constantes útiles >>> pi 3.141592653589793 >>> e 2.718281828459045 Programación estructurada La expresión flujo de control hace referencia al orden en el que se ejecutarán las instrucciones de un programa, desde su comienzo hasta que finaliza. Flujo de control de un programa Programación estructurada La programación estructurada es una forma de escribir programas de computadora de forma clara, utilizando únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario y no permitiéndose el uso de instrucciones de transferencia incondicional (por ejemplo: Go to). El teorema del programa estructurado, de Böhm- Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: Secuencia Instrucción condicional. Iteración (bucle de instrucciones) con la condición al principio Programación estructurada Solamente con estas tres estructuras o “patrones lógicos” se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control, éstas pueden ser construidas mediante las tres básicas. Programación estructurada Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de aquellos años, por lo que se desarrollaron nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones. De todas formas, el paradigma estructurado tiene vigencia en muchos ámbitos de desarrollo de programas y constituye una buena forma de iniciarse en la programación de computadoras. Estructuras de Control Las estructuras de control tienen una finalidad bastante definida: señalar el orden en que tienen que sucederse o ejecutarse los pasos de un algoritmo o instrucciones en un programa. Pueden ser: Secuenciales Selectivas Iterativas Estructuras secuenciales Son estructuras que obedecen la linealidad, es decir, no admiten saltos A la ejecución de una instrucción le sigue otra instrucción y así sucesivamente. Mantiene la secuencia de acciones en el orden en el que aparecen las instrucciones. acción 1 acción 2 acción n acción 1 acción 2 … acción n Estructura secuencial Ejemplo: Sumar y multiplicar 2 números. Inicio x, y, z, w: reales Leer y, z; x y + z; w y * z; Escribir x, w; Fin Leer y, z Inicio Fin Escribir x, w x y+z w y*z Ejercicios 1. El primer problema es determinar el alcance y el tiempo de vuelode un proyectil lanzado con una velocidad inicial v0 y haciendo un ángulo de grados con la horizontal. Ejercicios g v R 2sen20 g v T sen2 0 máximo alcance de un proyectil, g es la aceleración de la gravedad tiempo de vuelo 180 gradosrad para convertir entre grados y radianes Ejercicios 2. Parte del costo de producción de un producto se calcula por el tiempo de operación de una máquina utilizada. Se realizan pruebas para determinar este tiempo ingresando la hora de inicio de y de final de producción en el formato de horas, minutos y segundos registrados en la máquina. El costo está diferenciado por hora, minuto y segundo. Calcular dicho costo. Por ejemplo, se tienen los siguientes datos de entrada: Hora Inicio: 14:30:15 Hora final: 16:40:20 Costo por hora: 60 soles Costo por minuto: 2 soles Costo por segundo: 0,20 soles Ejercicios Ejercicios 3. Estando en guerra, se necesita enviar a los aliados la cantidad de tanques disponibles en un valor encriptado, por lo que le encarga a usted dicha tarea. La encriptación se hace mediante el ingreso de 5 valores de 5 dígitos cada uno. Estos valores serán enviados a los aliados que ya tienen el programa hecho por usted. Por ejemplo podrían ser estos valores: Valor 1: 34571 Valor 2: 61254 Valor 3: 75120 Valor 4: 24712 Valor 5: 31652 Ejercicios Suma de dígitos de primera diagonal: 8 Suma de dígitos de segunda diagonal: 14 Cantidad de tanques disponibles: 112 Su sistema, ya disponible en los aliados, tomarán los dígitos según la figura, donde los dígitos de las diagonales se suman y estos 2 valores se multiplican, el resultado será la cantidad de tanques disponibles:
Compartir