1 EL PROCESO COMPUTACIONAL
El computador es una máquina cuya función básica es llevar a cabo operaciones de cómputo (transformaciones) sobre elementos de datos. Como todas las máquinas, el computador recibe una “materia prima” (datos de entrada), la transforma a través de un proceso y devuelve un “producto” (datos de salida). Pero el computador posee una característica primordial que lo diferencia: el proceso que define la transformación efectuada sobre los datos de entrada puede ser especificado por el usuario; es por ello que se dice que el computador es programable.
1.1 PROGRAMAS
Un programa es una transformación específica, definida y expresada de forma que pueda ser utilizada por el computador. Como una primera aproximación, puede definirse programa como un conjunto de pasos, especificados por el usuario en un lenguaje comprensible para la máquina (lenguaje de programación), que definen el proceso que se efectúa sobre los datos; de esto se concluye, que al ejecutarse el programa, se lleva a cabo un proceso computacional.
1.2 INSTRUCCIONES
Cada proceso está compuesto de subprocesos y estos últimos a su vez, se componen de otros subprocesos más elementales. Es así como los programas están formados por un conjunto de funciones, estas por subfunciones y así sucesivamente hasta llegar a las operaciones elementales del procesador u operaciones de máquina.
Las instrucciones son construcciones de lenguaje máquina (cadenas finitas de dígitos) que permiten invocar a las operaciones elementales. Existe un mapeo de uno a uno entre las operaciones disponibles y las instrucciones, es decir, por cada operación hay una y sólo una instrucción.
1.2.1 Instrucciones nativas:
Las instrucciones nativas son aquellas propias de la arquitectura que se está considerando. Cada procesador trae por defecto un conjunto de operaciones definidas por el fabricante llamado instruction set (conjunto de instrucciones) y para cada una de ellas se ha definido una instrucción nativa.
Ejemplo 1.1: Instrucción mov
Una de las operaciones básicas más importantes de la arquitectura 80x86 (procesadores Intel) es aquella que permite copiar un dato de un lugar a otro, la instrucción que invoca a esta operación tiene esta sintaxis:
Mov orig, dest
1.3 VARIABLES
Las variables son un espacio de memoria (espacio de almacenamiento de datos, La memoria es donde son ejecutados los programas y procesos de una computadora) en el que se almacena un dato de un tipo dado. La característica más importante de las variables es que, como su nombre lo indica, es posible cambiar el valor que almacenan en el transcurso del programa.
Cada variable tiene asignado un identificador, formado por uno o más caracteres que permiten referirse a su contenido dentro de su dominio.
1.4 TÉRMINOS
Los términos son construcciones del lenguaje que permiten representar un valor en el programa. Es factible que en algunos lenguajes existan construcciones que además de representar un valor, indiquen la aplicación de una función y la reasignación de una variable.
1.5 ASIGNACIONES
Las variables son útiles debido a que el programador puede definir su valor por medio de construcciones del lenguaje en el transcurso del programa. A este procedimiento se le conoce como asignación. Se debe tener en cuenta que a una variable sólo se le pueden asignar valores que correspondan a su tipo de dato, así, por ejemplo, no se le puede asignar un número flotante a una variable entera.
Ejemplo 1.2: declaración de variables, términos y asignación en Java
Definidas las variables a y b, estas pueden usarse en la construcción de términos y se les pueden asignar los valores representados por estos:
int a; /*Se declara la variable entera a*/
int b; /*Se declara la variable entera b*/
a = 5; /*Se asigna a a el valor 5*/
b = 7+2*(4/2); /*Se asigna a b el valor del término 7+2*(4/2)*/
a = (a+b)*3; /*Se asigna a a el valor del término (a+b)*3*/
1.6 E/S: ENTRADA / SALIDA
Los dispositivos de entrada / salida permiten que el usuario interactúe con la máquina. Por medio de los dispositivos de entrada el usuario ingresa los datos a procesar en el sistema y los dispositivos de salida presentan los resultados en un formato legible.
Las instrucciones de E/S dan acceso al programador a las funciones básicas de estos dispositivos, permitiéndole capturar datos de los dispositivos de entrada y asignarlos a variables para operar con ellos y mostrar resultados del proceso en los dispositivos de salida.
Ejemplo 1.2.2: Entrada / Salida en Java
Los dispositivos de E/S más comunes son el teclado y el monitor. Las siguientes funciones de Java permiten ingresar un dato de un tipo dado por teclado e imprimir en pantalla.
int a;
BufferedReader in = new BufferedReader(new
InputStreamReader(System.in));
System.out.print("Ingrese numero : ");
a = Integer.parseInt(in.readLine( )); /*pide al usuario ingresa un valor por teclado*/
System.out.println("Ud ingreso el numero : " + a ); /*imprime el valor de a en pantalla*/
1.7 CONTROL DE PROCESO
Para desarrollar programas funcionales se hacen necesarias construcciones del lenguaje que permitan desviar el flujo de ejecución por diferentes caminos de acuerdo a parámetros desconocidos al momento de la codificación y cambiantes en cada ejecución. A estas construcciones se les conoce como sentencias de control de proceso o de control de flujo. Las más comunes se ilustran en el siguiente ejemplo.
Ejemplo 1.3: Sentencias de control de proceso en Java
If-else: Permite bifurcar el flujo de ejecución según el argumento del if. Esta sentencia ejecuta el código correspondiente al if si se cumple la condición de su argumento, de no ser así ejecuta el código correspondiente al else. El else es opcional.
if(condición)
{
/*Código del if*/
}
else
{
/*Código del else*/
}
For: La sentencia for ejecuta un ciclo controlado por un contador. Al entrar al ciclo el contador se inicializa al valor indicado en el argumento, se chequea la condición de salida, y luego de ejecutar el código se aumenta el contador en la cantidad indicada en el argumento, se chequea la condición y se repite el ciclo mientras que esta sea VERDADERA.
For(int i; condición; i+incremento)
{
/*Código del ciclo*/
}
While: Esta sentencia permite ejecutar un ciclo controlado por una condición. El código del ciclo se ejecuta repetidamente hasta que la condición sea FALSA
While(condición)
{
/*Código del ciclo*/
}
No hay comentarios:
Publicar un comentario