La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Rogramación de omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 1 Introducción.

Presentaciones similares


Presentación del tema: "Rogramación de omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 1 Introducción."— Transcripción de la presentación:

1 rogramación de omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 1 Introducción

2 CONTENIDO 1. Arquitectura de un Computador 2. Problemas 3. Algoritmo 4. Solución de problemasAlgorítmicos Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Programación de Computadores Modulo 1. Introducción

3 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 1. Arquitectura de un Computador Está dividida en dos partes importantes: Hardware: Es la que hace referencia a la parte física de un computador y de cualquier dispositivo electrónico. Software: Es la que hace referencia a la parte lógica de un computador. La Arquitectura Von Newman Programación de Computadores Modulo 1. Introducción CPU

4 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de Computador Hardware La Arquitectura Von Newman Unidad central de Proceso Dispositivos de entrada, salida, almacenamiento, comunicación y cómputo Memoria Programación de Computadores Modulo 1. Introducción CPU

5 Unidad Central de Proceso (CPU) Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura del Computador Micropocesador Athlon 64 X2 E6 3800+ Programación de Computadores Modulo 1. Introducción

6 Dispositivos Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Entrada Salida Almacenamiento Comunicación Cómputo Programación de Computadores Modulo 1. Introducción

7 RAM (Random Access Memory): Memoria de escritura y lectura. El contenido solo se mantiene mientras el computador está encendido. ROM (Read Only Memory): Memoria de solo lectura, es permanente y no se afecta por el encendido o apagado del computador. Caché: Memoria de acceso muy rápido, usada como puente entre la UCP y la memoria RAM, para evitar las demoras en la consulta de la memoria RAM. Tipos de memoria Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

8 Representación en Memoria Elementos que pueden estar en dos estados (prendidos o apagados). El sistema de numeración binario: representación de este tipo de datos. Utiliza dos símbolos el 1 y el 0. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

9 Código Binario Cada 1 en un número binario representa una potencia de 2 según su posición Ejemplo: El número binario 100110 representa el valor 38 Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

10 Medida de la Memoria Unidad básica de información: BIT que corresponde a un único dígito binario (puede tomar los valores 1 o 0). BYTE: conjunto de 8 bits. 256 valores diferentes: desde el 00000000 (0 en decimal) al 11111111 (255 en decimal). Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

11 Cantidades de Memoria 1 Kilo Byte = 2 10 Bytes = 1024 Bytes 1 Mega Byte = 2 10 KBytes = 2 20 Bytes = 1048576 Bytes 1 Giga Byte = 2 10 MBytes = 2 30 Bytes 1 Tera Byte = 2 10 GBytes = 2 40 Bytes Ejemplos: Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

12 Software: conjunto de instrucciones que le dicen al hardware que hacer. Software Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción Sistema Operativo Herramientas de Desarrollo Aplicaciones

13 Lenguaje Maquina Lenguaje Alto Nivel HardwareLenguaje Ensamblador Sistema Operativo Aplicaciones Herramientas Arquitectura de Software Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

14 Sistema Operativo Software encargado de administrar los recursos del sistema. Ofrece un conjunto de comandos a los humanos, para interactuar con la máquina. Puede ser escrito en lenguaje de alto nivel, en lenguaje ensamblador y/o en lenguaje máquina. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

15 Lenguaje de Máquina Único lenguaje que entiende el hardware (máquina). Específico para cada hardware (procesador, dispositivos, etc.). Programa: almacenado en memoria, contiene instrucciones y datos. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

16 Lenguaje Ensamblador Software, generalmente escrito en lenguaje de máquina, capaz de traducir de lenguaje ensamblador a lenguaje de máquina. Usa mnemónicos para codificar las operaciones. Los datos y/o direcciones son codificados generalmente como números en sistema hexadecimal. Es específico (aunque no único) para cada lenguaje de máquina. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

