Está en la página 1de 13

Programación de Computadores 21-22/10/2019

Nombre______________________________________________ identificación___________

Para cada uno de los siguientes ejercicios realice la trazabilidad

1. Leer números enteros de teclado, hasta que el usuario ingrese el 0.


Finalmente, mostrar la sumatoria de todos los números ingresados.

total=0
nro=int(input("Número: "))
while nro != 0:
total+=nro
nro=int(input("Número: "))

Datos conocidos o variables de entrada: criterio de parada (numero = 0)


se ingresa el o los números
Datos desconocidos o variables de salida: sumatoria
Condición: Ingresa números mientras que el número sea diferente a cero
(while numero ¡= 0)
Trazabilidad

Memoria Pantalla
Numero: 8
Total Numero: 412
0 Numero: 741
8 Numero: 0
420
1261

Numero
8
412
741
0
Leer números enteros de teclado, hasta que el usuario ingrese el 0.
Finalmente, mostrar la sumatoria de todos los números positivos
ingresados.

positivos=0
sumatoria=0
n=int(input("Número (0 para terminar): "))
while n!=0:
if n>0:
positivos+=1
sumatoria+=n
n=int(input("Número (0 para terminar): "))
print("Cantidad de positivos:", positivos)
print("La sumatoria de los positivos es:", sumatoria)

Datos conocidos o variables de entrada: criterio de parada (numero = 0)


se ingresa el o los números
Datos desconocidos o variables de salida: sumatoria de los números
positivos
Condición: Ingresa números mientras que el número sea diferente a cero
(while numero ¡= 0) cuenta positivos
Si el (numero es < 0) es positivo, cuentelo
Trazabilidad

Memoria Pantalla
Positivos Numero (0 para terminar)
0 1402
1 Numero (0 para terminar)
2 45
Sumatoria Numero (0 para terminar)
0 0
1402
1447
n
1402
45
2. Leer números enteros positivos de teclado, hasta que el usuario
ingrese el 0. Informar cuál fue el mayor número ingresado.

mayor=-1
n=int(input("Número positivo:"))
while n>=0:
if n>mayor:
mayor=n
n=int(input("Número positivo:"))
print("Mayor número ingresado:", mayor)

Datos conocidos o variables de entrada: se ingresa el o los números


Datos desconocidos o variables de salida: mayor
Condición: Ingresa números mientras que el número sea diferente a cero
(while numero >= 0) actualice el mayor, criterio de parada (mayor = -1)
Si el (n sea el mayor)
Trazabilidad

Memoria Pantalla
Mayor Numero positivo
-1 28
28 Numero positivo
1402 1402
45 Numero positivo
0 45
Numero positivo
0
3. Leer un número entero positivo desde teclado e imprimir la suma de
los dígitos que lo componen.

suma=0
n=int(input("Número positivo:"))
while n!=0:
digito=n%10
suma+=digito
n=n//10
print("Suma de los dígitos:", suma)

Datos conocidos o variables de entrada: se ingresa el o los números


Datos desconocidos o variables de salida: suma de dígitos
Condición: Ingresa números mientras que el número sea diferente a cero
(while numero ¡= 0) sume los dígitos, criterio de parada (suma = 0)
Trazabilidad

Memoria Pantalla
Suma Número positivo
0 25
Suma Número positivo
7 85
Suma Número positivo
13 10
Suma Número positivo
1 0
4. Solicitar al usuario que ingrese números enteros positivos y, por
cada uno, imprimir la suma de los dígitos que lo componen. La
condición de corte es que se ingrese el número -1. Al finalizar,
mostrar cuántos de los números ingresados por el usuario fueron
números pares.

pares=0
n=int(input("Número (-1 para terminar el programa): "))
while n!=-1:
if n%2 == 0:
pares+=1
suma=0
while n!=0:
digito=n%10
suma+=digito
n=n//10
print("Suma de sus dígitos:", suma)
n=int(input("Número (-1 para terminar el programa): "))
print("Se ingresaron", pares, "números pares")

Datos conocidos o variables de entrada: se ingresa el o los números


