Lección 032: Aplicaciones en Modula 2
Página 1 de 1.
Lección 032: Aplicaciones en Modula 2
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:
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:
--------------------------------------------------------------------------------
Ejercicio 7: ¿Qué hace el siguiente código Pascal?
------------------------------------------------------------------------------------
Ejercicio 8: Dada la siguiente definición de lista de naturales:
=========================================================================
Navegación:
----------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------
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;
- 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:
- Ir al índice del curso.
- Ir al índice de ejercicios de Modula 2.
Temas similares
» Lección 004: Aplicaciones prácticas
» Lección 005: Preguntas y aplicaciones
» Limpiar consola con Modula 2
» Modula 2 - Uso del archivo errinfo.$$$
» Soluciones lección 005
» Lección 005: Preguntas y aplicaciones
» Limpiar consola con Modula 2
» Modula 2 - Uso del archivo errinfo.$$$
» Soluciones lección 005
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.