Python Apuntes Curso 1
Python Apuntes Curso 1
Python Apuntes Curso 1
4.6 Ejercicios......................................................................................................................................................................40 5
Python [0] .............................................................................................................................................................................42 5.1
Lenguaje Python..........................................................................................................................................................42 5.2
Consultar.....................................................................................................................................................................42 5.3
Instalando Python y Utilizando IDLE ...........................................................................................................................43 5.4 Visual
Studio Code.......................................................................................................................................................44 6 Entrada/Salida
[3].................................................................................................................................................................45 6.1
print.............................................................................................................................................................................45 6.2
Comentarios................................................................................................................................................................45 6.3
Variables......................................................................................................................................................................46 6.4 Tipos
de datos numéricos y String ..............................................................................................................................48 6.5 Leyendo
Datos del Teclado .........................................................................................................................................48 6.6 Operaciones
Artiméticas.............................................................................................................................................49 6.7 Operaciones con
Cadenas...........................................................................................................................................51 6.8 Más Acerca de print
....................................................................................................................................................52 6.9 Salida con
Formato......................................................................................................................................................53 6.10
Constantes...................................................................................................................................................................54 6.11
Modulo math...............................................................................................................................................................55 6.12 Turtle
Graphics............................................................................................................................................................56 6.13
Ejercicios......................................................................................................................................................................60 7
Decisiones [3]........................................................................................................................................................................65 7.1
Sentencia if..................................................................................................................................................................65 7.1.1 if
..............................................................................................................................................................................66 7.1.2 if-else
......................................................................................................................................................................68 7.1.3 if-elif-else
................................................................................................................................................................68 7.1.4 if
Anidados..............................................................................................................................................................69 7.2 Operadores
Relacionales.............................................................................................................................................70 7.3 Tipo de Dato bool
X.....................................................................................................................................................70 7.4 Comparando
Strings....................................................................................................................................................71
3
7.5 Operadores Lógicos.....................................................................................................................................................72 7.6
Operador Ternario X....................................................................................................................................................74 7.7
Sentencia pass.............................................................................................................................................................74 7.8
Turtle X ...........................................................................................................................¡Error! Marcador no definido. 7.9
Ejercicios......................................................................................................................................................................75
8 Ciclos [3] ...............................................................................................................................................................................85 8.1
Introducción ................................................................................................................................................................85 8.2
Operadores de asignación...........................................................................................................................................86 8.3
Random.......................................................................................................................................................................87 8.4
for................................................................................................................................................................................88
8.5 while............................................................................................................................................................................92
8.5.1 Ejemplo #1 ..............................................................................................................................................................93
8.5.2 Ejemplo #2 ..............................................................................................................................................................93
1.1 Algoritmo
Un algoritmo es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un
problema.
6
1.1.3 Etapas para resolver problema
un problema
Problema
Las características que los algoritmos deben reunir son las siguientes:
• Precisión: Los pasos a seguir en el algoritmo deben ser precisados claramente.
• Determinismo: El algoritmo, dado un conjunto de datos idénticos de entrada, siempre debe arrojar los mismos
resultados.
• Finitud: El algoritmo, independientemente de la complejidad del mismo, siempre debe ser de longitud finita
Algoritmo
• El módulo 1 representa la operación o acción que permite el ingreso de los datos del problema. • El módulo 2
representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solución al problema.
• El módulo 3 representa una operación o conjunto de operaciones que permiten comunicar al exterior el o los resultados
alcanzados.
7
1.2 Raptor
Es un ambiente de programación con base en diagramas de flujo, diseñado específicamente para ayudar a los estudiantes a
visualizar sus algoritmos y evitar el bagaje sintáctico.
9
1.2.3 Menús
A continuación se muestran algunas de las operaciones básicas que se utilizan para empezar a trabajar con Raptor
• Menu File
o New crea un nuevo diagrama de flujo
o Open abre un diagrama de flujo previamente guardado
o Save guarda el diagrama de flujo actual
o Save As guarda el diagrama de flujo actual con otro nombre
o Print to Clipboard copia una imagen del diagrama de flujo actual al portapales, para que por ejemplo desde
Microsoft Word selecciones la opción “Pegar” y se agregue la imagen al documenta de Word
o Exit cierra raptor
• Menú Scale
o Permite cambiar el zoom de nuestro diagrama de flujo
• Menú Run
o Step ejecuta el programa Raptor paso por paso, un símbolo a la vez, de esta forma podemos ver cómo se
va ejecutando el programa
o Reset/Execute F5 detiene la ejecución del programa, borra el valor de todas las variables, y reinicia la
ejecución desde el principio
• Menú Mode
o Object-oriented este es el modo que debemos seleccionar al hacer nuestros diagramas de flujo, ya que de
no hacerlo, el símbolo “Loop” se comporta de forma diferente al que se utiliza en el lenguaje Java. • Menú Help
o General Help F1 contiene toda la ayuda necesaria para comprender la forma en que trabaja Raptor
10
1.2.4 Haciendo un programa Raptor
• Seleccionamos File\New
• Clic al símbolo que deseamos agregar y luego clic sobre el diagrama para agregar el símbolo. Al estar haciendo estas
operaciones, Raptor nos puede pedir que primero guardemos nuestro programa antes de continuar agregando símbolos
a nuestro diagrama. Los archivos de Raptor se guardan con la extensión .rap
11
• Una vez terminado nuestro diagrama de flujo presionamos la tecla F5 o damos clic al símbolo para ejecutar
nuestro diagrama. Los resultados de nuestro diagrama se muestran en la ventana Master Console. Además
podemos ver el valor de nuestras variables (área y radio) en la ventana Watch Window.
12
2 Símbolos Assignment, Input y Output []
2.1 Variables
Las variables son las localidades de memoria de computadoras que poseen un valor. En un momento dado una variable sólo
puede contener un único valor. Sin embargo, el valor de una variable puede variar (modificarse) conforme se ejecuta un
programa. Es por eso que se llaman "variables".
X.32
variable X.33
Durante la ejecución del programa de ejemplo anterior, la variable X almacena tres valores distintos. Tenga en cuenta que el
orden de las declaraciones en un programa es muy importante. Si cambia el orden de estas tres instrucciones de asignación, los
valores almacenados en X serían diferentes.
Todas las variables deben tener nombres significativos y descriptivos para el programador. Los nombres de variables deben estar
relacionados con el propósito para el cual sirve la variable en el programa. Un nombre de variable debe comenzar con una letra y
puede contener letras, dígitos y guiones bajos (pero sin espacios u otros caracteres especiales). Si un nombre de variable contiene
múltiples "palabras", el nombre es más "legible" si cada palabra está separado por un carácter de subrayado. La siguiente tabla
muestra algunos ejemplos de buenas, malas, e ilegales nombres de variables.
Cuando un programa RAPTOR comienza su ejecución, no existen variables. La primera vez que RAPTOR se encuentra con un
nuevo nombre de variable, se crea automáticamente una nueva localidad de memoria y se asocia este nombre de variable con la
nueva memoria. La variable existirá desde ese punto de la ejecución del programa hasta que el programa termina. Cuando se
crea una nueva variable, su valor inicial determina si la variable almacenará datos numéricos o de texto. Esto se llama tipo de
datos de la variable. El tipo de datos de una variable no puede cambiar durante la ejecución de un programa. En resumen, las
variables se crean automáticamente por Raptor y pueden contener ya sea:
El símbolo Input permite al usuario de un programa, introducir un valor cuando el programa se está ejecutando.
El símbolo Input lleva 2 valores, un texto entre comillas que contiene una descripción de lo que se le está pidiendo al usuario y el
nombre de una variable donde se va a guardar el valor que introduzca el usuario.
14
2.3 Símbolo Assignment
El símbolo de asignación se utiliza para realizar un cálculo y asignar el resultado a una variable. El nombre de la variable se escribe
en “Set” y el cálculo a realizar en “to”.
A continuación se muestras los operadores aritméticos y funciones matemáticas básicas que podemos utilizar con el símbolo
Assignment. Si desea información más completa, la puede consultar en la ayuda de Raptor presionando la tecla F1.
^ Potencia 4 ^ 2 es 16
* Multiplicación 4 * 2 es 8
/ División 4 / 2 es 2
+ Suma 4 + 2 es 6
- Resta 4 – 2 es 2
15
2.3.2 Funciones matemáticas básicas
Función Descripción Ejemplos
e Constante e. e es 2.7183
pi Constante pi pi es 3.1416
() Paréntesis
- Signo negativo
^ Potencia
+- Suma y Resta
Observe bien las siguientes operaciones y vea el resultado de la expresión aritmética según la jerarquía de los operadores.
4+2*3 10
(4 + 2) * 3 18
10 / 2 * 3 15
10 * 2 / 4 5
4 + 2 * max(5,3) 14
16
2.4 Símbolo Output
El símbolo Output muestra un resultado o resultados en la MasterConsole. Normalmente primero se escribe un texto encerrado
entre comillas con una descripción del resultado que se va a mostrar, seguido del operador “+” y la variable que contiene el
resultado.
17
2.5 Comentarios
Un comentario es un texto que se utiliza para explicar alguna parte del programa. El comentario se puede agregar a cualquier
símbolo. Para agregar un comentario hay que dar clic con el botón derecho del mouse sobre el símbolo y seleccionar la opción
“Comment” que aparece en el menú. Se recomienda agregar comentario del algoritmo en el símbolo Start
18
2.6 Ejemplos
2.6.1 Sumar 2 números 2.6.2 Área de un círculo
19
Area % del
Presupuesto
Ginecología 40%
Traumatología 35%
Pediatría 25%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal.
Ex205 Un alumno desea saber cuál será su calificación final en la materia de Física. Dicha calificación se compone de
los siguientes porcentajes:
• 55% del promedio de sus tres calificaciones parciales.
• 30% de la calificación del examen final.
• 15% de la calificación de un trabajo final.
Ex206 Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad
distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
Ex207 El dueño de una tienda compra un artículo a un precio determinado. Obtener el precio en que lo debe vender
para obtener una ganancia del 30%.
Ex208 Dado como datos el nombre de un dinosaurio, su peso y su altura, expresados estos dos últimos en libras y
pies respectivamente; escriba el nombre del dinosaurio, su peso expresado en kilogramos y su altura
expresada en metros.
Ex209 Resuelva el problema que tienen en una gasolinera. Los surtidores de la misma registran lo que “surten” en
galones, pero el precio de la gasolina está fijado en litros. El algoritmo debe calcular e imprimir lo que hay que
cobrarle al cliente.
Ex210 Dado como datos el radio y la altura de un cilindro, calcule e imprima el área y su volumen.
Ex211 Construya un algoritmo que calcule e imprima el número de segundos que hay en un determinado número de días.
Ex212 Dados los tres lados de un triángulo, determine su área. Esta la calculamos aplicando la siguiente fórmula:
Ex213 Calcular la distancia entre dos puntos, dado como datos las coordenadas de los puntos P1 y
21
Ex214 Dados 2 puntos en un plano cartesiano que forman un rectángulo, calcular su área.
Ex219 El costo de un automóvil nuevo para el consumidor es la suma total del costo del vehículo, del porcentaje de
ganancia del vendedor y de los impuestos locales o estatales aplicables (sobre el precio de venta). Supóngase una
ganancia del vendedor del 12% en todas las unidades y un impuesto del 6%. Leer el costo del automóvil e imprimir
el costo final para el consumidor.
Ex220 Dada una cantidad en pesos, obtener la equivalencia en dólares, asumiendo que la unidad cambiaría es un
dato desconocido.
Ex221 Todos los lunes, miércoles y viernes, una persona corre la misma ruta y cronometra los tiempos
obtenidos. Determinar el tiempo promedio que la persona tarda en recorrer la ruta en una semana
cualquiera.
22
3 Símbolo Selection [2]
3.1 Introducción
Una sentencia de selección permite hacer "decisiones" en el código sobre el estado actual de los datos del programa y luego
tomar uno de dos caminos alternativos para la siguiente sentencia a ejecutarse. El código Raptor que se muestra ilustra una
sentencia de selección, que siempre se dibuja como un rombo. Todas las decisiones se expresan como preguntas "sí / no".
Cuando se ejecuta un programa, si la respuesta a una decisión es "sí" (o verdadero), entonces se ejecutan las sentencias de la
izquierda. Si la respuesta es "no" (o falsa), entonces se ejecutan las sentencias de la derecha. En el ejemplo se ejecutarán, bien la
sentencia 2a o 2b, pero nunca ambos. Tenga en cuenta que hay dos posibles ejecuciones de este programa de ejemplo:
Possibility 1 Possibility 2
Statement 1 Statement 1
Statement 2a Statement 2b
Statement 3 Statement 3
Cualquiera de las dos opciones de una selección puede estar vacía o contener varias sentencias. No sería apropiado que ambas
opciones estén vacías o que ambas tengan las mismas sentencias exactas, porque entonces su decisión, Sí o No, no tendría
ningún efecto durante la ejecución del programa (ya que nada diferente pasaría sobre la base de la decisión).
Las decisiones o expresiones lógicas se forman utilizando los operadores relacionales, lógicos y aritméticos.
23
3.2 Formas diferentes de utilizar el símbolo Selection
24
3.3 Operadores relacionales
Operador Nombre Ejemplos
= Igual 4 = 5 es False
4 = 4 es True
!= Diferente 4 != 5 es True
4 != 4 es False
25
3.4 Operadores lógicos
Operador Nombre Ejemplo
26
3.5 Jerarquía operadores
• La jerarquía de los operadores se refiere al orden en que se evalúa una expresión cuando están involucrados diferentes
tipos de operadores.
• Cuando varios operadores tienen la misma jerarquía como en el caso de la suma y resta, o multiplicación, división y rem,
estos se evalúan de izquierda a derecha.
Funciones
()
* / rem
+-
not
and
xor
or
not(9<2) True
27
3.6 Ejemplos
3.6.1 Calificaciones versión 1.0
29
3.7 Ejercicios
Ex301 Dado como datos la matrícula y 3 calificaciones de un alumno; imprima la matrícula, el promedio y la
palabra “Aprobado” si el alumno tiene un promedio mayor o igual que 6, y la palabra “Reprobado” en caso
contrario.
Ex302 Calcular el sueldo semanal de un trabajador en base a las horas trabajadas y el pago por hora trabajada
X. • Horas ordinarias (40 primeras horas de trabajo). Se paga X pesos por hora.
• Horas extras 1.5 veces precio hora ordinaria (Después de las 40 horas trabajadas)
Ex303 Imprimir el costo de una llamada telefónica, capturando la duración de la llamada en minutos y conociendo
lo siguiente :
• Toda llamada que dure tres minutos o menos tiene un costo de $5.
• Cada minuto adicional cuesta $3
Ex304 Dado como dato un número entero, determine e imprima si el mismo es positivo, negativo o cero.
Ex306 Dado como datos de entrada tres números enteros, determine si los mismos están en orden ascendente.
Ex307 En una tienda efectúan un descuento a los clientes dependiendo del monto de la compra. El descuento se
efectúa con base en el siguiente criterio:
• Si el monto es menor que $500 no hay descuento.
• Si el monto está comprendido entre $500 y $1 000 inclusive 5% de descuento.
• Si el monto está comprendido entre $1 001 y $7 000 inclusive 11% de descuento.
• Si el monto está comprendido entre $7 001 y $15 000 inclusive 18% de descuento.
• Si el monto es mayor a $15 000 25% de descuento.
Dado el monto de la compra de un cliente, determine lo que el mismo debe pagar.
Ex308 En un cierto país el impuesto que se debe pagar por los artículos se calcula mediante la siguiente regla: los
primeros $20 no causan impuesto, los siguientes $20 tienen el 30% de impuesto y el resto el 40% de impuesto,
pero si el costo del producto es mayor a $500, entonces en lugar del 40% se cobra el 50%.
Leer el costo básico de un artículo y calcule su precio total (precio total = precio básico + impuesto).
Ex310 Dado como datos tres números enteros, identifique cuál es el mayor. Considere que los números pueden
ser iguales.
Ex311 El costo de las llamadas telefónicas internacionales depende de la zona geográfica en la que se encuentre el
país destino y del número de minutos hablados. En la siguiente tabla se presenta el costo del minuto por zona.
A cada zona se le ha asociado una clave.
30
Ex312 Calcular lo que hay que pagarle a un trabajador teniendo en cuenta su sueldo y las horas extras trabajadas.
Para el pago de horas extras se toma en cuenta la categoría del trabajador.
Ex313 En un hospital se ha hecho un estudio sobre los pacientes registrados durante los últimos 10 años, con el
objeto de hacer una aproximación de los costos de internación por paciente. Se obtuvo un costo promedio
diario según el tipo de enfermedad que aqueja al paciente. Además se pudo determinar que en promedio
todos los pacientes
con edad entre 14 y 22 años implican un costo adicional del 10%. La siguiente tabla expresa los costos
diarios, según el tipo de enfermedad.
Tipo de Enfermedad Costo/Paciente/Día
1 $80
2 $115
3 $145
4 $178
Ex315 Leer una hora en formato (horas, minutos, segundos) e indicar cuál será el tiempo dentro de un segundo.
Ex316 Leer tres números enteros y, si el primero de ellos es negativo, calcular el producto de los tres, en caso
contrario calcular la suma de ellos.
�� =ce − bf
���� − ���� y =af − cd
ae − bd
Leer los coeficientes (a, b, c, d, e, f) y resuelva el sistema. El programa deberá indicar los casos en
los que el sistema de ecuaciones no tenga solución.
Ex318 En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo
de un número que se escoge al azar. Si el número escogido es menor que 50 el descuento es del 15% sobre el
total de la compra, si es mayor o igual a 50 el descuento es del 20%. Obtener cuánto dinero se le descuenta.
Ex319 Leer tres números diferentes y determine el número medio del conjunto de los tres números (el número
medio es aquel número que no es ni mayor, ni menor).
Nota: Un año es bisiesto si es múltiplo de 4 salvo el caso en que sea múltiplo de 100, que no es bisiesto, y no
sea múltiplo de 400. Por ejemplo, el año 1900 no fue bisiesto, el 2000 sí y el 2100 no lo es.
31
Ex321 Determinar a qué rengo pertenece un numero entero positivo:
• A: 10…50
• B: 80…90
• C: 130..200
• D: Cualquier otro número positivo
Ex323 En un supermercado se hace una promoción, mediante la cual el cliente obtiene un descuento dependiendo
de un número que se escoge al azar. Si el número escogido es menor que 50 el descuento es del 15% sobre el
total de la compra, si es mayor o igual a 50 el descuento es del 20%. Obtener cuánto dinero se le descuenta.
Ex324 Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones: Si los ingresos del
comprador son menores de $800,000 el primer pago será del 15% del costo de la casa y el resto se distribuirá
en pagos mensuales, a pagar en diez años. Si los ingresos del comprador son de $800,000 o más la cuota
inicial será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7 años. La
empresa quiere obtener cuanto debe pagar un comprador por concepto del primer pago y cuanto por cada
pago parcial.
Ex325 En Re industrias se ha establecido una promoción de las llantas marca “Hancock”, dicha promoción consiste en
lo siguiente:
• Si se compran menos de cinco llantas el precio es de $130 cada una, de $120 si se compran de cinco a 10
y de $115 si se compran más de 10.
Obtener la cantidad de dinero que una persona tiene que pagar por cada una de las llantas que compra y la
que tiene que pagar por el total de la compra.
32
4 Símbolo Loop [1]
4.1 Introducción
Una sentencia Loop permite repetir una o más sentencias mientras una condición sea verdadera. Este tipo de sentencia de
control es lo que hace que las computadoras sean tan importantes. Una computadora puede ejecutar repetidamente las mismas
instrucciones una y otra vez.
El símbolo Loop se repite mientras la condición sea verdadera. Cuando la condición se hace falso, se termina.
Para que el símbolo Loop se repita mientras la condición sea verdadera se debe seleccionar la opción Object-oriented del menú
Mode, esta es la forma en la que se va a trabajar con este símbolo ya que en el lenguaje de programación Java, así es como
trabajan los ciclos. Si no configuramos esta opción, el símbolo Loop se va a repetir mientras la condición sea falsa.
33
4.2 Contador
Un contador es una variable que se utiliza para llevar la cuenta de algo en particular (número de estudiantes, número de
aprobados, etc). El contador primero se debe inicializar y posteriormente se va incrementado de 1 en 1.
En el siguiente diagrama, el símbolo Loop repite 5 veces la palabra Hola, para ello utilizamos la variable contador c, que es la que
lleva la cuenta del número de repeticiones. El símbolo Loop se repite mientras c sea menor o igual a 5.
34
4.3 Acumulador
Un acumulador es una variable que después de haberse inicializado, se incrementa con el valor de otra variable. A diferencia del
contador que se incrementa de 1 en 1, el acumulador o sumador se incrementa de forma variable. En el siguiente diagrama se
suma una lista de 5 números aleatorios.
35
4.4 Formas diferentes de utilizar Loop
El símbolo Loop lo podemos utilizar de 2 formas diferentes:
• Contador. Utilizando una variable contador para que se repita un determinado número de veces. Como es el caso de los
ejemplos anteriores.
• Valor bandera. Utilizando una variable cuya condición mientras sea verdadera se repita.
Dependiendo del enunciado del problema, podemos identificar si vamos a utilizar el símbolo Loop con contador o con un valor
bandera.
Utilizando contador:
• Leer una lista de números positivos. Nota: se asume que termina cuando se introduzca un número cero o negativo. •
Calcular el total de la nómina de empleados de una empresa. Se termina cuando se introduzca un sueldo cero o negativo
36
4.5 Ejemplos
4.5.1 Contar número de aprobados y reprobados de 5 calificaciones
37
4.5.2 Sumar una lista de gastos
38
4.5.3 Leer lista de números y mostrar la suma de los positivos y la suma de los negativos
39
4.6 Ejercicios
CONTADOR
Ex401 Mostrar la serie: 1 2 3 4 5 … 20
Ex405 Mostrar una tabla que muestre el cuadrado y el cubo de una lista de números del 1 al 10
Ex406 Dado como datos 5 números enteros, obtenga la suma de los números impares y el promedio de los
números pares.
Ex408 Hacer un diagrama que muestre por pantalla todos los números enteros positivos menores a uno leído
por teclado que no sean divisibles entre otro también leído de igual forma.
Ex409 Generar y mostrar una lista de números aleatorios en el rango de 0 a 10. El diagrama de flujo deberá
terminar cuando el número 3 se haya mostrado 3 veces.
Ex410 Calcule el aumento de sueldo para un grupo de N empleados de una empresa teniendo en cuenta el
siguiente criterio:
• Si el sueldo es inferior a $1 000 : Aumento 15%
• Si el sueldo es mayor o igual a $1 000 : Aumento 12%
Imprima el sueldo nuevo del trabajador y el total de nómina de la empresa, considerando este nuevo aumento.
Ex412 Dado N números enteros como dato, calcule el mayor y el menor de estos números.
Ex413 Un vendedor ha hecho N ventas y desea conocer aquellas de $200 o menos, las mayores a $200 pero
inferiores a $400, y el número de ventas de $400 o superiores a tal cantidad. Haga un diagrama de flujo que
le proporcione al vendedor esta información después de haber leído los datos de entrada.
Ex414 Diseñe un diagrama que lea los 100 votos otorgados a los 3 candidatos a gobernador e imprima el número
del candidato ganador y su cantidad de votos. Utilice números aleatorios.
Ex415 Escribe un diagrama que muestre, cuente y sume los múltiplos de 3 que hay entre 1 y un número leído
por teclado.
Ex416 Al cerrar un expendio de naranjas, 15 clientes que aún no han pagado recibirán un 15% de descuento si
compran más de 10 kilos. Determinar cuánto pagara cada cliente y cuanto percibirá la tienda por esas
compras.
Ex417 Realiza un diagrama que pinte la letra L por pantalla hecha con asteriscos. El programa pedirá la altura. El
palo horizontal de la L tendrá una longitud de la mitad (división entera entre 2) de la altura más uno. *
*
*
***
40
VALOR BANDERA (CONDICIÓN)
Ex418 La siguiente se llama la conjetura de ULAM en honor del matemático S. Ulam:
• Comience con cualquier entero positivo
• Si es par, divídalo entre 2; si es impar, multiplíquelo por 3 y agréguele 1.
• Obtenga enteros sucesivamente repitiendo el proceso.
Al final, obtendrá el número 1, independientemente del entero inicial. Por ejemplo, cuando el entero inicial
es 26, la secuencia será: 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1.
Lea un entero positivo y obtenga e imprima la sucesión de ULAM.
Ex419 Supóngase que en una reciente elección hubo cuatro candidatos (con identificadores 1, 2, 3, 4). Usted habrá
de encontrar, mediante un programa, el número de votos correspondiente a cada candidato y el porcentaje
que obtuvo respecto al total de los votantes. El usuario tecleará los votos de manera desorganizada, tal y
como se obtuvieron en la elección, el final de datos está representado por un cero. Observe, como ejemplo,
la siguiente lista:
13142214111213140
Donde 1 representa un voto para el candidato 1; 3 un voto para el candidato 3; y así sucesivamente.
Ex421 Generar y mostrar una lista de números aleatorios en el rango de 0 a 5. El diagrama de flujo terminará
cuando salgan 2 números consecutivos iguales.
Ex422 Calcular lo que hay que pagar por un conjunto de llamadas telefónicas. Por cada llamada se ingresa el tipo
(Internacional, Nacional, Local) y la duración en minutos. El criterio que se sigue para calcular el costo de
cada llamada es el siguiente:
• Internacional: 3 primeros minutos $7.59 Cada minuto adicional $3.03
• Nacional: 3 primeros minutos $1.20 Cada minuto adicional $0.48
• Local: Las primeras 3 llamadas no se cobran. Luego, cada llamada cuesta $0.60
Se termina cuando se introduce en el tipo de llamada una X.
Ex425 Realiza un programa que pida primero un número y a continuación un dígito. El programa nos debe dar
la posición (o posiciones) contando de izquierda a derecha que ocupa ese dígito en el número
introducido.
41
5 Python [0]
5.2 Consultar
42
5.3 Instalando Python y Utilizando IDLE
https://www.tutorialesprogramacionya.com/pythonya/detalleconcepto.php?punto=2&codigo=2&inicio=0
43
5.4 Visual Studio Code
Python y VSC: https://www.pythontutorial.net/getting-started/setup-visual-studio-code-for-python/
44
6 Entrada/Salida [3]
6.1 print
Se utiliza la función print para mostrar la salida en un programa de Python.
1 #print.py
2
3 print("Hola")
4 print('Hola')
5 print('Bienvenido "Francisco"')
6 print("Bienvenido 'Francisco'")
7 print(""" "hola" 'hola' """)
8 print(""" uno
9 dos
10 tres""")
Hola
Hola
Bienvenido "Francisco"
Bienvenido 'Francisco'
"hola" 'hola'
uno
dos
tres
6.2 Comentarios
Los comentarios son notas de explicación que documentan líneas o secciones de un programa. Los comentarios son parte del
programa, pero el intérprete de Python los ignora. Están destinados a personas que pueden estar leyendo el código fuente..
1 # comentarios.py
2
3 # Saludar
4 print("Hola Mundo") # Autor: Franciso
5 # Curso de Programación
45
6.3 Variables
Una variable es un nombre que representa una ubicación de almacenamiento en la memoria de la computadora. Las variables se
utilizan para guardar datos.
1 #variables.py
2
3 # Create two variables: top_speed and distance.
4 top_speed = 160
5 distance = 300
6
7 # Display the values referenced by the variables.
8 print('The top speed is')
9 print(top_speed)
10 print('The distance traveled is')
11 print(distance)
The top speed is
160
The distance traveled is
300
¡ADVERTENCIA! No puede usar una variable hasta que le haya asignado un valor. Se producirá un error si intenta realizar una
operación en una variable, como imprimirla, antes de que se le haya asignado un valor.
A veces, un simple error de tipeo causará este error. Un ejemplo es un nombre de variable mal escrito, como se muestra aquí:
temperature = 74.5 # Create a variable temperature = 74.5 # Create a variable
print(tempereture) # Error! Misspelled variable name print(Temperature) # Error! Inconsistent use of case
46
Convenciones de Nombres de Variables en Python
A la hora de nombrar una variable, una función, un módulo, una clase, etc. en Python, siempre se siguen las siguientes reglas y
recomendaciones:
• Un identificador puede ser cualquier combinación de letras (mayúsculas y minúsculas), números y el carácter guión bajo
(_).
• Un identificador no puede comenzar por un número.
• A excepción de los nombres de clases, es una convención que todos los identificadores se escriban en minúsculas,
separando las palabras con el guión bajo. Ejemplos: contador, suma_enteros.
• Es una convención que los nombres de clases sigan la notación Camel Case, es decir, todas las letras en minúscula a
excepción del primer carácter de cada palabra, que se escribe en mayúscula. Ejemplos: Coche, VehiculoMotorizado. • No
se pueden usar como identificadores las palabras reservadas.
• Como recomendación, usa identificadores que sean expresivos. Por ejemplo, contador es mejor que simplemente c. •
Python diferencia entre mayúsculas y minúsculas, de manera que variable_1 y Variable_1 son dos identificadores
totalmente diferentes.
47
6.4 Tipos de datos numéricos y String
1 #tiposdatos.py
2 #Ejemplo de tipos de datos
3
4 dato = 10
5 print ("El valor es", dato, "tipo", type(dato))
6 dato = 5.7
7 print ("El valor es", dato, "tipo", type(dato))
8 dato = "Hola Mundo"
9 print ("El valor es", dato, "tipo", type(dato))
El valor es 10 tipo <class 'int'>
El valor es 5.7 tipo <class 'float'>
El valor es Hola Mundo tipo <class 'str'>
48
6.6 Operaciones Aritméticas
1 # calculos1.py
2 # Get three test scores and assign them to the
3 # test1, test2, and test3 variables.
4 test1 = float(input('Enter the first test score: '))
5 test2 = float(input('Enter the second test score: '))
6 test3 = float(input('Enter the third test score: '))
7
8 # Calculate the average of the three scores
9 # and assign the result to the average variable.
10 average = (test1 + test2 + test3) / 3
11
12 # Display the average.
13 print('The average score is', average)
14 print("Test1", test1, "Test2", test2, "Test3", test3)
Enter the first test score: 40
Enter the second test score: 30
Enter the third test score: 55
The average score is 41.666666666666664
Test1 40.0 Test2 30.0 Test3 55.0
1 # calculos2.py
2 # Get a number of seconds from the user.
3 total_seconds = float(input('Enter a number of seconds: '))
4
5 # Get the number of hours.
6 hours = total_seconds // 3600
7
8 # Get the number of remaining minutes.
9 minutes = (total_seconds // 60) % 60
10
11 # Get the number of remaining seconds.
12 seconds = total_seconds % 60
13
14 # Display the results.
15 print('Here is the time in hours, minutes, and seconds:')
16 print('Hours:', hours)
17 print('Minutes:', minutes)
18 print('Seconds:', seconds)
Enter a number of seconds: 10000
Here is the time in hours, minutes, and seconds:
Hours: 2.0
Minutes: 46.0
Seconds: 40.0
49
Jerarquía de Operadores
50
6.7 Operaciones con Cadenas
1 # concatenar.py
2 # This program demonstrates string concatenation.
3 first_name = input('Enter your first name: ')
4 last_name = input('Enter your last name: ')
5
6 # Combine the names with a space between them.
7 full_name = first_name + ' ' + last_name
8
9 # Display the user's full name.
10 print('Your full name is ',full_name)
Enter your first name: Francisco
Enter your last name: Rojero
Your full name is Francisco Rojero
Dado que una cadena es una secuencia de caracteres, puede acceder a sus elementos mediante un índice. El primer carácter de
la cadena tiene un índice de cero.
1 # formatear.py
2
3 name = "Johnny"
4 print(f"Hello {name}")
5
6 temperature = 45
7 print(f"It is currently {temperature} degrees.")
8
9 val = 10
10 print(f"The value is {val + 2}.")
11
12 amount_due = 5000.0
13 monthly_payment = amount_due / 12.0
14 print(f"The monthly payment is {monthly_payment:.2f}.")
15
16 number = 123456
17 print(f"{number:d}")
18
19 number = 99
20 print(f"The number is {number:10}")
21
22 number = 12345.6789
23 print(f"The number is {number:12.2f}")
24 print(f"The number is {number:12,.2f}")
25
26 name1 = "Jones"
27 print(f"***{name1:^20}***")
Hello Johnny
It is currently 45 degrees.
The value is 12.
The monthly payment is 416.67.
123456
The number is 99
The number is 12345.68
The number is 12,345.68
*** Jones ***
Cuando se utilizan varios designadores en un especificador de formato, es importante escribir los designadores en el orden
correcto, que es:
[alignment][width][,][.precision][type]
53
6.10 Constantes
Una constante con nombre es un nombre que representa un valor especial, como el iva.
Las constantes son como las variables, pero sus valores no cambian durante la ejecución del programa. La mala noticia es que
Python no admite constantes.
Para evitar esto, use todas las letras mayúsculas para nombrar una variable para indicar que la variable debe tratarse como una
constante.
1 # constantes.py
2
3 IVA = 0.15
4
5 cuenta = float(input("Escribir valor de la cuenta del restaurante:"))
6 iva = cuenta * IVA
7 pagar = cuenta + iva
8
9 print("Cuenta + Iva", pagar)
Escribir valor de la cuenta del restaurante:200
Cuenta + Iva 230.0
54
6.11 Modulo math
El módulo de matemáticas de la biblioteca estándar de Python contiene numerosas funciones que se pueden utilizar en cálculos
matemáticos.
1 # raiz.py
2 # This program demonstrates the sqrt function.
3
4 import math
5
6 number = float(input('Enter a number: '))
7 square_root = math.sqrt(number)
8 print(f'The square root of {number} is {square_root}.')
Enter a number: 5
The square root of 5.0 is 2.23606797749979.
55
6.12 Turtle Graphics
Turtle Graphics es una forma fácil e interesante de aprender conceptos básicos de programación. El sistema de gráficos Python
Turtle simula una “tortuga” que obedece comandos para dibujar gráficos simples.
• https://realpython.com/beginners-guide-python-turtle/
• https://www.mclibre.org/consultar/python/lecciones/python-turtle-1.html
FUNCION DESCRIPCION
end_fill Fill the shape drawn after the last call to begin_fill().
pos Return the turtle’s current location (x,y) (as a Vec2D vector).
speed Set the turtle’s speed to an integer value in the range 0..10. If no argument is
given, return current speed.
import turtle
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.exitonclick()
import turtle
turtle.forward(200)
turtle.left(120)
turtle.forward(200)
turtle.exitonclick()
56
# tortuga1.py
import turtle
turtle.forward(50)
turtle.left(45)
turtle.forward(50)
turtle.left(45)
turtle.forward(50)
turtle.left(45)
turtle.forward(50)
turtle.exitonclick()
# tortuga2.py
import turtle
turtle.forward(50)
turtle.setheading(90)
turtle.forward(100)
turtle.setheading(180)
turtle.forward(50)
turtle.setheading(270)
turtle.forward(100)
turtle.exitonclick()
57
# tortuga3.py
import turtle
# tortuga4.py
import turtle
turtle.goto(0, 100)
turtle.goto(-100, 0)
turtle.goto(0, 0)
turtle.exitonclick()
# tortuga5.py
import turtle
turtle.hideturtle()
turtle.fillcolor('blue')
turtle.begin_fill()
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
turtle.end_fill()
turtle.exitonclick()
58
# tortuga6.py
import turtle
turtle.setup(300, 300)
turtle.penup()
turtle.hideturtle()
turtle.goto(-120, 120)
turtle.write("Top Left")
turtle.goto(70, -120)
turtle.write("Bottom Right")
turtle.exitonclick()
59
6.13 Ejercicios
NIVEL 1
ex602 (Convert Celsius to Fahrenheit) Write a program that reads a Celsius degree in a double value from the console,
then converts it to Fahrenheit and displays the result. The formula for the conversion is as follows:
fahrenheit = (9 / 5) * celsius + 32
Hint: In Java, 9 / 5 is 1, but 9.0 / 5 is 1.8.
ex603 (Compute the volume of a cylinder) Write a program that reads in the radius and length of a cylinder and computes
the area and volume using the following formulas:
area = 2 π r (h + r)
volume = π r2 h
ex604 (Convert feet into meters) Write a program that reads a number in feet, converts it to meters, and displays the
result. One foot is 0.305 meter. Here is a sample run:
ex606 (Cost of driving) Write a program that prompts the user to enter the distance to drive, the fuel efficiency of the car
in miles per gallon, and the price per gallon, and displays the cost of the trip. Here is a sample run:
ex607 (Financial application: calculate tips) Write a program that reads the subtotal and the gratuity rate, then computes
the gratuity and total. For example, if the user enters 10 for subtotal and 15% for gratuity rate, the program
displays $1.5 as gratuity and $11.5 as total. Here is a sample run:
60
ex608 (Health application: computing BMI) Body Mass Index (BMI) is a measure of health on weight. It can be calculated
by taking your weight in kilograms and dividing by the square of your height in meters. Write a program that
prompts the user to enter a weight in pounds and height in inches and displays the BMI. Note that one pound is
0.45359237 kilograms and one inch is 0.0254 meters. Here is a sample run:
b + 2 − a+ 2b
ex610 (Geometry: area of a hexagon) Write a program that prompts the user to enter the side of a hexagon and displays
its area. The formula for computing the area of a hexagon is
�������� =3√3
2
2��
wheres is the length of a side. Here is a sample run:
ex611 En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se
reparte conforme a la sig. tabla:
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto presupuestal
ex612 Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor desea saber
cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que
recibirá en el mes tomando en cuenta su sueldo base y comisiones.
ex613 El costo de un automóvil nuevo para el consumidor es la suma total del costo del vehículo, del porcentaje de
ganancia del vendedor y de los impuestos locales o estatales aplicables (sobre el precio de venta). Supóngase
una ganancia del vendedor del 12% en todas las unidades y un impuesto del 6%. Leer el costo del automóvil e
imprimir el costo final para el consumidor.
ex614 Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad
distinta. Obtener el porcentaje que cada quien invierte con respecto a la cantidad total invertida.
Write a program that asks the user to enter the name of his or her favorite city. Use a String variable to store the
input. The program should display the following:
61
ex616 Name, Age, and Annual Income
Store your age, name, and desired annual income as literals in these variables. The program should display these
values on the screen in a manner similar to the following:
Ex617 (Geometry: distance of two points) Write a program that prompts the user to enter two points (x1, y1) and (x2,
y2) and displays their distance between them. The formula for computing the distance is √(��2 − ��1)2
+(��2 − ��1)2. Note that you can use Math.pow(a, 0.5) to compute √��. Here is a sample run:
Ex618 (Geometry: area of a triangle) Write a program that prompts the user to enter three points (x1, y1), (x2, y2), (x3,
y3) of a triangle and displays its area. The formula for computing the area of a triangle is
Enter three points for a triangle: 1.5 -3.4 4.6 5 9.5 -3.4
The area of the triangle is 33.6
Ex619 Un alumno desea saber cuál será su calificación final en la materia de Física. Dicha calificación se compone de
los siguientes porcentajes:
• 55% del promedio de sus tres calificaciones parciales.
• 30% de la calificación del examen final.
• 15% de la calificación de un trabajo final.
Write a program that will ask the user to enter the amount of a purchase. The program should then compute
the state and county sales tax. Assume the state sales tax is 4 percent and the county sales tax is 2 percent. The
program should display the amount of the purchase, the state sales tax, the county sales tax, the total sales tax,
and the total of the sale (which is the sum of the amount of purchase plus the total sales tax). Hint: Use the
value
0.02 to represent 2 percent, and 0.04 to represent 4 percent.
Ex622 (Find the number of years) Write a program that prompts the user to enter the minutes (e.g., 1 billion), and
displays the number of years and days for the minutes. For simplicity, assume a year has 365 days. Here is a
sample run:
Ex623 (Sum the digits in an integer) Write a program that reads an integer between 0 and 1000 and adds all the digits
in the integer. For example, if an integer is 932, the sum of all its digits is 14.
Hint: Use the % operator to extract digits, and use the / operator to remove the extracted digit. For instance,
932 % 10 = 2 and 932 / 10 = 93.
63
Ex624 Mostrar la tabla de multiplicar de un número n. El valor de n debe estar entre 1 y 10.
Ex625 (Financial application: compound value) Suppose you save $100 each month into a savings account with the
annual interest rate 5%. Thus, the monthly interest rate is 0.05/12 = 0.00417. After the first month, the value in
the account becomes
100 * (1 + 0.00417) = 100.417
After the second month, the value in the account becomes
(100 + 100.417) * (1 + 0.00417) = 201.252
After the third month, the value in the account becomes
(100 + 201.252) * (1 + 0.00417) = 302.507
and so on.
Write a program that prompts the user to enter a monthly saving amount and displays the account value after
the sixth month.
Write a program that plays a word game with the user. The program should ask the user to enter the following:
After the user has entered these items, the program should display the following story, inserting the user’s
input into the appropriate locations:
There once was a person named NAME who lived in CITY. At the age of AGE, NAME went to college at COLLEGE.
NAME graduated and went to work as a PROFESSION. Then, NAME adopted a(n) ANIMAL named PETNAME.
They both lived happily ever after!
64
7 Decisiones [3]
7.1 Sentencia if
Una sentencia if es una estructura que permite que un programa especifique rutas alternativas de ejecución tomando como base
una expresión lógica. La sentencia if la podemos utilizar de cuatro formas diferentes: if, if-else, if-elif-else e if anidados.
65
if edad >= 18:
if sexo == "H":
print("Pasar por su playera azul")
else:
print("Pasar por su playera rosa")
else:
print("Eres menor de edad")
7.1.1 if
1 # if.py
2
3 calif1 = int(input("Primera calificación: "))
4 calif2 = int(input("Segunda calificación: "))
5 calif3 = int(input("Tercera calificación: "))
6
7 promedio = (calif1 + calif2 + calif3) / 3
8
9 if promedio >= 70:
10 print(f"Aprobado\nPromedio = {promedio:.0f}")
11
12 print("Fin del programa")
Primera calificación: 80
Segunda calificación: 90
Tercera calificación: 78
Aprobado
Promedio = 83
Fin del programa
Identación
En otros lenguajes de programación como Java, C# o C/C++, usan punto y coma (;) para separar las sentencias. Python, sin
embargo, usa espacios en blanco y sangría para construir la estructura del código de esta forma, el código es más legible y claro
en comparación con otros lenguajes de programación.
66
Continuación de Sentencias
• En Python, una barra invertida (\) es un carácter de continuación de línea. Si se coloca una barra invertida al final de una
línea, se considera que la línea continúa en la línea siguiente.
• Otro método que se puede usar para la continuación de línea es encerrar las líneas dentro de ().
1 # ifelse.py
2
3 calif1 = int(input("Primera calificación: "))
4 calif2 = int(input("Segunda calificación: "))
5 calif3 = int(input("Tercera calificación: "))
6
7 promedio = (calif1 + calif2 + calif3) / 3
8
9 if promedio >= 70:
10 print(f"Aprobado\nPromedio = {promedio:.0f}")
11 else:
12 print(f"Reprobado\nPromedio = {promedio:.0f}")
13 print("Hay que estudiar más")
14
15 print("Fin del programa")
Primera calificación: 50
Segunda calificación: 70
Tercera calificación: 65
Reprobado
Promedio = 62
Hay que estudiar más
Fin del programa
7.1.3 if-elif-else
1 # ifelifelse.py
2
3 calif1 = int(input("Primera calificación: "))
4 calif2 = int(input("Segunda calificación: "))
5 calif3 = int(input("Tercera calificación: "))
6
7 promedio = (calif1 + calif2 + calif3) / 3
8
9 if promedio >= 90:
10 print("Excelente")
11 elif promedio >= 80:
12 print("Bien")
13 elif promedio >= 70:
14 print("Regular")
15 else:
16 print("Reprobado")
17
18 print(f"Promedio = {promedio:.0f}")
19 print("Fin del programa")
Primera calificación: 80
Segunda calificación: 70
Tercera calificación: 75
Regular
Promedio = 75
Fin del programa
68
7.1.4 if Anidados
1 # ifanidados.py
2
3 calif1 = int(input("Primera calificación: "))
4 calif2 = int(input("Segunda calificación: "))
5 calif3 = int(input("Tercera calificación: "))
6
7 promedio = (calif1 + calif2 + calif3) / 3
8
9 if promedio >= 70:
10 print("Aprobado")
11 if promedio >= 90:
12 print("Felicidades. Aparecerá en el cuadro de honor.")
13 else:
14 print("Felicidades.")
15 else:
16 print("Reprobado\nHay que estudiar más.")
17
18 print(f"Promedio = {promedio:.0f}")
19 print("Fin del programa")
Primera calificación: 90
Segunda calificación: 100
Tercera calificación: 90
Aprobado
Felicidades. Aparecerá en el cuadro de honor.
Promedio = 93
Fin del programa
69
7.2 Operadores Relacionales
Estos operadores de comparación comparan dos valores y devuelven un valor booleano, ya sea True o False.
Y puede usar estos operadores de comparación para comparar tanto números como cadenas.
• True
• False
70
7.4 Comparando Strings
1 # password.py
2
3 # This program compares two strings.
4 # Get a password from the user.
5
6 password = input('Enter the password: ')
7
8 if password == 'prospero':
9 print('Password accepted.')
10 else:
11 print('Sorry, that is the wrong password.')
Enter the password: prospero
Password accepted.
1 # sort_names.py
2
3 # This program compares strings with the < operator.
4 # Get two names from the user.
5
6 name1 = input('Enter a name (last name first): ')
7 name2 = input('Enter another name (last name first): ')
8
9 print('Here are the names, listed alphabetically.')
10
11 if name1 < name2:
12 print(name1)
13 print(name2)
14 else:
15 print(name2)
16 print(name1)
Enter a name (last name first): jose
Enter another name (last name first): francisco
Here are the names, listed alphabetically.
francisco
jose
71
7.5 Operadores Lógicos
1 # loan.py
2
3 # This program determines whether a bank customer
4 # qualifies for a loan.
5
6 MIN_SALARY = 30000.0 # The minimum annual salary
7 MIN_YEARS = 2 # The minimum years on the job
8
9 salary = float(input('Enter your annual salary: '))
10 years_on_job = int(input('Enter the number of years employed: '))
11
12 if salary >= MIN_SALARY and years_on_job >= MIN_YEARS:
13 print('You qualify for the loan.')
14 else:
15 print('You do not qualify for this loan.')
Enter your annual salary: 50000
Enter the number of years employed: 3
You qualify for the loan.
72
73
Para hacer más conciso el código anterior, se puede utilizer una sintaxis alternativa como la siguiente:
1 ticket_price = 20 if age >= 18 else 5
1 if password == 'prospero':
2 pass
3 else:
4 print('Sorry, that is the wrong password.')
74
7.8 Ejercicios
NIVEL 1
Write a program that asks the user for a number in the range of 1 through 7. The program should display the
corresponding day of the week, where 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 =
Saturday, and 7 = Sunday. The program should display an error message if the user enters a number that is
outside the range of 1 through 7.
Areas of Rectangles
The area of a rectangle is the rectangle’s length times its width. Write a program that asks for the length and
width of two rectangles. The program should tell the user which rectangle has the greater area, or if the areas
are the same.
Age Classifier
Write a program that asks the user to enter a person’s age. The program should display a message
indicating whether the person is an infant, a child, a teenager, or an adult.
Roman Numerals
Write a program that prompts the user to enter a number within the range of 1 through 10. The program should
display the Roman numeral version of that number. If the number is outside the range of 1 through 10, the
program should display an error message.
Color Mixer
The colors red, blue, and yellow are known as the primary colors because they cannot be made by mixing
other colors. When you mix two primary colors, you get a secondary color, as shown here:
Design a program that prompts the user to enter the names of two primary colors to mix. If the user
enters anything other than “red,” “blue,” or “yellow,” the program should display an error message.
Otherwise, the program should display the name of the secondary color that results.
Assume hot dogs come in packages of 10, and hot dog buns come in packages of 8. Write a program that
calculates the number of packages of hot dogs and the number of packages of hot dog buns needed for a
cookout, with the minimum amount of leftovers. The program should ask the user for the number of people
attending the cookout and the number of hot dogs each person will be given. The program should display the
following details:
75
On a roulette wheel, the pockets are numbered from 0 to 36. The colors of the pockets are as
follows: • Pocket 0 is green.
• For pockets 1 through 10, the odd-numbered pockets are red and the even-numbered pockets are black. •
For pockets 11 through 18, the odd-numbered pockets are black and the even-numbered pockets are red. •
For pockets 19 through 28, the odd-numbered pockets are red and the even-numbered pockets are black. •
For pockets 29 through 36, the odd-numbered pockets are black and the even-numbered pockets are red.
Write a program that asks the user to enter a pocket number and displays whether the pocket is green, red,
or black. The program should display an error message if the user enters a number that is outside the range
of 0 through 36
Money Counting Game
Create a change-counting game that gets the user to enter the number of coins required to make exactly one
dollar. The program should prompt the user to enter the number of pennies, nickels, dimes, and quarters. If
the total value of the coins entered is equal to one dollar, the program should congratulate the user for
winning the game. Otherwise, the program should display a message indicating whether the amount entered
was more than or less than one dollar.
Serendipity Booksellers has a book club that awards points to its customers based on the number of
books purchased each month. The points are awarded as follows:
Write a program that asks the user to enter the number of books that he or she has purchased this month,
then displays the number of points awarded.
Software Sales
A software company sells a package that retails for $99. Quantity discounts are given according to the
following table:
Write a program that asks the user to enter the number of packages purchased. The program should then
display the amount of the discount (if any) and the total amount of the purchase after the discount.
Shipping Charges
The Fast Freight Shipping Company charges the following rates:
76
Write a program that asks the user to enter the weight of a package then displays the shipping charges.
Time Calculator
Write a program that asks the user to enter a number of seconds and works as follows:
• There are 60 seconds in a minute. If the number of seconds entered by the user is greater than or equal
to 60, the program should convert the number of seconds to minutes and seconds.
• There are 3,600 seconds in an hour. If the number of seconds entered by the user is greater than or equal
to 3,600, the program should convert the number of seconds to hours, minutes, and seconds. • There are
86,400 seconds in a day. If the number of seconds entered by the user is greater than or equal to 86,400,
the program should convert the number of seconds to days, hours, minutes, and seconds.
February Days
The month of February normally has 28 days. But if it is a leap year, February has 29 days. Write a program that
asks the user to enter a year. The program should then display the number of days in February that year. Use
the following criteria to identify leap years:
1. Determine whether the year is divisible by 100. If it is, then it is a leap year if and only if it is also divisible
by 400. For example, 2000 is a leap year, but 2100 is not.
2. If the year is not divisible by 100, then it is a leap year if and only if it is divisible by 4. For example, 2008 is
a leap year, but 2009 is not.
Restaurant Selector
You have a group of friends coming to visit for your high school reunion, and you want to take them out to eat at
a local restaurant. You aren’t sure if any of them have dietary restrictions, but your restaurant choices are as
follows:
Write a program that asks whether any members of your party are vegetarian, vegan, or gluten-free, to
which then displays only the restaurants to which you may take the group.
Here is an example of the program’s output:
77
Corner Cafe
The Chef's Kitchen
ex701 El 14 de febrero una persona desea comprarle un regalo al ser querido que más aprecia en ese momento.
Escribir un programa donde la persona escriba el tipo de regalo que desea hacer y se muestre en pantalla el
rango del costo de ese tipo de regalo
ex702 Escribir un programa para determinar el costo y el descuento que tendrá un artículo. Considere que si su precio
es mayor o igual a $200 se le aplica un descuento de 15%, y si su precio es mayor a $100 pero menor a $200, el
descuento es de 12%, y si es menor a $100, sólo 10%
ex703 Capturar las calificaciones obtenidas por un estudiante en tres exámenes parciales e imprimir su promedio
final seguido del mensaje correspondiente de acuerdo a la siguiente tabla:
ex704 Determinar el sueldo semanal de un trabajador con base en las horas trabajadas y el pago por hora,
considerando que después de las 40 horas cada hora se considera como extra y se paga al doble.
ex705 Escribir un programa que dados dos números enteros a, b y un operador aritmético (+, -, *, /), realice la
operación indicada. Por ejemplo, si los datos son: 8 4 +, el algoritmo debe calcular la suma de 8 + 4.
ex706 Escribir un programa que dados dos números enteros a, b y el texto de una operación (suma, resta,
multiplicación y división), realice la operación indicada. Por ejemplo, si los datos son: 8 4 suma, el algoritmo
debe calcular la suma de 8 + 4.
ex707 Escribir un programa que genere 3 números aleatorios en el rango de 0 a 10 y nos pregunte el resultado de
la suma de los 3 números. El programa mostrará el mensaje de “correcto o “incorrecto”.
ex708 (Random month) Write a program that randomly generates an integer between 1 and 12 and displays the
English month name January, February, …, December for the number 1, 2, …, 12, accordingly.
ex709 Calcular el Índice de Masa Corporal de una persona y mostrar a que rango pertenece: Bajo Peso,
Normal, Sobrepeso, etc.
78
ex710 (Game: heads or tails) Write a program that lets the user guess whether the flip of a coin results in heads or
tails. The program randomly generates an integer 0 or 1, which represents head or tail. The program prompts
the user to enter a guess and reports whether the guess is correct or incorrect.
79
ex711 (Cost of shipping) A shipping company uses the following function to calculate the cost (in dollars) of
shipping based on the weight of the package (in pounds).
Write a program that prompts the user to enter the weight of the package and display the shipping cost. If
the weight is greater than 50, display a message “the package cannot be shipped.”
ex712 (Algebra: solve 2 * 2 linear equations) You can use Cramer’s rule to solve the following 2 * 2 system of
linear equation:
Write a program that prompts the user to enter a, b, c, d, e, and f and displays the result. If ad - bc is 0,
report that “The equation has no solution.”
ex713 Dado un valor de x calcular el valor de y según la siguiente función. Para calcular el residuo de una división
(mod) utilice el operador %.
ex714 (Palindrome number) Write a program that prompts the user to enter a three-digit integer and determines
whether it is a palindrome number. A number is palindrome if it reads the same from right to left and from left
to right. Here is a sample run of this program:
80