miércoles, 29 de agosto de 2012

Algunos conceptos sobre programación

Las clases en la UNAD (antes ESAD) han reiniciado y debido a eso he pensado en pisar el acelerador con respecto a la programación. En la Faculdad de Derecho ya sólo curso dos materias y ademàs son muy ligth, entonces es necesario darle más a la ingeniería.

Tengo un librito del que ya he hablado Programación estructurada y orientada a objetos. Un enfoque algoritmico, el autor es Leobardo Lòpez Morán. Sòlo le he medio empezado pero se ve bien en tèrminos generales. El autor es mexicano y me da gusto que haya mexicanos escribiendo estos temas. Voy a enlistar algunos conceptos que me parecen importantes del librito y espero terminarlo para antes del pròximo cuatrimestre en el cual ya estarè de lleno en los temas de programaciòn. Bueno, empecemos.
El primer capítulo se llama Introducción a la programación. Hay varios conceptos importantes pero antes pondrè algo que viene al final del prefacio:

"Aprender a programar no es fácil ni rápido; es un proceso que debe iniciar con el desarrollo de la lógica usando un pseudolenguaje de diseño de programas o algoritmos. Con el estudio de la metodología y fundamentos de programación que le presento en este libro, el estudiante aprenderá la lógica de programación estructurada y una introducción a la programación orientada a objetos sin estar "casado" con ningún lenguaje; y de aquí en adelante podrá aprender y comprender cualquier lenguaje estructurado u orientado a objetos como C, C++, Java, C#, UML, etcétera".   El autor

Bueno, pues me parece razonable lo que dice Leobardo López. Es natural el querer estar programando inmediatamente y más aún el querer que el poco código que hagamos sirva para cosas elaboradas y vistosas, pero nada más alejado de la realdiad, es como la música, uno debe aprender muchas cosas antes de poder ejecutar un instrumento con maestría.

Vamos a los conceptos:

Computadora: Es una herramienta que se utiliza para representar cualquier situación de la realidad en forma de datos, los cuales se procesan después para generar información.

Existe un mundo infinito de situaciones representables en la computadora, el autor menciona algunas mu pràcticas: control de inventarios, control de producción, control de compras, control de ventas, pago de sueldos (nómina).

DATOS*----------->PROCESO----------->INFORMACIÓN
* Se toman de las situaciones reales

Toda situación que pueda ser abstraída y representada enforma de datos, puede manejarse mediante la computadora. Por ejemplo, en una situación de pago de sueldos (nómina), un trabajador puede representarse mediante los datos: Nombre del empleado, número de horas trabajadas y cuota por hora. El sueldo se obtiene multiplicando el número de horas trabajadas por la cuota por hora. Y se da como salida el nombre y el sueldo. Tanto los datos como el procedimiento necesario para generar la información, se suministran a la computadora en forma de un programa constituido por instrucciones. La computadora interpreta y ejecuta las intrucciones del programa de acuerdo con ciertas reglas de sintaxis que conforman el lenguaje de programación, mediante el cual podemos comunicarle lo que debe hacer.

Me gusta que a la computadora la llame herramienta. El ejemplo que da el autor acerca del pago de sueldos a trabajadores es en sí un miniprograma. Está explicando el autor de qué se trata todo el asunto en unas cuantas líneas. Bien por esa.

Elementos básicos

Los elementos básicos que componen una computadora son la unidad central de proceso, la unidad de memoria, la unidad de entrada y la unidad de salida.

La unidad central de proceso es el "cerebro" que controla el funcionamiento de los componentes y ejecuta las operaciones aritméticas y lógicas.
La memoría se utiliza para almacenar los datos, y a éstos se les aplican las operaciones del procesador. Existen dos tipos de memoria, la principal y la auxiliar. La memoria principal le permite al procesador extraer y almacenar datos a una velocidad comparable con la propia(1). Cada operación propicia por lo menos un acceso a la memoria. Para que el procesador pueda avanzar de una operación a la siguiente sin retraso, el programa de instrucciones se almacena en esta memoria; en otras palabras, la memoria principal guarda tanto las instrucciones como los datos sobre los que actúa el procesador central(2). La memoria principal está limitada por su alto costo(3); debido a esto no es posible conservar en ella grandes cantidades de datos e instrucciones y, en consecuencia, sólo se utiliza para guardar lo que el procesador esté utilizando por el momento. Además tiene la característica de que no permite almacenar datos permanentemente, pues si se apaga la computadora se pierde lo que haya en memoria(4). Por tales razones, las computadoras están equipadas con memorias auxiliares para almacenamiento masivo y permanente de datos, tales como discos magnéticos, discos compactos... Estos dispositivos tienen más capacidad que la memoria principal pero son más lentos. Los datos pueden almacenarse en ellos de manera permanente, es decir, pueden guardarse para usos posteriores.
  • (1) Eso de las velocidades necesita mayor profundidad. 
  • (2) Me hubiera gustado una explicación más detallada y unificación de términos, 
  • (3) Supongo que se refiere a que consume muchos recursos.
  • (4) Supongo que es como cuando estás utlizando el procesador de textos en un nuevo documento y todo lo que estás escribiendo en tanto no guardes en la memoria está en al memoria principal y si por error apagas la computadora pues pierdes lo que hayas guardado. Claro que eso es lo que entiendo y puede ser un error. Me gustaría que el autor fuese más claro.
El autor puso en su libro un diagrama que describe la organización funcional de una computadora. Me gusta, es claro. Véanlo, compren el libro.

El programa

Un programa es un conjunto de instrucciones que guían a la computadora para realizar alguna actividad o resolver algún problema; en el programa se ejecutan diferentes acciones de acuerdo con los datos que se estén procesando.

Un programa se compone de estructuras de datos, operaciones primitivas elementales y estructuras de control.

Estructuras de datos. Son las formas de representación interna de la computadora. Los hechos reales, representados enforma de datos, pueden estar organizados de diferentes maneras llamadas estructuras de datos.

Operaciones primivitas elementales. Son las acciones básicas que la computadora "sabe hacer", y que se ejecutan sobre los datos para darles entrada, transformarlos y darles salida convertidos en información.

Estructuras de control. Son las formas lógica de funcionamiento de la computadora mediante las que se dirige el orden en que deben ejecutarse las instrucciones del programa. Las estructuras de control son: La secuenciación, que es la capacidad de ejecutar instrucciones secuenciales una tras otra. La selección es la capacidad de escoger o seleccionar  si algo se ejecuta o no, optar por una de dos o más alternativas, y la repetición, que es la capacidad de realizar en más de una ocasión (es decir, varias veces) una acción o conjunto de acciones.

Bueno, hasta aquí esta entrada.

No hay comentarios:

Publicar un comentario