Está en la página 1de 21

24/6/2019 AP 04

Página Principal / Mis cursos / Facultad de Minas / Fundamentos de Programación 2019-01


/ 05. Archivos y Buenas prácticas de programación 10 de junio - 16 de junio / AP 04

Comenzado el sábado, 22 de junio de 2019, 19:21


Estado Finalizado
Finalizado en sábado, 22 de junio de 2019, 19:51
Tiempo 30 minutos 1 segundos
empleado
Puntos 9,05/10,00
Calificación 4,53 de 5,00 (91%)
Comentario - Muy bien.

¡Felicitaciones!

https://minaslap.net/mod/quiz/review.php?attempt=223822 1/21
24/6/2019 AP 04

Pregunta 1

Correcta

Puntúa 1,00 sobre 1,00

Escriba un programa en python 3 que solicite por consola un número entero N, luego calcule la
suma de los primeros N cuadrados perfectos e imprima dicha suma.

NOTA: El mensaje al solicitar la entrada debe ser: "Ingrese un numero entero \n", tal como
aparece entre comillas incluyendo la mayúscula inicial, el espacio y el "\n" después de
"real".

NOTA2: Note que los números que debe imprimir son enteros.

Por ejemplo:

Input Resultado

5 Ingrese un numero entero


30

100 Ingrese un numero entero


328350

Respuesta: (penalty regime: 0 %)


1 N=int(input( "Ingrese un numero entero \n"))
2 suma=0
3 ▼ for i in range(N):
4 suma=suma+(i*i)
5 print(int(suma))

Input Expected Got

https://minaslap.net/mod/quiz/review.php?attempt=223822 2/21
24/6/2019 AP 04

Input Expected Got

5 Ingrese un numero entero Ingrese un numero entero


30 30

100 Ingrese un numero entero Ingrese un numero entero


328350 328350

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 3/21
24/6/2019 AP 04

Pregunta 2

Correcta

Puntúa 1,00 sobre 1,00

Cree un programa en python 3 que solicite por consola dos variables M,N (Pueden ser números o
texto. N nunca será cero). Posteriormente, usando el manejo de errores, imprima por pantalla la
división entera de M/N. En caso de que alguno o ambos sean texto mostrar el mensaje de error
"No se puede operar con texto".

NOTA1: El mensaje al solicitar las entradas debe ser: "Ingrese un valor \n", tal como aparece entre
comillas incluyendo la mayúscula inicial, el espacio y el "\n" después de "entero".

NOTA2: El programa debe mostrar como resultado exclusivamente lo indicado, no debe contener
letras ni enunciados adicionales que lo acompañen.

Por ejemplo:

Input Resultado

4 Ingrese un valor
3 Ingrese un valor
1

"hola" Ingrese un valor


3 Ingrese un valor
No se puede operar con texto

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta

1 M=input("Ingrese un valor \n")


2 N=input("Ingrese un valor \n")
3 ▼ try:
4 M=int(M)
5 N=int(N)
6 d=M/N
7 print(int(d))
8 ▼ except:
9 print("No se puede operar con texto")
10

https://minaslap.net/mod/quiz/review.php?attempt=223822 4/21
24/6/2019 AP 04

Input Expected Got

4 Ingrese un valor Ingrese un valor


3 Ingrese un valor Ingrese un valor
1 1

"hola" Ingrese un valor Ingrese un valor


3 Ingrese un valor Ingrese un valor
No se puede operar con texto No se puede operar con texto

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 5/21
24/6/2019 AP 04

Pregunta 3

Correcta

Puntúa 1,00 sobre 1,00

Crear un programa en python 3 que solicite por consola un entero M y posteriormente lo imprima
por pantalla. Si se le ingresa un elemento no entero a la variable, se debe capturar el error y
mostrar por pantalla: "Tipo de dato invalido". Debe usar captura de errores.
Nota1: El mensaje para pedir el entero por teclado debe ser: "Ingrese un entero: \n", así con dos
puntos, espacio y el "\n".

