Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Python Apuntes Curso 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 73

Contenido

1 Raptor [1]................................................................................................................................................................................6 1.1


Algoritmo.......................................................................................................................................................................6 1.1.1
Diagramas de flujo ....................................................................................................................................................6 1.1.2
Pseudocódigo............................................................................................................................................................6 1.1.3 Etapas
para resolver un problema............................................................................................................................7 1.2
Raptor............................................................................................................................................................................8 1.2.1
Estructura..................................................................................................................................................................9 1.2.2
Símbolos....................................................................................................................................................................9 1.2.3
Menús.....................................................................................................................................................................10 1.2.4
Haciendo un programa Raptor ...............................................................................................................................11 2 Símbolos
Assignment, Input y Output []...............................................................................................................................13 2.1
Variables......................................................................................................................................................................13 2.2
Símbolo Input..............................................................................................................................................................14 2.3
Símbolo Assignment....................................................................................................................................................15 2.3.1
Operadores aritméticos..........................................................................................................................................15 2.3.2
Funciones matemáticas básicas..............................................................................................................................16 2.3.3
Jerarquía operadores aritméticos...........................................................................................................................16 2.4 Símbolo
Output...........................................................................................................................................................17 2.5
Comentarios................................................................................................................................................................18 2.6
Ejemplos......................................................................................................................................................................19 2.6.1
Sumar 2 números....................................................................................................................................................19 2.6.2 Área de
un círculo ...................................................................................................................................................19 2.6.3 Calcular cubo y
raíz de un número positivo............................................................................................................20 2.7
Ejercicios......................................................................................................................................................................21 3 Símbolo
Selection [2]............................................................................................................................................................23 3.1
Introducción ................................................................................................................................................................23 3.2
Formas diferentes de utilizar el símbolo Selection .....................................................................................................24 3.3
Operadores relacionales .............................................................................................................................................25 3.4
Operadores lógicos......................................................................................................................................................26 3.5
Jerarquía operadores ..................................................................................................................................................27 3.6
Ejemplos......................................................................................................................................................................28 3.6.1
Calificaciones versión 1.0........................................................................................................................................28 3.6.2
Calificaciones versión 2.0........................................................................................................................................28 3.6.3
Calificaciones versión 3.0........................................................................................................................................29 3.7
Ejercicios......................................................................................................................................................................30 4 Símbolo
Loop [1]...................................................................................................................................................................33
2
4.1 Introducción ................................................................................................................................................................33 4.2
Contador .....................................................................................................................................................................34 4.3
Acumulador.................................................................................................................................................................35 4.4
Formas diferentes de utilizar Loop..............................................................................................................................36 4.5
Ejemplos......................................................................................................................................................................37

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......................................................................................................................................................................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.4.1 Ejemplo #1 ..............................................................................................................................................................89


8.4.2 Ejemplo #2 ..............................................................................................................................................................90
8.4.3 Ejemplo #3 ..............................................................................................................................................................90
8.4.4 Ejemplo #4 ..............................................................................................................................................................91

8.5 while............................................................................................................................................................................92
8.5.1 Ejemplo #1 ..............................................................................................................................................................93
8.5.2 Ejemplo #2 ..............................................................................................................................................................93

8.6 Ciclos Anidados ...........................................................................................................................................................94


8.6.1 Ejemplo #1 ..............................................................................................................................................................94
8.6.2 Ejemplo #2 ..............................................................................................................................................................94

8.7 Las sentencias break, continue, y else ........................................................................................................................95


8.7.1 break .......................................................................................................................................................................95
8.7.2 continue..................................................................................................................................................................95
8.7.3 else..........................................................................................................................................................................96

8.8 Turtle...........................................................................................................................................................................97 8.8.1


Ejemplo #1 ..............................................................................................................................................................97 8.9
Ejercicios......................................................................................................................................................................98 9
Funciones [3] ......................................................................................................................................................................104 9.1
Introducción ..............................................................................................................................................................104 9.2
Funciones return .......................................................................................................................................................105 9.2.1
Argumentos y Parámetros....................................................................................................................................105 9.3 Funciones
None.........................................................................................................................................................106 9.4 Ámbito de
Variables (scope) .....................................................................................................................................107 9.4.1 Variables
Locales...................................................................................................................................................107 9.4.2 Variable global
......................................................................................................................................................107 9.5 Funciones return vs
None .........................................................................................................................................108 9.6 Parámetros por
Default.............................................................................................................................................109
4
9.7 Palabras Clave como Argumentos.............................................................................................................................109 9.8
Devolviendo Varios Resultados.................................................................................................................................109 9.9
Módulos ....................................................................................................................................................................110

