Introducción
Las actuales exigencias relacionadas con el procesamiento automático y eficiente de datos, exigen la utilización de herramientas computacionales que operan a partir de una serie de instrucciones debidamente codificadas y probadas por diferentes técnicas y procedimientos, que garanticen la integridad de datos y la eficiente entrega de la información.
Se espera con este contenido iniciar a todos los participantes en la estructuración de soluciones de problemas a través de algoritmos.
Esta unidad centra su estudio en el conocimiento y la apropiación de los conceptos básicos formales necesarios para el desarrollo de algoritmos de programación y su interpretación en un sistema computacional a través de un lenguaje de programación.
La unidad inicia con la historia y evolución de la programación, los conceptos básicos de sus lenguajes y los algoritmos, hasta llegar a la interpretación matemática a través del análisis previo de los operadores.
Objetivos
Objetivo general
Analizar la historia de la programación y los conceptos formales y matemáticos que son necesarios para la interpretación de datos en la solución de problemas a través de un lenguaje de programación en un sistema computacional.
Objetivos específicos
-
Conocer la historia de la programación y su evolución en el tiempo
-
Identificar los conceptos formales y matemáticos para la interpretación de datos en la solución de problemas a través de un sistema computacional
Historia de la programación
En la actualidad existen diferentes lenguajes de programación para variedad de propósitos: militares, salud, educación, investigación, etc. Los primeros lenguajes de programación surgieron de la idea del matemático Charles Babagge; sin embargo, Von Neumann fue el principal impulsor y desarrollador del computador digital, y de cuya propuesta parte la arquitectura de los computadores de hoy, compuesta por cinco partes:
- Unidad Central de Proceso (CPU por sus siglas en inglés)
- Unidad de control
- Memoria
- Dispositivos de entrada y salida
- Buses de interconexión
La historia de la programación se remonta a la aparición de las primeras máquinas capaces de procesar datos a partir de instrucciones que eran codificadas en un determinado lenguaje de programación, que fueron construidas a partir de válvulas electrónicas, posteriormente reemplazadas por los transistores en los años 50, y que para su funcionamiento requerían de instrucciones basadas en códigos numéricos, o lenguaje máquina, que indicaban el estado de los circuitos electrónicos. El avance de los lenguajes de programación ha ido de la mano con el desarrollo de los computadores como una dupla inseparable que combina la lógica (software) con los componentes físicos (hardware).
La clasificación de los lenguajes de programación está dada por:
- Nivel: bajo, alto y máquina
- Generación: de 1 a 5
Lenguajes de programación
Los lenguajes de programación son herramientas software que permiten la ejecución de un programa. En la actualidad existe un gran número de lenguajes de programación que se pueden clasificar desde distintos puntos de vista, donde el programador podrá escribir las instrucciones que deben ser ejecutadas por el computador y su elección dependerá del propósito del programa: para que un programa interprete datos físicos generados por un volcán en tiempo real se podrá utilizar un lenguaje máquina o uno de bajo nivel.
Para que un procesador esté en capacidad de realizar cualquier proceso, primero debe elaborarse un algoritmo que de manera lógica y sistémica desarrolle la solución a un problema. Este algoritmo una vez elaborado debe ser interpretado por el procesador, que comprende las instrucciones paso a paso, para luego realizar las operaciones que han sido programadas.
Los tipos de instrucciones básicas y comunes en casi todos lenguajes de programación son:
Conceptos básicos de algoritmos
El desarrollo de algoritmos, es un ejercicio lógico que encierra una serie de conceptos, técnicas, métodos y metodologías que son necesarios conocer y aplicar al momento de su construcción. Estos conceptos y sus características son:
- Algoritmo: conjunto limitado de pasos que se expresan de manera clara y sin ambigüedad, que de acuerdo con un grupo de condiciones iniciales produce unos resultados en un tiempo limitado.
- Tipos de datos: la función esencial de toda computadora es el manejo de la información o datos. Estos datos pueden ser el resultado de las ventas diarias en un supermercado. Los datos registrados al crear una cuenta bancaria, cuando se hace la matrícula académica por primera vez en una universidad, etc. Las computadoras pueden trabajar con diferentes tipos de datos y son los algoritmos y los programas correspondientes los que operan sobre dichos datos.
- Variables: objetos o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo del programa1.
- Constantes: valores que no deben cambiar durante el desarrollo de un algoritmo o durante la ejecución del programa.
1 Joyanes Aguilar, L. (1996). Fundamentos de programación. España: McGrawHill. Universidad de Valencia. Facultad de matemáticas. Departamento de informática. (Abril de 2003). informatica.uv. Recuperado el 28 de Julio de 2015, de Universidad de Valencia: http://informatica.uv.es/mguia/asignatu/INF/2003_04/PR3/pract03_2003.pdf
Operadores
Los algoritmos y en consecuencia los programas, se componen de datos, sentencias y expresiones, ésta última representada generalmente por una ecuación matemática compuesta por uno o varios operadores y operandos.
Operador de asignación: se utilizan para establecer un valor de una expresión derecha a la variable situada a la izquierda.
Operadores aritméticos: indican operaciones básicas sobre los operandos como: suma (+), resta (-), multiplicación (*), división (/) y resido o módulo de división (%). Se debe tener en cuenta que los operadores aritméticos siguen las reglas algebraicas de jerarquía y prioridad.
Operadores relacionales: permiten hacer comparaciones entre valores o expresiones de tipo numérico o carácter, y su resultado podrá ser verdadero o falso.
Operadores lógicos: utilizados para representar condiciones lógicas (verdadero o falso).
Sistemas numéricos
Los sistemas numéricos son un conjunto de símbolos (dígitos) que son utilizados para representar cantidades, lo que conlleva a la definición de los diferentes sistemas de numeración: decimal, octal, hexadecimal y binario, que se caracterizan por tener como base: 10, 8, 16 y 2 respectivamente.
Estos sistemas de numeración con base, cumplen con una notación posicional, lo cual significa que dependiendo de la posición de cada número se le da un peso o un valor.
El sistema que utiliza símbolos como 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9 es el sistema decimal, y una cadena determinada de éstos representa una cantidad que está determinada por el símbolo y la posición que ocupa en la cadena.
Los sistemas de numeración que poseen 2 símbolos (1, 0) para su representación se denominan binarios (base 2) y son ampliamente utilizados en la electrónica digital y en los computadores. Los números del sistema hexadecimal (base 16) y el sistema octal (base 8) son utilizados para representar grupos de dígitos binarios. Adicionalmente, existen algunas características propias de la conversión entre sistemas, de decimal a: binario, octal y hexadecimal.
Código ASCII (American Standard Code For Information Interchange): es un juego de 256 caracteres (del 0 a 255) que es utilizado para representar los caracteres en el computador, donde los primeros 128 (del 0 al 127) son estándar y los restantes (del 128 al 255) son los llamados extendidos.
Para ampliar información acerca del Código ASCII, se sugiere la revisión de las tablas expuestas en: El código ASCII. (s.f.). El código ASCII. Recuperado el 28 de Julio de 2015, de http://www.elcodigoascii.com.ar/: http://www.elcodigoascii.com.ar/
Resumen
Al adentrarse en la solución de problemas a través del computador, es necesario comprender una serie de conceptos fundamentales, que de manera incremental y sistémica lleven a conocer la historia de la programación, su fundamentación matemática y lógica:
La historia de la programación sintetiza los grandes cambios que se han dado a nivel de lenguajes de programación como herramientas para construir programas que solucionen problemas.
La clasificación de los diferentes tipos de lenguajes de programación incluye el lenguaje máquina y los lenguajes de bajo y alto nivel.
Los conceptos básicos que rodean los algoritmos son los tipos de datos, las variables y las constantes.
El uso de operadores aritméticos, relacionales y lógicos son necesarios para el desarrollo de algoritmos.
Los sistemas numéricos son conjuntos de símbolos, su representación está dada en base 2, 8 y 16 permitiendo su conversión entre sistemas binario, octal, hexadecimal.
Bibliografía ()
- Aguilar, L. (1996) Fundamentos de programación, segunda edición. España: Editorial McGrawHill.
- Becerra Santamaria, C. (1998) Algoritmos: conceptos básicos, cuarta edición. Bogotá: Kimpres Ltda.
- Deitel, H. (2003) Cómo programar en C++, cuarta edición. México: Pearson Education. Joyanes.
- Joyanes Aguilar, L. (2000) Programación en algoritmos, estructuras de datos y objetos. Madrid: McGraw Hill.
- Pimiento Cárdenas, W. (2009) Fundamentos de lógica para programación de computadores. Bogotá: Editorial Universidad Piloto de Colombia.







