420 likes | 880 Views
INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA. Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos. Lenguajes de programación. Traductores de lenguaje. Tarea. Ejemplos. ALGO SOBRE LOS COMPUTADORES Y GNU/LINUX. REVOLUTION OS
E N D
MENU DEL DIA • Algo sobre computadores u GNU/Linux. • Sistemas de procesamiento de información. • Generalidades sobre los algoritmos. • Lenguajes de programación. • Traductores de lenguaje. • Tarea. • Ejemplos
ALGO SOBRE LOS COMPUTADORES Y GNU/LINUX REVOLUTION OS • http://www.youtube.com/watch?v=n1v6icFgkbo&feature=related • http://www.youtube.com/watch?v=FPXvlGr9eOg&feature=related • http://www.youtube.com/watch?v=gc8JmGVPmQ8&feature=related • http://www.youtube.com/watch?v=7PufDt6akm0&feature=related • http://www.youtube.com/watch?v=Yo-mtdHcpDE&feature=related • http://www.youtube.com/watch?v=0KoTBmkmSgc&feature=related • http://www.youtube.com/watch?v=10WoqVAscEA&feature=related • http://www.youtube.com/watch?v=_Ql49JRAh8Q&feature=related • http://www.youtube.com/watch?v=3GeoEcU04IE&feature=related
ALGO SOBRE LOS COMPUTADORES, GNU/LINUX CODIGO LINUX • http://www.youtube.com/watch?v=1RtWkywPJ5I&feature=PlayList&p=1DF7114EF3EAFFA3&index=74 • http://www.youtube.com/watch?v=_F5FiP9yCEc&feature=related • http://www.youtube.com/watch?v=4iN-Q3c9_Zg&feature=related • http://www.youtube.com/watch?v=NVMg3AMF8lc&feature=related • http://www.youtube.com/watch?v=ACqOXd4rqpg&feature=related
ALGO SOBRE LOS COMPUTADORES, GNU/LINUX PIRATAS DEL SILICON VALLEY • http://www.youtube.com/watch?v=cAt6zZTIo20&feature=related • http://www.youtube.com/watch?v=6eNKYvkBKNE&feature=related • http://www.youtube.com/watch?v=r0MtYZBZSwA&feature=related • http://www.youtube.com/watch?v=43rNw7iKXWA&feature=related • http://www.youtube.com/watch?v=VgYx0uz6n2c&feature=related • http://www.youtube.com/watch?v=zruSmCTOXZo&feature=related • http://www.youtube.com/watch?v=Bl5i66m67YM&feature=fvw • http://www.youtube.com/watch?v=92gtBEKNWXU&feature=related • http://www.youtube.com/watch?v=Ffler9Kt2rc&feature=fvw • http://www.youtube.com/watch?v=E1AXjJHOMxE&feature=related
ALGO SOBRE LOS COMPUTADORES, GNU/LINUX MARAVILLAS MODERNAS – EL ORDENADOR • http://www.youtube.com/watch?v=wK_yCGN1FvM • http://www.youtube.com/watch?v=1HYxJRF7QCo&feature=related • http://www.youtube.com/watch?v=3NPz3r_ewg4&feature=related • http://www.youtube.com/watch?v=sglj8WyGHGg&feature=related • http://www.youtube.com/watch?v=3A4jGEKrzlg&feature=related
ALGO SOBRE LOS COMPUTADORES, GNU/LINUX MARAVILLAS MODERNAS – LA TECNOLOGIA DE LOS 80’s • http://www.youtube.com/watch?v=tS9csJWE7Vc • http://www.youtube.com/watch?v=D8UMln93-DY&feature=related • http://www.youtube.com/watch?v=s0LWYe5zh20&feature=related • http://www.youtube.com/watch?v=wS7bP5Qbv30&feature=related • http://www.youtube.com/watch?v=QhI42AZUom0&feature=related
ALGO SOBRE LOS COMPUTADORES, GNU/LINUX VIDEOTUTORIALES FELIPE • http://microe.udea.edu.co/~henry/.video_tutoriales_felipe_london/Video-presentaciones/Presentacion01%20-%20Intro%20al%20Computador/Intro%20al%20Computador.html • http://microe.udea.edu.co/~henry/.video_tutoriales_felipe_london/Video-presentaciones/Presentacion02%20-%20Mainboard/Mainboard.html • http://microe.udea.edu.co/~henry/.video_tutoriales_felipe_london/Video-presentaciones/Presentacion03%20-%20Memorias%20RAM/Presentacion03%20-%20Memorias%20RAM.html • http://microe.udea.edu.co/~henry/.video_tutoriales_felipe_london/Video-presentaciones/Presentacion04%20-%20Procesadores/Presentacion04%20-%20Procesadores.html
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. 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). Expresar el algoritmo como un programa en el lenguaje de programación adecuado. 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 Entradas Salida PROCESO
GENERALIDADES SOBRE LOS ALGORITMOS ¿Qué hacer para ver la película tiburón? Algoritmo general Ir a cine. Comprar la entrada Ver la película. Regresar a la casa.
GENERALIDADES SOBRE LOS ALGORITMOS • Algoritmo refinado • Inicio • ver la cartelera de cines en el periodico. • si no proyectan “Tiburon” entonces • 3.1. decidir otra actividad. • 3.2. ir al paso 7 • si_no • 3.3. ir al cine • Fin_si • si hay cola entonces • 4.1. ponerse en la cola • 4.2. mientras haya personas delante entonces • 4.2.1.avanzar en la cola • fin_mientras • fin_si • si hay puesto entonces • 5.1. comprar la entrada (y pa la nena si va acompañado). • 5.2. pasar a la sala. • 5.3. localizar el puesto • 5.4. mientras proyectan la película hacer • 5.4.1. ver película. • fin_mientras • 5.5. abandonar el cine • si_no • 5.6. arriar madres • fin_si • volver a la casa. • fin
GENERALIDADES SOBRE LOS ALGORITMOS PASO instrucción • ESTRUCTURAS CLAVES EN EL ALGORTIMO ANTERIOR • Paso • Condicion • Ciclo arriar madres CONDICION si condicionentonces pasos verdadero si_no pasos falso fin_si sino proyectan “Tiburon” entonces decidir otra actividad. ir al paso 7 si_no ir al cine fin_si CICLO mientrascondicionhacer pasos dentro del ciclo fin_mientras mientras proyectan la película hacer ver película. fin_mientras
GENERALIDADES SOBRE LOS ALGORITMOS • Describa los pasos para cambiar un bombillo quemado. • Describir los pasos para cruzar la calle. • 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