9.9.1 _ _name_ _ Variable .............................................................................................................................................111


9.10 Turtle..............................................................................................................................¡Error! Marcador no definido.
9.11 Ejercicios....................................................................................................................................................................112
5
1 Raptor [1]

1.1 Algoritmo
Un algoritmo es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un
problema.

1.1.1 Diagramas de flujo


Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia
de instrucciones.
1.1.2 Pseudocódigo
El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una
mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos
y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones
científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan
una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar
instrucciones complejas.

6
1.1.3 Etapas para resolver problema
un problema

Problema

Construcción del algoritmo


Verificación del
Análisis
algoritmo
profundo del

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

Por otra parte, un algoritmo consta de tres secciones o módulos principales.

Algoritmo

Datos de entrada Procesamiento Impresión de


de los datos resultados

• 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.

El Raptor puede ser descargado de la siguiente dirección de internet: http://raptor.martincarlisle.com


8
1.2.1 Estructura
Un programa Raptor es un conjunto de símbolos relacionados que representan las acciones a realizar. Las flechas que conectan
los símbolos determinan el orden en que se realizan las acciones. Cuando se ejecuta un programa RAPTOR, se empieza en el
símbolo de inicio y sigue las flechas para ejecutar el programa. Un programa RAPTOR deja de ejecutar cuando se alcanza el
símbolo End. El programa RAPTOR más pequeño (que no hace nada) se representa en la siguiente imagen. Mediante la
colocación de las declaraciones RAPTOR adicionales entre los símbolo Start y End se pueden crear programas RAPTOR
significativos.
1.2.2 Símbolos
RAPTOR tiene siete (7) símbolos básicos, donde cada símbolo representa un tipo único de instrucción. Los símbolos básicos se
muestran en la siguiente imagen.

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

Descripción Valor de X Programa

• Cuando se inicia el programa, no existen variables. En RAPTOR, las


variables se crean automáticamente cuando se utilizan por

primera vez en una sentencia.Indefinido

• La primera sentencia de asignación, X←32 asigna el valor de 32


a

X.32

• La siguiente sentencia de asignación, X←X+1, toma el valor de X

que es 32, y le suma 1, y asigna el resultado de 33 a la

variable X.33

• La siguiente sentencia de asignación, X←X*2, toma el valor de X


66
que es 33, y lo multiplica por 2, y asigna el resultado de 66 a la
variable X.

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.

Bien Mal Ilegal

sueldoEmpleado a (no es descriptivo) 4sale (No debe empezar con digito)


sueldo_empleado edadalumno (agregar letra mayúscula o sales tax(No debe llevar espacios)
pesoAlumno guion bajo) sales$ (No debe llevar caracteres especiales)
distanceKms my4to (no es descriptivo)
iva

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:

• Números como por ejemplo 12, 567, -4, 3.1415, 0.000371, o


• Cadenas de caracteres (Strings) como, "Hola, ¿cómo estás?", "James Bond", "El valor de x es"
13
2.2 Símbolo Input

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.

Cuando se ejecuta el programa lo que muestra el símbolo es lo siguiente:

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.

2.3.1 Operadores aritméticos


Operador Nombre Ejemplos

- Signo de negativo -5, -10.4

^ Potencia 4 ^ 2 es 16

* Multiplicación 4 * 2 es 8

/ División 4 / 2 es 2

rem Residuo 4 rem 2 es 0


4 rem 3 es 1
10 rem -3 es 1
-10 rem 3 es -1

+ Suma 4 + 2 es 6

- Resta 4 – 2 es 2

15
2.3.2 Funciones matemáticas básicas
Función Descripción Ejemplos

abs Valor absoluto abs(-3.7) es 3.7000


abs(23) es 23
abs(-3) es 3
ceiling Redondea al entero mayor. ceiling(15.9) es 16
ceiling(3.1) es 4
ceiling(-4.1) es -4
ceiling(23) es 23