Datos desconocidos o variables de salida: mayor
Condición: Ingresa números mientras que el número sea diferente a cero
(while numero ¡= 0) actualice el mayor, criterio de parada (numero = 0)
Si el (n sea el mayor)
Trazabilidad

Memoria Pantalla
5. Mostrar un menú con tres opciones: 1- comenzar programa, 2-
imprimir listado, 3-finalizar programa. A continuación, el usuario
debe poder seleccionar una opción (1, 2 ó 3). Si elige una opción
incorrecta, informarle del error. El menú se debe volver a mostrar
luego de ejecutada cada opción, permitiendo volver a elegir. Si
elige las opciones 1 ó 2 se imprimirá un texto. Si elige la opción
3, se interrumpirá la impresión del menú y el programa finalizará.

while True:
print("Opción 1 - comenzar programa")
print("Opción 2 - imprimir listado")
print("Opción 3 - finalizar programa")
opcion=int(input("Opción elegida: "))
if opcion==1:
print("¡Comenzamos!")
elif opcion==2:
print("Listado:")
print("Nadia, Esteban, Mariela, Fernanda")
elif opcion==3:
print("Hasta la próxima")
break
else:
print("Opción incorrecta. Debe ingresar 1, 2 o 3")

Datos conocidos o variables de entrada: se ingresa el número, criterio de


parada (0<numero<4)
Datos desconocidos o variables de salida: opción
Condición: Ingresa el número (while 0<numero<4) reproduzca la opción
elegida,
Trazabilidad

Memoria Pantalla
Opción Opción 1 - comenzar programa
1 = ¡Comenzamos! Opción 2 - imprimir listado
2 = Listado: Opción 3 - finalizar programa
Nadia, Esteban, Mariela, Fernanda Opción elegida:
3 = Hasta la Próxima
6. Solicitar al usuario el ingreso de una frase y de una letra (que
puede o no estar en la frase). Recorrer la frase, carácter a
carácter, comparando con la letra buscada. Si el carácter no
coincide, indicar que no hay coincidencia en esa posición
(imprimiendo la posición) y continuar. Si se encuentra una
coincidencia, indicar en qué posición se encontró y finalizar la
ejecución.

frase=input("Frase: ")
l=input("Letra para buscar su posición: ")
i=0
while i!=len(frase):
if l!=frase[i]:
print("No se encontró en la posición", i)
i+=1
continue
print("Se encontró en la posición", i)
break

Datos conocidos o variables de entrada: se ingresa una frase y una letra


(que puede o no estar en la frase)
Datos desconocidos o variables de salida: posición de la letra en la
frase
Condición: Ingresa la frase y la letra, busque la posición de la letra en
la frase
Trazabilidad

Memoria Pantalla
Frase = Frase Frase: Hola a todos
L = Letra para buscar su posición Letra para buscar su posición: t
i
0 No se encontró en la posición 0
No se encontró en la posición No se encontró en la posición 1
1 No se encontró en la posición 2
No se encontró en la posición No se encontró en la posición 3
2 No se encontró en la posición 4
No se encontró en la posición No se encontró en la posición 5
3 No se encontró en la posición 6
No se encontró en la posición Se encontró en la posición 7
4
No se encontró en la posición
5
No se encontró en la posición
6
No se encontró en la posición
7
Se encontró l
7. Crear un programa que permita al usuario ingresar los montos de las
compras de un cliente (se desconoce la cantidad de datos que
cargará, la cual puede cambiar en cada ejecución), cortando el
ingreso de datos cuando el usuario ingrese el monto 0.
Si ingresa un monto negativo, no se debe procesar y se debe pedir
que ingrese un nuevo monto. Al finalizar, informar el total a pagar
teniendo que cuenta que, si las ventas superan el total de $1000,
se le debe aplicar un 10% de descuento.

total=0
monto=float(input("Monto de una venta: $"))
while monto!=0:
if monto<0:
print("Monto no válido.")
else:
total+=monto
monto=float(input("Monto de una venta: $"))
if total>1000:
total-=total*0.1
print("Monto total a pagar: $", total)

