PDF de programación - Programación en Modula-2

Imágen de pdf Programación en Modula-2

Programación en Modula-2gráfica de visualizaciones

Actualizado el 15 de Diciembre del 2018 (Publicado el 5 de Diciembre del 2018)
1.165 visualizaciones desde el 5 de Diciembre del 2018
693,5 KB
119 paginas
Creado hace 23a (21/10/2000)
Programación en Modula-2

1

Estudia el problema

Algoritmo!

"



ENTORNO

Programa!

#

Máquina!

$

Encuentra una

forma de
resolverlo

Solución!

%

Programador

&

Problema



INTRODUCCIÓN

Reformula la solución,
de forma que pueda
entenderla la máquina

1



1.1 CONCEPTO DE PROGRAMACIÓN EN UN SENTIDO AMPLIO

Una definición de programación puede ser:
Programar es preparar la resolución de un problema para que pueda ser ejecutada por una máquina.



Elementos que intervienen en la programación:

Programador. Es el sujeto encargado de identificar el problema, buscar una forma de resolverlo, y darle a la máquina las instrucciones
adecuadas para que ésta lo resuelva.

Procesador. Es el instrumento utilizado. Puede ser cualquier entidad (no necesariamente una máquina, también puede ser un ser vivo)
capaz de entender un enunciado y ejecutar la tarea indicada. Tiene la propiedad de ser programable si puede aceptar diferentes
enunciados, y cada enunciado sirve para resolver o realizar una tarea diferente.

Entorno. Es el conjunto de objetos que utilizan el programador y el procesador para la realización de la tarea, desde el principio hasta el
fin.

Acción. Es un suceso que modifica el entorno. Puede ser:



Algoritmo. Es la descripción de la resolución de un problema.

Programa. Es el resultado de codificar el algoritmo en un conjunto de órdenes que pueden ser entendidas por el procesador. El programa
depende no sólo del problema tratado, sino también del procesador utilizado. Por ejemplo: tengamos los procesadores P1, P2, y el
programa PRG1 con el que P1 realiza la tarea T. Si en PRG1 existe una orden O que es primitiva para P1 pero no para P2, debemos
reelaborar PRG1 descomponiendo O en acciones O1,..., ON que sí sean primitivas para P2. De esta forma se obtiene el programa PRG2,
es decir, hay una tarea T y dos programas PRG1, PRG2 para realizarla, uno con cada procesador.



Constantes. Son objetos que tienen un valor inalterable de principio a fin.
Variables. Son objetos cuya utilidad es almacenar valores que pueden cambiar por efecto de alguna instrucción del programa. Las
variables tienen:



Introducción José Garzía

Nombre. Sirve para identificar la variable en el programa.
Tipo. Es la clase de valor que puede almacenar.

Su enunciado lo entiende el procesador, y lo puede ejecutar directamente

Acción primitiva.
Acción no primitiva. No la entiende el procesador.



Objetos que puede haber en el entorno

Programación en Modula-2

ANÁLISIS DESCENDENTE

1.2

Es el proceso de descomponer una tarea compleja, acción no primitiva, en una secuencia de acciones primitivas. También puede verse
como la descomposición de un problema complejo en subproblemas más fáciles de resolver.