e Constante e. e es 2.7183

floor Redondea al entero menor. floor(15.9) es 15


floor(3.1) es 3
floor(-4.1) es -5
floor(23) es 23.

log Logaritmo natural base e. log(5) es 1.6094

max Devuelve el mayor de 2 argumentos max(5,7) es 7

min Devuelve el menor de 2 argumentos min(5,7) es 5

pi Constante pi pi es 3.1416

random Devuelve un número aleatorio en el rango de 0 a 1 sin incluir el 1. random es 0.8965


random es 0.9999
random es 0.1934
random es 0.0

sqrt Raiz cuadrada sqrt(5) es 2.2362


sqrt(9) es 3

2.3.3 Jerarquía operadores aritméticos


La jerarquía de los operadores aritméticos se refiere al orden en el cual se evaluará una expresión aritmética. En la siguiente tabla
se muestra el orden de mayor a menor prioridad. 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.

() Paréntesis

- Signo negativo

^ Potencia

* / rem Multiplicación, División y Residuo

+- 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

2.6.3 Calcular cubo y raíz de un número positivo


20
2.7 Ejercicios
Ex201 Dado el costo de un artículo vendido y la cantidad de dinero entregada por el cliente, calcule e imprima el
cambio que se debe entregar al mismo.

Ex202 Dadas la base y la altura de un triángulo, calcule e imprima su área.

Ex203 Calcular el área y el volumen de una esfera.


Ex204 En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se
reparte conforme a la sig. tabla:

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:

�������� = √��(�� −��1)(�� − ��2)(�� − ��3)

�� =��1 + ��2 +��3


2

Ex213 Calcular la distancia entre dos puntos, dado como datos las coordenadas de los puntos P1 y

P2. �� = √(��1 − ��2)2 + (��1 − ��2)2

21
Ex214 Dados 2 puntos en un plano cartesiano que forman un rectángulo, calcular su área.

Ex215 Convertir un tiempo dado en segundos a formato de H:M:S.

Ex216 Convertir de grados centígrados a grados Fahrenheit

Ex217 Evaluar la siguiente expresión


a + 7c
b + 2 − a+ 2b
Ex218 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.

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.

Ex222 Realizar un programa que calcule la edad de una persona.

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

> Mayor 4 > 5 es False


4 > 2 es True

< Menor 4 < 5 es True


4 < 2 es False

!= Diferente 4 != 5 es True
4 != 4 es False

>= Mayor o igual 4 >= 5 es False


4 >= 4 es True
4 >= 3 es True

<= Menor o igual 4 <= 5 es True


4 <= 4 es True
4 <= 3 es False

25
3.4 Operadores lógicos
Operador Nombre Ejemplo

Not No Not(4>5) es True

And Y (4 > 2) And (3*2<20) es True

Or O (4>2) Or (5<3) es True

Expresiones A And B A Or B Not A


A B

True True True True False

True False False True False

False True False True True

False False False False True

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

4+2 > 5 + 1 False


4 > 2 and 4 > 1 True

7 rem 2 = 1 and 8 < 10 True

not(9<2) True

2^3 and 6=9 Expresión incorrecta

27
3.6 Ejemplos
3.6.1 Calificaciones versión 1.0

3.6.2 Calificaciones versión 2.0


28
3.6.3 Calificaciones versión 3.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.

Ex305 Dado un número entero A, determinar si el mismo es par, impar o nulo.

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).

Ex309 Determinar el mayor de cuatro números diferentes.

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.

Clave Zona Precio


12 Canadá 2.2
15 USA 1.8
17 Centroamérica 1.9
21 Sudamérica 2.5

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.

Categoría Precio Hora


Extra
1 $30
2 $35
3 $40
4 $47
Cada trabajador puede tener como máximo 30 horas extras, si tienen más sólo se les pagarán 30. A
los trabajadores con categoría mayor a 4 no debemos pagarles horas extras.

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

Calcular e imprimir el costo total que representa un paciente.


Ex314 Conociendo los lados de un triángulo determinar si el equilátero, isósceles o escaleno.

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.

Ex317 Sea un sistema de ecuaciones de la forma:


���� +���� = ��
���� +���� = ��
que puede resolverse usando las siguientes fórmulas:

�� =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).

Ex320 Escribir un programa que pida un año y diga si es bisiesto o no.

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

