ejercicios de prog

8
Ejercicios de INTRODUCCION A LA PROGRAMACION Prof. Maria Eugenia de Pool 1) Hacer un algoritmo que permita Calcular el perímetro y área de un rectángulo dada su base y su altura. 2) Hacer un algoritmo que permita Calcular el perímetro y área de un círculo dado su radio. 3) Hacer un algoritmo que permita Calcular el volumen de una esfera dado su radio. 4) Hacer un algoritmo que permita Calcular el área de un rectángulo (alineado con los ejes x e y) dadas sus coordenadas x1,x2,y1,y2. 5) Hacer un algoritmo que permita que Dados los catetos de un triángulo rectángulo, calcular su hipotenusa. 6) Hacer un algoritmo que permita que Dados dos números, indicar la suma, resta, división y multiplicación de ambos. 7) Hacer un algoritmo que permita que Dado un número entero N, imprimir su tabla de multiplicar. 8) Hacer un algoritmo que permita que Dado un número entero N, imprimir su factorial. 9) Escribir un programa que le pida una palabra al usuario, para luego imprimirla 1000 veces. 10) Escribir un programa que le pregunte al usuario una cantidad de bolívares, una tasa de interés anual y un número de años y muestre como resultado el monto final a obtener. 11) Escribir un programa que convierta un valor dado en grados Fahrenheit a grados Celsius. Recordar que la fórmula para la conversión es: F = 9/5C + 32 12) Utilice el programa anterior para generar una tabla de conversión de temperaturas, desde 0_F hasta 120 _F, de 10 en 10. 13) Escribir un programa que imprima todos los números pares entre dos números que se le pidan al usuario 14) Escribir un programa que reciba un número n e imprima los primeros n números triangulares, junto con su índice. Los números triangulares se obtienen mediante la suma de los números naturales desde 1 hasta n. Es decir, si se piden los primeros 5 números triangulares, el programa debe imprimir: 1 - 1 2 - 3 3 - 6 4 - 10

Upload: aztro-castillo

Post on 21-Oct-2015

24 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ejercicios de Prog

Ejercicios de INTRODUCCION A LA PROGRAMACIONProf. Maria Eugenia de Pool

1) Hacer un algoritmo que permita Calcular el perímetro y área de un rectángulo dada su base y su altura.2) Hacer un algoritmo que permita Calcular el perímetro y área de un círculo dado su radio.3) Hacer un algoritmo que permita Calcular el volumen de una esfera dado su radio.4) Hacer un algoritmo que permita Calcular el área de un rectángulo (alineado con los ejes x e y) dadas sus coordenadas x1,x2,y1,y2.5) Hacer un algoritmo que permita que Dados los catetos de un triángulo rectángulo, calcular su hipotenusa.6) Hacer un algoritmo que permita que Dados dos números, indicar la suma, resta, división y multiplicación de ambos.7) Hacer un algoritmo que permita que Dado un número entero N, imprimir su tabla de multiplicar.8) Hacer un algoritmo que permita que Dado un número entero N, imprimir su factorial.9) Escribir un programa que le pida una palabra al usuario, para luego imprimirla 1000 veces.10) Escribir un programa que le pregunte al usuario una cantidad de bolívares, una tasa de interés anual y un número de años y muestre como resultado el monto final a obtener. 11) Escribir un programa que convierta un valor dado en grados Fahrenheit a grados Celsius. Recordar que la fórmula para la conversión es: F = 9/5C + 3212) Utilice el programa anterior para generar una tabla de conversión de temperaturas, desde 0_F hasta 120 _F, de 10 en 10.13) Escribir un programa que imprima todos los números pares entre dos números que se le pidan al usuario14) Escribir un programa que reciba un número n e imprima los primeros n números triangulares, junto con su índice. Los números triangulares se obtienen mediante la suma de los números naturales desde 1 hasta n. Es decir, si se piden los primeros 5 números triangulares, el programa debe imprimir:1 - 12 - 33 - 64 - 105 - 1515) Escribir un programa que tome una cantidad m de valores ingresados por el usuario, a cada uno le calcule el factorial e imprima el resultado junto con el número de orden correspondiente.16) Escribir un programa que imprima por pantalla todas las fichas de dominó, de una por línea y sin repetir.17) Modificar el programa anterior para que pueda generar fichas de un juego que puede tenernúmeros de 0 a n.18) Hacer un algoritmo que permita Obtener la cantidad de segundos en un tiempo dado en horas, minutos y segundos.

Page 2: Ejercicios de Prog

