Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA
TRABAJO DE PYTHON
TACNA – PERÚ
2022
CUESTIONARIO CAPITULO 5
5.1 Analice el siguiente código. ¿El recuento <100 siempre es verdadero,
siempre es falso, o algunas veces es verdadero o a veces falso en el punto A,
el punto B y el punto C?
count = 0
# Punto A
count += 1
# Punto B
# Punto C
i = 1
while i < 10:
if i % 2 == 0:
print(i)
i += 1
----------------------------------------------------------------------------------------------------------------------
i = 1
while i < 10:
if i % 2 == 0:
print(i)
i += 1
----------------------------------------------------------------------------------------------------------------------
En los casos (a) y (b), el bucle while se repite infinitas veces ya que el valor de
la variable i nunca se incrementa. En el caso (c), se repite 9 veces (para el
valor de i = 1 a 9). La salida en el caso (c) incluye los números pares 2,4,6 y 8.
5.4 Mostrar el error en los siguientes códigos:
count = 0
while count < 100:
print(count)
count = 0
while count < 100:
print(count)
count -= 1
count = 0
while count < 100:
count += 1
------------------------------------------------------------------------------------------------------
while number != 0:
number = eval(input("Ingrese un entero: "))
if number > max:
max = number
print("máximo es", max)
print("número", number)
while number != 0:
number = eval(input("Ingrese un entero: "))
if number > max:
max = number
Ingrese un entero: 3
Ingrese un entero: 4
Ingrese un entero: 5
Ingrese un entero: 0
print(“máximo es”,max)
máximo es 5
print(“número”,number)
número 0
number = 0
sum = 0
Ingrese un entero:2
Ingrese un entero:3
Ingrese un entero:4
Ingrese un entero:5
Ingrese un entero:0
5.7 ¿Se puede convertir cualquier bucle for a un bucle while? Listar las
ventajas de usar bucles for.
Sí, cualquier bucle for se puede convertir en un bucle while.
(a) n iteraciones
(b) n iteraciones
(c) n-5 iteraciones
(d) (n-5) / 3 iteraciones
5.11 Muestre la salida de los siguientes programas. (Sugerencia: Dibuje una tabla y liste las vari
en columnas para el seguimiento de estos programas)
for i in range(1, 5):
j= 0
while j < i:
print(j, end = “ “)
j += 1
----------------------------------------------------------------------------
I = 0
while i < 5:
for j in range(I, 1, -1):
print(j, end = “ “)
print (“****”)
i += 1
-------------------------------------------------------------------------------
i = 5
while i >= 1:
num = 1
for j in range(1, i + 1):
print(num, end = "xxx")
num *= 2
print()
i -= 1
-------------------------------------------------------------------------------
i = 1
while i <= 5:
num = 1
for j in range(1, i + 1):
print(num, end = "G")
num += 2
print()
i += 1
-------------------------------------------------------------------------------
print( j, end= “ “)
print(“***”)
i+=1
****
****
2 ****
3 2 ****
4 3 2 ****
i= 5
while i>=1:
num=1
print(num, end=”xxx”)
num *=2
print()
i-=1
1xxx2xxx4xxx8xxx16xxx
1xxx2xxx4xxx8xxx
1xxx2xxx
1xxx
5.12 Si piensa que un divisor para un número n1 no puede ser mayor que n1 / 2, puede intentar
mejorar
el programa utilizando el siguiente bucle:
k = 2
while k <= n1 / 2 and k <= n2 / 2:
if n1 % k == 0 and n2 % k == 0:
gcd = k
k += 1
5.13 ¿Para qué es la palabra clave break? ¿Para qué es la palabra clave continue?
¿Será para en seguida terminar el programa? Si es así, da la salida.
balance = 1000
while True:
if balance < 9:
break
balance = balance - 9
print("Balance es", balance)
-------------------------------------------------------------------------------
balance = 1000
while True:
if balance < 9:
continue
balance = balance - 9
print("Balance es", balance)
-------------------------------------------------------------------------------
Puede utilizar la palabra clave break en un bucle para terminar inmediatamente un bucle.
También puede utilizar la palabra clave continue en un bucle. Cuando se encuentra,
finaliza la iteración actual y el control del programa va al final del cuerpo del bucle.
En el caso (a) la salida es "El saldo es 1".
En el caso (b), el programa nunca terminará.
5.14 El bucle for que sigue se convierte en el bucle while más abajo.
¿Que es lo incorrecto? Corrígelo.
for i in range(4):
if i % 3 == 0:
continue
sum += i
i=0
while i<4:
if i%3==0:
i+=1
continue
sum +=i
i +=1
5.15 Reescriba los programas TestBreak y TestContinue en los listados 5.11 y 5.12
sin usar las palabras break y continue.
sum=0
number=0
while number<20 and sum<100:
number+=1
sum +=number
print(“El número es”, number)
print(“La suma es”, sum)
sum=0
number 0
while number<20:
number+=1
if not(number==10 or number==11):
sum +=number
print(“La suma es”, sum)
(a)
for i in range(1, 4):
for j in range(1, 4):
if i * j > 2:
break
print(i * j)
print(i)
-------------------------------------------------------------------------------
(b)
for i in range(1, 4):
for j in range(1, 4):
if i * j > 2:
continue
print(i * j)
print(i)
-------------------------------------------------------------------------------
for i in range(1,4):
for j in range(1,4):
if i*j>2:
break
print(i*j)
print(i)
2
1
for i in range(1,4):
for j in range(1,4):
if i*j>2:
continue
print(i*j)
print(i)
3
PROBLEMAS
5.1 (Contar números positivos y negativos y calcular el promedio de los
números) Escribir un programa que lea un número no especificado de
números enteros, determine cuántos valores positivos y negativos se han leído
y calcula el total y el promedio de los valores de entrada (sin contar los ceros).
Su programa termina con la entrada 0. Muestre el promedio como un número
de punto flotante. Aquí hay una ejecución de muestra:
3 6.6
1
... 2.2
197 433.4
199 437.8
5.4 (Conversión de millas a kilómetros) Escriba un programa que muestre la
siguiente tabla (tenga en cuenta que 1 milla son 1,609 kilómetros):
Miles Kilometers
2 3.218
1
... 1.609
9 15.481
10 16.090
5.5 (Conversión de kilogramos a libras y de libras a kilogramos) Escriba un
programa que muestre las siguientes dos tablas una al lado de la otra (tenga en
cuenta que 1 kilogramo son 2,2 libras y que 1 libra son 0,45 kilogramos):
Kilograms Pounds | Pounds Kilograms
3 6.6 | 25 11.36
1
... 2.2 | 20 9.09
197 433.4 | 510 231.82
199 437.8 | 515 235.09
5.6 (Conversión de millas a kilómetros y de kilómetros a millas) Escriba un
programa que muestre las siguientes dos tablas una al lado de la otra (tenga en
cuenta que 1 milla es 1,609 kilómetros y que 1 kilómetro es 0,621 millas):
Miles Kilometers | Kilometers Miles
2 3.218 | 25 15.538
1
... 1.609 | 20 12.430
9 15.481 | 60 37.290
10 16.090 | 65 40.398
5.7 (Utilice funciones trigonométricas) Imprima la siguiente tabla para mostrar
el valor del seno y el coseno de los grados de 0 a 360 con incrementos de 10
grados. Redondee el valor para mantener cuatro dígitos después del punto
decimal.
Degree Sin Cos
10 0.1736 0.9848
0
... 0.0000 1.0000
350 -0.1736 0.9848
360 0.0000 1.0000
5.8 (Use la función math.sqrt) Escriba un programa que imprima la siguiente
tabla usando la función sqrt en el módulo de matemáticas.
Number Square Root
0 0.0000
2 1.4142
...
18 5.2426
20 5.4721
5.16 (Calcule el máximo común divisor) Para el Listado 5.8, otra solución
para encontrar el máximo común divisor de dos enteros n1 y n2 es la
siguiente: Primero encuentre que d sea el mínimo de n1 y n2, y luego
verifique si d, d - 1 , d - 2, ..., 2, o 1 es un divisor tanto para n1 como para n2
en este orden. El primer divisor común de este tipo es el máximo común
divisor de n1 y n2.
5.17 (Mostrar la tabla de caracteres ASCII) Escriba un programa que muestre
los caracteres en la tabla de caracteres ASCII de ! a ~. Muestra diez caracteres
por línea. Los caracteres están separados por exactamente un espacio.
5.18 (Encuentre los factores de un número entero) Escriba un programa que
lea un número entero y muestre todos sus factores más pequeños, también
conocidos como factores primos. Por ejemplo, si el entero de entrada es 120,
la salida debería ser la siguiente:
2, 2, 2, 3, 5
5.19 (Mostrar una pirámide) Escriba un programa que solicite al usuario que
ingrese un número entero del 1 al 15 y muestre una pirámide, como se muestra
en la siguiente ejecución de muestra:
5.20 (Muestre cuatro patrones usando bucles) Use bucles anidados que
muestren los siguientes patrones en cuatro programas separados:
A
B
C