Algoritmos Básicos en Python
Algoritmos Básicos en Python
texto = input()
#Además input puede tener un parámetro indicando al usuario
#que debe ingresar
#O la simplificada
entero = int( input())
#O de la forma directa
decimal = float( input())
3.3 Escribir
La instrucción Escribir se emplea para poder visualizar
resultados o valores que contiene una variable, también para
mostrar mensajes, por lo general el resultado se aprecia en la
pantalla de la computadora o impreso en papel. Permite:
Mostrar el resultado
Visualizar el resultado
Imprimir el valor resultante
Su empleo dentro de un Pseudocódigo (Algoritmo en
instrucciones) es:
Escribir <Valor Resultante>
#ESCRIBIR O MOSTRAR EN PYTHON
numero = 5
print(numero) #Muestra el valor de 'numero' por pantalla
dia = 10
mes = "Septiembre"
anio = "1990" #Es recomendable usar solo caracteres Ingleses para evitar error
#format()
#Otra manera interesante de imprimir es utilizando la función format()
# "cadena de texto".formta()
Ejercicio 1.
Se desea calcular la distancia recorrida (m) por un móvil que
tiene velocidad constante (m/s) durante un tiempo t (s),
considerar que es un MRU (Movimiento Rectilíneo
Uniforme).
Solución:
Primero se procede a determinar los datos de entrada y la salida
a obtener, obsérvese.
Entrada Identificador
Velocidad Constante (m/s) V
Tiempo (s) T
Salida
Distancia Recorrida (m) D
#Entradas
print("Ingrese la velocidad y el tiempo de la unidad móvil")
#convirtiendo entrada a Entero
V = float( input("Velocidad: ") )
T = int( input("Tiempo: ") )
#Proceso
D = V*T
#Salida
print(D)
-------------------------------------------------------
Ejercicio1: CALCULAR DISTANCIA.
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 54 / 257
-------------------------------------------------------
Ingrese la velocidad y el tiempo de la unidad móvil
Velocidad: 10
Tiempo: 20
200.0
Ejercicio 2.
Se necesita obtener el promedio simple de un estudiante a partir
de sus tres notas parciales N1, N2 y N3.
Solución:
Procederemos a determinar los datos de entrada y la salida a
obtener, obsérvese.
Entrada Identificador
Promedio P
Salida
Primera Nota Parcial N1
Segunda Nota Parcial N2
Tercera Nota Parcial N3
#Entradas
print("Ingrese las 3 notas del alumno N1 , N2, N3")
N1 = int( input("N1: "))
N2 = int( input("N2: "))
N3 = int( input("N3: "))
#Proceso
P = int( (N1+N2+N3)/3 )
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 56 / 257
#Salida
print("\nSalida: ")
print(P)
-------------------------------------------------------
Ejercicio2: PROMEDIO DE 3 NOTAS.
-------------------------------------------------------
Ingrese las 3 notas del alumno N1, N2, N3
N1: 15
N2: 10
N3: 14
Salida:
13
Ejercicio 3.
Se necesita elaborar un algoritmo que solicite el
número de respuestas correctas, incorrectas y en blanco,
correspondientes a postulantes, y muestre su puntaje final
considerando que por cada respuesta correcta tendrá
3 puntos, respuestas incorrectas tendrá -1 y respuestas en
blanco tendrá 0.
Solución:
Procederemos a determinar los datos de entrada y la salida a
obtener, obsérvese.
Entrada Identificador
Puntaje Final PF
Salida
Número de Respuestas Correctas RC
Número de Respuestas Incorrectas RI
Número de Respuestas en Blanco RB
#Entradas
print("Ingrese número de respuestas correctas: ")
RC = int( input())
print("Ingrese número de respuestas incorrectas: ")
RI = int( input())
print("Ingrese número de respuestas en blanco: ")
RB = int( input())
#Proceso
PCR = RC*3
PRI = RI*-1
PRB = RB*0
-------------------------------------------------------
Ejercicio3: PUNTAJE FINAL.
-------------------------------------------------------
Ingrese número de respuestas correctas:
8
Ingrese número de respuestas incorrectas:
6
Ingrese número de respuestas en blanco:
4
El puntaje total es: 18
Ejercicio 4.
Elaborar un algoritmo que permita ingresar el número de
partidos ganados, perdidos y empatados, por ABC club en el
torneo apertura, se debe de mostrar su puntaje total,
teniendo en cuenta que por cada partido ganado obtendrá 3
puntos, empatado 1 punto y perdido 0 puntos.
Solución:
Procederemos a determinar los datos de entrada, la salida y
variables intermedias, obsérvese.
DATOS Identificador
Salida
Puntaje Total PT
Entrada
Número de Partidos Ganados PG
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 60 / 257
Número de Partidos Empatados PE
Número de Partidos Perdidos PP
Intermedio
Puntaje de Partidos Ganados PPG
Puntaje de Partidos Empatados PPE
Puntaje de Partidos Empatados PPP
#Entradas
print("Ingrese número de partidos ganados")
PG = int( input())
print("Ingrese número de partidos empatados")
PE = int( input())
print("Ingrese número de partidos perdidos")
PP = int( input())
#Proceso
PPG = PG*3
PPE = PE*1
PPP = PP*0
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Puntaje Final: ", PF)
-------------------------------------------------------
Ejercicio4: PUNTAJE TOTAL DE PARTIDOS.
-------------------------------------------------------
Ingrese número de partidos ganados
5
Ingrese número de partidos empatados
3
Ingrese número de partidos perdidos
4
SALIDA:
-------------------------------------------------------
Puntaje Final: 18
Ejercicio 5.
Entrada Identificador
Número de Gigabyte del Disco Duro GB
Número de Megabyte del Disco Duro MG
Salida
Número de Micro Disco 3.5 MD
#Entradas
print("Ingrese GB: ")
GB = float( input())
#Proceso
MG = GB*1024
MD = MG/1.44
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print(MD)
#En caso de Decimal Aproximar al siguiente entero
#Ya que la parte decimal debe ser almacenada en otro DISCO 3.5
print("Numero de Discos necesarios: ", math.ceil(MD))
-------------------------------------------------------
Ejercicio5: NÚMERO DE MICRO DISCOS 3.5 NECESARIOS
-------------------------------------------------------
Ingrese GB:
2
SALIDA:
-------------------------------------------------------
1422.2222222222222
Número de Discos necesarios: 1423
E
J
E
EJE X
Solución:
Un punto en el plano tiene dos coordenadas (X ,Y), entonces el
punto A tendrá sus coordenadas (AX, AY) y el punto B de
manera similar (BX, BY), luego se tiene los siguientes datos:
Entrada Identificador
Coordenada X de A AX
Coordenada Y de A AY
Coordenada X de B BX
Coordenada Y de B BY
Salida
Distancia entre el punto A y B D
#Entradas
print("Ingrese coordenadas del Punto A: ")
AX = float(input("Ax: "))
AY = float(input("Ay: "))
#Proceso
D = ( (AX-BX)**2 + (AY-BY)**2 )**0.5
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Resultado:", D)
SALIDA:
-------------------------------------------------------
Resultado: 1.4142135623730951
Ejercicio 7.
Elaborar un algoritmo que solicite 2 números y muestre
el promedio de ambos.
Solución.
Determinamos los datos de entrada, salida y procesos.
PSEUDOCÓDIGO
ALGORITMO Promedio
Var
N1, N2, S: Entero
P: Real
Inicio
Leer (N1)
Leer (N2)
S N1 + N2
PS/2
Escribir (P)
Fin
Inicio
Leer (N1)
Leer (N2)
S N1 + N2
PS/2
Escribir (P)
Fin
#Entradas
print("Ingrese notas: ")
N1 = int( input("N1: "))
N2 = int( input("N2: "))
#Proceso
S = N1 + N2
P = S/2
#Salida
print("\nSALIDA: ")
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 72 / 257
print("-------------------------------------------------------")
print("Promedio:", P)
#Salida
-------------------------------------------------------
Ejercicio7: PROMEDIO DE DOS NÚMEROS.
-------------------------------------------------------
Ingrese notas:
N1: 12
N2: 9
SALIDA:
-------------------------------------------------------
Promedio: 10.5
Ejercicio 8.
Construya un diagrama de flujo tal que, dado como datos la base
y la altura de un rectángulo, calcule el perímetro y la superficie
de este.
Solución.
Determinamos los datos de entrada, salida y procesos.
Entrada Identificador
Base del rectángulo BASE
Altura del rectángulo ALTO
Salida
Superficie SUP
Perímetro PER
PSEUDOCODIGO
ALGORITMO Rectángulo
Var
BASE, ALTO: Real
SUP, PER: Real
Inicio
Leer (BASE, ALTO)
SUP BASE * ALTO
PER 2*(BASE+ALTO)
Escribir (SUP, PER)
Fin
#Entradas
print("Ingrese Base y Alto: ")
BASE = float( input("Base: "))
ALTO = float( input("Alto: "))
#Proceso
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Superficie:", SUP)
print("Perímetro:", PER)
-------------------------------------------------------
Ejercicio8: CALCULAR PERÍMETRO Y SUPERFICIE DEL RECTÁNGULO
-------------------------------------------------------
Ingrese Base y Alto:
Base: 6
Alto: 8
SALIDA:
-------------------------------------------------------
Superficie: 48.0
Perímetro: 28.0
Ejercicio 9.
Construya un diagrama de flujo (DF) que resuelva un problema
que tiene una gasolinera. Los dispensadores de esta registran lo
que “surten” en galones, pero el precio de la gasolina está fijado
en litros. El DF debe calcular e imprimir lo que hay que cobrarle
al cliente.
Solución.
Entrada Identificador
Litros por galón (constante) LITXG
Precio por litro (constante) PRECIOXL
Cantidad surtida CONSU
Salida
PSEUDOCODIGO
ALGORITMO Gasolinera
Const
LITXG = 3.785
PRECIOXL = 4.50
Var
CONSU, TOTAL: Real
Inicio
Leer (CONSU)
TOTAL COSU * LITXG* PRECIOXL
Escribir (TOTAL)
Fin
#Constantes
LITXG = 3.785
PRECIOXL = 4.50
#Entradas
consu = float( input("Ingresar consumo: "))
#Proceso
total = consu*LITXG*PRECIOXL
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Total:", total)
-------------------------------------------------------
Ejercicio9: GASOLINERA.
-------------------------------------------------------
Ingresar consumo: 4
SALIDA:
-------------------------------------------------------
Total: 68.13
Ejercicio 10.
Construya un DF tal que, dado como datos el radio y la altura de
un cilindro, calcule e imprima el área y su volumen.
Solución.
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 77 / 257
Entrada Identificador
Valor de PI (constante) PI
Radio RADIO
Altura del cilindro ALTO
Salida
Volumen del cilindro VOL
Área del cilindro ARE
PSEUDOCODIGO
ALGORITMO Cilindro
Const
PI = 3.1416
Var
RADIO, ALTO, VOL, AREA: Real
Inicio
Leer (RADIO, ALTO)
VOL PI * RADIO^2 * ALTO
ARE 2*PI * RADIO (ALTO+RADIO)
Escribir (VOL, ARE)
Fin
#Constantes
PI = 3.1416
#Entradas
print("Ingrese Radio y Alto: ")
radio = float( input("Radio: "))
alto = float ( input("Alto: "))
#Proceso
vol = PI * radio**2 * alto
are = 2*PI*radio*(radio + alto)
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Volumen:", vol)
print("área:", are)
-------------------------------------------------------
Ejercicio10: CALCULAR ÁREA Y VOLUMEN DEL CILINDRO.
-------------------------------------------------------
Ingrese Radio y Alto:
Radio: 3
Alto: 4
SALIDA:
-------------------------------------------------------
Volumen: 113.0976
área: 131.9468
Algoritmo esfera
Var
v,r: real //volumen=v y radio=r
Const
Pi=3.1416
Inicio
Escribir Ingrese el radio:
Leer (r)
v 4/3*Pi*r^3
Escribir ("El volumen de la esfera es: ",v)
Fin
Diagrama de Flujo.
Inicio
“Ingrese el radio:”
v← 4/3*Pi*r^3
Fin
#Constantes
PI = 3.1416
#Entradas
r = float( input("Ingrese Radio: "))
#Proceso
v = 4/3 * PI * r**3
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("El volumen de la esfera es:", v)
-------------------------------------------------------
Complemento1: CALCULAR VOLUMEN DE LA ESFERA.
-------------------------------------------------------
Ingrese Radio: 1
SALIDA:
-------------------------------------------------------
El volumen de la esfera es: 4.1888
Algoritmo perimetro
Var
p,h: real //h=altura y p=perímetro
Inicio
Escribir ("Ingrese altura del triángulo:")
Leer (h)
p h/3^0.5)
Escribir ("El perímetro del triangulo será:",p)
Fin
Diagrama de Flujo.
Inicio
"Ingrese altura
del triángulo:"
p←3*(2*h/3^0.5)
Fin
#Entradas
print("Ingrese altura del triángulo: ")
h = float( input())
#Proceso
p = 3*(2*h)/3**0.5
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("El perímetro del triángulo será:", p)
-------------------------------------------------------
Complemento2: PERÍMETRO TRIANGULO EQUILÁTERO.
-------------------------------------------------------
Ingrese altura del triángulo:
4
SALIDA:
-------------------------------------------------------
El perímetro del triángulo será: 13.85640646055102
Diagrama de Flujo.
Inicio
d s /do
e s /eu
Fin
#Constantes
EU = 3.84
DO = 2.28
#Entradas
print("Ingrese la cantidad de soles:")
s = float( input())
#Proceso
d = s/DO
e = s/EU
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("En", s, "soles hay ", e, "euros")
print("En", s, "soles hay ", d, "dólares")
-------------------------------------------------------
Complemento3: CAMBIOS DE SOLES a EUROS y DÓLARES
-------------------------------------------------------
Ingrese la cantidad de soles:
50
SALIDA:
-------------------------------------------------------
En 50.0 soles hay 13.020833333333334 euros
En 50.0 soles hay 21.92982456140351 dólares
Algoritmo velocidad
Var
v,t,d: real //v=velocidad, t=tiempo y d=distancia
Inicio
Escribir ("Ingrese el tiempo en segundos:")
Leer (t)
Escribir ("Ingrese la distancia en metros:")
Leer (d)
v d/t
Escribir ("La velocidad es: ",v, m/s
Fin
Diagrama de Flujo.
Inicio
"Ingrese el tiempo en
segundos:"
"Ingrese la distancia en
metros:"
v d/t
Fin
#Entradas
print("Ingrese el tiempo en segundos:")
t = float( input())
print("Ingrese la distancia en metros:")
d = float( input())
#Proceso
v = d/t
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("La velocidad es:", v, "m/s")
-------------------------------------------------------
Complemento4: CALCULAR LA VELOCIDAD DE UN MÓVIL.
-------------------------------------------------------
Ingrese el tiempo en segundos:
10
Ingrese la distancia en metros:
200
SALIDA:
-------------------------------------------------------
La velocidad es: 20.0 m/s
Algoritmo precio_artículo
Var
p,c: real
d:entero
Inicio
Escribir ("Ingrese costo unitario del artículo:")
Leer (c)
Escribir ("Ingrese el número de docenas:")
Leer (d)
p d*12*c
Escribir ("El precio del artículo es: ",p)
Fin
"Ingrese costo
unitario del
artículo:"
"Ingrese el
número de
docenas:"
p d*12*c
Fin
#Entradas
print("Ingrese costo unitario del artículo:")
c = float( input())
print("Ingrese el número de docenas:")
d = int( input())
#Proceso
p = d*12 * c
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("El precio del artículo es:", p)
-------------------------------------------------------
Complemento5: CALCULAR MONTO A PAGAR.
-------------------------------------------------------
Ingrese costo unitario del artículo:
1.5
Ingrese el número de docenas:
5
SALIDA:
-------------------------------------------------------
El precio del artículo es: 90.0
Diagrama de Flujo.
Inicio
"Ingrese número
de millas:"
k←m*mi
Fin
#Entradas
print("Ingrese número de millas:")
m = float( input())
#Proceso
k = m*MI
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print(m, "millas tiene", k, "kilómetros")
-------------------------------------------------------
Complemento6: Millas a Kilómetros.
-------------------------------------------------------
Ingrese número de millas:
30
SALIDA:
-------------------------------------------------------
30.0 millas tiene 48.28032 kilómetros
Diagrama de Flujo.
Inicio
b,c
alfa
a (b^2+c^2-2*b*c*cos(alfa*Pi/180))^0.5
Fin
#Librerias
import math #Necearia para fórmulas matemáticas
#Constantes
PI = 3.1416
#Entradas
print("Ingrese lados del triángulo:")
b = float( input("Lado b: "))
c = float( input("Lado c: "))
print("Ingrese el ángulo en grados sexagesimales:")
alfa = float( input())
#Proceso
#fórmula para calcular lado 'a' con alfa transformado
a = ( b**2 + c**2 - 2*b*c * math.cos( alfa*PI/180 ) )**0.50
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("El lado a es:", a)
-------------------------------------------------------
Complemento7: CALCULAR EL TERCER LADO DEL TRIANGULO
-------------------------------------------------------
Ingrese lados del triángulo:
Lado b: 4
Lado c: 3
Ingrese el ángulo en grados sexagesimales:
90
SALIDA:
Pseudocódigo.
va = velocidad del cuerpo “a”
vb = velocidad del cuerpo “b”
te = tiempo de encuentro
D = distancia que separa “a” de “b”
Algoritmo edad
Var
D,va,vb,te: real
Inicio
Escribir ("Ingrese las velocidades:")
Leer (va,vb)
Escribir ("Ingrese la distancia que los separa:")
Leer (D)
te← D/(va+vb)
Escribir ("Los cuerpos se encontraran en:",te," segundos")
Fin
Inicio
va,vb
te← D/(va+vb)
Fin
#Entradas
print("Ingrese las velocidades:")
va = float( input("Va: "))
vb = float( input("Vb: "))
print("Ingrese la distancia que los separa:")
Algoritmos resueltos con Python ISBN: 978-958-53018-2-5 95 / 257
D = float( input())
#Proceso
te = D/(va+vb)
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("Los cuerpos se encontraran en:", te, "segundos")
-------------------------------------------------------
Complemento8: TIEMPO DE ENCUENTRO.
-------------------------------------------------------
Ingrese las velocidades:
Va: 5
Vb: 4
Ingrese la distancia que los separa:
50
SALIDA:
-------------------------------------------------------
Los cuerpos se encontrarán en: 5.555555555555555 segundos
Pseudocódigo.
x = ángulo en radianes
sex = ángulo en grados sexagesimales
cen = ángulo en grados centesimales
Diagrama de Flujo.
Inicio
"Ingrese ángulo en
radianes:"
sex x*180/Pi
cen x*200/Pi
Fin
#Constantes
PI = 3.1416
#Entradas
print("Ingrese ángulo en radianes:")
x = float( input())
sex = x*180/PI
cen = x*200/PI
#Proceso
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("En sexagesimales es:", sex)
print("En centesimales es:", cen)
-------------------------------------------------------
Complemento9: RADIANES a SEXAGESIMALES y CENTESIMALES
-------------------------------------------------------
Ingrese ángulo en radianes:
1
SALIDA:
-------------------------------------------------------
En sexagesimales es: 57.29564553093965
En centesimales es: 63.66182836771072
Algoritmo distancia
Var
dis,x1,y1,z1,x2,y2,z2: real
Inicio
Escribir ("Ingrese valores de los puntos x1 ,y1 y z1")
Leer (x1,y1,z1)
Escribir ("Ingrese valores de los puntos x2,y2 y z2")
Leer (x2, y2, z2)
dis ((z2-z1)^2+(y2-y1)^2+(x2-x1)^2)^0.5
Escribir ("La distancia es: ",dis)
Fin
Inicio
"Ingrese valores de
los puntos x1 y x2:"
x1,x2
"Ingrese valores de
los puntos y1 y y2:"
y1,y2
dis← ((y2-y1)+(x2-x1))^0.5
Fin
#Entradas
print("Ingrese valores del punto A(x1, y1 y z1): ")
x1 = float( input("x1: "))
y1 = float( input("y1: "))
z1 = float( input("z1: "))
#Proceso
dis = ( (z2-z1)**2 + (y2-y1)**2 + (x2-x1)**2 )**0.5
#Salida
print("\nSALIDA: ")
print("-------------------------------------------------------")
print("La distancia es:", dis)
-------------------------------------------------------
Complemento10: DISTANCIA DE DOS PUNTOS en 3D.
-------------------------------------------------------
Ingrese valores del punto A(x1, y1 y z1):
x1: 0
y1: 0
z1: 0
Ingrese valores del punto B(x2, y2 y z2):
x2: 1
y2: 1
z2: 0
SALIDA:
-------------------------------------------------------
La distancia es: 1.4142135623730951