1. Algoritmos y Programas – Año 2012
Práctica 1
1) Escriba en Python un módulo que lea del teclado tres números correspondientes a un día,
mes y año determinado e imprima la fecha de la siguiente forma: “01 de Agosto de 2011”.
2) Defina una función que reciba una palabra y retorne la cantidad de vocales que contiene.
3) Escriba en Python un módulo que lea del teclado una cadena de caracteres e imprima la
misma en orden inverso.
4) Escriba una función que realice lo pedido en 2. Esta función recibe como argumento la
cadena de caracteres. Luego, escriba otro módulo con el programa que lee la cadena e
invoca a la función anterior.
5) Escriba en Python un módulo que lea del teclado una cadena de caracteres e imprima si la
cadena esta balanceada o no. (Ejercicio a entregar)
Decimos que una cadena de caracteres S está balanceada si tiene alguna de las siguientes
formas:
S = ‘’ S es el string de longitud cero.
S = ‘(T)’
S = ‘[T]’
S = ‘{T}’
Donde T es una cadena balanceada. Por ejemplo, ‘{[ ( ) ] }’ está balanceada, pero ‘ ( [ ) ]’
no lo está.
6) Escriba en Python un módulo llamado numbers con las funciones necesarias para resolver
lo que se solicita a continuación:
• Calculo de números factoriales: Se debe retornar en el resultado del calculo del factorial
de un numero n, el cual es pasado por parámetro.
El numero factorial de n equivale a:
n! = n·(n-1)·(n-2)···2·1
Ejemplo:
El numero factorial de 7 equivale a:
7! = 7·6·5·4·3·2·1
y es igual a 5040.
2. Algoritmos y Programas – Año 2012
• Calculo de los números combinatorios: Se debe retornar en el numero combinatorio de "x
sobre y", donde x e y son pasados por parámetro.
El número combinatorio "n sobre k" equivale a:
n!
k!(n-k)!
Ejemplo:
El número combinatorio "7 sobre 3" que equivale a:
7·6·5·4·3·2·1
3·2·1 (4·3·2·1)
y es igual a 35.
7) Escriba un programa que importe el modulo numbers para realizar lo siguiente:
• Imprimir por pantalla los primeros 10 números factoriales.
• Imprimir los siguientes números combinatorios: "2 sobre 1", "5 sobre 2", "10 sobre 4" y "80
sobre 31".