19) Hacer un algoritmo que permita Obtener la cantidad de horas, minutos y segundos de un tiempo dado en segundos.20) Escribir un programa que lea de teclado dos tiempos expresados en horas, minutos y segundos; las sume y muestre el resultado en horas, minutos y segundos por pantalla.21) Escribir un programa que dados dos puntos en el plano (x1,y1 y x2,y2), imprima la resta deambos (debe imprimir un par de valores).22) Escribir un programa que dados dos puntos en el plano (x1,y1 y x2,y2), imprima la distancia entre ambos.23) Hacer un programa que Dado un número entero n, indicar si es o no par.24) Hacer un programa que Dado un número entero n, indicar si es o no primo.25) Escribir una implementación de la función abs, que imprima el valor absoluto de cualquier valor que reciba.26) Escribir un programa que lea una dimensión n, e imprima la matriz identidad correspondiente a esa dimensión.27) Hacer un programa que permitan encontrar el máximo o mínimo de un polinomio de segundo grado (dados los coeficientes a, b y c), indicando si es un máximo o un mínimo.28) Hacer un programa que permitan encontrar Las raíces (reales o complejas) de un polinomio de segundo grado. Nota: validar que las operaciones puedan efectuarse antes de realizarlas (no dividir por cero, ni calcular la raíz de un número negativo).29) Hacer un programa que Dado un año indicar si es bisiesto. Nota: un año es bisiesto si es un número divisible por 4, pero no si es divisible por 100, excepto que también sea divisible por 400.30) Hacer un programa que Dado un mes, imprimir la cantidad de días correspondientes.31) Hacer un programa que Dada una fecha (día, mes, año), indicar si es válida o no.32) Hacer un programa que Dada una fecha, indicar los días que faltan hasta fin de mes.33) Hacer un programa que Dada una fecha, indicar los días que faltan hasta fin de año.34) Hacer un programa que Dada una fecha, indicar la cantidad de días transcurridos en ese año hasta esa fecha.35) Hacer un programa que Dadas dos fechas (día1, mes1, año1, día2, mes2, año2), indicar el tiempo transcurrido entre ambas, en años, meses y días.36) Suponiendo que el primer día del año fue lunes, escribir un programa que reciba un número con el día del año (de 1 a 366) e imprima el día de la semana que le toca. Por ejemplo: si recibe 3 debeimprimir ’miércoles’, si recibe 9 debe imprimir ’martes’ 37) Escribir un programa que reciba como entrada un año escrito en números arábigos y muestre por pantalla el mismo año escrito en números romanos.38) Astrología: algoritmo que reciba el día y mes de cumpleaños e imprima el signo corresponde. Nota:

Aries: 21 de marzo al 20 de abril.Tauro: 21 de abril al 20 de mayo.Geminis: 21 de mayo al 21 de junio.Cancer: 22 de junio al 23 de julio.Leo: 24 de julio al 23 de agosto.Virgo: 24 de agosto al 23 de septiembre.Libra: 24 de septiembre al 22 de octubre.Escorpio: 23 de octubre al 22 de noviembre.Sagitario: 23 de noviembre al 21 de diciembre.Capricornio: 22 de diciembre al 20 de enero.Acuario: 21 de enero al 19 de febrero.

Page 3: Ejercicios de Prog

Piscis: 20 de febrero al 20 de marzo.39) Escribir un programa que reciba una a una las notas del usuario, preguntando a cada paso si desea ingresar más notas, e imprimiendo el promedio correspondiente.40) Escribir un programa que reciba un número entero k e imprima su descomposición enfactores primos.41) Escribir un programa que contenga una contraseña inventada, que le pregunte al usuario la contraseña, y no le permita continuar hasta que la haya ingresado correctamente.42) Modificar el programa anterior para que solamente permita una cantidad fija de intentos.43) Escribir un programa que obtenga un número aleatorio secreto, y luego permita al usuario ingresar números y le indique sin son menores o mayores que el número a adivinar, hasta que el usuario ingrese el número correcto.44) Algoritmo de Euclides.Implementar el algoritmo de Euclides para calcular el máximo común divisor de dos números n y m, dado por los siguientes pasos.

1. Teniendo n y m, se obtiene r, el resto de la división 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 números: (15,9); (9,15); (10,8); (12,6).

