10. Ejercicios propuestos

1) Implementar un código que presente un menú con diferentes opciones. Cada opción mostrará un mensaje característico. Debe existir una opción que permita finalizar el programa. En el caso de introducir una opción incorrecta, se deberá notificar lo sucedido y pedir reingreso.

**************************************************

2) El cifrado César mueve cada letra un determinado número de espacios en el alfabeto


Realizar un programa que presente un menú con las opciones encriptar, desencriptar una palabra o frase. Decidir la forma conveniente para solicitar los datos al usuario.

**************************************************

3) Escribir un programa que genere y muestre por pantalla los caracteres imprimibles de la tabla ASCII.

Utilizar la función chr( ).

Se debe obtener la siguiente salida:


**************************************************

4) Escribir un programa que, dada una frase ingresada por teclado, imprima una frase describiendo la letra que más se repite y la cantidad de repeticiones.

Ejemplo:

Entrada: "Hola mi nombre es Ariel, soy una sirena, vivo bajo el mar".

Salida: "La letra que más se repite en la A con 6 repeticiones".

**************************************************

5) Se entiende que una secuencia de caracteres está correctamente equilibrada con respecto a los paréntesis si cada uno de los paréntesis de apertura tiene su paréntesis cerrado.

Escribir un programa que permita ingresar e indicar si una cadena está correctamente balanceada con respecto a paréntesis.

**************************************************

6) Escribir un programa que permita leer un número entero positivo desde teclado e imprima la suma de los dígitos que lo componen.

Si ingresa un cero o un valor negativo mostrar un mensaje con 2 opciones; "Volver a intentarlo" o "Salir".

**************************************************

7) Realizar un programa que permita adivinar un número. Para ello se solicitara el ingreso por teclado del numero a adivinar (entero). Luego se irán solicitando mas números y se deberá ir averiguando si el número a adivinar es mayor o menor que el introducido (ir mostrando carteles indicativos). El programa termina cuando se acierta el número.

**************************************************

8) Escribir un programa que pida al usuario un número entero positivo y muestre por pantalla todos los números impares desde 1 hasta ese número separados por comas.

**************************************************

9) Escribir un programa que lea 10 números enteros y luego muestre cuántos valores ingresados fueron múltiplos de 3 y cuántos de 5. Tener en cuenta que hay números que son múltiplos de 3 y de 5 a la vez

**************************************************

10) Ingresar "N" valores  y mostrar cual es el elemento menor y en que posición se ingreso. El valor de "N" se ingresa por teclado y debe ser mayor o igual a 2. En caso de ser menor se debe pedir reingreso hasta que se ingrese el dato correcto.

**************************************************

11) Modificar el ejercicio anterior para que en caso de ingresar un valor de "N" menor a 2 pida el reingreso como máximo 5 veces, y en el caso de no haber ingresado un dato correcto mostrar un cartel que diga "Programa terminado por muchos intentos erroneos".

**************************************************

12) Escribir un programa que solicite un número entero positivo, si se ingresa otra cosa, se deberá mostrar un mensaje indicando un error. 

A partir del entero válido, por pantalla se mostrarán sus divisores.

NOTA: si el ingreso es erróneo más de 2 veces, se deberá dar una opción para finalizar el programa.

**************************************************

13) Escribir un programa que solicite un número entero mayor que 1, si se ingresa otra cosa, se deberá mostrar un mensaje indicando un error.

A partir del entero válido, por pantalla se mostrará si es o no primo (número natural mayor que 1 que tiene únicamente dos divisores distintos: él mismo y el 1).

NOTA: si el ingreso es erróneo más de 2 veces, se deberá dar una opción para finalizar el programa.

**************************************************

14) Escribir un programa que solicite un número entero positivo, si se ingresa otra cosa, se deberá mostrar un mensaje indicando un error.

A partir del entero válido, por pantalla se mostrará su factorial, considerar el caso del 0 (cero).

NOTA: si el ingreso es erróneo se mostrará un mensaje con 2 opciones; "Volver a intentarlo" o "Salir".

**************************************************

15) Escribir un programa que solicite un número entero positivo, si se ingresa otra cosa (letras por ejemplo), no realizar la operación normal del programa.

A partir del entero válido, por pantalla se mostrará la tabla de multiplicar del mismo, del 1 al 10 como en la escuela.

NOTA: si el ingreso es erróneo, decidir cómo proceder con el programa.

**************************************************

16) Escribir un programa que solicite un número entero para analizarlo, si se ingresa otra cosa, se deberá mostrar un mensaje indicando un error.

A partir del entero, por pantalla se mostrará información al respecto.

Información a mostrar:

    • Si es par, impar
    • Positivo, negativo (decidir el caso del 0)
    • Su factorial, si es posible
    • Si es primo
    • Sus divisores, si no es primo
    • Cantidad de dígitos
**************************************************

17) Escribir un programa que permita validar/catalogar una frase ingresada como posible contraseña. De acuerdo al análisis, se devolverá el nivel de seguridad correspondiente.

