ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programacion Orientada A Objetos


Enviado por   •  27 de Agosto de 2012  •  6.078 Palabras (25 Páginas)  •  703 Visitas

Página 1 de 25

Si se consulta en Wikipedia la definición de algoritmo, se entiende que éste es un conjunto finito de instrucciones a seguir para resolver un problema, //grosso modo//. Cada tipo de microprocesador contiene un conjunto de instrucciones que realizan ciertas operaciones sobre una o más palabras de bits; las intrucciones van también codificadas en bits. No queremos hacer aquí una discusión sobre arquitectura de ordenadores, por lo que con esto debe valer por ahora.

Se entiende que escribir sólo con dos teclas, el 0 y el 1, es incómodo. Históricamente, a la hora de diseñar un algoritmo para que el ordenador ejecutara, se escribía mediante unas etiquetas mnemotécnicas; éste fue el origen del lenguaje ensamblador. Por ejemplo quizás en una cierta arquitectura la instrucción de borrado de memoria (Memory Clear, en inglés) corresponda al código 010. Pronto surgieron programas que leían, siguiendo el ejemplo, MC, y lo sustituían por 010.

Sobre este lenguaje ensamblador inicial se fueron construyendo otros lenguajes de programación de más alto nivel; esto significa que ocultan ciertos aspectos de manera que el programador no se ha de preocupar sobre si en la máquina que quiere que se ejecute el algoritmo el MC corresponde a la instrucción 101 o 010. Se produce, por tanto, una abstracción de datos, muy deseable para poder utilizar el trabajo de otros para avanzar un paso más en vez de tener que "reinventar la rueda", como se suele decir. Estos textos en los que se codifican los algoritmos són los códigos fuente; siguen las reglas sintácticas de un determinado lenguaje de programación. Existen numerosos lenguajes de programación, y se utiliza uno u otros según sus características se adecúen más o menos a la resolución de nuestro problema.

Tras la escritura del algoritmo, un compilador o un intérprete (otros programas) transformarán el texto en código máquina que el procesador es capaz de ejecutar.

Toda esta abstracción permite resolver problemas alejados de sumar números binarios, como pueden ser la consulta de esta misma enciclopedia o jugar a un videojuego en 3D.

Inicialmente los programas seguían una ejecución similar a la del código ensamblador, es decir, existía un control sobre qué línea de instrucción se ejecutaría a continuación, que se podía cambiar mediante ciertas redirecciones (GOTO y GOSUB en BASIC, por ejemplo). Sin embargo, poco a poco se tendió hacia lo que se llama la programación estructurada.

La programación estructurada sigue tres reglas: la secuencia, la iteración y la decisión. La primera de ellas indica que las instrucciones del código se leerán de principio a fin; la segunda indica que, según cierta condición, un número de instrucciones podrían repetirse un numero determinado de veces, y la tercera indica que según unas ciertas condiciones se ejecutarán o no un conjunto de instrucciones. En el siguiente algoritmo para limpiar platos se aprecian estas tres características. La indentación de las instrucciones indican cuáles son englobadas y cuáles no por sus predecesoras.

mientras haya platos coger plato mientras haya suciedad echar jabon pasar el estropajo por el plato si plato es azul ponerlo con los azules

En código no estructurado, quedaría algo más lioso.

1 coger plato 2 echar jabon 3 pasar el estropajo por el plato 4 si hay suciedad ir a la instrucción 2 5 si el plato no es azul ir a la instrucción 7 6 ponerlo con los azules 7 si hay más platos ir a la instrucción 1

En programas más grandes, esto es muchísimo más lioso.

Ahora conocemos la ejecución de los algoritmos. Sin embargo, un programa se compone tanto de algoritmos como de una estructura de datos sobre los que operar.

Como hemos visto, el ordenador sigue una serie de instrucciones. Pero esas instrucciones tienen que operar sobre una serie de datos. El ordenador típico solo procesa una instrucción a la vez, por lo que necesita 'espacios de memoria' donde guardar o depositar, a modo de cajones, por usar un símil conocido, los diversos datos con los que trabaja. Aquí es donde entran en juego las variables y constantes.

En los inicios, con el ensamblador, se podía decir al ordenador, por ejemplo: 'Ejecuta la instrucción de esa posición de memoria' o también 'En esa posición de memoria está guardada mi edad, imprímela por pantalla'. Todo esto se deriva del hecho de que los programas también son datos. Esta ambigüedad presenta numerosos inconvenientes cuando se producen errores, como el lector se imaginará fácilmente: de ahí que, a medida que los lenguajes promocionan hacia niveles superiores, se impida el tratamiento indistinto de los datos. A partir de entonces, un programa tiene que decirle al sistema operativo los cajones que necesita y éste se los proporciona independientemente de cuáles sean.

Quizás suene más complicado de lo que es. Un ejemplo: Queremos sumar dos números. Nuestro programa tendrá que tener tres cajones: Uno para cada número y otro para el resultado. Cada cajón tiene un nombre en vez de una posición de memoria, de manera que sólo hay que nombrarlo:

Necesito cajones A, B y Resultado Lee un número y guárdalo en A Lee un número y guárdalo en B Suma A y B y guárdalo en Resultado Imprime el contenido de Resultado

He aquí nuestro programa. Como cabe pensar, un procesador no tiene la instrucción "Imprime por pantalla"; esto es una llamada a otra porción de código que, gracias a la abstracción, nosotros o no hemos escrito, o hemos escrito una sóla vez; a partir de lo cual podemos imprimir todo el texto que queramos en la pantalla.

Las posiciones de memoria A y B son Variables. Si queremos leerlas o escribirlas, podemos hacerlas. Típicamente, existirán datos que no pensamos modificar; no querremos que el usuario tenga que introducirlos cada vez, pues son de naturaleza más constante que otros (como puede ser el valor Pi para calcular el perímetro o área de un círculo). Para evitar modificarlos por error, podemos pedir al sistema variables especiales, que no puedan ser reescritas. Son las Constantes. Un ejemplo:

Comentario: Este programa calcula el área de un círculo Constante PI = 3'14159265 Variable R Variable Resultado Leer número y guardar en R Calcular PI * (R * R) y guardar en Resultado Imprimir Resultado

Introducimos también el útil concepto del comentario: son líneas del código que el compilador o el intérprete no consideran, con lo cual no están

...

Descargar como (para miembros actualizados)  txt (39 Kb)  
Leer 24 páginas más »
Disponible sólo en Clubensayos.com