Nota2: Es obligatorio el uso del manejo de errores try/except

Por ejemplo:

Input Resultado

2 Ingrese un entero:
2

a Ingrese un entero:
Tipo de dato invalido

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta

1
2 ▼ try:
3 M=int(input("Ingrese un entero: \n"))
4 print(M)
5 ▼ except:
6 print("Tipo de dato invalido")

https://minaslap.net/mod/quiz/review.php?attempt=223822 6/21
24/6/2019 AP 04

Input Expected Got

2 Ingrese un entero: Ingrese un entero:


2 2

a Ingrese un entero: Ingrese un entero:


Tipo de dato invalido Tipo de dato invalido

[3,4,5] Ingrese un entero: Ingrese un entero:


Tipo de dato invalido Tipo de dato invalido

8 Ingrese un entero: Ingrese un entero:


8 8

9.6 Ingrese un entero: Ingrese un entero:


Tipo de dato invalido Tipo de dato invalido

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 7/21
24/6/2019 AP 04

Pregunta 4

Correcta

Puntúa 1,00 sobre 1,00

Cree una funcion en python 3 llamada Calculadora, que reciba como parámetro una lista
compuesta por 3 elementos. Los dos primeros elementos de la lista corresponden a números
enteros y el tercer elemento es un operador (*,/,+,-), la función debe realizar la operación que
indique el tercer elemento, entre el primer y segundo elemento. Ejemplo: [3,4,"+"] significa 3+4.
Finalmente debe imprimir el resultado de dicha operación. En caso de que la operación sea una
división, el resultado debe aproximarse a 1 cifra decimal usando la función round().

NOTA1: La función debe llamarse explicitamente como se indica en el enunciado del ejercicio.
NOTA2: Note que las salidas siempre son números enteros, excepto en la división.
NOTA3: El programa debe mostrar como resultado exclusivamente lo indicado, no debe contener
letras ni enunciados adicionales que lo acompañen.
NOTA4: El código solicitado no requiere lectura externa de datos (input) ni invocar la función.

Por ejemplo:

Test Resultado

Calculadora([19,4,"+"]) 23

Calculadora([20,4,"*"]) 80

Respuesta: (penalty regime: 0 %)


1 ▼ def Calculadora(l):
2 ▼ if l[2]=="*":
3 print(int(l[0]*l[1]))
4 ▼ elif l[2]=="+":
5 print(int(l[0]+l[1]))
6 ▼ elif l[2]=="-":
7 print(int(l[0]-l[1]))
8 ▼ elif l[2]=="/":
9 print(round((l[0]/l[1]),1))

https://minaslap.net/mod/quiz/review.php?attempt=223822 8/21
24/6/2019 AP 04

Test Expected Got

Calculadora([19,4,"+"]) 23 23

Calculadora([20,4,"*"]) 80 80

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 9/21
24/6/2019 AP 04

Pregunta 5

Correcta

Puntúa 1,00 sobre 1,00

Cree un programa en python 3, el cual solicite por teclado el nombre M de un archivo;


posteriormente abra el archivo, el cual contiene 7 lineas. Cada linea corresponde a la cantidad de
unidades vendidas en un almacén, durante cada día de la semana. La ganancia diaria del almacén
está dada por: 100*exp(unidadesdiarias/10) -sqrt(unidadesdiarias). Calcule las ganancias totales
de toda la semana e imprima la parte entera por pantalla. Recuerde importar la librería math.
Recuerde que todo lo que viene de un txt, llega como texto.

NOTA1: El mensaje para solicitar el nombre del archivo debe ser el siguiente: "Ingrese un nombre
de archivo: \n ". Así con el espacio y el "\n".
Por ejemplo:

Input Resultado

prueba1.txt Ingrese un nombre de archivo:


