SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
PROGRAMACION II

 MODULO I – MODULO INTRODUCTORIO
                 LECCION II – CONCEPTOS BASICOS


  1. Informática
  2. Computador
  3. Hardware – Software
  4. Sistemas de información
  5. Algoritmo
  6. Diagrama de Flujo
  7. Programa
  8. Paradigmas de programación
  9. Ensambladores, compiladores e intérpretes
  10.Lenguaje de Programación
  11.¿Cómo crear un programa?
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                                  INFORMATICA
  La palabra informática se creo en Francia en 1962 y es el resultado de las palabras
       INFORmación y autoMATICA.
        - Es una disciplina científica.
        - Se ocupa de obtener información automática.
        - No se limita, solamente, al uso de la PC.
  La informática se nutre de las siguientes disciplinas:
        - Electrónica
        - Lógica.
        - Matemáticas.
        - Teoría e la información.
        - Comportamiento humano.
  Se refiere al tratamiento automático de la información.
  Infor: Información
  Mática: Automática
  El tratamiento de datos mediante ordenador es automático y racional pues se realiza
       mediante órdenes establecidas y razonamientos humanos ya que el software es
       creado por el hombre.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
  COMPUTADOR
  Una computadora es el sistema formado por su hardware y su sistema
  operativo.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS



            ¿CÓMO FUNCIONA UN COMPUTADOR?
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS




  •   Hardware, equipo utilizado para el funcionamiento de una computadora.
      El hardware se refiere a los componentes materiales de un sistema
      informático. La función de estos componentes suele dividirse en tres
      categorías principales: entrada, salida y almacenamiento.

  •   Software, programas de computadoras. Son las instrucciones
      responsables de que el hardware (la máquina) realice su tarea. Como
      concepto general, el software puede dividirse en varias categorías
      basadas en el tipo de trabajo realizado. Las dos categorías primarias de
      software son los sistemas operativos (software del sistema), que controlan
      los trabajos del ordenador o computadora, y el software de aplicación, que
      dirige las distintas tareas para las que se utilizan las computadoras.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS


                         SISTEMAS DE INFORMACION

      Sistema, cualquier conjunto de dispositivos que colaboran en la realización de
      una tarea. En informática, la palabra sistema se utiliza en varios contextos.

      Un dato puede significar un número, una letra, un signo ortográfico o cualquier
      símbolo que represente una cantidad, una medida, una palabra o una
      descripción.

      Información es un conjunto de datos significativos y pertinentes que
      describan            sucesos               o               entidades.

  DATOS SIGNIFICATIVOS. Para ser significativos, los datos deben constar de
     símbolos reconocibles, estar completos y expresar una idea no ambigua.
     Los símbolos de los datos son reconocibles cuando pueden ser correctamente
     interpretados. Muchos tipos diferentes de símbolos comprensibles se usan
     para transmitir datos.
PROGRAMACION II

 SISTEMAS DE INFORMACION

    Actividades que realiza un Sistema de Información:
    Entradas:
    Datos generales del cliente: nombre, dirección, tipo de cliente, etc.
    Políticas de créditos: límite de crédito, plazo de pago, etc.
    Facturas (interfase automático).
    Pagos, depuraciones, etc.

    Proceso:
    Cálculo de antigüedad de saldos, Cálculo de intereses moratorios.
    Cálculo del saldo de un cliente.
    Almacenamiento:
    Movimientos del mes (pagos, depuraciones). Catálogo de clientes.
    Facturas.

    Salidas:
    Reporte de pagos. Estados de cuenta. Pólizas contables (interfase automática)
         Consultas de saldos en pantalla de una terminal.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS


                  SISTEMAS DE INFORMACION
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS


                            ALGORITMO

            Concepto                     Característica
   Algoritmo: es un método        Preciso: implica el orden de
      para resolver un problema      realización de cada uno de
      mediante una serie de          los pasos
      pasos definidos, precisos y Definido: si se sigue dos
      finitos.                       veces, se obtiene el mismo
                                     resultado.
                                 Finito: Tiene un numero
                                    determinado de pasos,
                                    implica que tiene un fin,
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS


                           DIGRAMA DE FLUJO
     Un diagrama de flujo es la representación gráfica de un algoritmo.
     También se puede decir que es la representación detallada en forma
     gráfica de como deben realizarse los pasos en la computadora para
     producir resultados.

     Esta representación gráfica se da cuando varios símbolos (que
     indican diferentes procesos en la computadora), se relacionan entre si
     mediante líneas que indican el orden en que se deben ejecutar los
     procesos. Los símbolos utilizados han sido normalizados por el
     instituto norteamericano de normalización (ANSI):




                                                                       TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                    DIGRAMA DE FLUJO
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                                          PROGRAMA
   Un programa es un conjunto de ordenes para un ordenador. Estas ordenes se le deben dar en un
   cierto lenguaje, que el ordenador sea capaz de
   comprender.

   El problema es que los lenguajes que realmente entienden los ordenadores resultan difíciles para
   nosotros, porque son muy distintos de los que nosotros empleamos habitualmente para hablar.

   Escribir programas en el lenguaje que utiliza internamente el ordenador (llamado “lenguaje
   máquina” o “código maquina”) es un trabajo duro, tanto a la hora de crear el programa como
   (especialmente) en el momento de corregir algún fallo o mejorar lo que se hizo.

   Por eso, en la practica se emplean lenguajes mas parecidos al lenguaje humano, llamados
   “lenguajes de alto nivel”. Normalmente, estos son muy parecidos al idioma ingles, aunque siguen
   unas reglas mucho mas estrictas.


           Un programa es un texto escrito en un lenguaje simple
           que permite expresar una serie de acciones sobre
           objetos (instrucciones) de forma no ambigua.
                                                                                          TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                              PROGRAMACION
   La programación consiste en la traducción de algoritmos a versiones
   en lenguajes de programación que puedan ser ejecutados directa o
   indirectamente por un ordenador.

   La mayoría de algoritmos consisten en una secuencia de pasos que
   indican lo que hay que hacer. Estas instrucciones suelen ser de carácter
   imperativo, es decir, indican lo que hay que hacer de forma
   incondicional.

   La programación de los algoritmos expresados en estos términos
   se denomina programación imperativa. Así pues, en este tipo de
   programas, cada instrucción implica realizar una determinada
   acción sobre su entorno, en este caso, en el computador en el que
   se ejecuta.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                              PROGRAMACION
  Para entender cómo se ejecuta una instrucción, es necesario ver
  cómo es el entorno en el que se lleva a cabo.
  La mayoría de los procesadores se organizan de manera que los datos
     y las instrucciones se encuentran en la memoria principal y la
     unidad central de procesamiento (CPU, de las siglas en inglés) es la
     que realiza el siguiente algoritmo para poder ejecutar el programa
     en memoria:

  1. Leer de la memoria la instrucción que hay que ejecutar.
  2. Leer de la memoria los datos necesarios para su ejecución.
  3. Realizar el cálculo u operación indicada en la instrucción y, según
  la operación que se realice, grabar el resultado en la memoria.
  4. Determinar cuál es la siguiente instrucción que hay que ejecutar.
  5. Volver al primer paso.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                             COMO CREAR UN PROGRAMA
     El programador diseña un programa, para resolver un problema particular.
     Diseñar es un proceso creativo.
     El proceso de diseño de un programa consta de los siguientes pasos o etapas:

     Pasos:
                          Etapa                                 Descripción
   Pasos
     1     Análisis del problema     Conducen al diseño detallado por medio un código escrito en
                                     forma de un algoritmo
     2     Diseño de algoritmo
     3     Codificación              Se implementa el algoritmo en un código escrito en un lenguaje
                                     de programación. Refleja las ideas desarrolladas en las etapas de
                                     análisis y diseño
     4     Compilación y ejecución   Traduce el programa fuente a programa en código de maquina y
                                     lo ejecuta.
     5     Verificación              Busca errores en las etapas anteriores y los elimina.
     6     Depuración
     7     Documentación             Son comentarios, etiquetas de texto, que facilitan la comprensión
                                     del programa
MODULO I – LECCION II – CONCEPTOS BASICOS
               COMO CREAR UN PROGRAMA
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                  COMO CREAR UN PROGRAMA
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
 EJEMPLO DE UN PROGRAMA
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                         LENGUAJES DE PROGRAMACION

  Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar
  el comportamiento de una máquina, particularmente una computadora. Consiste en
  un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de
  sus elementos, respectivamente.

  Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si
  fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a
  los lenguajes de programación y a otros más, como, por ejemplo, el HTML.
  Un lenguaje de programación permite a un programador especificar de manera precisa:
  sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y
  transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo
  esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o
  natural, tal como sucede con el lenguaje Léxico.

  Los lenguajes de programación son herramientas que nos permiten crear programas
  y software.



                                                                                      TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                          LENGUAJES DE PROGRAMACION
  Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma
        de ejecución y Según el paradigma de programación que poseen cada uno de ellos y
        esos pueden ser:
  Lenguaje máquina: Todo se programa con 1 y 0, que es lo único que entiende el ordenador.
  Ventaja: No necesita ser traducido.
  Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.
  De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas).
  Ventaja: No es tan difícil como el lenguaje máquina.
  Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de
        traducción.
  El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al
        ensamblarlo se llama programa objeto.
  Lenguajes de alto nivel: Los más cercanos al lenguaje humano.
  Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones
        estándar, pero también tienen instrucciones propias).
  Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha
        menos los recursos internos.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                  LENGUAJES DE PROGRAMACION




                                              TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                      ENSAMBLADORES, COMPILADORES E INTÉRPRETES
   Esta claro entonces que las ordenes que nosotros hemos escrito (lo que se conoce como “programa
   fuente”) deben convertirse a lo que el ordenador comprende (obteniendo el “programa ejecutable”).




   Si elegimos un lenguaje de bajo nivel, como el ensamblador (en ingles Assembly, abreviado como
   Asm), la traducción es sencilla, y de hacer esa traducción se encargan unas herramientas llamadas
   ensambladores (en ingles Assembler).

   Cuando el lenguaje que hemos empleado es de alto nivel, la traducción es mas complicada, y a
   veces implicara también recopilar varios fuentes distintos o incluir posibilidades que se encuentran en
   bibliotecas que no hemos preparado nosotros. Las herramientas encargadas de todo esto son los
   compiladores.


                                                                                             TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                     ENSAMBLADORES, COMPILADORES E INTÉRPRETES
  Un intérprete es una herramienta parecida a un compilador, con la diferencia de que en los
  interpretes no se crea ningún “programa ejecutable” capaz de funcionar “por si solo”, de modo que si
  queremos distribuir nuestro programa a alguien, deberemos entregarle el programa fuente y también
  el interprete que es capaz de entenderlo, o no le servirá de nada.
  Cuando ponemos el programa en funcionamiento, el interprete de encarga de convertir el programa
  en lenguaje de alto nivel a código maquina, orden por orden, justo en el momento en que hay que
  procesar cada una de las ordenes. Para algunos lenguajes, es frecuente encontrar compiladores pero
  no suele existir interpretes. Es el caso del lenguaje C, de Pascal y de C++, por ejemplo. En cambio,
  para otros lenguajes, lo habitual es trabajar con interpretes y no con compiladores, como ocurre con
  Python, Ruby y PHP.

  Además, hoy en día existe algo que parece intermedio entre un compilador y un interprete:
  Existen lenguajes que no se compilan para obtener un ejecutable para un ordenador concreto,
  sino un ejecutable “genérico”, que es capaz de funcionar en distintos tipos de ordenadores, a
  condicion de que en ese ordenador exista una “máquina virtual” capaz de entender esos
  ejecutables genericos.
  -Esta es la idea que se aplica en Java: los fuentes son ficheros de texto,
  con extensión “.java”, que se compilan a ficheros “.class”. Estos ficheros “.class” se podrian
  llevar a cualquier ordenador que tenga instalada una “maquina virtual Java” (las hay para la
  mayoría de sistemas operativos).
                                                                                            TEMA Nº 0 pág. 2/6
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                 ENSAMBLADORES, COMPILADORES E INTÉRPRETES

  •   Traductores de lenguaje : Los traductores de lenguaje son programas
      que traducen a su vez los programas escritos en lenguaje de alto nivel a
      código máquina. Se dividen en compiladores e intérpretes.

  •   Intérpretes : Es un traductor que toma un programa fuente, lo traduce y a
      continuación lo ejecuta. El lenguaje que opera bajo este formato se
      denomina lenguaje interpretado.

  •   Compiladores : Es un programa que traduce los programas fuentes
      escritos en lenguaje de alto nivel a lenguaje de máquina. El programa
      objeto obtenido de la compilación no ha sido traducido normalmente a
      código máquina sino a ensamblador. Para obtener el programa máquina
      real se utiliza un programa llamado enlazador (linker). El proceso de
      enlazamiento conduce a un programa en lenguaje máquina directamente
      ejecutable
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

  PARADIGMAS DE PROGRAMACION
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                    PROGRAMACION MODULAR
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
   PROGRAMACION MODULAR

        ➲ Es un método de resolución de
     problemas que consiste en resolver de
     forma independiente los subproblemas
   que se obtienen de una descomposición del
                 problema general
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                      PROGRAMACION MODULAR

  ➲ La base fundamental de este paradigma de
   programación es el módulo

  ➲ Un módulo en un conjunto de rutinas que prestan un
   servicio específico.

  ➲ Una rutina, subrutina o subprograma, como idea
    general, se presenta como un algoritmo separado
  del algoritmo principal, el cual permite resolver una tarea
    específica.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS


  Modularidad: Cohesión
  ➲ Un módulo debe ofrecer un grupo de servicios que
    sin lugar a dudas deben ir juntos, por ejemplo:
  ● math.h
  ● stdio.h
  ➲ Por ejemplo en un procesador de texto, todos los
    módulos tienen como objetivo cooperar para
    producir
  documentos con estilo y formato definido (módulo de
    colores, módulo de tamaño, etc)
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                     PROGRAMACION MODULAR

  Ventajas de los Módulos
  ➲ Facilitan la escritura y depuración de un
    programa
  ➲ Localización rápida de errores
  ➲ La modificación de un módulo no afecta a los
    demás
  ➲ Un grupo de instrucciones que se repite en
    varias partes de un programa puede incluirse en
    un módulo y llamarlo en el programa.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                     PROGRAMACION MODULAR


  Diseño Descendente
  ➲ En un proceso de refinamiento por
  pasos, etapas o capas. Se comienza
  desde lo más general hasta lo más
  específico.
  ➲ En la solución de problemas grandes
  es conveniente dividirlo en problemas
  más pequeños, los cuales a su vez
  pueden dividirse en sub-problemas
  más pequeños.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                       PROGRAMACION MODULAR


  Diseño Descendente
  ➲ Se inicia desde lo más general, luego
  dividir y vencer
  ➲ Asegurarse de las capacidades y
  especificaciones del lenguaje. Esto
  permite cambiar el lenguaje en medio
  del diseño sin ningún trauma.
  ➲ Postergar lo más posible el trabajo en
  los detalles.
  ➲ Verificar cuidadosamente cada nivel.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                     PROGRAMACION MODULAR
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS

                        PROGRAMACION MODULAR

    Diseño de Rutinas
    ➲ Chequeo de prerrequisitos. Verificar si
    en trabajo de la rutina esta bien
    definida
    ➲ Definir el problema de la rutina en
    términos de los datos de entrada,
    salida y gestión de errores.
    ➲ Nombre de la rutina. Debe ser conciso
    y representativo de lo que hace la rutina.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                        PROGRAMACION MODULAR

  Diseño de Rutinas
  ➲ Establecer mecanismos de prueba
  para la rutina. Revisar cualquier caso
  que genere un error.
  ➲ Pruebe con diferentes formas para
  codificar la rutina. La construcción de
  programas es iterativa, es decir, se
  prueba, se falla y se realiza un nuevo
  esfuerzo hasta conseguir la versión
  definitiva.
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                       PROGRAMACION MODULAR


   Codificación de Rutinas
   ➲ El diseño de una rutina equivale al
   plano de una casa.
   ➲ La construcción de la casa equivale a
   la codificación de la rutina
   ➲ Escriba la declaración de la rutina.
   Esto se conoce como interfaz
   ➲ Escriba el algoritmo con frases de muy
   alto nivel
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                      PROGRAMACION MODULAR


  Codificación de Rutinas
  ➲ Complete cada frase de alto nivel con
  una o más líneas de código.
  ➲ Cheque el código informalmente.
  ➲ Comente y haga una prueba de los
  trozos de código nuevo
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                      PROGRAMACION MODULAR


  Chequeo Formal de Código
  ➲ Haga una inspección mental de
  código. Repase los algoritmos que se
  han inventado para la solución del
  problema.
  ➲ Compile la rutina. Esto mostrará todos
  los errores de sintaxis.
  ➲ Elimine todas las causas que generen
  advertencias
PROGRAMACION II

 MODULO I – LECCION II – CONCEPTOS BASICOS
                      PROGRAMACION MODULAR


  Reutilización de un Módulo
  ➲ Generalmente los algoritmos de cada
  modulo sólo se escriben una sola vez
  ➲ La reutilización de un módulo por
  otros programas implica ahorro de
  tiempo. Si el módulo ha sido probado
  y verificado previamente, se reduce la
  posibilidad de errores.
  ➲ Fácil compresión del programa
  completo.

Contenu connexe

Tendances

Algoritmos
AlgoritmosAlgoritmos
Algoritmosnileyna
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosnileyna
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosnileyna
 
2.2. algoritmos definicion - metodología - ejemplos ing comp
2.2. algoritmos  definicion - metodología - ejemplos ing comp2.2. algoritmos  definicion - metodología - ejemplos ing comp
2.2. algoritmos definicion - metodología - ejemplos ing compMaría Sofía Molina Molina
 
2.2. algoritmos definición - metodología - ejemplos
2.2. algoritmos  definición - metodología - ejemplos2.2. algoritmos  definición - metodología - ejemplos
2.2. algoritmos definición - metodología - ejemplosMaría Sofía Molina Molina
 
Fundamentos de Programación: Definiciones y terminologia basica de programación
Fundamentos de Programación: Definiciones y terminologia basica de programaciónFundamentos de Programación: Definiciones y terminologia basica de programación
Fundamentos de Programación: Definiciones y terminologia basica de programaciónRoberto Hernandez
 
Conceptos Basicos Programacion
Conceptos Basicos ProgramacionConceptos Basicos Programacion
Conceptos Basicos ProgramacionMichele André
 
Programa informatico
Programa informaticoPrograma informatico
Programa informaticosamiibrs
 
Programa informatico
Programa informaticoPrograma informatico
Programa informaticosamiibrs
 
ALGORITMOSAlgoritmo yy estructura de datos
ALGORITMOSAlgoritmo yy estructura de datosALGORITMOSAlgoritmo yy estructura de datos
ALGORITMOSAlgoritmo yy estructura de datosKevin Avilés Torres
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programaciónRonny Parra
 
programacion INFORMATICA.pptx
programacion INFORMATICA.pptxprogramacion INFORMATICA.pptx
programacion INFORMATICA.pptxDavidOrtega737036
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básicaEdumatica Consulting
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básicaJoaquin Lara Sierra
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacionMichele André
 

Tendances (19)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
2.1. algoritmos - primera parte
2.1. algoritmos - primera parte2.1. algoritmos - primera parte
2.1. algoritmos - primera parte
 
2.2. algoritmos definicion - metodología - ejemplos ing comp
2.2. algoritmos  definicion - metodología - ejemplos ing comp2.2. algoritmos  definicion - metodología - ejemplos ing comp
2.2. algoritmos definicion - metodología - ejemplos ing comp
 
2.2. algoritmos definición - metodología - ejemplos
2.2. algoritmos  definición - metodología - ejemplos2.2. algoritmos  definición - metodología - ejemplos
2.2. algoritmos definición - metodología - ejemplos
 
Fundamentos de Programación: Definiciones y terminologia basica de programación
Fundamentos de Programación: Definiciones y terminologia basica de programaciónFundamentos de Programación: Definiciones y terminologia basica de programación
Fundamentos de Programación: Definiciones y terminologia basica de programación
 
Conceptos Basicos Programacion
Conceptos Basicos ProgramacionConceptos Basicos Programacion
Conceptos Basicos Programacion
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
GLOSARIO TECNICO
GLOSARIO TECNICOGLOSARIO TECNICO
GLOSARIO TECNICO
 
Programa informatico
Programa informaticoPrograma informatico
Programa informatico
 
ALGORITMOSAlgoritmo yy estructura de datos
ALGORITMOSAlgoritmo yy estructura de datosALGORITMOSAlgoritmo yy estructura de datos
ALGORITMOSAlgoritmo yy estructura de datos
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programación
 
programacion INFORMATICA.pptx
programacion INFORMATICA.pptxprogramacion INFORMATICA.pptx
programacion INFORMATICA.pptx
 
Ejercicios java parte 1
Ejercicios java parte 1Ejercicios java parte 1
Ejercicios java parte 1
 
Smith
SmithSmith
Smith
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Introducción a la Informática básica
Introducción a la Informática básicaIntroducción a la Informática básica
Introducción a la Informática básica
 
Tutorial conceptos programacion
Tutorial conceptos programacionTutorial conceptos programacion
Tutorial conceptos programacion
 

En vedette

Conceptos básicos de la programación
Conceptos básicos de la programaciónConceptos básicos de la programación
Conceptos básicos de la programaciónHenry Valle
 
Trabajo practico de análisis de sistemas
Trabajo practico de análisis de sistemasTrabajo practico de análisis de sistemas
Trabajo practico de análisis de sistemasAna Maria Sabo
 
La tecnica, la sociedad del riesgo y
La tecnica, la sociedad del riesgo yLa tecnica, la sociedad del riesgo y
La tecnica, la sociedad del riesgo yfryda11
 
Las industrias y el deteriorio ambiental
Las industrias y el deteriorio ambientalLas industrias y el deteriorio ambiental
Las industrias y el deteriorio ambientalfryda11
 
Trabajo practico integrador tae
Trabajo practico integrador taeTrabajo practico integrador tae
Trabajo practico integrador taeGaby Gonzalez
 
Trabajo practico nº 3 2015
Trabajo practico nº 3 2015Trabajo practico nº 3 2015
Trabajo practico nº 3 2015Gaby Gonzalez
 
Ejercicios sugeridos
Ejercicios sugeridosEjercicios sugeridos
Ejercicios sugeridosGaby Gonzalez
 
Trabajo practico teórico n° 1 2015
Trabajo practico teórico n° 1   2015Trabajo practico teórico n° 1   2015
Trabajo practico teórico n° 1 2015Gaby Gonzalez
 
Trabajo Practico 1 Tic
Trabajo Practico 1 TicTrabajo Practico 1 Tic
Trabajo Practico 1 Ticmika.naro
 
Una Sociedad Plural Tema4
Una Sociedad Plural Tema4Una Sociedad Plural Tema4
Una Sociedad Plural Tema4profe07
 
Es Posible Estudiar Una Carrera Despues De Los 30 Años...
Es Posible Estudiar Una Carrera Despues De Los 30 Años...Es Posible Estudiar Una Carrera Despues De Los 30 Años...
Es Posible Estudiar Una Carrera Despues De Los 30 Años...earmedellin
 
Una sociedad plural
Una sociedad pluralUna sociedad plural
Una sociedad pluralmarupe3
 

En vedette (20)

Conceptos básicos de la programación
Conceptos básicos de la programaciónConceptos básicos de la programación
Conceptos básicos de la programación
 
Trabajo practico de análisis de sistemas
Trabajo practico de análisis de sistemasTrabajo practico de análisis de sistemas
Trabajo practico de análisis de sistemas
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Unidad I Conceptos Básicos
Unidad I Conceptos BásicosUnidad I Conceptos Básicos
Unidad I Conceptos Básicos
 
Nociones De Vba
Nociones De VbaNociones De Vba
Nociones De Vba
 
Clase 41
Clase 41Clase 41
Clase 41
 
La tecnica, la sociedad del riesgo y
La tecnica, la sociedad del riesgo yLa tecnica, la sociedad del riesgo y
La tecnica, la sociedad del riesgo y
 
Las industrias y el deteriorio ambiental
Las industrias y el deteriorio ambientalLas industrias y el deteriorio ambiental
Las industrias y el deteriorio ambiental
 
Trabajo practico integrador tae
Trabajo practico integrador taeTrabajo practico integrador tae
Trabajo practico integrador tae
 
Trabajo practico nº 3 2015
Trabajo practico nº 3 2015Trabajo practico nº 3 2015
Trabajo practico nº 3 2015
 
Ejercicios sugeridos
Ejercicios sugeridosEjercicios sugeridos
Ejercicios sugeridos
 
Trabajo practico teórico n° 1 2015
Trabajo practico teórico n° 1   2015Trabajo practico teórico n° 1   2015
Trabajo practico teórico n° 1 2015
 
Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013Introducción a la Ingeniería de Sistemas II 2013
Introducción a la Ingeniería de Sistemas II 2013
 
Trabajo Practico 1 Tic
Trabajo Practico 1 TicTrabajo Practico 1 Tic
Trabajo Practico 1 Tic
 
Exel123
Exel123Exel123
Exel123
 
Clase 4
Clase 4Clase 4
Clase 4
 
2 elementos pseudocodigo
2 elementos pseudocodigo2 elementos pseudocodigo
2 elementos pseudocodigo
 
Una Sociedad Plural Tema4
Una Sociedad Plural Tema4Una Sociedad Plural Tema4
Una Sociedad Plural Tema4
 
Es Posible Estudiar Una Carrera Despues De Los 30 Años...
Es Posible Estudiar Una Carrera Despues De Los 30 Años...Es Posible Estudiar Una Carrera Despues De Los 30 Años...
Es Posible Estudiar Una Carrera Despues De Los 30 Años...
 
Una sociedad plural
Una sociedad pluralUna sociedad plural
Una sociedad plural
 

Similaire à Programacion ii modulo1-leccion1-

Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]Jalil Segura
 
9º Algoritmos
9º Algoritmos9º Algoritmos
9º Algoritmosnileyna
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosnileyna
 
Trabajo de jhon piyo
Trabajo de jhon piyoTrabajo de jhon piyo
Trabajo de jhon piyojhonarias
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Carlos M. Sandoval
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computadoromar_tisalema
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1hoppii
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1hoppii
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3natachaceleste
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1kfacu
 

Similaire à Programacion ii modulo1-leccion1- (20)

Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Libro1
Libro1Libro1
Libro1
 
Diap 01
Diap 01Diap 01
Diap 01
 
9º Algoritmos
9º Algoritmos9º Algoritmos
9º Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Trabajo de jhon piyo
Trabajo de jhon piyoTrabajo de jhon piyo
Trabajo de jhon piyo
 
ACTIVIDAD 7
ACTIVIDAD 7ACTIVIDAD 7
ACTIVIDAD 7
 
Cuaderno 1
Cuaderno 1Cuaderno 1
Cuaderno 1
 
ACTIVIDAD 7
ACTIVIDAD 7ACTIVIDAD 7
ACTIVIDAD 7
 
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
Unidad 1 Conceptos básicos y metodología para la solución de problemas por me...
 
Solución de problemas del computador
Solución de problemas del computadorSolución de problemas del computador
Solución de problemas del computador
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Cuestinario1
Cuestinario1Cuestinario1
Cuestinario1
 
Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3Analista-programador Cobol - Módulo 1.3
Analista-programador Cobol - Módulo 1.3
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Fortran
FortranFortran
Fortran
 
Programacio nfin
Programacio nfinProgramacio nfin
Programacio nfin
 
Programacion
Programacion Programacion
Programacion
 

Plus de karlalopezbello

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetoskarlalopezbello
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetoskarlalopezbello
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2karlalopezbello
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1karlalopezbello
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3karlalopezbello
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2karlalopezbello
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1karlalopezbello
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacionkarlalopezbello
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtualkarlalopezbello
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_karlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfilkarlalopezbello
 

Plus de karlalopezbello (20)

03 -fundamentos_de_la_tecnologia_orientada_a_objetos
03  -fundamentos_de_la_tecnologia_orientada_a_objetos03  -fundamentos_de_la_tecnologia_orientada_a_objetos
03 -fundamentos_de_la_tecnologia_orientada_a_objetos
 
02 -introduccion_a_la_tecnologia_orientada_a_objetos
02  -introduccion_a_la_tecnologia_orientada_a_objetos02  -introduccion_a_la_tecnologia_orientada_a_objetos
02 -introduccion_a_la_tecnologia_orientada_a_objetos
 
Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2Programacion ii modulo3-leccion2
Programacion ii modulo3-leccion2
 
Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1Programacion ii modulo3-leccion1
Programacion ii modulo3-leccion1
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2Programacion ii modulo2-leccion2
Programacion ii modulo2-leccion2
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
Didactica del chat
Didactica del chatDidactica del chat
Didactica del chat
 
Didactica del foro
Didactica del foroDidactica del foro
Didactica del foro
 
Guia completa de_moodle
Guia completa de_moodleGuia completa de_moodle
Guia completa de_moodle
 
Publicacion de material
Publicacion de materialPublicacion de material
Publicacion de material
 
Sistemas de comunicacion
Sistemas de comunicacionSistemas de comunicacion
Sistemas de comunicacion
 
Actividades en moodle
Actividades en moodleActividades en moodle
Actividades en moodle
 
Plataforma moodle
Plataforma moodlePlataforma moodle
Plataforma moodle
 
Introduccion unegvirtual
Introduccion unegvirtualIntroduccion unegvirtual
Introduccion unegvirtual
 
Guia para montar_el_aula_1_
Guia para montar_el_aula_1_Guia para montar_el_aula_1_
Guia para montar_el_aula_1_
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Configuracion del perfil
Configuracion del perfilConfiguracion del perfil
Configuracion del perfil
 
Transparencias7
Transparencias7Transparencias7
Transparencias7
 
Transparencias5
Transparencias5Transparencias5
Transparencias5
 

Programacion ii modulo1-leccion1-

  • 1. PROGRAMACION II MODULO I – MODULO INTRODUCTORIO LECCION II – CONCEPTOS BASICOS 1. Informática 2. Computador 3. Hardware – Software 4. Sistemas de información 5. Algoritmo 6. Diagrama de Flujo 7. Programa 8. Paradigmas de programación 9. Ensambladores, compiladores e intérpretes 10.Lenguaje de Programación 11.¿Cómo crear un programa?
  • 2. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS INFORMATICA La palabra informática se creo en Francia en 1962 y es el resultado de las palabras INFORmación y autoMATICA. - Es una disciplina científica. - Se ocupa de obtener información automática. - No se limita, solamente, al uso de la PC. La informática se nutre de las siguientes disciplinas: - Electrónica - Lógica. - Matemáticas. - Teoría e la información. - Comportamiento humano. Se refiere al tratamiento automático de la información. Infor: Información Mática: Automática El tratamiento de datos mediante ordenador es automático y racional pues se realiza mediante órdenes establecidas y razonamientos humanos ya que el software es creado por el hombre.
  • 3. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS COMPUTADOR Una computadora es el sistema formado por su hardware y su sistema operativo.
  • 4. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS ¿CÓMO FUNCIONA UN COMPUTADOR?
  • 5. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS • Hardware, equipo utilizado para el funcionamiento de una computadora. El hardware se refiere a los componentes materiales de un sistema informático. La función de estos componentes suele dividirse en tres categorías principales: entrada, salida y almacenamiento. • Software, programas de computadoras. Son las instrucciones responsables de que el hardware (la máquina) realice su tarea. Como concepto general, el software puede dividirse en varias categorías basadas en el tipo de trabajo realizado. Las dos categorías primarias de software son los sistemas operativos (software del sistema), que controlan los trabajos del ordenador o computadora, y el software de aplicación, que dirige las distintas tareas para las que se utilizan las computadoras.
  • 6. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS SISTEMAS DE INFORMACION Sistema, cualquier conjunto de dispositivos que colaboran en la realización de una tarea. En informática, la palabra sistema se utiliza en varios contextos. Un dato puede significar un número, una letra, un signo ortográfico o cualquier símbolo que represente una cantidad, una medida, una palabra o una descripción. Información es un conjunto de datos significativos y pertinentes que describan sucesos o entidades. DATOS SIGNIFICATIVOS. Para ser significativos, los datos deben constar de símbolos reconocibles, estar completos y expresar una idea no ambigua. Los símbolos de los datos son reconocibles cuando pueden ser correctamente interpretados. Muchos tipos diferentes de símbolos comprensibles se usan para transmitir datos.
  • 7. PROGRAMACION II SISTEMAS DE INFORMACION Actividades que realiza un Sistema de Información: Entradas: Datos generales del cliente: nombre, dirección, tipo de cliente, etc. Políticas de créditos: límite de crédito, plazo de pago, etc. Facturas (interfase automático). Pagos, depuraciones, etc. Proceso: Cálculo de antigüedad de saldos, Cálculo de intereses moratorios. Cálculo del saldo de un cliente. Almacenamiento: Movimientos del mes (pagos, depuraciones). Catálogo de clientes. Facturas. Salidas: Reporte de pagos. Estados de cuenta. Pólizas contables (interfase automática) Consultas de saldos en pantalla de una terminal.
  • 8. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS SISTEMAS DE INFORMACION
  • 9. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS ALGORITMO Concepto Característica Algoritmo: es un método Preciso: implica el orden de para resolver un problema realización de cada uno de mediante una serie de los pasos pasos definidos, precisos y Definido: si se sigue dos finitos. veces, se obtiene el mismo resultado. Finito: Tiene un numero determinado de pasos, implica que tiene un fin,
  • 10. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS DIGRAMA DE FLUJO Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI): TEMA Nº 0 pág. 2/6
  • 11. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS DIGRAMA DE FLUJO
  • 12. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMA Un programa es un conjunto de ordenes para un ordenador. Estas ordenes se le deben dar en un cierto lenguaje, que el ordenador sea capaz de comprender. El problema es que los lenguajes que realmente entienden los ordenadores resultan difíciles para nosotros, porque son muy distintos de los que nosotros empleamos habitualmente para hablar. Escribir programas en el lenguaje que utiliza internamente el ordenador (llamado “lenguaje máquina” o “código maquina”) es un trabajo duro, tanto a la hora de crear el programa como (especialmente) en el momento de corregir algún fallo o mejorar lo que se hizo. Por eso, en la practica se emplean lenguajes mas parecidos al lenguaje humano, llamados “lenguajes de alto nivel”. Normalmente, estos son muy parecidos al idioma ingles, aunque siguen unas reglas mucho mas estrictas. Un programa es un texto escrito en un lenguaje simple que permite expresar una serie de acciones sobre objetos (instrucciones) de forma no ambigua. TEMA Nº 0 pág. 2/6
  • 13. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION La programación consiste en la traducción de algoritmos a versiones en lenguajes de programación que puedan ser ejecutados directa o indirectamente por un ordenador. La mayoría de algoritmos consisten en una secuencia de pasos que indican lo que hay que hacer. Estas instrucciones suelen ser de carácter imperativo, es decir, indican lo que hay que hacer de forma incondicional. La programación de los algoritmos expresados en estos términos se denomina programación imperativa. Así pues, en este tipo de programas, cada instrucción implica realizar una determinada acción sobre su entorno, en este caso, en el computador en el que se ejecuta.
  • 14. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION Para entender cómo se ejecuta una instrucción, es necesario ver cómo es el entorno en el que se lleva a cabo. La mayoría de los procesadores se organizan de manera que los datos y las instrucciones se encuentran en la memoria principal y la unidad central de procesamiento (CPU, de las siglas en inglés) es la que realiza el siguiente algoritmo para poder ejecutar el programa en memoria: 1. Leer de la memoria la instrucción que hay que ejecutar. 2. Leer de la memoria los datos necesarios para su ejecución. 3. Realizar el cálculo u operación indicada en la instrucción y, según la operación que se realice, grabar el resultado en la memoria. 4. Determinar cuál es la siguiente instrucción que hay que ejecutar. 5. Volver al primer paso.
  • 15. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS COMO CREAR UN PROGRAMA El programador diseña un programa, para resolver un problema particular. Diseñar es un proceso creativo. El proceso de diseño de un programa consta de los siguientes pasos o etapas: Pasos: Etapa Descripción Pasos 1 Análisis del problema Conducen al diseño detallado por medio un código escrito en forma de un algoritmo 2 Diseño de algoritmo 3 Codificación Se implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño 4 Compilación y ejecución Traduce el programa fuente a programa en código de maquina y lo ejecuta. 5 Verificación Busca errores en las etapas anteriores y los elimina. 6 Depuración 7 Documentación Son comentarios, etiquetas de texto, que facilitan la comprensión del programa
  • 16. MODULO I – LECCION II – CONCEPTOS BASICOS COMO CREAR UN PROGRAMA
  • 17. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS COMO CREAR UN PROGRAMA
  • 18. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS EJEMPLO DE UN PROGRAMA
  • 19. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS LENGUAJES DE PROGRAMACION Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente. Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML. Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Los lenguajes de programación son herramientas que nos permiten crear programas y software. TEMA Nº 0 pág. 2/6
  • 20. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS LENGUAJES DE PROGRAMACION Los lenguajes de programación se determinan según el nivel de abstracción, Según la forma de ejecución y Según el paradigma de programación que poseen cada uno de ellos y esos pueden ser: Lenguaje máquina: Todo se programa con 1 y 0, que es lo único que entiende el ordenador. Ventaja: No necesita ser traducido. Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina. De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas). Ventaja: No es tan difícil como el lenguaje máquina. Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de traducción. El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al ensamblarlo se llama programa objeto. Lenguajes de alto nivel: Los más cercanos al lenguaje humano. Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones estándar, pero también tienen instrucciones propias). Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos internos.
  • 21. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS LENGUAJES DE PROGRAMACION TEMA Nº 0 pág. 2/6
  • 22. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS ENSAMBLADORES, COMPILADORES E INTÉRPRETES Esta claro entonces que las ordenes que nosotros hemos escrito (lo que se conoce como “programa fuente”) deben convertirse a lo que el ordenador comprende (obteniendo el “programa ejecutable”). Si elegimos un lenguaje de bajo nivel, como el ensamblador (en ingles Assembly, abreviado como Asm), la traducción es sencilla, y de hacer esa traducción se encargan unas herramientas llamadas ensambladores (en ingles Assembler). Cuando el lenguaje que hemos empleado es de alto nivel, la traducción es mas complicada, y a veces implicara también recopilar varios fuentes distintos o incluir posibilidades que se encuentran en bibliotecas que no hemos preparado nosotros. Las herramientas encargadas de todo esto son los compiladores. TEMA Nº 0 pág. 2/6
  • 23. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS ENSAMBLADORES, COMPILADORES E INTÉRPRETES Un intérprete es una herramienta parecida a un compilador, con la diferencia de que en los interpretes no se crea ningún “programa ejecutable” capaz de funcionar “por si solo”, de modo que si queremos distribuir nuestro programa a alguien, deberemos entregarle el programa fuente y también el interprete que es capaz de entenderlo, o no le servirá de nada. Cuando ponemos el programa en funcionamiento, el interprete de encarga de convertir el programa en lenguaje de alto nivel a código maquina, orden por orden, justo en el momento en que hay que procesar cada una de las ordenes. Para algunos lenguajes, es frecuente encontrar compiladores pero no suele existir interpretes. Es el caso del lenguaje C, de Pascal y de C++, por ejemplo. En cambio, para otros lenguajes, lo habitual es trabajar con interpretes y no con compiladores, como ocurre con Python, Ruby y PHP. Además, hoy en día existe algo que parece intermedio entre un compilador y un interprete: Existen lenguajes que no se compilan para obtener un ejecutable para un ordenador concreto, sino un ejecutable “genérico”, que es capaz de funcionar en distintos tipos de ordenadores, a condicion de que en ese ordenador exista una “máquina virtual” capaz de entender esos ejecutables genericos. -Esta es la idea que se aplica en Java: los fuentes son ficheros de texto, con extensión “.java”, que se compilan a ficheros “.class”. Estos ficheros “.class” se podrian llevar a cualquier ordenador que tenga instalada una “maquina virtual Java” (las hay para la mayoría de sistemas operativos). TEMA Nº 0 pág. 2/6
  • 24. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS ENSAMBLADORES, COMPILADORES E INTÉRPRETES • Traductores de lenguaje : Los traductores de lenguaje son programas que traducen a su vez los programas escritos en lenguaje de alto nivel a código máquina. Se dividen en compiladores e intérpretes. • Intérpretes : Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. El lenguaje que opera bajo este formato se denomina lenguaje interpretado. • Compiladores : Es un programa que traduce los programas fuentes escritos en lenguaje de alto nivel a lenguaje de máquina. El programa objeto obtenido de la compilación no ha sido traducido normalmente a código máquina sino a ensamblador. Para obtener el programa máquina real se utiliza un programa llamado enlazador (linker). El proceso de enlazamiento conduce a un programa en lenguaje máquina directamente ejecutable
  • 25. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PARADIGMAS DE PROGRAMACION
  • 26. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR
  • 27. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR ➲ Es un método de resolución de problemas que consiste en resolver de forma independiente los subproblemas que se obtienen de una descomposición del problema general
  • 28. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR ➲ La base fundamental de este paradigma de programación es el módulo ➲ Un módulo en un conjunto de rutinas que prestan un servicio específico. ➲ Una rutina, subrutina o subprograma, como idea general, se presenta como un algoritmo separado del algoritmo principal, el cual permite resolver una tarea específica.
  • 29. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS Modularidad: Cohesión ➲ Un módulo debe ofrecer un grupo de servicios que sin lugar a dudas deben ir juntos, por ejemplo: ● math.h ● stdio.h ➲ Por ejemplo en un procesador de texto, todos los módulos tienen como objetivo cooperar para producir documentos con estilo y formato definido (módulo de colores, módulo de tamaño, etc)
  • 30. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS
  • 31. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Ventajas de los Módulos ➲ Facilitan la escritura y depuración de un programa ➲ Localización rápida de errores ➲ La modificación de un módulo no afecta a los demás ➲ Un grupo de instrucciones que se repite en varias partes de un programa puede incluirse en un módulo y llamarlo en el programa.
  • 32. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Diseño Descendente ➲ En un proceso de refinamiento por pasos, etapas o capas. Se comienza desde lo más general hasta lo más específico. ➲ En la solución de problemas grandes es conveniente dividirlo en problemas más pequeños, los cuales a su vez pueden dividirse en sub-problemas más pequeños.
  • 33. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Diseño Descendente ➲ Se inicia desde lo más general, luego dividir y vencer ➲ Asegurarse de las capacidades y especificaciones del lenguaje. Esto permite cambiar el lenguaje en medio del diseño sin ningún trauma. ➲ Postergar lo más posible el trabajo en los detalles. ➲ Verificar cuidadosamente cada nivel.
  • 34. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR
  • 35. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS
  • 36. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Diseño de Rutinas ➲ Chequeo de prerrequisitos. Verificar si en trabajo de la rutina esta bien definida ➲ Definir el problema de la rutina en términos de los datos de entrada, salida y gestión de errores. ➲ Nombre de la rutina. Debe ser conciso y representativo de lo que hace la rutina.
  • 37. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Diseño de Rutinas ➲ Establecer mecanismos de prueba para la rutina. Revisar cualquier caso que genere un error. ➲ Pruebe con diferentes formas para codificar la rutina. La construcción de programas es iterativa, es decir, se prueba, se falla y se realiza un nuevo esfuerzo hasta conseguir la versión definitiva.
  • 38. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Codificación de Rutinas ➲ El diseño de una rutina equivale al plano de una casa. ➲ La construcción de la casa equivale a la codificación de la rutina ➲ Escriba la declaración de la rutina. Esto se conoce como interfaz ➲ Escriba el algoritmo con frases de muy alto nivel
  • 39. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Codificación de Rutinas ➲ Complete cada frase de alto nivel con una o más líneas de código. ➲ Cheque el código informalmente. ➲ Comente y haga una prueba de los trozos de código nuevo
  • 40. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Chequeo Formal de Código ➲ Haga una inspección mental de código. Repase los algoritmos que se han inventado para la solución del problema. ➲ Compile la rutina. Esto mostrará todos los errores de sintaxis. ➲ Elimine todas las causas que generen advertencias
  • 41. PROGRAMACION II MODULO I – LECCION II – CONCEPTOS BASICOS PROGRAMACION MODULAR Reutilización de un Módulo ➲ Generalmente los algoritmos de cada modulo sólo se escriben una sola vez ➲ La reutilización de un módulo por otros programas implica ahorro de tiempo. Si el módulo ha sido probado y verificado previamente, se reduce la posibilidad de errores. ➲ Fácil compresión del programa completo.