Proy. Integración

TRABAJO PRÁCTICO

Funciones y Procedimientos

 

Para cada ejercicio, deben escribir el algoritmo principal y el/los subalgoritmos necesarios para solucionar el problema.

 

  1. Calcular el área y la circunferencia de un círculo cuyo radio se lee en el algoritmo principal.
  2. Hacer un programa que pida un carácter c y un número n. Hacer un procedimiento que  dibuje en pantalla n veces el carácter c. Por ejemplo, si se ingresa el carácter # y el número 3, se dibujará ###.
  3. Realizar un subalgoritmo que permita calcular la multiplicación de dos números como una sucesión de sumas. Por ejemplo, para hacer 2*3, el subalgoritmo debería hacer 2+2+2 y devolver un 6 como resultado. Decida que conviene usar: función o procedimiento y fundamente. A su vez, realice el programa correspondiente que pida los dos números al usuario, invoque al subalgoritmo para hacer el cálculo y muestre el resultado.
  4. Tomar el ejercicio 12 del TP-EstructurasBasicasControl y modificarlo de manera tal que haya dos subalgoritmos (procedimiento o función), uno que decida si un número es par o no y otro para ver si es divisible por tres.
  5. Realizar un procedimiento que reciba dos valores y los ordene de menor a mayor. Debe retornar en sus parámetros los dos valores ordenados. Ejemplo: ordenar(a,b) si a=4 y b=1, debe retornar en a=1 y en b=4 (determine que sucede si se utilizan los distintos pasajes de parámetros vistos y cual o cuales de ellos son los adecuados para resolver este problema).
  6. Tomar el ejercicio de la validación de la fecha del TP anterior (12) y generar un subalgoritmo (¿función o procedimiento?), para realizar el chequeo de la fecha.
  7. Escribir un subalgoritmo llamado división_entera() que devuelva el cociente entero y el resto de la división entre 2 enteros.
  8. Construir una función hipot() que devuelva la hipotenusa de un triángulo rectángulo (el cuadrado de la hipotenusa es igual a la suma del cuadrado de los catetos).
  9. Escribir un procedimiento intercambio que permita intercambiar los contenidos de 2 parámetros tipo char, modificando simultáneamente los 2 parámetros de llamada. No devuelve otro resultado.
  10. Escribe una función llamada media2() que reciba dos reales y devuelva el real que representa la media aritmética de ambos números. Escribe luego un programa utilizando la función del ejercicio anterior que lea dos reales por teclado y devuelva la media aritmética de ambos.
  11. Construir un programa que reciba 3 valores y devuelva el valor mínimo y máximo. El programa debe resolverse utilizando funciones.
  12. Resolver el punto anterior pero utilizando un solo procedimiento que devuelva el máximo y el  mínimo.
  13. Se ingresan los nombres y edades de los 457 miembros de una asociación cooperadora.  Determinar el nombre y la edad del mayor de los integrantes. Validar la entrada de los datos correspondientes a las edades, los cuales deben estar dentro del rango 12 .. 90, con una función lógica llamada validar_edad() que devuelva un FALSE  al verificarse una edad fuera del rango, en el algoritmo principal se debe indicar un mensaje de error y permitir el reingreso del dato.
  14. Se precisa imprimir un listado de los importes que deben abonar los usuarios por consumo de agua. Se ingresa primeramente un Consumo Base (que es un número entero, que representa metros cúbicos), el Precio por metro cúbico (real) y un porcentaje de IVA (también real). Luego se ingresan los siguientes valores para cada usuario, hasta terminar con ‘zzz’ en el nombre:
  • Nombre y Apellido (Ambos son cadena de caracteres) y Consumo (que es entero y representa los metros cúbicos consumidos).
  • Por cada ingreso de usuario, se debe calcular el importe a abonar del siguiente modo:

○    Si el Consumo es menor o igual al Consumo Base, entonces el Importe es Consumo*Precio y luego agregar el IVA.

○    Si el Importe supera el Consumo Base, entonces el Importe se calcula como (Consumo*Precio)+10, o sea se da una multa de 10 pesos. A este importe se debe agregar el IVA.

  • Por cada Nombre y Apellido ingresado, debe imprimirse el importe a abonar. Ud deberá decidir en que momento conviene usar (si hiciera falta) un procedimiento o una función. Pueden precisarse más de un subalgoritmo o tal vez ninguno. Determine los ambientes locales y no locales del programa principal y de cada subalgoritmo usado.

 

­