Introd. a la Algoritmia - Tema 2

download Introd. a la Algoritmia - Tema 2

of 22

Transcript of Introd. a la Algoritmia - Tema 2

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    1/22

    Introduccin a la Algoritmia

    Leccin 2Conceptos Bsicos de

    Programacin

    Pontificia Universidad Catlica Madre y Maestra

    Vicerrectora Acadmica

    Facultad Ciencias de las Ingenieras

    Ingeniera en Sistemas y Computacin - ISC

    16-ene-13

    Santiago, Rep. Dom.

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    2/22

    Conceptos Bsicos de Programacin

    ProgramarEs la forma de dar rdenes a la computadora.

    Se programa a travs de los lenguajes de

    programacin.

    La programacin es la transmisin de

    instrucciones a la computadora, a travs de

    un lenguaje de programacin.

    Concepto de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    3/22

    Conceptos Bsicos de Programacin

    ProgramarLa realizacin de un programa viene a

    solucionar un problema especfico usando el

    computador.

    Toda la interfase o comunicacin con el

    computador se realiza a travs de

    instrucciones agrupadas en un programa.

    El beneficiado o perjudicado de laprogramacin es el usuario. Por esta razn

    es conveniente que se tome en cuenta al

    programar.

    Concepto de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    4/22

    Conceptos Bsicos de Programacin

    Lenguaje de

    ProgramacinEs un conjunto de smbolos, caracteres y reglas(programas) que le permiten a las personas

    comunicarse con la computadora.

    Tienen un conjunto de instrucciones que nos

    permiten realizar operaciones de entrada-

    salida, clculos, manejo de textos,lgica/comparacin y almacenamiento-

    recuperacin.

    Concepto de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    5/22

    Conceptos Bsicos de Programacin

    ...en funcin de...

    La evolucin de los lenguajes de programacin

    ha estado en funcin de:

    - Las computadoras y sus sistemas operativos.

    - Las aplicaciones.

    - Los mtodos de programacin.

    - Los fundamentos tericos.

    - La importancia dada a la estandarizacin.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    6/22

    Conceptos Bsicos de Programacin

    El nico lenguaje que una computadora

    comprende es su lenguaje mquina. Sin

    embargo, las personas tienen dificultad para

    entender el cdigo mquina.

    Como resultado, los investigadores

    desarrollaron primero un lenguaje ensamblador

    y luego lenguajes de nivel superior.

    Los lenguajes de nivel superior al lenguaje

    mquina se enfocan en lo que el programadorquiere que la mquina haga, y no en cmo la

    mquina ejecutar esos comandos.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    7/22

    Conceptos Bsicos de Programacin

    Evolucin de los Lenguajes de Programacin

    Bajo Nivel

    Son dependientes de la mquina, estn diseadospara ejecutarse en una determinada computadora.

    Alto Nivel

    Son independientes de la mquina y se puedenutilizar en una variedad de computadoras. Loslenguajes de ms alto nivel no ofrecen

    necesariamente mayores capacidades deprogramacin, pero s ofrecen una interaccinprogramador/computaora ms avanzada.

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    8/22

    Conceptos Bsicos de Programacin

    Lenguaje de Bajo Nivel

    Los lenguajes mquina son los lenguajes ms bsicos.

    Consisten en hileras de nmeros y son definidos porel diseo del hardware. Esto nos dice que el lenguaje

    mquina para una Apple no es el mismo que el de una

    PC.

    Esencialmente, el cdigo mquina consiste por

    completo de los 0s y 1s del sistema numricosbinario.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    9/22

    Conceptos Bsicos de Programacin

    Lenguaje de Bajo Nivel

    Los lenguajes ensambladores fueron desarrollados

    usando nemotcnicos similares a las palabras delidioma ingls.

    Los programadores trabajan en editores de texto, que

    son simples procesadores de palabras, para crear

    archivos fuente.

    Los archivos fuente contienen instrucciones para que

    la computadora las ejecute, pero tales archivos deben

    primero traducirse al lenguaje mquina.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    10/22

    Conceptos Bsicos de Programacin

    Lenguaje de Alto Nivel

    Los lenguajes de alto nivel fueron desarrollados para

    hacer ms fcil la programacin.

    Estos lenguajes son llamados de alto nivel porque su

    sintaxis es ms cercana al lenguaje humano que el

    cdigo del lenguaje mquina o ensamblador.

    Los comandos escritos en cualquier lenguajeensamblador o de alto nivel deben ser traducidos de

    nuevo a cdigo mquina antes de que la computadora

    pueda ejecutar los comandos. Estos programas

    traductores se denominan compiladores.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    11/22

    Conceptos Bsicos de Programacin

    Generaciones

    A medida que ms alta es la generacin, ms fcil de

    usar es el lenguaje, ms poderoso, verstil y completoque los de la generacin previa.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    12/22

    Conceptos Bsicos de Programacin

    Evolucin de los Lenguajes de Programacin

    Lenguajes de Modelado, SistemasExpertos e Inteligencia Artificial

    Lenguajes Orientados a Objetos

    Lenguajes Estructurados

    Ensambladores

    Lenguaje Mquina

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    13/22

    Conceptos Bsicos de Programacin

    Generaciones

    Los lenguajes mquina son considerados de primera

    generacin.

    Los lenguajes ensambladores son considerados de

    segunda generacin

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    14/22

    Conceptos Bsicos de Programacin

    Generaciones

    Los lenguajes de alto nivel comenzaron con la tercera

    generacin: Los lenguajes estructurados.

    Tienen la capacidad de soportar programacin

    estructurada, lo cual significa que proporcionan

    estructuras explcitas para control y ciclos.

    Los miembros de un equipo de desarrollo pueden leerel cigo de los dems y comprender la lgica y el

    flujo de control del programa.

    Son porttiles.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    15/22

    Conceptos Bsicos de Programacin

    Generaciones

    Los lenguajes de la cuarta generacin (4GL) son

    principalmente lenguajes para propsitos especiales,que son ms fciles de usar que los de tercera

    generacin.

    Con los 4GL se pueden crear aplicaciones

    rpidamente. La mayora de los 4GL tienen capacidad

    para interactuar con bases de datos.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    16/22

    Conceptos Bsicos de Programacin

    Generaciones

    Los lenguajes de la quinta generacin incluyen los de

    inteligencia artificial y sistemas expertos. Tienen porobjeto pensar y anticipar las necesidades de sus

    usuarios, en lugar de slo ejecutar un conjunto de

    rdenes.

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    17/22

    Conceptos Bsicos de Programacin

    Evolucin de los Lenguajes de Programacin

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    18/22

    Conceptos Bsicos de Programacin

    Buena documentacin.

    Claridad y simplicidad en la codificacin. Realizacin de programas eficientes.

    Modularidad en la realizacin de losprogramas.

    Generalidad en la codificacin.Contemplar la mayora de las situaciones.

    Caractersticas de un buenProgramador

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    19/22

    Conceptos Bsicos de Programacin

    Capaz de medir el rendimiento de susprogramas.

    Conocer algoritmos sofisticados, e inventarlossi no existen.

    Crear interfaces hombre-mquina apropiadas.

    Asegurar la calidad de su programa.

    Buscar constantemente mejorar sus destrezas yformacin.

    Conocer las herramientas de su profesin.

    Deberes de un Programador

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    20/22

    Conceptos Bsicos de Programacin

    Caractersticas de un buen Programa

    Exactitud de los clculos. No reflejar resultadoserrneos.

    Integridad

    Comprensin general del programa y su lgica.Cdigo fuente escrito claramente para que otroprogramador siga su lgica sin esfuerzo.

    Claridad

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    21/22

    Conceptos Bsicos de Programacin

    Caractersticas de un buen Programa

    Lo ms simple posible, acorde con los objetivosgenerales del programa. Es mejor sacrificar laeficiencia a cambio de su estructura simple.

    Simplicidad

    Velocidad de ejecucin y el uso eficiente de lamemoria, pero no a cambio de la claridad ysimplicidad.

    Eficiencia

  • 7/30/2019 Introd. a la Algoritmia - Tema 2

    22/22

    Conceptos Bsicos de Programacin

    Caractersticas de un buen Programa

    Muchos programas pueden dividirse en variassubtareas identificables. Es bueno desarrollar cadasubtarea en mdulos separados de programas.

    Modularidad

    Usualmente se quiere que un programa sea lo msgeneral posible, dentro de los lmites razonables.

    Generalidad