17 Lenguaje de Alto Nivel Es un lenguaje con una estructura sintáctica mas rica que le permite mayor expresividad. Cuenta con un conjunto de palabras reservadas, para codificar estructuras de control e instrucciones. Permite el uso de expresiones aritméticas y relacionales. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

18 Lenguaje de Alto Nivel COMPILADORES e INTERPRETES: software capaz de traducir de un lenguaje de alto nivel al lenguaje de máquina. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador C++ Java Python Programación de Computadores Modulo 1. Introducción

19 Aplicaciones APLICACIÓN: software que le permite al computador realizar una tarea específica. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Video JuegosHojas de CalculoProcesadores de Texto Programación de Computadores Modulo 1. Introducción

20 Herramientas de Desarrollo Es una aplicación que presenta un ambiente en el que, empleando un lenguaje de programación, se puede desarrollar nuevo software. Ejemplos: ambientes integrados de desarrollo como DevC++, Visual C++, en los que se emplea el lenguaje C++. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 1. Arquitectura de un Computador Programación de Computadores Modulo 1. Introducción

21 2. Problemas Se tiene un problema cuando se desea encontrar uno o varios objetos desconocidos (ya sean estos números, símbolos, diagramas, figuras, u otras cosas), que cumplen condiciones o relaciones, previamente definidas, respecto a uno o varios objetos conocidos. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN-Virtual Programación de Computadores Modulo 1. Introducción

22 Solución de problema Solucionar el problema es encontrar los objetos desconocidos. Para solucionar un problema se debe determinar de manera clara y concisa: cuáles son los objetos conocidos, las condiciones y de que tipo son los objetos desconocidos. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

23 Tipos de problemas Problemas bien condicionados Problemas mal condicionados Problemas indecidibles Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

24 Ejemplo de problema bien condicionado Un granjero tiene cincuenta animales entre conejos y gansos. Si la cantidad de patas de los animales es ciento cuarenta, Cuantos conejos y cuantos gansos tiene el granjero? Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

25 Ejemplos de problemas mal condicionados De las siguientes imágenes, cuál es la más llamativa? Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

26 Ejemplos de problemas indecidible ¿Existe en la expansión decimal de Pi una secuencia de tamaño n para cualquier número natural n? Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Módulo 1 Introducción

27 3. Algoritmo Secuencia bien definida y finita de tareas bien definidas, cada una de las cuales se puede realizar con una cantidad de recursos finitos. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN- Virtual Programación de Computadores Modulo 1. Introducción

28 Características de un Algoritmo Precisión De finitud o Determinismo Finitud Hay un orden preciso en el cual deben ejecutarse las tareas que conforman el algoritmo. Todas las veces que se realicen las tareas o pasos de un algoritmo, con las mismas condi- ciones iniciales, se de- ben obtener resultados idénticos. El algoritmo debe terminar en algún mo- mento y debe usar una can- tidad finita de recursos. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

29 DatosInstruccionesEstructuras de control Para almacenar información: da- tos de entrada, de salida o inter- medios. Las acciones o procesos que el algoritmo realiza sobre los datos. Las que determinan el orden en que se ejecutarán las ins- trucciones del algo- ritmo. Estructura de un Algoritmo Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

30 Ejemplo de algoritmo Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿Que debe hacer el estudiante? Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

31 1. Dormir hasta que suene el despertador (o lo llame la mamá). 2. Mirar la hora. 3. Hay tiempo suficiente? 3.1. Si, entonces 3.1.1. Bañarse. 3.1.2. Vestirse. 3.1.3. Desayunar. 3.2. No, entonces 3.2.1. Vestirse. Ejemplo de algoritmo Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 2. Problemas Programación de Computadores Modulo 1. Introducción

32 4. Lavarse la boca. 5. Despedirse de la mamá y el papá. 6. Hay tiempo suficiente? 6.1. Si, entonces 6.1.1. Caminar al paradero. 6.2. No, entonces 6.2.1. Correr al paradero. 7. Hasta que pase un bus para la universidad hacer: 7.1. Esperar el bus 7.2. Ver a las demás personas que esperan un bus. Ejemplo de algoritmo Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Módulo 1 Introducción