199170

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta
1 M=input("Ingrese un nombre de archivo: \n")
2 from math import exp
3 from math import sqrt
4 a=open(M)
5 l1=int(a.readline())
6 l2=int(a.readline())
7 l3=int(a.readline())
8 l4=int(a.readline())
9 l5=int(a.readline())
10 l6=int(a.readline())
11 l7=int(a.readline())
12 g1=100*exp(l1/10)-sqrt(l1)
13 g2=100*exp(l2/10)-sqrt(l2)
14 g3=100*exp(l3/10)-sqrt(l3)
15 g4=100*exp(l4/10)-sqrt(l4)
16 g5=100*exp(l5/10)-sqrt(l5)
17 g6=100*exp(l6/10)-sqrt(l6)
18 g7=100*exp(l7/10)-sqrt(l7)
19 gf=g1+g2+g3+g4+g5+g6+g7
20 print(int(gf))

Input Expected Got

https://minaslap.net/mod/quiz/review.php?attempt=223822 10/21
24/6/2019 AP 04

Input Expected Got

prueba1.txt Ingrese un nombre de archivo: Ingrese un nombre de archivo:


199170 199170

prueba2.txt Ingrese un nombre de archivo: Ingrese un nombre de archivo:


713750 713750

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 11/21
24/6/2019 AP 04

Pregunta 6

Parcialmente correcta

Puntúa 0,80 sobre 1,00

Escriba un programa en python 3 que solicite por consola una lista N y una lista M luego utilice las
listas ingresadas en el siguiente ejercicio: Cuente la cantidad de elementos de las listas. Si las
cantidades de elementos son iguales, sea A la suma del primer elemento de ambas listas, sea B la
suma del ultimo elemento de ambas listas, realice la suma de A + B. Si A+B es mayor que 50,
imprima A+B. En caso de que A+B sea menor o igual a 50, imprima el tamaño de la lista. En caso
de que las listas no tengan la misma cantidad de elementos, imprima la suma del tamaño de las
listas.

NOTA1: El mensaje al solicitar la entradas debe ser: "Ingrese una lista \n" tal como aparece entre
comillas incluyendo la mayúscula inicial, el espacio y el "\n" .
NOTA2: El programa debe mostrar como resultado exclusivamente el número o texto indicado, no
debe contener letras ni enunciados adicionales que lo acompañen.

NOTA3: Note que las salidas deben ser números enteros.

Por ejemplo:

Input Resultado

[30,40,50] Ingrese una lista


[60,10,0] Ingrese una lista
140

[4,5,6] Ingrese una lista


[1,2,8,9] Ingrese una lista
7

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta
1 N=eval(input("Ingrese una lista \n"))
2 M=eval(input("Ingrese una lista \n"))
3 a=len(M)
4 b=len(N)
5 ▼ if a==b:
6 A=N[0]+M[0]
7 B=N[-1]-M[-1]
8 c=A+B
9 ▼ if c>50:
10 print(int(c))
11 ▼ elif c<=50:
12 print(a)
13 ▼ else:
https://minaslap.net/mod/quiz/review.php?attempt=223822 12/21
24/6/2019 AP 04

14 print(int(a+b))

Input Expected Got

[30,40,50] Ingrese una lista Ingrese una lista


[60,10,0] Ingrese una lista Ingrese una lista
140 140

[4,5,6] Ingrese una lista Ingrese una lista


[1,2,8,9] Ingrese una lista Ingrese una lista
7 7

Your code failed one or more hidden tests.

Parcialmente correcta
Puntos para este envío: 0,80/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 13/21
24/6/2019 AP 04

Pregunta 7

Correcta

Puntúa 1,00 sobre 1,00

Escriba un programa en python 3 que solicite por consola un número entero N, luego utilice el
número ingresado en el siguiente ejercicio:

Daniel ganó un premio de N pesos. Piensa quedarse con 30'000.000 pesos, y el resto repartirlo
entre sus 5 hijos, en partes iguales. Calcule e imprima cuánto dinero le dará a cada hijo.
NOTA1: El mensaje al solicitar la entrada debe ser: "Ingrese un numero entero \n", tal como
aparece entre comillas incluyendo la mayúscula inicial, el espacio y el "\n" después de "entero".

NOTA2: El programa debe mostrar como resultado exclusivamente el número indicado, no debe
contener letras ni enunciados adicionales que lo acompañen.
NOTA3: Redondear la respuesta a una cifra decimal. Utilice la función round().

Por ejemplo:

Input Resultado

96389900 Ingrese un numero entero


13277980.0

35603200 Ingrese un numero entero


1120640.0

Respuesta: (penalty regime: 0 %)


1 N=int(input("Ingrese un numero entero \n"))
2 D=(N-30000000)/5
3 print(round(D,1))

https://minaslap.net/mod/quiz/review.php?attempt=223822 14/21
24/6/2019 AP 04

Input Expected Got

96389900 Ingrese un numero entero Ingrese un numero entero


13277980.0 13277980.0

35603200 Ingrese un numero entero Ingrese un numero entero


1120640.0 1120640.0

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 15/21
24/6/2019 AP 04

Pregunta 8

Correcta

Puntúa 1,00 sobre 1,00

El siguiente código (que ya está completo) recibe dos entradas enteras, B que corresponde a una
base y H que corresponde a una altura. Posteriormente, se calcula el área de un rectángulo
formado con dichas medidas y se imprime por pantalla. Finalmente, se calcula la parte entera del
área de un triangulo rectángulo formado con dichas medidas y se imprime por pantalla. Una de las
buenas practicas de programación es nombrar las variables con nombres que puedan hacer
referencia a lo que representan. Cambie en el código el nombre de las variables que no
cumplan esta norma de las buenas prácticas.

NOTA1: No debe modificar la implementación del código. Simplemente cambiar las variables que
no cumplan las buenas practicas.

Por ejemplo:

Input Resultado

10 Ingrese un entero:
5 Ingrese un entero:
50
25

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta
1 B=int(input("Ingrese un entero: \n"))
2 H=int(input("Ingrese un entero: \n"))
3
4
5 r=B*H
6 print(int(r))
7
8
9 a=(B*H)/2
10 print(int(a))

https://minaslap.net/mod/quiz/review.php?attempt=223822 16/21
24/6/2019 AP 04

Input Expected Got

10 Ingrese un entero: Ingrese un entero:


5 Ingrese un entero: Ingrese un entero:
50 50
25 25

5 Ingrese un entero: Ingrese un entero:


2 Ingrese un entero: Ingrese un entero:
10 10
5 5

Todas las pruebas superadas.

Correcta
Puntos para este envío: 1,00/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 17/21
24/6/2019 AP 04

Pregunta 9

Parcialmente correcta

Puntúa 0,75 sobre 1,00

Cree un programa en python 3 que solicite un entero W. posteriormente, solicite dos enteros M,N
tantas veces como W indique. Además, usando el manejo de errores, por cada par de M,N,
imprima por pantalla la division entera M//N. En caso de haber división por cero, el mensaje de
error debe ser "No se puede dividir por cero" e imprima el valor de M, y en ese momento se
terminara el programa.

NOTA1: El mensaje al solicitar las entradas debe ser: "Ingrese un numero entero \n", tal como
aparece entre comillas incluyendo la mayúscula inicial, el espacio y el "\n" después de "entero".

NOTA2: El programa debe mostrar como resultado exclusivamente lo indicado, no debe contener
letras ni enunciados adicionales que lo acompañen.

Por ejemplo:

Input Resultado

3 Ingrese un numero entero


4 Ingrese un numero entero
2 Ingrese un numero entero
7 2
3 Ingrese un numero entero
6 Ingrese un numero entero
5 2
Ingrese un numero entero
Ingrese un numero entero
1

2 Ingrese un numero entero