Ex322 Determinar a qué rengo pertenece un numero entero positivo:


• A: 10…50
• B: 45…90
• C: 80...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:

• Mostrar los números de 1 a 10


• Leer una lista de 5 números
• Calcular el total de la nómina de una empresa que tiene 8 empleados

Utilizando valor bandera:

• 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

Ex402 Mostrar la serie: 50 49 48 47 … 3 2 1 0

Ex403 Mostrar la serie: 0 2 4 6 8 …. 100

Ex404 Mostrar la serie de n1 a n2 con incrementos de n

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.

Ex407 Mostrar la tabla de multiplicar de un número entre 1 y 10.

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.

Ex411 Dado N números enteros como dato hacer lo siguiente:


a) Obtenga cuántos números leídos fueron mayores que cero.
b) Calcule el promedio de los números positivos.
c) Obtenga el promedio de todos los números.

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.

Ex420 Leer una lista de calificaciones y mostrar:


• Número de aprobados
• Número de reprobados
• Cuantas calificaciones fueron 10
• Promedio general
El diagrama de flujo deberá terminar cuando se introduzca una calificación negativa

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.

Ex423 Calcular el promedio de edad de hombres y mujeres de un grupo de alumnos.

Ex424 Obtenga la suma e imprima los términos de la siguiente serie:


2 ,5 , 7, 10, 12,15, 17, ... 1 800

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.1 Lenguaje Python


Python es un lenguaje de programación de alto nivel cuya máxima es la legibilidad del código. Las principales características de
Python son las siguientes:

• Es multiparadigma, ya que soporta la programación imperativa, programación orientada a objetos y funcional. • Es


multiplataforma: Se puede encontrar un intérprete de Python para los principales sistemas operativos: Windows, Linux y
Mac OS. Además, se puede reutilizar el mismo código en cada una de las plataformas.
• Es dinámicamente tipado: Es decir, el tipo de las variables se decide en tiempo de ejecución. • Es fuertemente tipado: No
se puede usar una variable en un contexto fuera de su tipo. Si se quisiera, habría que hacer una conversión de tipos.
• Es interpretado: El código no se compila a lenguaje máquina.

5.2 Consultar

