Agosto 2010 ALGORITMOS SESIN 1 COMPONENTES DEL COMPUTADOR ING. JOSE PEALOZA DELGADO C o n t e n i d o s
1. Que es una computadora ? 2. Hardware 3. Software 4. Algoritmos
1. Que es una Computadora ? Es una maquina electrnica digital capaz de procesar datos a partir de un grupo de instrucciones denominado programa, proporcionando una informacin resultante. 1. Que es una Computadora ?
Computadora Entradas Salidas Datos de entradas e instrucciones Datos de Salida, informacin 1. Que es una Computadora ? Es un conjunto de smbolos utilizados para expresar: un valor numrico, QU ES UN DATO? un hecho, un objeto o una idea, para ser objeto de tratamiento. 1. Que es una Computadora ? Es la transformacin de los elementos procesados. Los datos de entrada se convierten en informacin significativa. QU ES INFORMACIN? 2. El Hardware Una computadora necesita: Aceptar la entrada y visualizar la salida. Almacenar la informacin en un formato consistente. Ejecutar las operaciones aritmticas o lgicas. Monitorizar, controlar y dirigir las operaciones del sistema. 2. El Hardware Almacena- miento Secundario (memoria auxiliar)
Dispositivos de Entrada/Salida E/S (perifricos) Unidad Aritmtica Lgica Unidad Central de Proceso (CPU) Unidad de Control Memoria Central 2. El Hardware Unidad Central de Proceso (Procesador) Dirige y controla el proceso de informacin realizado por la computadora. En el se encuentra: La Unidad Aritmtica Lgica (ALU) La Unidad de Control Ejecuta instrucciones de programa. La potencia de una computadora depende completamente de la velocidad y fiabilidad de la CPU. 2. El Hardware Estos dispositivos permiten al usuario comunicarse con la computadora. Algunos dispositivos tpicos de E/S son el teclado, la impresora, monitor, etc. Perifrico o Dispositivos de Entrada/Salida 2. El Hardware La informacin procesada por la UCP se almacena normalmente en la memoria central hasta que terminan los clculos. Memoria Central 2. El Hardware Usados para almacenar grandes cantidades de informacin. Dispositivos de Almacenamiento Secundario Los datos se guardan en dispositivos de almacenamiento auxiliar y luego para ser procesados por la CPU, tienen que llevarse a la memoria central. 3. El Software CLASIFICACIONES DEL SW Sistemas Operativos Lenguajes de Programacin Sw de Uso General Sw de Aplicaciones 3. El Software Conjunto de programas que se emplean para operar una computadora. Estos programas debern encontrarse grabados. Los Sistemas Operativos: Si el S.O. no se encuentra presente, ningn otro programa puede ejecutarse. El S.O. Es el vinculo entre el usuario y la computadora. 3. El Software Da inicio a la sesin del computador proporcionado una interfaz de lnea de comando o una interfaz grfica. Tareas del Sistema Operativo: Administra los dispositivos de Hw. Administra y mantiene los sistemas de archivo. Apoyo a otros programas. 3. El Software C) MULTIPROCESO: Computadoras con ms de un CPU. Categoras del Sistema Operativo A) MULTITAREA: Correr ms de un programa al mismo tiempo. B) MULTIUSUARIO: Accesar ms de un usuario a una computadora. Usuario 1 Usuario 2 3. El Software Sirve para escribir programas que permiten la comunicacin usuario/mquina. Lenguajes de Programacin: Sw de Uso General: Ofrecen su estructura para un gran numero de aplicaciones empresariales, cientficas y personales. Sw de Aplicaciones: Diseado para realizar tareas especificas. 3. El Software Es una tcnica estndar de comunicacin que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintcticas y semnticas que definen un programa informtico. LENGUAJE DE PROGRAMACION 3. El Software LENGUAJES DE MAQUINA
LENGUAJE DE BAJO NIVEL (ENSAMBLADOR)
LENGUAJE DE ALTO NIVEL. Tipos de Lenguajes 3. El Software Lenguajes directamente inteligible por la maquina (computadora). Sus instrucciones son cadenas binarias (cadenas o series de caracteres dgitos 0 y 1) que especifican una operacin. HOLA 0000110 0100100 1000101 0011001 LENGUAJE DE MAQUINA: 3. El Software Por excelencia es el ensamblador (assembly language). Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotcnicos. Por ejemplo, nemotcnicos tpicos de operaciones aritmticas son: en ingles add, sub, div, etc. En espaol, sum, res, div, etc. Una instruccin tpica de suma seria: ADD M, N,P 0110 1001 1010 1011 LENGUAJE DE BAJO NIVEL: 3. El Software Son los mas utilizados por los programadores. Es independiente de la maquina, es decir, no dependen del diseo del Hw o de la computadora. Son portables o transportables. Lo que significa que pueden ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadora. LENGUAJE DE ALTO NIVEL: 3. El Software Es un conjunto de instrucciones sencillas escritas en un lenguaje de programacin, que al ser recogidas por un interprete son traducidas para poder ser ejecutadas. Conjunto de instrucciones que el computador debe ejecutar para solucionar un problema determinado. PROGRAMA 3. El Software PROG. FUENTE: Programa escrito en lenguaje de alto nivel que no a sido traducido a lenguaje mquina. PROG. OBJETO: Programa en lenguaje de mquina, que puede ser ejecutado. COMPILADOR: Traductor que convierte sentencias de cdigo fuente a cdigo objeto. INTERPRETE: Traductor que ejecuta un programa lnea por lnea no modificando la forma original. PROGRAMA FUENTE PROGRAMA OBJETO PROGRAMA EJECUTABLE COMPILACION ENLACE 3. El Software Un compilador es un programa que lee el programa escrito en un lenguaje fuente y lo traduce a otro programa equivalente llamado lenguaje objeto. Lenguaje de Programa Fuente Programa en Lenguaje Objeto Compilador ERROR Y DIAGNOSTICO COMPILADOR 3. El Software Analiza una instruccin fuente y la ejecuta directamente sin generar cdigo objeto. Es un traductor que realiza la operacin de compilacin paso a paso. Lenguaje de Programa Fuente Salida Intrprete DATOS INTRPRETE 3. El Software La principal ventaja del proceso de compilacin frente al de interpretacin es que los programas se ejecutan mucho ms rpido una vez compilados. COMPILADOR vs. INTERPRETE 3. El Software La principal ventaja del proceso de compilacin frente al de interpretacin es que los programas se ejecutan mucho ms rpido una vez compilados. COMPILADOR vs. INTERPRETE Anlisis del problema. Diseo del algoritmo. Codificacin. Compilacin y ejecucin. Verificacin y Depuracin. Documentacin. SOLUCION DE PROBLEMAS 4. Algoritmos 4. Algoritmos ANALISIS DEL PROBLEMA o Se determina QUE har el programa y cual ser la solucin deseada. o Se precisan las entradas y salidas a obtenerse. 4. Algoritmos o Se determina COMO hace el programa la tarea solicitada. DISEO DEL ALGORITMO o Se emplea el mtodo de Diseo Descendente o Modular, el cual permite dividir un problema complejo en subproblemas y estos en otros de nivel mas bajo. 4. Algoritmos o Es la representacin de un algoritmo en un lenguaje de programacin. o Debido a que el algoritmo es independiente al lenguaje de programacin, el cdigo puede ser escrito con igual facilidad en un lenguaje u otro. CODIFICACION DE UN PROGRAMA 4. Algoritmos o Operacin de convertir un programa fuente en programa objeto. COMPILACION Y EJECUCION DE UN PROGRAMA o Cuando no existe errores en un programa fuente se instruye al sistema operativo para que realice una fase de montaje o enlace del programa objeto con las libreras del programa del compilador produciendo un programa ejecutable. 4. Algoritmos o Implica la ejecucin de un programa con una amplia variedad de datos de entrada. oErrores de compilacin oErrores de ejecucin oErrores lgicos VERIFICACION Y DEPURACION DE UN PROGRAMA o Proceso de encontrar errores corregirlos o eliminarlos. 4. Algoritmos DOCUMENTACION o Descripcin de los pasos para la solucin de un problema. o La documentacin de un programa puede ser interna o externa. o Es importante para corregir posibles errores o realizar cambios al programa. 4. Algoritmos Mtodo para resolver un problema, mediante una serie de pasos precisos, definidos y finitos. Produce un resultado en un tiempo finito. Existe diferentes formas de dar solucin a un mismo problema. ALGORITMO 4. Algoritmos La palabra algoritmo se deriva de la traduccin al latn de la palabra Al- khowariz-mi (algorismus), nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Euclides, matemtico griego, es considerado tambin el otro gran padre de la algoritmia. En las ciencias de la computacin, los algoritmos son mas importantes que los lenguajes de programacin o las computadoras. 4. Algoritmos Preciso: indica un orden de realizacin de cada paso a realizar. CARACTERISTICAS DE UN ALGORITMO Definido: Si se sigue un algoritmo mas de una vez se obtiene el mismo resultado. Finito: todo algoritmo tiene un inicio y un fin, es decir debe tener un nmero finito de pasos. 4. Algoritmos La definicin de un algoritmo debe describir tres partes: PASOS A SEGUIR EN LA CONSTRUCCION DE UN ALGORITMO Entrada Proceso Salida 4. Algoritmos Un problema se puede qresolver mas eficazmente cuando se rompe el problema original en subproblemas. DISEO DESCENDENTE DEL ALGORITMO Este mtodo se conoce como Divide y Vencers, es decir dividir un problema complejo en otros mas simples. Ejemplo: Hallar el rea de un tringulo. 4. Algoritmos rea de un triangulo Salida Resultados Clculo de rea Entrada De Datos Entrada B Entrada H Salida B Salida H Salida A 2 *H B A 4. Algoritmos Es un lenguaje de especificacin de algoritmos. Representa el algoritmo en secuencias lgicas de actividades utilizando verbos expresivos. Utiliza un lenguaje de comunicacin propio como el ingls, espaol entre otros. La ventaja es que el programador se concentra en la lgica sin preocuparse en la reglas del lenguaje de programacin especfico. PSEUDOCODIGO 4. Algoritmos
Inicio Leer (Base, Altura) Calcular Escribir Area Fin 4. Algoritmos EJERCICIOS