Algoritmos y Programación: Fundamentos, Lenguajes y Tipos de Programación

Informática y Telecomunicaciones7,5 KB

Algoritmos

Un algoritmo es la sucesión de pasos que se realizan para la resolución de un problema.

Diagramas de flujo

Los diagramas de flujo son la representación gráfica de los pasos que se deben seguir para diseñar un programa. Sus símbolos principales son:

  • Terminal: representa el comienzo o fin del desarrollo.
  • Proceso: representa una acción que hay que realizar para desarrollar un algoritmo.
  • Decisión: indica cuándo hay que decidir entre dos o más opciones y señala el camino que habrá que seguir.
  • Pantalla: indica cuándo la información se muestra en pantalla.
  • Línea de flujo: señala el orden en que se desarrollan las acciones.

Programación

Conceptos básicos

  • Programas: secuencia de instrucciones entendidas por los ordenadores que permiten la realización de acciones para lo que fueron creados.
  • Lenguaje de programación: lenguaje para escribir programas.
  • Código fuente: instrucciones que deben ser ejecutadas a fin de realizar las acciones para lo que ha sido creado el programa.
  • Código binario: único lenguaje que el ordenador puede entender.
  • Compiladores: convierten las instrucciones dadas por el programador en instrucciones comprendidas por el ordenador.
  • Ejecutar: hacer que inicie la carga del programa y se realicen las acciones programadas.
  • Ejecutador: hace que se inicie la carga del programa y se realicen las acciones.
  • Intérprete: traduce línea a línea el código fuente a código máquina.
  • Compilador: traduce todo el archivo fuente y muestra los errores.

Lenguajes de programación

Conjunto de símbolos y palabras que el usuario tiene a su disposición para elaborar programas.

  • Lenguaje máquina: lenguaje que entiende directamente el ordenador. Utiliza el alfabeto binario formando cadenas binarias con las que se elaboran las instrucciones que la CPU del ordenador procesa.
  • Lenguaje de bajo nivel: lenguaje más parecido al del ser humano, utiliza instrucciones nemotécnicas.
  • Lenguaje de alto nivel: instrucciones parecidas al lenguaje humano, son independientes de la máquina y se pueden ejecutar sin modificación en distintos tipos de ordenadores.

Creación de programas

Un programa está formado por un conjunto de sentencias que se procesan en una determinada secuencia y forman órdenes capaces de manipular una serie de datos para obtener resultados.

  • Entrada de datos: recoge instrucciones de un dispositivo que se almacenan en la memoria central.
  • Algoritmo y resultado: envía lo recogido a los dispositivos de salida de información.

Las instrucciones son información reconocida por el lenguaje de programación que indica al ordenador la acción que tiene que realizar.

Fases de la creación de un programa

  1. Definición del programa
  2. Diseño del algoritmo
  3. Codificación del programa
  4. Compilación
  5. Depuración de errores
  6. Explotación

Procedimiento de depuración: para disminuir costes de implantación, mejorar el rendimiento y garantizar el correcto funcionamiento de los sistemas. Detección de errores compilados, en el funcionamiento y optimización del programa.

Tipos de datos y operadores

  • Datos: elementos que constituyen unidades de tratamiento de la información que se tiene que procesar.
    • Identificador: nombre del dato dentro del programa para poder hacer referencia a él.
    • Tipo: establece la naturaleza y rango de valores que puede almacenar.
    • Valor: contenido del dato respecto al tipo definido.
  • Operadores: símbolos que permiten conectar los datos entre sí, con lo que se facilita la realización de diversas operaciones.

Tipos de programación

  • Programación modular: consta de varias secciones que interactúan a través de llamadas a procedimientos.
  • Programación estructurada: compuesta por un conjunto de técnicas evolucionadas que aumentan la productividad.
  • Programación orientada a objetos: utiliza objetos para diseñar aplicaciones.

Programación estructurada

Donde las sentencias incluidas en el código se ejecutan de forma lineal y sencilla a partir de un solo punto de entrada y otro de salida.

  • Secuenciales: bloque de instrucciones sucesivas que se ejecutan de forma ordenada y seguida.
  • Repetitivas: instrucciones que se repiten un número limitado de veces o hasta que se cumple una condición.
  • Condicionales: instrucciones que permiten establecer condiciones.

Aproximación a la programación orientada a objetos

Se basa en dividir el código en pequeñas unidades lógicas: objetos, clases, herencias y envío de mensajes.

Historia y evolución de los lenguajes

  • 1GL: lenguaje máquina (antes de 1950).
  • 2GL: lenguaje ensamblador (de 1950 a 1955).
  • 3GL: FORTRAN (1957); ALGOL, COBOL y LISP (1960); más tarde SNOBOL, BASIC y APL; Pascal (1970); lenguaje C (de 1956 a 1965).
  • 4GL: orientados a interactuar con bases de datos (SQL) y programación orientada a objetos (C++, Java) (1980).
  • 5GL: inteligencia artificial.

Lenguajes de programación específicos

Lenguaje Blocks / Scratch

Scratch es un entorno de programación gráfica desarrollado por un grupo de investigadores del MIT. Fue diseñado como medio de expresión para ayudar a los niños a expresar sus ideas de forma creativa y a desarrollar habilidades de pensamiento lógico. Su sintaxis se basa en un conjunto de bloques gráficos de programación que se ensamblan para crear programas.

Lenguaje C

El lenguaje C tiene numerosos campos de aplicación, desde el diseño de bases de datos hasta la creación de sistemas operativos.

  • Crear el código fuente, compilar con la herramienta de su entorno y obtener el fichero objeto linkeado.
  • Estructura: nombre_archivo.c
  • Declaración de variables: tipo nombre_variable;
  • Tipos de datos: char, int, float, double, void.
  • Palabras reservadas, comentarios y operaciones.

Lenguaje Python

Lenguaje interpretado que utiliza tipado dinámico, es multiplataforma y está orientado a objetos.

  • Elementos: variables, comentarios, listas y tuplas, condicionales.

Lenguaje Processing

Permite realizar dibujos, animaciones, videojuegos y composiciones artísticas.

  • Entorno Processing, coordenadas, pantalla y colores.
  • Formas básicas: pantalla, fondo de pantalla, punto, línea, rectángulo, elipse y propiedades de forma.
  • Estructura del programa, tipos de datos y tipos de variables.
  • Interacción con ratón y teclado.
  • Condicionales y bucles; cargar imágenes.

Descargar

PDF Word HTML