Se considerarán las siguiente pautas:

      • Longitud menor a 6: No válido como clave. Seguridad 0
      • Carácter en minúscula. Seguridad +1
      • Carácter en mayúscula. Seguridad +1
      • Carácter numérico. Seguridad +1
      • Carácter símbolo. Seguridad +1
      • Longitud mayor a 10. Seguridad +1

          Mostrar al finalizar, la clave ingresada seguida del nivel de seguridad (Seguridad 5 es el máximo, se cumplen todos los requisitos).

          **************************************************

          18) Escribir un programa que permita ingresar el límite inferior y superior de un intervalo. Si el límite inferior es mayor que el superior, deberá intercambiarlos. A continuación, se van introduciendo números hasta que se ingrese el 0. Cuando termine, el programa deberá mostrar cuantos números de los ingresados están fuera del intervalo, y en qué posición se ingresó el cero.

          **************************************************

          19) Escribir un programa que permita ingresar el monto de las ventas realizadas por "N" empleados y los nombres de cada empleado. Cada empleado tiene 4 ventas. Cada venta representa la venta de una semana del mes. "N" es un valor positivo ingresado desde el teclado que indica la cantidad de vendedores,  si "N" es negativo el programa finaliza y si "N" es positivo se deberán ingresar las "N" ventas. Al finalizar la carga se deberá indicar el monto de venta mayor, en qué posición se produjo y a quien corresponde.

          Alternativa : Modificar el programa anterior para que funcione con un ciclo "while".

          **************************************************

          20) Realizar un programa que permita hacer distintos cálculos básicos, de la misma manera que una calculadora.

          Presentar un menú como el siguiente:

          1- Sumar dos números

          2- Restar dos números

          3- Multiplicar dos números

          4- Dividir dos números

          5- Salir

          Tanto la opción elegida como el par de números a computar deben ser introducidos por teclado.

          Observaciones: Tener en cuenta que no existe la división por cero (x/0 no existe), si el usuario llegara a ingresar cero para el divisor, se deberá mostrar por pantalla el mensaje "Error, denominador incorrecto" y se deberá pedir el reingreso de dicho valor.

          **************************************************

          21) Realizar un algoritmo que permita determinar el computo y presupuesto de pintura para un edificio: El programa debe permitir que el usuario ingrese por teclado (de a una por vez) las superficies de paredes a pintar. Para el calculo de consumo de pintura asumir que se utilizan 0.3 litros de pintura por metro cuadrado de pared (0.3 litros/m²). La pintura se adquiere en tachos de 20 litros, con un costo de $6300 cada tacho. La pinturería además ofrece un descuento del 10% al costo total a partir del quinto tacho (por ejemplo, 1 tacho $6300; 5 tachos = 5*$6300=$31500 - 10% = $28350).

          Realizar un Menú con las siguientes opciones:

              1- Cargar paredes (se deben cargar todas las paredes de una vez)

              2- Mostrar resultados

              f- Finalizar programa

              
          Cada punto del menú debe realizar lo siguiente:
              
          1- Primeramente se debe pedir el numero de paredes a computar, para luego cargarlas de a una por vez. Se deberán verificar que el dato del numero de paredes sea entero y que los datos ingresados de  superficies sean números reales.

          2- Se deberá mostrar por pantalla:
              * Superficie total
              * Cantidad de pintura a utilizar
              * Precio final (mostrar ambos precios, con y sin descuento)

          f- Solamente finalizar el programa al ingresar la letra f
              
          OBSERVACION: Para poder obtener el numero de tachos a comprar se debe utilizar la función round( ), para conocer como funciona: https://www.programiz.com/python-programming/methods/built-in/round

          **************************************************

          22) Realice un programa en Python que pida al usuario el termino de la Serie de Fibonacci que quiera y le muestre por pantalla el valor de la misma.

          **************************************************

          23) Realizar un programa en Python que obtiene los 10 primeros elementos de la serie de Fibonacci que son primos.

          **************************************************

          24)      Escribir un programa que permita ingresar dos valores por teclado. Al menor de ellos guardarlo en una variable de nombre MIN y al mayor en una variable MAX. Si los valores ingresados son iguales finalizar el programa. Luego, mostrar los números comprendidos dentro del rango [MIN, MAX] contando de 5 en 5. Al finalizar mostrar la suma de todos los valores mostrados.

           **************************************************

          25)    Escribir un programa que permita obtener una función exponencial, la cual está dada por:


          **************************************************

          26)   Realizar un programa que permita ingresar notas de alumnos [0,10] por teclado. La carga finaliza cuando se ingresa una nota no válida. Al finalizar la carga se pide que el programa muestre la cantidad de aprobados, la mayor nota ingresada, y si hubo o no un 0(cero).

           **************************************************

          27.      Hacer un programa que muestre el siguiente menú:

          a.      Ejercicio 24

          b.      Ejercicio 25

          c.       Ejercicio 26

          f.        Finalizar

          El usuario debe poder ingresar la opción que quiere realizar. SOLO podrá Salir del programa si ingresa f. 

          Si elige a,b,c  deberá realizar las consignas de los ejercicios 24 al 26.

          Si ingresa cualquier otra opción deberá mostrar un mensaje de Error.-

          **************************************************