Ejemplo:
Para resolver un problema dado P con un procesador, se propone una tarea T. Puede suceder que T no sea una acción primitiva del
procesador. Para que sea entendida, debemos descomponerla en otras más simples que sean acciones primitivas. Supongamos que
descomponemos T en T1, T2, T3 y T4.
Solución del problema:
( Realiza la tarea T1
( Realiza la tarea T2
( Realiza la tarea T3
( Realiza la tarea T4

Puede suceder que T2 aún no sea una primitiva para el procesador. Debemos descomponerla en otras que sí lo sean. Supongamos que se
descompone en las primitivas T21 y T22. Ahora:
Solución del problema:
( Realiza la tarea T1

( Realiza la tarea T21
( Realiza la tarea T22

( Realiza la tarea T3
( Realiza la tarea T4

Veamos un ejemplo más concreto en el que entran en juego todos estos elementos:
Supongamos que el problema que queremos resolver es calcular el producto de los tres primeros números naturales: 1*2*3. La forma de
resolver el problema dependerá de las características del procesador de que se disponga, es decir, dependerá del conjunto de acciones
primitivas que pueda entender y ejecutar. Supongamos que tiene estas facultades:

1) Sabe asignar un valor a una variable. La operación de asignación se expresa así:
NombreVariable := Valor ;

2) Sabe multiplicar el contenido de dos variables V1 y V2, y almacenarlo en la primera.
Esta operación se representa así:
V1 := V1 * V2 ;

3) Tiene en su memoria capacidad para tres variables, llamadas v1, v2 y v3

Una primera aproximación puede ser:
Solución del problema:
( Multiplica 1 * 2 * 3

Esta no es una acción primitiva. Podemos descomponerla en:
Solución del problema:
( Almacena el valor 1 en v1

( Almacena el valor 2 en v2

( Almacena el valor 3 en v3

( Multiplica v1 *v2 * v3

La última acción aún no es primitiva. Debemos seguir descomponiendo
Solución del problema:



( Multiplica v1* v2 y el resultado almacénalo en v1
( Multiplica v1* v3 y el resultado almacénalo en v1

La codificación del algoritmo en instrucciones comprensibles para el procesador sería:



Al acabar la ejecución del programa, la solución está contenida en la variable v1



Introducción José Garzía

( Almacena el valor 1 en v1
( Almacena el valor 2 en v2
( Almacena el valor 3 en v3



v1 := 1 ;
v2 := 2 ;
v3 := 3 ;

v1 := v1 * v2 ;
v1 := v1 * v3 ;

2



Subsistema

de
salida



Programación en Modula-2



MEMORIA

SC

UAL

Subsistema

de
entrada

Datos

de

entrada

Datos

de

salida

PROCESADORES DIGITALES. LENGUAJES DE PROGRAMACIÓN

ARQUITECTURA BÁSICA DE UN PROCESADOR PROGRAMABLE

- Las instrucciones que componen el programa
- Los datos necesarios para su ejecución
- Los resultados generados por dicha ejecución

1.3



La arquitectura más seguida para construir un procesador programable es la propuesta por John von Neumann; el procesador lo forman
sólo tres elementos:

La memoria. Es donde se almacenan:



La Unidad Aritmético Lógica (U.A.L.) descifra las instrucciones del programa almacenado, y se encarga de su ejecución.

La Sección de Control. Marca la secuencia de señales que se deben enviar a los restantes elementos para que cada uno opere en el
momento adecuado. Para ello lleva un reloj interno y un registro que contiene la dirección donde está almacenada la instrucción que se va
a ejecutar inmediatamente.

La interacción entre el programa almacenado y los recursos físicos del procesador la realiza un programa especial que se almacena y
empieza a ser ejecutado al poner en funcionamiento el procesador. Este programa se llama sistema operativo, y además de coordinar las
acciones de los elementos de que consta el procesador, gestiona otros programas que puede haber almacenados en memoria, ejecutándose
de forma alternada.



1.4

La gran mayoría de los procesadores programables que se usan actualmente están implementados en su interior con circuitos electrónicos
digitales. De ahora en adelante los procesadores programables que trataremos serán únicamente los digitales, los cuales llamaremos
computadores u ordenadores. En los circuitos digitales los voltajes de los nodos claves (llamados biestables) sólo pueden tener dos
valores: 0 ó 5 voltios (en realidad no exactamente 0 ó 5 voltios, sino valores en entornos de estos voltajes). Con un conjunto de n
biestables se puede representar un número de n cifras en base 2. (A un valor de voltaje del biestable le corresponde el 0 y al otro el 1).
También es posible almacenar y procesar internamente caracteres alfabéticos , numéricos y tipográficos, si los codificamos asociando un
número binario a cada carácter. Un código muy usado en informática es el ASCII.

Por todo esto, el único lenguaje que entiende el ordenador es este formado por ceros y unos, llamado lenguaje máquina, que se
corresponde con la base binaria de numeración. Las características de los programas escritos en este lenguaje son:



Para evitar todos estos inconvenientes, se idearon los lenguajes de programación de alto nivel, que son conjuntos de instrucciones
codificadas con los caracteres numéricos, aritméticos y del alfabeto latino. Por supuesto, se necesita un programa intermedio que traduzca
el lenguaje de alto nivel a lenguaje máquina. Este programa traductor usualmente se llama compilador.

Cualidades de los lenguajes de alto nivel:
- Tienen estructuras de cálculo y control de decisión muy semejantes a las del razonamiento humano.
- Sus reglas sintácticas son muy estrictas, por lo que evitan ambigüeda
  • Links de descarga
http://lwp-l.com/pdf14427

Comentarios de: Programación en Modula-2 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad