Documente Academic
Documente Profesional
Documente Cultură
FUNDAMENTOS DE PROGRAMACIÓN
1. CONCEPTOS BÁSICOS
Una persona piensa y se comporta obedeciendo a un secuencial lógico, de manera similar una
computadora realiza tareas y maneja datos en memoria obedeciendo a una secuencia de pasos
lógicos pero a diferencia que ésta última ha sido programada para ello.
John Von Neumann desarrolló el modelo que lleva su nombre, para describir este concepto de
"programa almacenado". En este modelo, se tiene una abstracción de la memoria como un conjunto
de celdas, que almacenan simplemente números. Estos números pueden representar dos cosas: los
datos, sobre los que va a trabajar el programa; o bien, el programa en sí.
El Software es el conjunto de programas que ejecuta una computadora. Estos programas contienen
instrucciones u órdenes, las cuales se encuentran codificadas en un lenguaje que puede comprender
la computadora.
También llamado software interno, está formado por el conjunto de rutinas que desarrolla el
proveedor del equipo con el fin de apoyar a los usuarios en la utilización de los recursos
computacionales (sistema operativo, editores, compiladores, etc.) El sistema operativo es el software
de sistema más relevante ya que se encarga de administrar todos los recursos computacionales.
SOFTWARE DE APLICACIÓN
Se refiere primordialmente a los programas desarrollados por el usuario para resolver un problema
específico tal como inventarios o contabilidad.
1.2 ALGORITMO
Lenguaje pensado para ser usado por una persona para expresar un proceso por el cual una
computadora puede solucionar un problema.
1.4 PROGRAMA
1.5 PROGRAMACIÓN
De acuerdo con el estilo de programación, podemos clasificar los lenguajes en las siguientes
categorías:
Como un ejemplo ilustrativo vamos a escribir un programa en un lenguaje de este tipo para calcular
el factorial de un número positivo x.
READ(x);
fac := 1 ;
for i = 1 to x do
{
fac := fac * i ;
}
WRITELN(fac);
DECLARATIVO
En este paradigma, más que el ¿cómo? desarrollar paso a paso un proceso, nos interesa el ¿qué?
deseamos obtener a través del programa. Quizás el lenguaje declarativo que nos sea más familiar,
es SQL, el cual es utilizado para interactuar con la información de bases de datos, concentrándose
(como se podrá observar en el siguiente ejemplo), sólo en los resultados que van a ser obtenidos,
dejándole al traductor la tarea de cómo llegar a ellos y presentárnoslos
FUNCIONAL
Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de
funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo, sino como
funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia
referencial.
Entre los lenguajes funcionales puros, cabe destacar a Haskell y Miranda. Los lenguajes funcionales
híbridos más conocidos son Scala, Lisp, Scheme, Ocaml, SAP y Standard ML (estos dos últimos,
descendientes del lenguaje ML).
ORIENTADO A OBJETOS
Este último paradigma algunas veces se mezcla con alguno de los otros 2 modelos, sin embargo
mantiene características propias, que lo diferencian claramente. Los programas de este tipo, se
concentran en los objetos que van a manipular, y no en la lógica requerida para manipularlos.
Ejemplos de objetos pueden ser: estudiantes, coches, casas etc, cada uno de los cuales tendrá
ciertas funciones (métodos) y ciertos valores que los identifican, teniendo además, la facultad de
comunicarse entre ellos a través del paso de mensajes. Cabe mencionar con más detalle los
elementos fundamentales que deben de poseer este tipo de lenguajes: Abstracción,
Encapsulamiento, Modularidad, Jerarquía.
LENGUAJES LÓGICOS
La programación lógica consiste en la aplicación del corpus de conocimiento sobre lógica para el
diseño de lenguajes de programación; no debe confundirse con la disciplina de la lógica
computacional.
Son aquellos que permiten la entrada de caracteres para su almacenamiento sin realizar operaciones
complejas con los mismos.
1.8 COMPILADORES
TRADUCTORES
Así como existen lenguajes de bajo y alto nivel, también existen distintos tipos de traductores. Dentro
de los traductores más comunes están los intérpretes y los compiladores.
INTÉRPRETES. Son aquellos que van traduciendo línea por línea y no dejan constancia de
su traducción de tal manera que cada vez que se desee ejecutar un programa se deberá
traducir nuevamente.
COMPILADORES. Son aquellos que traducen el programa dejando constancia de esta para
generar el programa ejecutable de tal manera que no requiere una nueva traducción cada
vez que se desee ejecutar el programa (solamente en el caso de modificar el programa se
debe hacer una nueva traducción).
1.9 EJECUTABLES
PROGRAMA EJECUTABLE
Es el programa que podemos ver funcionando y este ya no depende del programa fuente. En su
interior están las instrucciones precisas para poder ejecutar un programa determinado o varios. Los
ordenadores pueden realizar todo tipo de tareas, pero para ello debe indicárseles cómo.