Programar Juegos Arcade
con Python y PygameLab 1: Calculadoras Personalizadas
En este taller nos crearemos tres programas de calculadora. Para ayudarnos, echaremos un vistazo al código del Capítulo 1. Particularmente, el programa de ejemplo que se encuentra al final del capítulo es una buena plantilla para empezar.
Tienes que asegurarte de que eres capaz de escribir programas simples como los de este taller. Ser capaz de hacerlo de memoria o escribirlos en un papel. Estos programas siguen un patrón común en la informática:
- Recibimos unos datos
- Realizamos unos cálculos
- Devolvemos unos datos
Los programas reciben datos de fuentes como bases de datos, modelos 3D, mandos de juegos, teclados y de Internet. Luego realizan una serie de cálculos y nos devuelven un resultado. Algunas veces esto se hace miles de veces por segundo utilizando algún tipo de bucle.
Es una buena idea separar los cálculos de la salida de datos. Aunque es posible realizar los cálculos dentro de una declaración “print”, es mejor primero hacer el cálculo , luego guardarlo en una variable, y por último, imprimirlo. De esta forma los cálculos y la salida de resultados no se mezclan.
Es una buena práctica el incluir líneas en blanco cuando escribamos nuestro programas para separar bloques lógicos del código. Por ejemplo, introducimos una línea en blanco entre las declaraciones de entrada, los cálculos y la declaración de salida.
En este taller escribiremos tres programas cortos. Si estás usando algún sistema de control de versiones, recuerda hacer el “commit y push” de los cambios hacia el servidor. Pulsa “Enviar el taller para su evaluación” cuando hayas acabado.
1.1 Sección A
Crea un programa que le pregunte al usuario por la temperatura en grados Celsius, y que la devuelva en grados Fahrenheit. Busca en Internet la fórmula para hacer esto. Mira en el Capítulo 1 el ejemplo de kilómetros por litro para que te hagas una idea de lo que tienes que hacer.
Ejemplo de salida:
Introduce la temperatura en grados Celsius: 0.0 La temperatura en grados Fahrenheit es: 32
Ejemplo de salida:
Introduce la temperatura en grados Celsius: 22.2 La temperatura en grados Fahrenheit es: 72
Los números en este programa no tendrán un formato muy bonito. No te preocupes. Pero si no te gusta, mira en el Capítulo 20 para que aprendas cómo conseguir un resultado más elegante.
1.2 Sección B
Crea un programa nuevo que le pregunte al usuario por la información necesaria para encontrar el
área de un trapezoide y que luego la imprima. La fórmula para el área de un trapezoide es:
$A=\dfrac{1}{2}(x_1+x_2)h$
Ejemplo de salida:
Cálculo del área de un trapezoide Altura del trapezoide: 5 Longitud de la base inferior: 10 Longitud de la base superior: 7 El área es: 42.5
1.3 Sección C
Créate tu propio problema y mira qué variables deberá introducir el usuario. Si no estás por la labor de hacer algo original, escoge alguna de las ecuaciones de esta lista:
Área de un círculo | $A=\pi r^2$ |
Área de una elipse | $A=\pi r_1 r_2$ |
Área de un triángulo equilátero | $A=\dfrac{h^2 \sqrt{3}}{3}$ |
Volumen de un cono | $V=\dfrac{\pi r^2h}{3}$ |
Volumen de una esfera | $V=\dfrac{4\pi r^3}{3}$ |
Área de cualquier triángulo | $A=\dfrac{1}{2}ab\sin C$ |
Cuando hayas terminado, comprueba que el nombre de tu variable empieza con minúscula y que estás colocando líneas en blanco entre los agrupamientos lógicos de tu código. (En nuestro caso, entre el input, las operaciones y la salida del resultado.)
Luego, entrega el ejercicio según las instrucciones de tu profesor. Si estás usando algún sistema de control de versiones, recuerda de hacer el “commit y push” de los cambios hacia el servidor.
You are not logged in. Log in here and track your progress.
English version by Paul Vincent Craven
Spanish version by Antonio Rodríguez Verdugo
Russian version by Vladimir Slav
Turkish version by Güray Yildirim
Portuguese version by Armando Marques Sobrinho and Tati Carvalho
Dutch version by Frank Waegeman
Hungarian version by Nagy Attila
Finnish version by Jouko Järvenpää
French version by Franco Rossi
Korean version by Kim Zeung-Il
Chinese version by Kai Lin