681 likes | 1.96k Views
INTRODUCCION A LOS ALGORITMOS. Indice. Generalidades sobre los algoritmos. Lenguajes de programación. Traductores de lenguaje. SISTEMAS DE PROCESAMIENTO DE INFORMACION. Computadora : Maquina o aparato electrónico capaz de ejecutar operaciones repetitivas a muy alta velocidad.
E N D
Indice • Generalidades sobre los algoritmos. • Lenguajes de programación. • Traductores de lenguaje.
SISTEMAS DE PROCESAMIENTO DE INFORMACION Computadora: Maquina o aparato electrónico capaz de ejecutar operaciones repetitivas a muy alta velocidad. COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION Entrada = Datos Salida = Información PROCESADOR Representación de algún hecho, concepto o entidad real (los datos pueden tomar diferentes formas; por ejemplo palabras escritas o habladas, números y dibujos). Datos procesados y organizados.
SISTEMAS DE PROCESAMIENTO DE INFORMACION • Ejemplos: • El termostato. • Arturito • Nosotros mismos. ¿Cómo el procesador transforma esos datos de entrada en información procesada? Algoritmo: Conjunto de instrucciones que especifica la secuencia de operaciones a realizar, en orden, para resolver un problema especifico, en otras palabras un algoritmo es una formula para la resolución de un problema.
SISTEMAS DE PROCESAMIENTO DE INFORMACION HARDWARE: Conjunto de componentes físicos de la computadora (equipo físico) SOFTWARE: Conjunto de programas que controlan el funcionamiento de una computadora (equipo lógico). Memoria central Dispositivos de entrada/salida E/s (Periféricos) Almacenamiento secundario (memoria auxiliar) Unidad central de procesamiento
GENERALIDADES SOBRE LOS ALGORITMOS Metodología de programación: Consiste en la metodología aplicada para la resolución de problemas mediante programas. Expresar el algoritmo como un programa en el lenguaje de programación adecuado. Tarea que se desea resolver. Descripción ordenada de la secuencia de pasos (sin ambigüedades) que conducen a la solución de problema dado (Análisis del problema y desarrollo del algoritmo). Ejecución y validación del programa de computadora. La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida. Ejemplo: La receta de un sancocho.
GENERALIDADES SOBRE LOS ALGORITMOS • Describa los pasos para cambiar un bombillo quemado. • Describir los pasos para cruzar la calle. Video 1 Video 2 • Describa los pasos para llevar a una amiga a cine. • Describa los pasos para cambiar la llanta pinchada de una cicla.
LENGUAJES DE PROGRAMACION • Cuando el procesador es una computadora el algoritmo ha de expresarse en una forma que recibe el nombre de programa. Un programa se escribe en un lenguaje de programación. • Programación: Actividad que consiste en expresar un algoritmo en forma de programa. • Instrucción: Es cada uno de los pasos que se ejecutan en el programa. Computadora mata a Flanders ??????? Principales lenguajes utilizados en la actualidad: • Lenguaje de maquina. • Lenguaje de bajo nivel. • Lenguaje de alto nivel
LENGUAJES DE PROGRAMACION 00001011011100001010 LENGUAJE DE MAQUINA • Están escritos en un lenguaje directamente inteligible por la maquina. Las instrucciones consisten en cadenas binarias que especifican una operación, y las posiciones (dirección) de memoria implicadas en la operación. • Dependen del hardware de la computadora (PC diferente de Macintosh)
LENGUAJES DE PROGRAMACION LENGUAJE DE BAJO NIVEL • Es un lenguaje mas fácil de usar que el lenguaje de maquina. • Las instrucciones del lenguaje ensamblador son conocidas como nemotécnicos (ADD, SUB, DIV, etc.). ADDN,M,P 0110 1001 1010 1011 ADDN,M,P = 0110 1001 1010 1011 • Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora por lo que requiere de una fase de traducción a lenguaje de maquina. • Ensamblador.
LENGUAJES DE PROGRAMACION LENGUAJE DE ALTO NIVEL • Diseñados para que las personas entiendan y escriban los programas de un modo mas fácil que usando lenguajes de maquina y ensamblador. • Es independiente de la maquina pues las instrucciones no dependen del hardware o maquina en particular. • Los programas escritos en lenguaje de alto nivel son portables o transportables, es decir que pueden ser ejecutados con poca o ninguna modificación en diferentes tipos de maquinas. C, C++, COBOL, FORTRAN, Pascal, Java, Phyton.
LENGUAJES DE PROGRAMACION {Lenguaje Pascal} program suma; var x,s,r:integer; {declaración de las variables} begin{comienzo del programa principal} writeln('Ingrese 2 números enteros');{imprime el texto} readln(x,s); {lee 2 números y los coloca en las variables x y s} r:= x + s; {suma los 2 números y coloca el resultado en r} writeln('La suma es ',r); {imprime el resultado} readln; end.{termina el programa principal} ;Lenguaje ensamblador, sintaxis Intel para procesadores x86 mov eax,1 ;mueve a al registro eax el valor 1 xorebx, ebx ;pone en 0 el registro ebx int 80h ;llama a la interrupción 80h (80h = 128 sistema decimal)
TRADUCTORES DE LENGUAJE Traductores de lenguaje • Son los programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código de maquina. • Clasificación: • Compiladores: Lenguaje de alto nivel --> Lenguaje de maquina. • Interprete: Un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta.
TERMINOLOGIA BASICA VI PROGRAMA FUENTE • Compilación: Proceso de traducción de programas. El resultado del proceso de compilación es un archivo objeto. • Enlazado: Proceso realizado por el linker o enlazador, básicamente este programa es el encargado de juntar todos los ficheros de codigo objeto, la información de todos los recursos necesarios (bibliotecas) , eliminar todos los recursos que no se necesitan y enlazar el código objeto con sus bibliotecas. El resultado final de este procedimiento es un ejecutable o una biblioteca. COMPILADOR (TRADUCTOR) PROGRAMA OBJETO MONTADOR PROGRAMA FUENTE