26
INTRODUCCION A LOS ALGORITMOS

INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

Embed Size (px)

Citation preview

Page 1: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

INTRODUCCION A LOS ALGORITMOS

Page 2: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre 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

Page 3: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

ALGO SOBRE LOS COMPUTADORES Y GNU/LINUX

REVOLUTION OS• http://www.youtube.com/watch?v=n1v6icF

gkbo&feature=related• http://www.youtube.com/watch?v=FPXvlGr

9eOg&feature=related• http://www.youtube.com/watch?v=gc8JmG

VPmQ8&feature=related• http://www.youtube.com/watch?v=7PufDt

6akm0&feature=related• http://www.youtube.com/watch?v=Yo-mtd

HcpDE&feature=related• http://www.youtube.com/watch?v=0KoTB

mkmSgc&feature=related• http://www.youtube.com/watch?v=10Woq

VAscEA&feature=related• http://www.youtube.com/watch?v=_Ql49JR

Ah8Q&feature=related• http://www.youtube.com/watch?v=3GeoEc

U04IE&feature=related

Page 5: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

ALGO SOBRE LOS COMPUTADORES, GNU/LINUX

PIRATAS DEL SILICON VALLEY• http://www.youtube.com/watch?v=cAt6zZTIo20&f

eature=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&fe

ature=fvw• http://www.youtube.com/watch?v=E1AXjJHOMxE

&feature=related

Page 6: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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

Page 7: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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

Page 8: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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

Page 9: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

SISTEMAS DE PROCESAMIENTO DE INFORMACION

Computadora: Maquina o aparato electrónico capaz de ejecutar operaciones repetitivas a muy alta velocidad.

Entrada = Datos Salida = InformaciónPROCESADOR

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.

COMPONENTES DE UN SISTEMA DE PROCESAMIENTO DE INFORMACION

Page 10: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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.

Page 11: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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

Unidad central de

procesamiento

Dispositivos de

entrada/salida E/s

(Periféricos)

Almacenamiento secundario (memoria auxiliar)

Page 12: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

Metodología de programación: Consiste en la metodología aplicada para la resolución de problemas mediante programas.

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.

Tarea que se desea resolver.

La definición de un algoritmo debe describir tres partes: Entrada, proceso y salida. Ejemplo: La receta de un sancocho.

Page 13: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

Entradas SalidaPROCESO

Page 14: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

¿Qué hacer para ver la película tiburón?

Algoritmo general1.Ir a cine.2.Comprar la entrada3.Ver la película.4.Regresar a la casa.

Page 15: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

Algoritmo refinado1.Inicio2.ver la cartelera de cines en el periodico.3.si no proyectan “Tiburon” entonces

3.1. decidir otra actividad.3.2. ir al paso 7si_no3.3. ir al cineFin_si

4.si hay cola entonces4.1. ponerse en la cola4.2. mientras haya personas delante entonces

4.2.1. avanzar en la cola fin_mientrasfin_si

5.si hay puesto entonces5.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 hacer5.4.1. ver película.

fin_mientras 5.5. abandonar el cinesi_no5.6. arriar madresfin_si

6. volver a la casa.7. fin

Page 16: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

ESTRUCTURAS CLAVES EN EL ALGORTIMO ANTERIOR• Paso• Condicion• Ciclo

CONDICIONsi condicion entonces pasos verdaderosi_no pasos falsofin_si

si no proyectan “Tiburon” entonces decidir otra actividad. ir al paso 7si_no ir al cinefin_si

CICLOmientras condicion hacer pasos dentro del ciclofin_mientras

mientras proyectan la película hacer ver película.fin_mientras

PASOinstrucción

arriar madres

Page 17: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE LOS ALGORITMOS

• 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.

• Describa los pasos para cambiar un bombillo quemado.

Page 18: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

GENERALIDADES SOBRE ALGORITMOS

Page 19: 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 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

Page 20: 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 PROGRAMACION

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)

00001011011100001010

Page 21: 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 PROGRAMACIONLENGUAJE 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.).

ADD N,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.

ADD N,M,P

0110 1001 1010 1011

Page 22: 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 PROGRAMACIONLENGUAJE 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.

Page 23: 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 PROGRAMACION

;Lenguaje ensamblador, sintaxis Intel para procesadores x86mov eax,1 ;mueve a al registro eax el valor 1 xor ebx, ebx ;pone en 0 el registro ebx int 80h ;llama a la interrupción 80h (80h = 128 sistema decimal)

{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}

Page 24: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

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.

Page 25: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

TERMINOLOGIA BASICA VI• 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.

Page 26: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Algo sobre computadores u GNU/Linux. Sistemas de procesamiento de información. Generalidades sobre los algoritmos

FIN DE LA CLASE