Para comprender lo que es la programación y el uso inmediato de la computadora, es necesario manejar algunos conceptos, los cuales son los siguientes:
Computadora:
Máquina que implementa un algoritmo. Una computadora transforma los datos de acuerdo a las especificaciones de un algoritmo dado. Una computadora programable permite que el algoritmo sea cambiado.
Programación:
Se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos: q El desarrollo lógico del programa para resolver un problema en particular.
Datos:
Un conjunto de elementos en bruto (sin procesar) y no se encuentran interrelacionados.
Información:
Es el conjunto de datos ya procesados y clasificados.
Clasificación de los lenguajes de programación:
Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel
Artículo principal: Lenguaje de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como “IF CONTADOR = 10 THEN STOP” pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
Compuertas lógicas:
Compuerta OR:
En esta expresión el signo + no representa la adición ordinaria; en su lugar denota la operación OR cuyas reglas se dan en la tabla de la verdad mostrada previamente.
Compuerta AND:
Se advierte que la operación AND es exactamente igual que la multiplicación ordinaria. Siempre que A o B sean cero, su producto será cero; cuando A y B sean 1, su producto será 1. Por tanto, podemos decir que en la operación AND el resultado será 1 sólo si todas las entradas son 1; en los demás casos el resultado será 0.
Compuerta NOT:
La expresión es ‘, y esta tiene como proceso la negación de la entrada.
Que es un algoritmo:
Descripción exacta de la secuencia en que se ha de realizar un conjunto de actividades tendientes a resolver un determinado tipo de problema o procedimiento.
Fases de un algoritmo:
Análisis del problema:
El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria.
Para poder definir con precisión el problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con detalles.
# Entrada, son todos los datos que hay que ingresar para la resolución del problema.
# Proceso, son los diferentes procedimientos en los cuales usare los datos proporcionados por el usuario en el paso anterior para resolver el problema.
# Salida, la resolución del problema.
Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada y salida, son los requisitos mas importantes para llegar a una solución eficaz.
Diseño del algoritmo:
Una computadora no tiene la capacidad para solucionar mas que cuanto se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo.
La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida.
Los problemas complejos se pueden resolver mas eficazmente con la computadora cuando se rompen en subproblemas que sean mas fáciles de solucionar que el original. La descomposición del problema original en subproblemas mas simples y a continuación dividir estos subproblemas en otros mas simples que puedan ser implementados para su solución en la computadora de denomina diseño descendente (top – down design ).
Es presiso representar el algoritmo mediante una determinada herramienta de programación: diagramas de flujo, pseudocódigo o diagramas N – S.
Implementación del algoritmo:
Codificación
Es el algoritmo traspasado a la computadora a través de un lenguaje de programación,
debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del mismo.
Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje de programación se le llama código fuente.
Compilación y ejecución
Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código fuente.
Ejecución, ejecutar el programa después del ser compilado.
Verificación y pruebas
Revisar que el programa de los resultados que el usuario quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica o ejecución.
Depuración
Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere.
Documentación
Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la solución.
a) documentación interna, es el encabezado, descripción, declaración del problema, son todos los comentarios que puedan llegar a servir dentro del código fuente.
b) documentación externa, son los manuales que se hacen para una mejor ejecución del programa, ahí se explicara como usar el programa.