45) Escribir un programa que reciba un número natural, e imprima True si el número es una potencia de 2, y False en caso contrario.46) Escribir un programa que, dados dos números naturales, imprima la suma de todas las potencias de 2 que hay en el rango formado por esos números (0 si no hay ninguna potencia de 2 entre los dos). 47) Escribir un algoritmo que imprima la suma de todos los divisores de un número n, sin incluirlo.48) Escribir un algoritmo que imprima los primeros m números tales que la suma de sus divisores sea igual a sí mismo (es decir los primeros m números perfectos).49) Escribir un programa que le pida al usuario que ingrese una sucesión de números naturales(primero uno, luego otro, y así hasta que el usuario ingrese ’-1’ como condición de salida). Al final, elprograma debe imprimir cuántos números fueron ingresados, la suma total de los valores y el promedio.50) Escribir un algoritmo que reciba dos números, e imprima cuántos múltiplosdel primero hay, que sean menores que el segundo.51) Escribir un algoritmo que reciba un número natural e imprima todos los números primosque hay hasta ese número.52) Escribir un algoritmo que reciba un dígito y un número natural, y decida numéricamentesi el dígito se encuentra en la notación decimal del segundo.53) Escribir un algoritmo que dada la cantidad de ejercicios de un examen, y el porcentaje 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 más 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.

Page 4: Ejercicios de Prog

54) Hacer un programa que reciba una cadena de caracteres e Imprima los dos primeros caracteres.55) Hacer un programa que reciba una cadena de caracteres e Imprima los tres últimos caracteres.56) Hacer un programa que reciba una cadena de caracteres e Imprima dicha cadena cada dos caracteres. Ej.: ’recta’ debería imprimir ’rca’57) Hacer un programa que reciba una cadena de caracteres e Dicha cadena en sentido inverso. Ej.: ’hola mundo!’ debe imprimir ’!odnum aloh’58) Hacer un programa que reciba una cadena de caracteres e Imprima la cadena en un sentido y en sentido inverso. Ej: ’reflejo’ imprime ’reflejoojelfer’.59) Hacer un programa que reciba una cadena de caracteres y un carácter e Inserte el caracter entre cada letra de la cadena. Ej: ’separar’ y ’,’ debería imprimir ’s,e,p,a,r,a,r’60) Hacer un programa que reciba una cadena de caracteres y un carácter y Reemplace todos los espacios por el caracter. Ej: ’mi archivo de texto.txt’ y ’_’ debería imprima ’mi_archivo_de_texto.txt’61) Hacer un programa que reciba una cadena de caracteres y un carácter y Reemplace todos los dígitos en la cadena por el caracter. Ej: ’su clave es: 1540’ y ’X’ debería imprimir ’su clave es: XXXX’62) Hacer un programa que reciba una cadena de caracteres y un carácter e Inserte el caracter cada 3 dígitos en la cadena. Ej. ’2552552550’ y ’.’ debería imprimir ’255.255.255.0’63) Escribir un algoritmo que reciba una cadena que contiene un largo número entero y obtenga una cadena con el número y las separaciones de miles. Por ejemplo, si recibe ’1234567890’, debe imprimir ’1.234.567.890’.64) Escribir un algoritmo que dada una cadena de caracteres, imprima La primera letra de cada palabra. Por ejemplo, si recibe ’Universal Serial Bus’ debe imprimir ’USB’.65) Escribir un algoritmo que dada una cadena de caracteres, imprima Dicha cadena con la primera letra de cada palabra en mayúsculas. Por ejemplo, si recibe ’república argentina’ debe imprimir ’República Argentina’.66) Escribir un algoritmo que dada una cadena de caracteres, imprima Las palabras que comiencen con la letra ’A’. Por ejemplo, si recibe ’Antes de ayer’ debe imprimir ’Antes ayer’67) Escribir un algoritmo que dada una cadena de caracteres, imprima solamente las letras consonantes. Por ejemplo, si recibe ’algoritmos’ o ’logaritmos’ debe imprimir ’lgrtms’.68) Escribir un algoritmo que dada una cadena de caracteres, imprima solamente las letras vocales. Por ejemplo, si recibe ’sin consonantes’ debe imprimir ’i ooae’.69) Escribir un algoritmo que dada una cadena de caracteres Reemplace cada vocal por su siguiente vocal. Por ejemplo, si recibe ’vestuario’ debe imprimir ’vistaerou’.70) Escribir un algoritmo que dada una cadena de caracteres, Indique si se trata de un palíndromo. Por ejemplo, ’anita lava la tina’ es un palíndromo (se lee igual de izquierda a derecha que de derecha a izquierda).71) Escribir un algoritmo que dada dos cadenas de caracteres, Indique si la segunda cadena es una subcadena de la primera. Por ejemplo, ’cadena’ es una subcadena de ’subcadena’.72) Escribir un algoritmo que dada dos cadenas de caracteres, imprima la que sea anterior en orden alfábetico. Por ejemplo, si recibe ’kde’ y ’gnome’ debe imprimir ’gnome’.73) Escribir un algoritmo que reciba una cadena de unos y ceros (es decir, un número enrepresentación binaria) e imprima el valor decimal correspondiente.

Page 5: Ejercicios de Prog

