You are on page 1of 8

Inicio Libros Tutoriales Eventos Foro Buscar

Libros / Algoritmos de Programacin con Python / Captulo 5. Ms sobre ciclos / 5.7. Ejercicios

5.7. Ejercicios
Ejercicio 5.7.1. Escribir un programa que reciba una a una las notas del usuario,
preguntando a cada paso si desea ingresar ms notas, e imprimiendo el promedio
correspondiente.

Ejercicio 5.7.2. Escribir una funcin que reciba un nmero entero k e imprima su
descomposicin en factores primos.

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Ejercicio 5.7.3. Manejo de contraseas

1. Escribir un programa que contenga una contrasea inventada, que le pregunte al


usuario la contrasea, y no le permita continuar hasta que la haya ingresado
correctamente.

2. Modificar el programa anterior para que solamente permita una cantidad fija de
inten-tos.

3. Modificar el programa anterior para que despus de cada intento agregue una
pausa cada vez mayor, utilizando la funcin sleep del mdulo time .

4. Modificar el programa anterior para que sea una funcin que devuelva si el usuario
ingres o no la contrasea correctamente, mediante un valor booleano (True o
False).

Ejercicio 5.7.4. Utilizando la funcin randrange del mdulo random , escribir un


programa que obtenga un nmero aleatorio secreto, y luego permita al usuario ingresar
nmeros y le indique sin son menores o mayores que el nmero a adivinar, hasta que el
usuario ingrese el nmero correcto.

Ejercicio 5.7.5. Algoritmo de Euclides

Implementar en python el algoritmo de Euclides para calcular el mximo comn divisor


open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
de dos nmeros n y m , dado por los siguientes pasos.

1. Teniendo n y m , se obtiene r , el resto de la divisin entera de m/n .

2. Si r es cero, n es el mcd de los valores iniciales.

3. Se reemplaza m n , n r , y se vuelve al primer paso.

Hacer un seguimiento del algoritmo implementado para los siguientes pares de


nmeros: (15,9) ; (9,15) ; (10,8) ; (12,6) .

Ejercicio 5.7.6. Potencias de dos.

Escribir una funcin es_potencia_de_dos que reciba como parmetro un nmero


natural, y devuelva True si el nmero es una potencia de 2 , y False en caso contrario.

Escribir una funcin que, dados dos nmeros naturales pasados como parmetros,
devuelva la suma de todas las potencias de 2 que hay en el rango formado por esos
nmeros ( 0 si no hay ninguna potencia de 2 entre los dos). Utilizar la funcin
es_potencia_de_dos , descripta en el punto anterior.

Ejercicio 5.7.7. Nmeros perfectos y nmeros amigos

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Escribir una funcin que devuelva la suma de todos los divisores de un nmero n , sin
incluirlo.

Usando la funcin anterior, escribir una funcin que imprima los primeros m nmeros
tales que la suma de sus divisores sea igual a s mismo (es decir los primeros m
nmeros perfectos).

Usando la primera funcin, escribir una funcin que imprima las primeras m parejas de
nmeros (a,b) , tales que la suma de los divisores de a es igual a b y la suma de los
divisores de b es igual a a (es decir las primeras m parejas de nmeros amigos).

Proponer optimizaciones a las funciones anteriores para disminuir el tiempo de


ejecucin.

Ejercicio 5.7.8. Escribir un programa que le pida al usuario que ingrese una sucesin de
nme-ros naturales (primero uno, luego otro, y as hasta que el usuario ingrese -1 como
condicin de salida). Al final, el programa debe imprimir cuntos nmeros fueron
ingresados, la suma total de los valores y el promedio.

Ejercicio 5.7.9. Escribir una funcin que reciba dos nmeros como parmetros, y
devuelva cuntos mltiplos del primero hay, que sean menores que el segundo.

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
1. Implementarla utilizando un ciclo for , desde el primer nmero hasta el segundo.

2. Implementarla utilizando un ciclo while , que multiplique el primer nmero hasta


que sea mayor que el segundo.

3. Comparar ambas implementaciones: Cul es ms clara? Cul realiza menos


operaciones?

Ejercicio 5.7.10. Escribir una funcin que reciba un nmero natural e imprima todos los
nmeros primos que hay hasta ese nmero.

Ejercicio 5.7.11. Escribir una funcin que reciba un dgito y un nmero natural, y decida
numricamente si el dgito se encuentra en la notacin decimal del segundo.

Ejercicio 5.7.12. Escribir una funcin que dada la cantidad de ejercicios de un examen, y
el porcentaje necesario de ejercicios bien resueltos necesario para aprobar dicho
examen, revise un grupo de examenes. Para ello, en cada paso debe preguntar la
cantidad de ejercicios resueltos por el alumno, indicando con un valor centinela que no
hay ms examenes a revisar. Debe mostrar por pantalla el porcentaje correspondiente a
la cantidad de ejercicios resueltos respecto a la cantidad de ejercicios del examen y una
leyenda que indique si aprob o no.

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Anterior Siguiente
5.6. Resumen Captulo 6. Cadenas de caracteres

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano,
Nicols Paez. La copia y redistribucin de esta pgina se permite bajo los trminos de la licencia Creative
Commons Atribucin - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.

INDICE DE CONTENIDOS

1. Algunos conceptos bsicos

2. Programas sencillos

3. Funciones

4. Decisiones

Captulo 5. Ms sobre ciclos

5.1. Ciclos indefinidos

5.2. Ciclo interactivo

5.3. Ciclo con centinela

5.4. Cmo romper un ciclo

5.5. Ejercicios
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
5.6. Resumen

5.7. Ejercicios

6. Cadenas de caracteres

7. Tuplas y listas

8. Algoritmos de bsqueda

9. Diccionarios

10. Contratos y Mutabilidad

11. Manejo de archivos

12. Manejo de errores y excepciones

13. Procesamiento de archivos

14. Objetos

15. Polimorfismo, Herencia y Delegacin

16. Listas enlazadas

17. Pilas y colas

18. Modelo de ejecucin de funciones y recursividad

19. Ordenar listas

20. Algunos ordenamientos recursivos

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad

das online

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com