Introducción a la Arquitectura de Computadoras y Paradigmas de Programación
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,01 KB
Conceptos Básicos de la Arquitectura de Computadoras
Componentes Principales
- Unidad de control: Controla la ejecución de las operaciones y el funcionamiento de todos los demás componentes.
- Unidad aritmético-lógica: Parte encargada de las operaciones aritméticas y lógicas.
El conjunto de ambas se llama CPU (Unidad Central de Procesamiento).
- La memoria principal: Es la memoria de almacenamiento interno. Opera a gran velocidad. Está formada por una serie de celdas.
Lenguaje Máquina
El lenguaje máquina es el lenguaje más básico y el único que entiende el ordenador.
Algoritmos y Lenguajes de Programación
Algoritmos
Un algoritmo es una secuencia ordenada y finita de pasos a seguir para resolver un determinado problema.
- El procesador es el que entiende los pasos del algoritmo y los lleva a cabo.
- El entorno son los materiales necesarios para la ejecución del algoritmo.
- Acciones son los actos del procesador sobre el entorno.
Lenguajes de Programación
Un lenguaje de programación se compone de un conjunto de símbolos, un conjunto de reglas de sintaxis y una semántica.
Un programa es un conjunto de instrucciones que actúan sobre unos datos y que están expresados en un lenguaje de programación.
Tipos de Lenguajes de Programación
- Lenguaje máquina: Es el lenguaje básico y el único que entiende el ordenador. Está formado por un conjunto de instrucciones codificadas en binario, dependientes totalmente del hardware del ordenador.
- Lenguaje de bajo nivel o lenguaje ensamblador: Es una versión simbólica del lenguaje máquina. Cada instrucción lleva asociado un símbolo para que resulte más fácil la programación. Requiere una fase de traducción al lenguaje máquina.
- Lenguaje de alto nivel: Es independiente de la máquina y, por tanto, portable. Es más sencillo de aprender, ya que es más cercano a nuestro lenguaje natural. Las modificaciones y puestas a punto son más fáciles.
Clasificación de los Lenguajes de Alto Nivel
- Lenguajes imperativos o procedimentales: Están orientados a instrucciones (Pascal, C).
- Lenguajes orientados a objetos: Se centran más en los datos y su estructura (SmallTalk, Java, C#, Eiffel).
- Lenguajes declarativos (funcionales y lógicos): Se construyen mediante descripciones de funciones matemáticas (Haskell, Lisp) o expresiones lógicas.
Traductores: Intérpretes y Compiladores
Un traductor es un programa que recibe un programa fuente escrito en un lenguaje de alto nivel y obtiene como salida un programa traducido a código máquina.
- Intérpretes: Toman un programa fuente y lo traducen de forma simultánea a su ejecución.
- Compiladores: Traducen un programa fuente a lenguaje máquina. Al proceso de traducción se le denomina en este caso compilación y al programa resultado de la compilación se le denomina programa objeto (con extensión .OBJ). Los compiladores detectan además los errores de sintaxis en el programa fuente.
Todo programa debe ser: Correcto, robusto, legible, modificable, eficiente, reutilizable y modular.
Paradigmas de Programación
Un paradigma de programación es un conjunto de teorías y estándares que indican la forma de organizar los programas sobre la base de algún modelo conceptual y un lenguaje apropiado que lo soporte.
Paradigma Procedural (Programación Estructurada)
Ampliamente utilizado en la década de los 70. Los lenguajes Pascal y C son los máximos exponentes de este tipo de programación. Se basa en la descomposición funcional (o algorítmica). El bloque principal de desarrollo es el procedimiento o función. Los algoritmos que implementan estos procedimientos utilizan para su construcción las tres estructuras básicas de la programación estructurada: Secuencia, selección e iteración.
Paradigma Orientado a Objetos
Este paradigma utiliza para resolver la complejidad de un problema la descomposición orientada a objetos. Un programa es un conjunto de objetos que cooperan entre sí para resolver una determinada tarea. El bloque principal de construcción del programa es el objeto, entidad extraída del espacio (o dominio) del problema, con una identidad, unos atributos y un comportamiento. Los datos son el punto central de atención de los programas orientados a objetos.
En la POO:
“Objetos + Flujo de mensajes = Programas”
Se basa en estos principios: