Date post: | 26-May-2015 |
Category: |
Documents |
Upload: | cortezbfajardo |
View: | 202 times |
Download: | 2 times |
rogramación rogramación dedeomputadoreomputadoress
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
UN - Virtual2008
Módulo 1Introducción
CONTENIDO1. Arquitectura de un Computador
2. Problemas
3. Algoritmo
4. Solución de problemasAlgorítmicos
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
UN - Virtual2008
Programación de ComputadoresModulo 1. Introducción
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
UN - Virtual2008
1. Arquitectura de un ComputadorEstá 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 ComputadoresModulo 1. Introducción
CPU
Facultad IngenieríaDepartamento 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 ComputadoresModulo 1. Introducción
CPU
Unidad Central de Proceso (CPU)
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura del Computador
Micropocesador Athlon 64 X2 E6 3800+
Programación de ComputadoresModulo 1. Introducción
Dispositivos
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Entrada Salida
AlmacenamientoComunicación
Cómputo
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Código BinarioCada 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
1 0 0 1 1 0
25 24 23 22 21 20
1*32 + 0*16+ 0*8+ 1*4+ 1*2+ 0*1= 38
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Cantidades de Memoria
1 Kilo Byte = 210 Bytes = 1024 Bytes1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes1 Giga Byte = 210 MBytes = 230 Bytes1 Tera Byte = 210 GBytes = 240 Bytes
Ejemplos:
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Software: conjunto de instrucciones que le dicen al hardware que hacer.
Software
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Sistema Operativo
Herramientas de Desarrollo
Aplicaciones
LenguajeMaquina
LenguajeAlto Nivel
HardwareLenguajeEnsamblador
Sistema Operativo
Aplicaciones
Herramientas
Arquitectura de Software
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Lenguaje EnsambladorSoftware, 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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
Lenguaje de Alto Nivel
COMPILADORES e INTERPRETES: software capaz de traducir de un lenguaje de alto nivel al lenguaje de máquina.
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
C++ Java Python
Programación de ComputadoresModulo 1. Introducción
AplicacionesAPLICACIÓN: software que le permite al computador realizar una tarea específica.
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Video Juegos Hojas de CalculoProcesadores de Texto
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
1. Arquitectura de un Computador
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
UN-Virtual
Programación de ComputadoresModulo 1. Introducción
Solución de problemaSolucionar 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íaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
Tipos de problemas
Problemas bien condicionados
Problemas mal condicionados
Problemas indecidibles
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
Ejemplos de problemas mal condicionados
De las siguientes imágenes, cuál es la más llamativa?
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Módulo 1Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
UN- Virtual
Programación de ComputadoresModulo 1. Introducción
Características de un Algoritmo
PrecisiónDe 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 ComputadoresModulo 1. Introducción
Datos Instrucciones
Estructuras 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íaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
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, entonces3.2.1. Vestirse.
Ejemplo de algoritmo
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
2. Problemas
Programación de ComputadoresModulo 1. Introducción
4. Lavarse la boca.5. Despedirse de la mamá y el papá.6. Hay tiempo suficiente?
6.1. Si, entonces6.1.1. Caminar al paradero.
6.2. No, entonces6.2.1. Correr al paradero.
7. Hasta que pase un bus para la universidad hacer:
7.1. Esperar el bus7.2. Ver a las demás personas que esperan un bus.
Ejemplo de algoritmo
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Módulo 1Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Programación de ComputadoresModulo 1. Introducción
Representación de Algoritmos
Las representaciones más conocidas son:
Diagramas de flujo.
Pseudo-código.
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Programación de ComputadoresModulo 1. Introducción
sino si B>C
Mayor B
sino
Mayor C
fin_sifin_siescribir Mayor
Pseudo Códigoleer A, B, Csi A>B si A>C Mayor A sino Mayor C fin_si
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
3. Algoritmos
Programación de ComputadoresModulo 1. Introducción
4. Solución de Problemas
AlgorítmicosProblema
Programa
Metodología
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
UN - Virtual
Módulo 1Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
Análisis del ProblemaEntender 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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
Ejemplo de EspecificaciónEntradas: 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 ComputadoresModulo 1. Introducción
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áximode A, B y C.
Ejemplo de Especificación
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
Diseño del algoritmoEs 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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
Codificación
Proceso en el cual se escribe el algoritmo en un lenguaje de programación, utilizando el editor de la herramienta.
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
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íaDepartamento de Ingeniería de Sistemas e Industrial
4. Solución de Problemas Algoritmicos
Programación de ComputadoresModulo 1. Introducción
FIN
Gracias por la atención prestada
Facultad IngenieríaDepartamento de Ingeniería de Sistemas e Industrial
UN- Virtual
Programación de ComputadoresModulo 1. Introducción