virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink

Lección 032: Aplicaciones en Modula 2

Ir abajo

Lección 032: Aplicaciones en Modula 2

Mensaje  Kyshuo Ayame el Miér Nov 20, 2013 3:14 pm

Les traigo aquí los primeros ejercicios en Modula 2 para que choquen definitivamente con el lenguaje, con el entorno de desarrollo y con todos los problemas que pueden comenzar a tener a la hora de programar. Con estos ejercicios terminarán de afianzarse con el nuevo leguaje logrando la soltura necesaria para continuar con el resto del curso.

----------------------------------------------------------------------------------

Ejercicio 1: Supongan que a los estudiantes de un curso se les dice que su calificación final será el promedio de las cuatro calificaciones más altas de entre las cinco que hayan obtenido en el curso.
Escribir en Modula 2 un procedimiento llamado PROMCLASE con cinco parámetros de entrada (las calificaciones obtenidas) y un parámetro de salida (la calificación promedio) que realice el cálculo.

-------------------------------------------------------------------------------------

Ejercicio 2: Escribir en Modula 2 un programa que determine las raíces de una ecuación de segundo grado, donde a, b y c son números reales. Presentar la salida discriminando los casos en que se tiene una raíz doble, dos raíces reales o ninguna raíz real. Los que se lleven bien con matemáticas podrían hacer que en el caso en que no existan raíces reales el programa muestre las raíces complejas.

-------------------------------------------------------------------------------------

Ejercicio 3: Escribir en Modula 2 una función ALFA que tenga como parámetros:


  • un arreglo de caracteres llamado FRASE (con un máximo de 100 caracteres)
  • un natural llamado LARGO (número de caracteres en la frase)
  • una variable de tipo carácter llamada LETRA

La función ALFA devuelve el número de apariciones del carácter LETRA en el arreglo FRASE.

------------------------------------------------------------------------------------

Ejercicio 4: Escribir en Modula 2 un procedimiento de clasificación por selección que ordene un arreglo de enteros en orden ascendente, mediante la localización del menor en cada iteración y la realización de intercambios. Para este ejercicio deben haber leído la lección sobre Búsqueda y Ordenación.
------------------------------------------------------------------------------------

Ejercicio 5: Considerar una MATRIZ representada como un arreglo bidimensional de diez filas y diez columnas. Escribir en Modula 2 un procedimiento llamado CAMBIO que recibe como parámetros una MATRIZ y dos variables naturales M y N e intercambia las filas M y N de la MATRIZ.

------------------------------------------------------------------------------------

Ejercicio 6: Este ejercicio está pensado para quienes manejan algo del álgebra de matrices, por ejemplo conocer cómo se suman, multiplican, trasponen y qué es una matriz simétrica. Si conocen al menos alguno de estos conceptos hagan lo que saben, no importa si no completan todo el ejercicio. Quienes no han trabajado con álgebra de matrices pueden saltar este ejercicio tranquilamente.

Escribir en MODULA-2 los siguientes algoritmos sobre matrices de enteros:


  • SUMA: recibe dos matrices y devuelve la suma.
  • PRODUCTO: recibe dos matrices y devuelve el producto.
  • TRASPUESTA : recibe una matriz y devuelve su traspuesta.
  • ESSIMETRICA : recibe una matriz y devuelve un booleano que indica si es o no simétrica.


--------------------------------------------------------------------------------

Ejercicio 7: ¿Qué hace el siguiente código Pascal?

Código:
TYPE
   apuntador = ^registro;
   registro = RECORD
       dato: integer;
       sig : apuntador;
   END;
VAR
   apuntaInic : apuntador;
   apuntActual : apuntador;
   indice : integer;
BEGIN
   new(apuntaInic);
   apuntActual := apuntaInic;
   FOR indice := 1 TO 3 DO
   BEGIN
       new(apuntActual^.sig);
       apuntActual := apuntActual^.sig;
       apuntActual^.dato := indice
   END;
apuntActual^.sig := NIL;
END.  
Escribir el código Modula 2 equivalente al presentado.
------------------------------------------------------------------------------------

Ejercicio 8: Dada la siguiente definición de lista de naturales:

Código:
FROM Storage IMPORT ALLOCATE;
TYPE
        LNat = POINTER TO NodoLista;
       
        NodoLista = RECORD
            elem : CARDINAL;
            sig : LNat;
        END;
Escribir en Modula 2:

  • Un procedimiento que recibe como parámetro una lista de naturales de tipo LNat y muestra todos los números de dicha lista, desde el primero al último.

  • Un procedimiento que recibe como parámetro una lista de naturales de tipo LNat y muestra todos los números de dicha lista, desde el último al primero, es decir, al revés.

  • Una función que retorne el mínimo elemento de una lista, no vacía, de naturales de tipo Lnat.


=========================================================================

Navegación:
avatar
Kyshuo Ayame
Admin

Mensajes : 105
Fecha de inscripción : 14/11/2012
Edad : 29

Ver perfil de usuario http://virtualworld.foroargentina.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.