SlideShare una empresa de Scribd logo
1 de 48
Módulo 1
                                                      Introducción




                       rogramación de
                         omputadores


Facultad Ingeniería                                   UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial         2008
Programación de Computadores
                                                      Modulo 1. Introducción




                            CONTENIDO
        1. Arquitectura de un Computador

        2. Problemas

        3. Algoritmo

        4. Solución de problemas Algorítmicos


Facultad Ingeniería                                                 UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial                       2008
Programación de Computadores
                                                             Modulo 1. Introducción




1.   Arquitectura de un Computador
  Está dividida en dos
  partes importantes:
                                                                     CPU
       Hardware: Es la que
       hace referencia a la
       parte física de un
       computador y de
       cualquier dispositivo
       electrónico.                            La Arquitectura Von
                                               Newman
       Software: Es la que
       hace referencia a la
       parte lógica de un
       computador.

Facultad Ingeniería                                                        UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial                              2008
Programación de Computadores
                                                              Modulo 1. Introducción


                               Hardware
            • Unidad central de Proceso
            • Dispositivos de entrada, salida, almacenamiento,
              comunicación y cómputo
            • Memoria


                                                      CPU




                                 La Arquitectura Von Newman

Facultad Ingeniería                                     1. Arquitectura de Computador
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                         Modulo 1. Introducción


        Unidad Central de Proceso
                 (CPU)




                                                        Micropocesador
                                                        Athlon 64 X2 E6 3800+



Facultad Ingeniería                                   1. Arquitectura del Computador
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción


                            Dispositivos
      Entrada                                         Salida




                                          Cómputo


                                                       Almacenamiento
             Comunicación




Facultad Ingeniería                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 1. Introducción


                      Tipos de memoria
   •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.

Facultad Ingeniería                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 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ía                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                           Modulo 1. Introducción



                        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

               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ía                                             1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                      Computador
Programación de Computadores
                                                      Modulo 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ía                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 1. Introducción


              Cantidades de Memoria

         Ejemplos:


         1 Kilo Byte = 210 Bytes = 1024 Bytes
         1 Mega Byte = 210 KBytes = 220 Bytes
                       = 1048576 Bytes
         1 Giga Byte = 210 MBytes = 230 Bytes
         1 Tera Byte = 210 GBytes = 240 Bytes

Facultad Ingeniería                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 1. Introducción


                               Software
        Software: conjunto de instrucciones que le dicen
        al hardware que hacer.
                    Sistema Operativo

                    Herramientas de Desarrollo

                    Aplicaciones



Facultad Ingeniería                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                            Modulo 1. Introducción


             Arquitectura de Software
         Lenguaje             Lenguaje    Lenguaje Hardware
         Alto Nivel           Ensamblador Maquina




                    Sistema Operativo


   Aplicaciones                                       Herramientas


Facultad Ingeniería                                              1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                       Computador
Programación de Computadores
                                                      Modulo 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ía                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                          Modulo 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ía                                              1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                       Computador
Programación de Computadores
                                                      Modulo 1. Introducción




              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                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 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ía                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 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.


             C++                     Java             Python




Facultad Ingeniería                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                       Modulo 1. Introducción



                            Aplicaciones
    APLICACIÓN: software que le permite                                   al
    computador realizar una tarea específica.




Procesadores de Texto          Video Juegos           Hojas de Calculo

Facultad Ingeniería                                         1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                  Computador
Programación de Computadores
                                                      Modulo 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ía                                        1. Arquitectura de un
Departamento de Ingeniería de Sistemas e Industrial                 Computador
Programación de Computadores
                                                      Modulo 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ía                                                  UN-Virtual
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción



               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                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción



                 Tipos de problemas

                Problemas bien condicionados

                Problemas mal condicionados

                Problemas indecidibles



Facultad Ingeniería                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 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ía                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción




       Ejemplos de problemas mal
             condicionados
              De las siguientes imágenes, cuál
                    es la más llamativa?




Facultad Ingeniería                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Módulo 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ía                                              2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducció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ía                                                 UN- Virtual
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción




  Características de un Algoritmo
                                   De finitud o
       Precisión                                           Finitud
                                   Determinismo

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


      Estructura de un Algoritmo

              Datos               Instrucciones          Estructuras de
                                                             control
      Para almacenar             Las acciones o       Las que determinan
      información: da-           procesos que el      el orden en que se
      tos de entrada,            algoritmo realiza    ejecutarán las ins-
      de salida o inter-         sobre los datos.     trucciones del algo-
      medios.                                         ritmo.




Facultad Ingeniería                                                 2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 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ía                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción



             Ejemplo de algoritmo
                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.

Facultad Ingeniería                                               2. Problemas
Departamento de Ingeniería de Sistemas e Industrial
Módulo 1
                                                       Introducción



             Ejemplo de algoritmo
        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.
Facultad Ingeniería                                   3. Algoritmos
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción



             Ejemplo de algoritmo
      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.
Facultad Ingeniería                                               3. Algoritmos
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción




                    Representación de
                       Algoritmos
             Las representaciones más conocidas
             son:

                                Diagramas de flujo.

                                Pseudo-código.

Facultad Ingeniería                                               3. Algoritmos
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 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ía                                               3. Algoritmos
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 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ía                                               3. Algoritmos
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                             Modulo 1. Introducción



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



       4. Solución             de Problemas
                          Algorítmicos

                                     Problema



                                     Metodología



                                    Programa


Facultad Ingeniería                                   UN - Virtual
Departamento de Ingeniería de Sistemas e Industrial
Programación de Computadores
                                                      Modulo 1. Introducción




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




             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                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 1. Introducción




 Especificación del Problema
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.

Facultad Ingeniería                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 1. Introducción



         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                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 1. Introducción



      Ejemplo de Especificació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áximo
  de A, B y C.
Facultad Ingeniería                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 1. Introducción



              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                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 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ía                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 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ía                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                       Modulo 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ía                                   4. Solución de Problemas
Departamento de Ingeniería de Sistemas e Industrial                Algoritmicos
Programación de Computadores
                                                      Modulo 1. Introducción




                                      FIN
               Gracias por la atención
                       prestada


Facultad Ingeniería                                                 UN- Virtual
Departamento de Ingeniería de Sistemas e Industrial

Más contenido relacionado

La actualidad más candente

Andres sergio martin
Andres sergio martinAndres sergio martin
Andres sergio martinalejotemartin
 
Tema 1 cpi
Tema 1 cpiTema 1 cpi
Tema 1 cpiMaye Re
 
Generalidades sobre Digitalizador de Película Los digitalizadores de pelíc...
Generalidades sobre Digitalizador de Película    Los digitalizadores de pelíc...Generalidades sobre Digitalizador de Película    Los digitalizadores de pelíc...
Generalidades sobre Digitalizador de Película Los digitalizadores de pelíc...Ricardo Carrera
 
Introducción a la Informatica - DSpace en ESPOL
Introducción a la Informatica - DSpace en ESPOLIntroducción a la Informatica - DSpace en ESPOL
Introducción a la Informatica - DSpace en ESPOLMige41
 
Informatica
InformaticaInformatica
Informaticajjpotes
 
Tema1 Intro A Las Computadores
Tema1 Intro A Las ComputadoresTema1 Intro A Las Computadores
Tema1 Intro A Las Computadoresfrankbolivar
 
Hardware computadoras
Hardware computadorasHardware computadoras
Hardware computadorasalainvillon
 

La actualidad más candente (8)

Andres sergio martin
Andres sergio martinAndres sergio martin
Andres sergio martin
 
So
SoSo
So
 
Tema 1 cpi
Tema 1 cpiTema 1 cpi
Tema 1 cpi
 
Generalidades sobre Digitalizador de Película Los digitalizadores de pelíc...
Generalidades sobre Digitalizador de Película    Los digitalizadores de pelíc...Generalidades sobre Digitalizador de Película    Los digitalizadores de pelíc...
Generalidades sobre Digitalizador de Película Los digitalizadores de pelíc...
 
Introducción a la Informatica - DSpace en ESPOL
Introducción a la Informatica - DSpace en ESPOLIntroducción a la Informatica - DSpace en ESPOL
Introducción a la Informatica - DSpace en ESPOL
 
Informatica
InformaticaInformatica
Informatica
 
Tema1 Intro A Las Computadores
Tema1 Intro A Las ComputadoresTema1 Intro A Las Computadores
Tema1 Intro A Las Computadores
 
Hardware computadoras
Hardware computadorasHardware computadoras
Hardware computadoras
 

Destacado (20)

Diplomado epu sesión_03
Diplomado epu sesión_03Diplomado epu sesión_03
Diplomado epu sesión_03
 
Introdución a la programación de computadores
Introdución a la programación de computadoresIntrodución a la programación de computadores
Introdución a la programación de computadores
 
introducción a la programación de computadores
introducción a la programación de computadores introducción a la programación de computadores
introducción a la programación de computadores
 
Diplomado EPU_Sesión_04
Diplomado EPU_Sesión_04Diplomado EPU_Sesión_04
Diplomado EPU_Sesión_04
 
Programacion de computadores
Programacion de computadoresProgramacion de computadores
Programacion de computadores
 
Activos fijos depreciacion y registro excel
Activos fijos depreciacion y registro excelActivos fijos depreciacion y registro excel
Activos fijos depreciacion y registro excel
 
3 tecnicas modernas programacion
3 tecnicas modernas programacion3 tecnicas modernas programacion
3 tecnicas modernas programacion
 
1 componentes del computador
1 componentes del computador1 componentes del computador
1 componentes del computador
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Illustrator cs6
Illustrator cs6Illustrator cs6
Illustrator cs6
 
Curso Php
Curso PhpCurso Php
Curso Php
 
Clase 1 excel financiero
Clase 1   excel financieroClase 1   excel financiero
Clase 1 excel financiero
 
ILLUSTRATOR CS6
ILLUSTRATOR CS6ILLUSTRATOR CS6
ILLUSTRATOR CS6
 
Visual y sql
Visual y sqlVisual y sql
Visual y sql
 
Java orientado a objetos
Java orientado a objetosJava orientado a objetos
Java orientado a objetos
 
Adobe Illustrator
Adobe IllustratorAdobe Illustrator
Adobe Illustrator
 
Java
JavaJava
Java
 
Diseño Actividades con Scratch
Diseño Actividades con ScratchDiseño Actividades con Scratch
Diseño Actividades con Scratch
 
Manual c++
Manual c++Manual c++
Manual c++
 
Word 2010
Word 2010Word 2010
Word 2010
 

Similar a 2 unidad programacion comput

Similar a 2 unidad programacion comput (20)

Conferencia1 - Programacion de Computadores
Conferencia1 - Programacion de ComputadoresConferencia1 - Programacion de Computadores
Conferencia1 - Programacion de Computadores
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
01 introduccion
01 introduccion01 introduccion
01 introduccion
 
Presentación Informática
Presentación InformáticaPresentación Informática
Presentación Informática
 
Clase2
Clase2Clase2
Clase2
 
Capitulo 1
Capitulo 1Capitulo 1
Capitulo 1
 
plan de estudios
plan de estudiosplan de estudios
plan de estudios
 
plan de estudios
plan de estudiosplan de estudios
plan de estudios
 
Tema1
Tema1Tema1
Tema1
 
Tema1.ppt
Tema1.pptTema1.ppt
Tema1.ppt
 
Conceptos basicos de programacion
Conceptos basicos de programacionConceptos basicos de programacion
Conceptos basicos de programacion
 
Copia de hadwere y softwere
Copia de hadwere y softwereCopia de hadwere y softwere
Copia de hadwere y softwere
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)
 