74) Escribir un algoritmo que reciba una tupla de elementos e indique si se encuentran ordenadosde menor a mayor o no.75) Escribir un algoritmo que indique si dos fichas de dominó encajan o no. Las fichas son recibidasen dos tuplas, por ejemplo: (3,4) y (5,4)76) Escribir un algoritmo que indique si dos fichas de dominó encajan o no. Las fichas son recibidasen una cadena, por ejemplo: 3-4 2-5. 77) Escribir un algoritmo que reciba una tupla con nombres, y para cada nombre imprima el mensajeEstimado <nombre>, vote por mí.78) Escribir un algoritmo que reciba una tupla con nombres, una posición de origen py una cantidadn, e imprima el mensaje ‘vote por mi’ para los n nombres que se encuentran a partir de la posición p.79) Escribir un algoritmo que reciba dos vectores e imprima su producto escalar.80) Escribir un algoritmo que reciba dos vectores e imprima si son o no ortogonales.81) Escribir un algoritmo que reciba dos vectores e imprima si son paralelos o no.82) Escribir un algoritmo que reciba un vector e imprima su norma.83) Dada una lista de números enteros, escribir un algoritmo que genere una lista con todos los que sean primos.84) Dada una lista de números enteros, escribir un algoritmo que Imprima la sumatoria y el promedio de los valores.85) Dada una lista de números enteros, escribir un algoritmo que genere una lista con el factorial de cada uno de esos números.86) Dada una lista de números enteros y un entero k, escribir un algoritmo que genere tres listas, una con los menores, otra con los mayores y otra con los iguales a k.87) Dada una lista de números enteros y un entero k, escribir un algoritmo que genere una lista con aquellos que son múltiplos de k.88) Escribir un algoritmo que reciba una lista de tuplas (Apellido, Nombre, Inicial_segundo_nombre) y genere una lista de cadenas donde cada una contenga primero el nombre,luego la inicial con un punto, y luego el apellido.89) Realizar un algoritmo que, dada una lista, genere una nueva lista cuyo contenido sea iguala la original pero invertida. Así, dada la lista [’Di’, ’buen’, ’día’, ’a’, ’papa’], deberá imprimir [’papa’, ’a’, ’día’, ’buen’, ’Di’].90) Realizar otra función que invierta la lista, pero en lugar de imprimir una nueva, modifique la listadada para invertirla.91) Realizar el ejercicio anterior pero sin utilizar listas auxiliares.92) Escribir un algoritmo que reciba dos matrices y genere e imprime la suma.93) Escribir un algoritmo que reciba dos matrices y genere e imprima el producto.94) Escribir un algoritmo que opere sobre una matriz y mediante eliminación gaussiana genere e imprima la matriz triangular superior.95) Plegado de un texto. Escribir un algoritmo que reciba un texto y una longitud k y genere una lista de cadenas de tenga un máximo de k longitud cada cadena. Las líneas deben ser cortadas correctamente en los espacios (sin cortar las palabras).

Page 6: Ejercicios de Prog

96) Escribir un algoritmo que reciba una lista desordenada y un elemento k, y que Busque todos los elementos que coincidan con k e imprima la cantidad de coincidencias encontradas.97) Escribir un algoritmo que reciba una lista desordenada y un elemento k, y que Busque la primera coincidencia del elemento k en la lista e imprima su posición.98) Escribir un algoritmo que reciba una lista desordenada y un elemento k, y que, busque todos los elementos que coincidan con k y genere una lista con las posiciones.99) Escribir un algoritmo que reciba una lista de números no ordenada y que imprima el valor máximo.100) Escribir un algoritmo que reciba una lista de números no ordenada y que imprima el valor máximo y su posición.101) Escribir un algoritmo que reciba una lista ordenada y un elemento k. Si el elemento se encuentraen la lista, debe encontrar su posición, mediante búsqueda binaria y imprimirlo. Si no se encuentra,debe agregarlo a la lista en la posición correcta y imprimir esa nueva posición. 102) Escribir un algoritmo que reciba una cadena y genere e imprima un diccionario, en una lista de tuplas, con la cantidad de apariciones de cada palabra en la cadena. Por ejemplo, si recibe "Qué lindo día que hace hoy" debe imprimir: ’que’: 2, ’lindo’: 1, ’día’: 1, ’hace’: 1, ’hoy’: 1102) Escribir un algoritmo que cuente la cantidad de apariciones de cada caracter en una cadena detexto, y los guarde en una lista de tuplas.103) Escribir un algoritmo que reciba una cantidad k de iteraciones de una tirada de 2 dados a realizar e imprima la cantidad de veces que se observa cada valor de la suma de los dos dados. Utilizar una función random para obtener las tiradas aleatorias.104) Escribir un algoritmo que reciba un texto y para cada caracter presente en el texto imprima la cadena más larga en la que se encuentra ese caracter.