Fundamentos de la programación II: Algoritmos

in #spanish5 years ago

Portada del dia

Continuando con los fundamentos básicos de la programación hoy vamos a tocar uno de los conceptos mas utilizados que son los algoritmos y su representación como lenguaje de programación, si no has leído la primara parte te recomiendo que lo veas. Ver Primera parte

Cuando mencionamos anteriormente lo que significa un programa, hacemos referencia a una secuencia de instrucciones o pasos para completar un objetivo, pues los algoritmos es la forma de representar el conjunto de pasos. Suena un poco confuso al principio distinguir entre ambas, pero la forma mas simple de diferenciarlas es que el programa es el resultado de representar mediante algoritmos los objetivos a completar.

 Un algoritmo representa las instrucciones secuenciales del programa en un código o lenguaje natural.

El computador al igual que todos los seres vivos tenemos formas de interactuar con el mundo que nos rodea, mediante el lenguaje podemos compartir ideas, en el caso del ordenador usa el lenguaje como un mecanismo para completar las instrucciones, un programa interactúa con el computador a través de compuertas lógicas representado en binario.

Representar un conjunto de compuertas lógicas en un lenguaje natural es el objetivo de un algoritmo.

Cuando hablamos de compuertas lógicas, es la forma en que los circuitos electrónicos de un computador activan o interrumpen el flujo de corriente para realizar un proceso, esta forma de comunicación es representada matemáticamente como números binarios (ceros y unos).
El cero representa una compuerta lógica desactivada o sin flujo de corriente y el uno que esta activada, en informática se conoce a un binario como bits y representa la unidad mínima de procesamiento, la unidad de memoria básica es un byte (8 bits), esto es un octeto de binarios.

Representación

Cuando describimos un algoritmo como programadores describimos los pasos en un lenguaje natural, para ello se utilizan las siguientes técnicas de representación de un algoritmo.

  • Diagramación libre (Diagramas de flujo)
  • Diagramas Nassi-Shneiderman
  • Pseudocódigo
  • Lenguaje natural (español, inglés, etc.)
    • Fórmulas matemáticas

Lenguaje de programación

Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo.

Todo lenguaje cuenta con una sintaxis y una semántica que en conjunto construyen el lenguaje.

Sintaxis

Reglas que determinan como se pueden construir y secuenciar los elementos del lenguaje, es necesario conocer estas reglas para poder crear un conjunto de instrucciones correctamente, los elementos mas comunes de la sintaxis de programación son:

  • Directivas
  • Instrucciones
  • Palabras reservadas
  • Declaración de tipos

Cada lenguaje de programación cuenta con reglas para los elementos mencionados con anterioridad, pero no significa que son todos obligatorios.

Semántica

Es el significado de cada elemento del lenguaje.

Lenguaje máquina

Es un lenguaje de bajo nivel, dependiente de la maquina que representa mediante código hexadecimal instrucciones a la CPU, direcciones de memoria o datos, hay que tener presente que un 1 byte equivale a 2 dígitos hexadecimales por lo que el lenguaje interactúa entre pares hexadecimales.

La sintaxis del lenguaje maquina esta representado de la siguiente manera:

<instrucción> <argumento>

Las instrucciones mas comunes:

  • A0: Acceder a la celda de memoria
  • 3E: Copiar el registro de la ALU (unidad aritmético-lógico)
  • 1D: Sumar
  • B3: Guardar resultados en la celda de memoria

Todos los lenguajes de programación de alto y mediano nivel deben traducir su código fuente al lenguaje máquina.

Lenguaje ensamblador

Es un lenguaje de nivel medio, representa el lenguaje maquina mediante verbos que describen la instrucción hacia el procesador.

La sintaxis es igual al lenguaje maquina a excepción de que la instrucción se representa con un verbo infinitivo en el idioma ingles.

Las instrucciones mas comunes:

  • READ: Accede a la celda de memoria (A0 en lenguaje maquina)
  • REG: Copiar el registro de la ALU (3E en lenguaje maquina)
  • ADD: Sumar (1D)

Este tipo de lenguaje de programación reemplaza al lenguaje maquina y es utilizado en la programación de microcontroladores y chips.

Lenguaje de alto nivel

Son una forma de representar el lenguaje de bajo nivel en un lenguaje mas natural y matemático, es mucho mas legible agregando mayor abstracción en sus procedimientos.

Los lenguajes de alto nivel requieren de un traductor que sea capaz de generar un lenguaje de bajo nivel para ello hacen uso de compiladores e interpretes.

Entre los lenguajes de programación de alto nivel tenemos:

  • MATLAB
  • Pascal
  • COBOL
  • ADA
  • FORTRAN
  • COBOL
  • PROLOG
  • BASIC
  • C
  • C++
  • Java
  • Ruby
  • JavaScript
  • Haskell
  • PHP

Espero que te haya gustado este contenido, para el próximo tutorial hablaremos sobre los lenguajes de alto nivel: compiladores e interpretes. No olviden votar para hacer crecer este proyecto y suscribete si deseas seguir obteniendo nuevo contenido.