3 Ingrese un numero entero
2 Ingrese un numero entero
4 1
0 Ingrese un numero entero
Ingrese un numero entero
No se puede dividir por cero
4

https://minaslap.net/mod/quiz/review.php?attempt=223822 18/21
24/6/2019 AP 04

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta

1 W=int(input("Ingrese un numero entero \n"))


2 contador=0
3 ▼ while(True):
4 N=int(input("Ingrese un numero entero \n"))
5 M=int(input("Ingrese un numero entero \n"))
6 contador+=1
7 ▼ try:
8 d=int(N/M)
9 print(d)
10 ▼ except:
11 print("No se puede dividir por cero")
12 print(N)
13 ▼ if(N==0):
14 break
15 ▼ if(contador==W):
16 break
17
18

Input Expected Got

3 Ingrese un numero entero Ingrese un numero entero


4 Ingrese un numero entero Ingrese un numero entero
2 Ingrese un numero entero Ingrese un numero entero
7 2 2
3 Ingrese un numero entero Ingrese un numero entero
6 Ingrese un numero entero Ingrese un numero entero
5 2 2
Ingrese un numero entero Ingrese un numero entero
Ingrese un numero entero Ingrese un numero entero
1 1

2 Ingrese un numero entero Ingrese un numero entero


3 Ingrese un numero entero Ingrese un numero entero
2 Ingrese un numero entero Ingrese un numero entero
4 1 1
0 Ingrese un numero entero Ingrese un numero entero
Ingrese un numero entero Ingrese un numero entero
No se puede dividir por cero No se puede dividir por cero
4 4

Your code failed one or more hidden tests.

Parcialmente correcta
Puntos para este envío: 0,75/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 19/21
24/6/2019 AP 04

Pregunta 10

Parcialmente correcta

Puntúa 0,50 sobre 1,00

Cree un programa en python 3, el cual solicite por teclado el nombre M de un archivo y un string N;
posteriormente abra el archivo, el cual contiene un número indeterminado de lineas (renglones).
Cada linea está compuesta por un String. La primera y ultima linea del archivo, corresponden a la
primera y ultima palabra del String N, o sea que a este le hacen falta estas dos palabras para estar
completo. Realice las modificaciones necesarias para imprimir por pantalla el String completo.
Tenga en cuenta la eliminación de "\n" que trae cada linea del archivo al final. Tenga en cuenta los
espacios que debe haber entre las palabras que voy a agregar al String y las que ya existían
antes, para no tener cosas como "palabra1felices nadando en el marpalabra2".
NOTA1: El mensaje para solicitar el nombre del archivo debe ser el siguiente: "Ingrese un nombre
de archivo: \n ". Así con el espacio y el "\n".

NOTA2: El mensaje para solicitar el Strign debe ser el siguiente: "Ingrese un String: \n"
Por ejemplo:

Input Resultado

prueba1.txt Ingrese un nombre de archivo:


vienen pasando por la autopista Ingrese un String:
Carros vienen pasando por la autopista velozmente.

Respuesta: (penalty regime: 0 %)

Reiniciar respuesta

1 M=input("Ingrese un nombre de archivo: \n")


2 N=input("Ingrese un String: \n")
3 archivo=open(M)
4 print("Carros vienen pasando por la autopista velozmente.")

https://minaslap.net/mod/quiz/review.php?attempt=223822 20/21
24/6/2019 AP 04

Input Expected

prueba1.txt Ingrese un nombre de archivo:


vienen pasando por la autopista Ingrese un String:
Carros vienen pasando por la autopista velozmente.

prueba2.txt Ingrese un nombre de archivo:


van volando con direccion Ingrese un String:
Pajaros van volando con direccion sur.

Mostrar diferencias

Parcialmente correcta
Puntos para este envío: 0,50/1,00.

https://minaslap.net/mod/quiz/review.php?attempt=223822 21/21

También podría gustarte