• Tutorial de Python (https://j2logo.com/python/tutorial/)


• Python Tutorial (https://www.pythontutorial.net/)
• Python para Impacientes (https://python-para-impacientes.blogspot.com/p/indice.html)
• Python Ya (https://www.tutorialesprogramacionya.com/pythonya/index.php?inicio=0)

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/

Un programa simple en Python: https://code.visualstudio.com/docs/python/python-tutorial

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'>

6.5 Leyendo Datos del Teclado


1 # input.py
2 # Get the user's name, age, and income.
3 name = input('What is your name? ')
4 age = int(input('What is your age? '))
5 income = float(input('What is your income? '))
6
7 # Display the data.
8 print('Here is the data you entered:')
9 print('Name:', name,'Age:', age)
10 print('Income:', income)
What is your name? Francisco
What is your age? 51
What is your income? 5000
Here is the data you entered:
Name: Francisco Age: 51
Income: 5000.0
int(str) – convert a string to a int number.

float(str) – convert a string to a floating-point number.

bool(val) – convert a value to a boolean value, either True or False.

str(val) – return the string representation of a value.

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

Acceso a elementos de cadena

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.

El siguiente ejemplo muestra cómo acceder a los elementos usando un índice:

1 str = "Python String"


2 str_len = len(str)
3 print(str_len) #13
4 print(str[0]) # P
5 print(str[1]) # y
6 print(str[-1]) # g
7 print(str[-2]) # n
8 print(str[0:2]) #Py
9 str[0] = 'J' #Python strings are immutable. It means that you cannot change the string.
51
6.8 Más Acerca de print
1 # print2.py
2
3 print('One')
4 print('Two')
5 print('Three')
6 print('One', end=' ')
7 print('Two', end=' ')
8 print('Three')
9
10 nombre = "Francisco"
11 edad = 20
12 sueldo = 500.75
13
14 print(nombre, edad, sueldo)
15 print(nombre, edad, sueldo, sep=" ")
16 print(nombre, edad, sueldo, sep="*")
17
18 print("Hola\tMundo\tUlsa")
One
Two
Three
One Two Three
Francisco 20 500.75
Francisco 20 500.75
Francisco*20*500.75
Hola Mundo Ulsa
52

6.9 Salida con Formato


Las cadenas F son un tipo especial de cadena literal que le permite formatear valores de varias maneras.

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

forward Moves the turtle forward by the specified amount

left Turns the turtle counterclockwise

right Turns the turtle clockwise

setheading Set the orientation of the turtle to angle

dot Leave the dot at the current position

pensize Set the line thickness to width or return it


circle Draw a circle with given radius

bgcolor Set or return background color of the TurtleScreen.

pencolor Return or set the pencolor.

begin_fill To be called just before drawing a shape to be filled

end_fill Fill the shape drawn after the last call to begin_fill().

setup Set the size and position of the main window

write Write text

numinput Pop up a dialog window for input of a number

goto Move the turtle to position x,y

pos Return the turtle’s current location (x,y) (as a Vec2D vector).

xcor Return the turtle’s x coordinate.

ycor Return the turtle’s y coordinate.

speed Set the turtle’s speed to an integer value in the range 0..10. If no argument is
given, return current speed.

hideturtle Make the turtle invisible

showturtle Make the turtle visible.

penup Picks up the turtle’s Pen

pendown Puts down the turtle’s Pen

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

radius = turtle.numinput('Input Needed', 'Enter the radius of a


circle') turtle.pencolor('red')
turtle.circle(radius)
turtle.exitonclick()

# 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

ex601 Calcular el área y perímetro de un rectángulo.

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.

Here is a sample run:

Enter a degree in Celsius: 43


43 Celsius is 109.4 Fahrenheit

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

Here is a sample run:

Enter the radius and length of a cylinder: 5.5 12


The area is 604.8
The volume is 1140.4

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:

Enter a value for feet: 16.5


16.5 feet is 5.0325 meters
ex605 (Convert pounds into kilograms) Write a program that converts pounds into kilograms. The program prompts the
user to enter a number in pounds, converts it to kilograms, and displays the result. One pound is 0.454 kilograms.
Here is a sample run:

Enter a number in pounds: 55.5


55.5 pounds is 25.197 kilograms

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:

Enter the driving distance: 900.5


Enter miles per gallon: 25.5
Enter price per gallon: 3.55
The cost of driving is $125.36

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:

Enter the subtotal and a gratuity rate: 10 15


The gratuity is $1.5 and total is $11.5

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:

Enter weight in pounds: 95.5


Enter height in inches: 50
BMI is 26.8573

ex609 Evaluar la siguiente expresión


a + 7c

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:

Enter the side: 5.5


The area of the hexagon is 78.5895

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:

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
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.

ex615 String Manipulator

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:

• The number of characters in the city name


• The name of the city in all uppercase letters
• The name of the city in all lowercase letters
• The first character in the name of the city

61
ex616 Name, Age, and Annual Income

Write a program that declares the following:

• a String variable named name


• an int variable named age
• a double variable named annualPay

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:

My name is Joe Mahoney, my age is 26 and


I hope to earn $100000.0 per year.
62
NIVEL 2

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:

Enter x1 and y1: 1.5 -3.4


Enter x2 and y2: 4 5
The distance between the two points is 8.764131445842194

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

s = (side1 + side2 + side3)/2


area = √��(�� − ��������1)(�� − ��������2)(�� −
��������3)

Here is a sample run:

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.

Ex620 Calcule e imprima el pago mensual para un vendedor de autos, basándose en lo


siguiente: • El pago base es de $350, más una comisión de $15 por cada auto vendido.
• El impuesto a pagar es el 25% del pago total.
• Los datos de entrada son el nombre del vendedor y el número de autos vendidos en el mes. •
Se desea imprimir el nombre del vendedor, el sueldo bruto, el impuesto y el sueldo neto.

Ex621 Sales Tax

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:

Enter the number of minutes: 1000000000↵


1000000000 minutes is approximately 1902 years and 214 days

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.

Here is a sample run:

Enter a number between 0 and 1000: 999↵


The sum of the digits is 27

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.

Enter the monthly saving amount: 100


After the sixth month, the account value is $608.81
Ex626 Word Game

Write a program that plays a word game with the user. The program should ask the user to enter the following:

• His or her name


• His or her age
• The name of a city
• The name of a college
• A profession
• A type of animal
• A pet’s name

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.

Diagrama de Flujo Java

if edad >= 18:


print("Eres mayor de edad.")if (edad >= 18)

if edad >= 18:


print("Eres mayor de edad.")
else:
print("Eres menor de edad")
if numero > 0:
print("Positivo")
elif numero < 0:
print("Negativo")
else:
print("Cero")

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.

1 # define main function to print out something


2 def main():
3 i = 1
4 max = 10
5 while (i < max):
6 print(i)
7 i = i + 1
8
9 # call function main
10 main()

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 if (a == True) and (b == False) and \


2 (c == True):
3 print("Continuation of statements")

1 string = ("This" + " is" + " a" + " string"


2 + " with" + " a" + " double" + " line" + " value")
3
4 print(string)
67
7.1.2 if-else

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.

7.3 Tipo de Dato bool


El tipo booleano de Python es uno de los tipos de datos integrados de Python. Se utiliza para representar el valor de verdad de
una expresión. Por ejemplo, la expresión 1 <= 2 es True, mientras que la expresión 0 == 1 es False.

El tipo booleano de Python tiene solo dos valores posibles:

• 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

7.6 Operador Ternario


1 if age >= 18:
2 ticket_price = 20
3 else:
4 ticket_price = 5

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

7.7 Sentencia pass


La sentencia pass se utiliza como marcador de posición para el código futuro. Cuando se ejecuta la sentencia pass, no sucede
nada, pero evita obtener un error cuando no se permite el código vacío. El código vacío no está permitido en ciclos, definiciones
de funciones, definiciones de clases o declaraciones if.

1 if password == 'prospero':
2 pass
3 else:
4 print('Sorry, that is the wrong password.')

74
7.8 Ejercicios
NIVEL 1

Day of the Week

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.

Following are the guidelines:


• If the person is 1 year old or less, he or she is an infant.
• If the person is older than 1 year, but younger than 13 years, he or she is a child.
• If the person is at least 13 years old, but less than 20 years old, he or she is a teenager.
• If the person is at least 20 years old, he or she is 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:

When you mix red and blue, you get purple.


When you mix red and yellow, you get orange.
When you mix blue and yellow, you get green.

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:

• The minimum number of packages of hot dogs required


• The minimum number of packages of hot dog buns required
• The number of hot dogs that will be left over
• The number of hot dog buns that will be left over

Roulette Wheel Colors

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.

Book Club Points

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:

• If a customer purchases 0 books, he or she earns 0 points.


• If a customer purchases 2 books, he or she earns 5 points.
• If a customer purchases 4 books, he or she earns 15 points.
• If a customer purchases 6 books, he or she earns 30 points.
• If a customer purchases 8 or more books, he or she earns 60 points.

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.

Here is a sample run of the program:

Enter a year: 2008


In 2008 February has 29 days.

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:

Joe’s Gourmet Burgers—Vegetarian: No, Vegan: No, Gluten-Free: No


Main Street Pizza Company—Vegetarian: Yes, Vegan: No, Gluten-Free: Yes
Corner Café—Vegetarian: Yes, Vegan: Yes, Gluten-Free: Yes
Mama’s Fine Italian—Vegetarian: Yes, Vegan: No, Gluten-Free: No
The Chef’s Kitchen—Vegetarian: Yes, Vegan: Yes, Gluten-Free: Yes

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:

Is anyone in your party a vegetarian? yes Enter


Is anyone in your party a vegan? no Enter
Is anyone in your party gluten-free? yes Enter
Here are your restaurant choices:
Main Street Pizza Company

77
Corner Cafe
The Chef's Kitchen

Here is another example of the program’s output:


Is anyone in your party a vegetarian? yes Enter
Is anyone in your party a vegan? yes Enter
Is anyone in your party gluten-free? yes Enter
Here are your restaurant choices:
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.”

Enter a, b, c, d, e, f: 9.0 4.0 3.0 -5.0 -6.0 -21.0


x is -2.0 and y is 3.0

Enter a, b, c, d, e, f: 1.0 2.0 2.0 4.0 4.0 5.0


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:

Enter a three-digit integer: 121


121 is a palindrome

Enter a three-digit integer: 123


123 is not a palindrome

80

También podría gustarte