33 8. Tomar el bus. 9. Mientras que no llegue a la universidad hacer: 9.1. Seguir en el bus. 9.2. Pelear mentalmente con el conductor. 10. Timbrar. 11. Bajarse. 12. Entrar a la universidad. 13. Caminar hasta llegar al salón donde se dicta su curso de programación. 14. Ingresar al salón. Ejemplo de algoritmo Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Programación de Computadores Modulo 1. Introducción

34 Representación de Algoritmos Las representaciones más conocidas son: Diagramas de flujo. Pseudo-código. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Programación de Computadores Modulo 1. Introducción

35 Diagramas de Flujo Esquema de representación gráfico de algoritmos. Usa elementos gráficos como rectángulos y rombos. Se pueden usar operaciones matemáticas. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Programación de Computadores Modulo 1. Introducción

36 Pseudo Código Esquema de representación de algoritmos que usa un subconjunto del lenguaje natural del diseñador de algoritmos. Elimina posibles ambigüedades empleando una notación que aunque libre es más restringida que la del lenguaje natural. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Programación de Computadores Modulo 1. Introducción

37 sino si B>C Mayor B sino Mayor C fin_si escribir Mayor Pseudo Código leer A, B, C si A>B si A>C Mayor A sino Mayor C fin_si Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 3. Algoritmos Programación de Computadores Modulo 1. Introducción

38 4. Solución de Problemas Algorítmicos Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual Módulo 1 Introducción

39 Análisis del problema. Especificación del problema. Diseño del algoritmo. Prueba del algoritmo y refinamiento. Codificación. Prueba y verificación. Metodología de Programación Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

40 Análisis del Problema Entender de manera clara el problema que se esta resolviendo. Esta fase de la metodología concuerda con el proceso de identificación de objetos conocidos, objetos desconocidos y condiciones usado en la sección de problemas. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

41 Descripción clara y precisa de: Las entradas del problema. Las salidas del problema. Las condiciones, es decir la dependencia que mantendrán las salidas obtenidas con las entradas recibidas. Especificación del Problema Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

42 Ejemplo de Especificación Entradas: La cantidad total de animales (50), cantidad de patas totales (140). Salidas: La cantidad de conejos y la cantidad de gansos. Condiciones: La suma de conejos y gansos es igual a cincuenta. La suma de las patas de los conejos (cuatro por cada uno) y de los gansos (dos por cada uno) es igual a ciento cuarenta. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

43 Problema: Construir un algoritmo que determine el mayor de tres números enteros. Especificación: Entradas: A,B,C (números de entrada) de tipo entero. Salidas: Mayor de tipo entero. Condiciones: Mayor debe ser el valor máximo de A, B y C. Ejemplo de Especificación Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

44 Diseño del algoritmo Es la fase en la que se construye el algoritmo que permitirá encontrar la solución al problema. La forma adecuada de realizar este proceso es subdividirlo. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

45 Prueba del Algoritmo y Refinamiento Proceso de seguimiento del algoritmo para verificar que cumple con la especificación. Si no se cumple con la especificación se va refinando hasta lograr el objetivo. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

46 Codificación Proceso en el cual se escribe el algoritmo en un lenguaje de programación, utilizando el editor de la herramienta. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

47 Prueba y Verificación Proceso en el cual se corrigen los errores de sintaxis y de lógica del programa, hasta lograr que el programa resuelva el problema. Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial 4. Solución de Problemas Algoritmicos Programación de Computadores Modulo 1. Introducción

48 FIN Gracias por la atención prestada Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN- Virtual Programación de Computadores Modulo 1. Introducción


Descargar ppt "Rogramación de omputadores Facultad Ingeniería Departamento de Ingeniería de Sistemas e Industrial UN - Virtual 2008 Módulo 1 Introducción."

Presentaciones similares


Anuncios Google