1 a intro
1 a intro1 a intro
1 a intro
 
El ordenador y sus componentes
El ordenador y sus componentesEl ordenador y sus componentes
El ordenador y sus componentes
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-ii
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-ii
 
Leccion 1 arquitectura de computadores
Leccion 1  arquitectura de computadoresLeccion 1  arquitectura de computadores
Leccion 1 arquitectura de computadores
 
Programa Técnicas Digitales II 2012
Programa Técnicas Digitales II 2012Programa Técnicas Digitales II 2012
Programa Técnicas Digitales II 2012
 

2 unidad programacion comput

  • 1. Módulo 1 Introducción rogramación de omputadores Facultad Ingeniería UN - Virtual Departamento de Ingeniería de Sistemas e Industrial 2008
  • 2. Programación de Computadores Modulo 1. Introducción CONTENIDO 1. Arquitectura de un Computador 2. Problemas 3. Algoritmo 4. Solución de problemas Algorítmicos Facultad Ingeniería UN - Virtual Departamento de Ingeniería de Sistemas e Industrial 2008
  • 3. Programación de Computadores Modulo 1. Introducción 1. Arquitectura de un Computador Está dividida en dos partes importantes: CPU Hardware: Es la que hace referencia a la parte física de un computador y de cualquier dispositivo electrónico. La Arquitectura Von Newman Software: Es la que hace referencia a la parte lógica de un computador. Facultad Ingeniería UN - Virtual Departamento de Ingeniería de Sistemas e Industrial 2008
  • 4. Programación de Computadores Modulo 1. Introducción Hardware • Unidad central de Proceso • Dispositivos de entrada, salida, almacenamiento, comunicación y cómputo • Memoria CPU La Arquitectura Von Newman Facultad Ingeniería 1. Arquitectura de Computador Departamento de Ingeniería de Sistemas e Industrial
  • 5. Programación de Computadores Modulo 1. Introducción Unidad Central de Proceso (CPU) Micropocesador Athlon 64 X2 E6 3800+ Facultad Ingeniería 1. Arquitectura del Computador Departamento de Ingeniería de Sistemas e Industrial
  • 6. Programación de Computadores Modulo 1. Introducción Dispositivos Entrada Salida Cómputo Almacenamiento Comunicación Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 7. Programación de Computadores Modulo 1. Introducción Tipos de memoria •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. Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 8. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 9. Programación de Computadores Modulo 1. Introducción 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 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 10. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 11. Programación de Computadores Modulo 1. Introducción Cantidades de Memoria Ejemplos: 1 Kilo Byte = 210 Bytes = 1024 Bytes 1 Mega Byte = 210 KBytes = 220 Bytes = 1048576 Bytes 1 Giga Byte = 210 MBytes = 230 Bytes 1 Tera Byte = 210 GBytes = 240 Bytes Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 12. Programación de Computadores Modulo 1. Introducción Software Software: conjunto de instrucciones que le dicen al hardware que hacer. Sistema Operativo Herramientas de Desarrollo Aplicaciones Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 13. Programación de Computadores Modulo 1. Introducción Arquitectura de Software Lenguaje Lenguaje Lenguaje Hardware Alto Nivel Ensamblador Maquina Sistema Operativo Aplicaciones Herramientas Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 14. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 15. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 16. Programación de Computadores Modulo 1. Introducción 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 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 17. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 18. Programación de Computadores Modulo 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. C++ Java Python Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 19. Programación de Computadores Modulo 1. Introducción Aplicaciones APLICACIÓN: software que le permite al computador realizar una tarea específica. Procesadores de Texto Video Juegos Hojas de Calculo Facultad Ingeniería 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 20. Programación de Computadores Modulo 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ía 1. Arquitectura de un Departamento de Ingeniería de Sistemas e Industrial Computador
  • 21. Programación de Computadores Modulo 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ía UN-Virtual Departamento de Ingeniería de Sistemas e Industrial
  • 22. Programación de Computadores Modulo 1. Introducción 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 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 23. Programación de Computadores Modulo 1. Introducción Tipos de problemas Problemas bien condicionados Problemas mal condicionados Problemas indecidibles Facultad Ingeniería 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 24. Programación de Computadores Modulo 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ía 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 25. Programación de Computadores Modulo 1. Introducción Ejemplos de problemas mal condicionados De las siguientes imágenes, cuál es la más llamativa? Facultad Ingeniería 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 26. Módulo 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ía 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 27. Programación de Computadores Modulo 1. Introducció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ía UN- Virtual Departamento de Ingeniería de Sistemas e Industrial
  • 28. Programación de Computadores Modulo 1. Introducción Características de un Algoritmo De finitud o Precisión Finitud Determinismo Hay un orden Todas las veces que se El algoritmo preciso en el realicen las tareas o debe terminar cual deben pasos de un algoritmo, en algún mo- ejecutarse las con las mismas condi- mento y debe tareas que ciones iniciales, se de- usar una can- conforman el ben obtener resultados tidad finita de algoritmo. idénticos. recursos. Facultad Ingeniería 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 29. Programación de Computadores Modulo 1. Introducción Estructura de un Algoritmo Datos Instrucciones Estructuras de control Para almacenar Las acciones o Las que determinan información: da- procesos que el el orden en que se tos de entrada, algoritmo realiza ejecutarán las ins- de salida o inter- sobre los datos. trucciones del algo- medios. ritmo. Facultad Ingeniería 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 30. Programación de Computadores Modulo 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ía 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 31. Programación de Computadores Modulo 1. Introducción Ejemplo de algoritmo 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. Facultad Ingeniería 2. Problemas Departamento de Ingeniería de Sistemas e Industrial
  • 32. Módulo 1 Introducción Ejemplo de algoritmo 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. Facultad Ingeniería 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 33. Programación de Computadores Modulo 1. Introducción Ejemplo de algoritmo 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. Facultad Ingeniería 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 34. Programación de Computadores Modulo 1. Introducción Representación de Algoritmos Las representaciones más conocidas son: Diagramas de flujo. Pseudo-código. Facultad Ingeniería 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 35. Programación de Computadores Modulo 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ía 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 36. Programación de Computadores Modulo 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ía 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 37. Programación de Computadores Modulo 1. Introducción Pseudo Código leer A, B, C sino si A>B si B>C si A>C Mayor ← B Mayor ← A sino sino Mayor ← C Mayor ← C fin_si fin_si fin_si escribir Mayor Facultad Ingeniería 3. Algoritmos Departamento de Ingeniería de Sistemas e Industrial
  • 38. Módulo 1 Introducción 4. Solución de Problemas Algorítmicos Problema Metodología Programa Facultad Ingeniería UN - Virtual Departamento de Ingeniería de Sistemas e Industrial
  • 39. Programación de Computadores Modulo 1. Introducción Metodología de Programación  Análisis del problema.  Especificación del problema.  Diseño del algoritmo.  Prueba del algoritmo y refinamiento.  Codificación.  Prueba y verificación. Facultad Ingeniería 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 40. Programación de Computadores Modulo 1. Introducción 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 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 41. Programación de Computadores Modulo 1. Introducción Especificación del Problema 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. Facultad Ingeniería 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 42. Programación de Computadores Modulo 1. Introducción 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 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 43. Programación de Computadores Modulo 1. Introducción Ejemplo de Especificació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áximo de A, B y C. Facultad Ingeniería 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 44. Programación de Computadores Modulo 1. Introducción 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 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 45. Programación de Computadores Modulo 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ía 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 46. Programación de Computadores Modulo 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ía 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 47. Programación de Computadores Modulo 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ía 4. Solución de Problemas Departamento de Ingeniería de Sistemas e Industrial Algoritmicos
  • 48. Programación de Computadores Modulo 1. Introducción FIN Gracias por la atención prestada Facultad Ingeniería UN- Virtual Departamento de Ingeniería de Sistemas e Industrial