Datos conocidos o variables de entrada: Montos de la compra de los


clientes, criterio de parada (monto = 0)
Datos desconocidos o variables de salida: posición de la letra en la
frase
Condición: Ingresa la frase y la letra, busque la posición de la letra en
la frase
Trazabilidad

Memoria Pantalla
8. Crear un programa que solicite el ingreso de números enteros
positivos, hasta que el usuario ingrese el 0. Por cada número,
informar cuántos dígitos pares y cuántos impares tiene.
Al finalizar, informar la cantidad de dígitos pares y de dígitos
impares leídos en total.

numero=int(input("numero: "))
totalPares=0
totalImpares=0
while numero!=0:
pares=0
impares=0
while numero!=0:
ultimodigito=numero%10
if ultimodigito%2==0:
pares+=1
totalPares+=1
else:
impares+=1
totalImpares+=1
numero=numero//10
print("El número ingresado tiene ",pares," digitos pares y ",impares," digito
s impares")
numero=int(input("Otro número: "))
print("Total de dígitos pares:", totalPares)
print("Total de dígitos impares:", totalImpares)
9. Crear un programa que permita al usuario ingresar títulos de libros
por teclado, finalizando el ingreso al leerse el string “*”
(asterisco). Cada vez que el usuario ingrese un string de longitud
1 que contenga sólo una barra (“/”) se considera que termina una
línea.
Por cada línea completa, informar cuántos dígitos numéricos (del 0
al 9) aparecieron en total (en todos los títulos de libros que
componen en esa línea). Finalmente, informar cuántas líneas
completas se ingresaron.
**Ejemplo de ejecución:**
Libro: Los 3 mosqueteros
Libro: Historia de 2 ciudades
Libro: /
Línea completa. Aparecen 2 dígitos numéricos.
Libro: 20000 leguas de viaje submarino
Libro: El señor de los anillos
Libro: /
Línea completa. Aparecen 5 dígitos numéricos.
Libro: 20 años después
Libro: *
Fin. Se leyeron 2 líneas completas.

lineas=0
digitos="0123456789"
cantidadDigitos=0
cadena=input("Cadena: ")
while cadena!="*":
for caracter in cadena:
if caracter in digitos:
cantidadDigitos+=1
if cadena=="/":
lineas+=1
print("Aparecen ", cantidadDigitos, " dígitos en la línea")
cantidadDigitos=0
cadena=input("Cadena: ")
print("Se leyeron ",lineas," líneas completas")
10.Escribir un programa que solicite el ingreso de una cantidad
indeterminada de números mayores que 1, finalizando cuando se reciba un
cero. Imprimir la cantidad de números primos ingresados.

cantidad=0
n=int(input("Número: "))
while n!=0:
primo=True
for i in range(2,n):
if n%i==0:
primo=False
break
if primo:
cantidad+=1
n=int(input("Número: "))
print("primos: ", cantidad)
11. Solicitar al usuario que ingrese una frase y luego informar
cuál fue la palabra más larga (en caso de haber más de una,
mostrar la primera) y cuántas palabras había. Precondición: se
tomará como separador de palabras al carácter “ “ (espacio), ya
sea uno o más.

frase=input("Frase: ").strip()
cantidad=0
len_p_mas_larga=0
while len(frase) != 0:
cantidad=cantidad+1
i=frase.find(" ")
if i != -1:
palabra=frase[0:i]
while i < len(frase) and frase[i] == " ":
i=i+1
frase=frase[i:]
else:
palabra=frase
frase=""
if len(palabra) > len_p_mas_larga:
len_p_mas_larga=len(palabra)
p_mas_larga=palabra
if cantidad > 0:
print("Palabra más larga:", p_mas_larga)
print("Cantidad de palabras:", cantidad)
12. Leer números enteros positivos de teclado, hasta que el
usuario ingrese el 0. Informar cuál fue el mayor número
ingresado.

mayor=-1
n=int(input("Número positivo:"))
while n>=0:
if n>mayor:
mayor=n
n=int(input("Número positivo:"))
print("Mayor número ingresado:", mayor)