17
Introducción a la Programación Grado en Ingeniería Informática Teoría .- Curso 2010-2011 Contenido 1 - Introducción

Teoría Tema 1

Embed Size (px)

Citation preview

  • Introduccin a la ProgramacinGrado en Ingeniera Informtica

    Teora .- Curso 2010-2011

    Contenido 1 - Introduccin

  • Contenido

    1.1.- Conceptos bsicos y definiciones

    1.2.- Programacin de Ordenadores y Lenguajes de Programacin

    1.2.1.- La Programacin de ordenadores

    2

    1.2.2.- Objetivos de la programacin1.2.3.- Lenguajes de programacin

    1.3.- Traductores: Compiladores e Intrpretes

    1.4.- Paradigmas de Programacin

    Contenido 1.- Introduccin

  • 1.1 Conceptos bsicos y definiciones

    INFORMTICA : INFORmacin y autoMTICA.Conjunto de conocimientos cientficos y tcnicas que hacen posibleel tratamiento automtico de la informacin por medio deordenadores.

    ORDENADOR

    3

    ORDENADOR

    Mquina capaz de aceptar unos datos de entrada, efectuar con ellosoperaciones lgicas y aritmticas y proporcionar la informacinresultante a travs de un medio de salida; sin intervencin de unoperador humano y bajo el control de un programa de instruccionespreviamente almacenado

    Contenido 1.- Introduccin

  • 1.1 Conceptos bsicos y definiciones

    DATO (Entrada/Salida)Conjuntos de smbolos utilizados para expresar o representar unvalor numrico, un hecho, un objeto o una idea; en la formaadecuada para ser objeto de tratamiento.

    4

    CODIFICACION

    Transformacin que representa los elementos de un conjuntomediante los de otro, de forma que a cada elemento del primerconjunto le corresponda un elemento distinto del segundo.(CODIGO BINARIO: 0 y 1)

    Contenido 1.- Introduccin

  • 1.1 Conceptos bsicos y definiciones

    BIT : Unidad elemental de informacin (0 y 1) BYTE : Nmero de bits necesarios para almacenar un carcter

    (generalmente 8).1 KB = 210 bytes = 1024 bytes 103 bytes1 MG = 210 KBytes= 220 bytes 106 bytes1 GB = 210 MBytes= 230 bytes 109 bytes

    5

    1 GB = 210 MBytes= 230 bytes 109 bytes1 TB = 210 GBytes= 240 bytes 1012 bytes

    HARDWARESoporte fsico de un ordenador, conjunto de circuitos electrnicos,cables, carcasas y otros elementos fsicos.

    SOFTWAREConjunto de programas ejecutables por el ordenador. (Siendo unprograma un conjunto ordenado de instrucciones)

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.1.- La Programacin de OrdenadoresConceptos:

    ALGORITMO: descripcin de los pasos necesarios para resolver unproblema.

    6

    PROGRAMA: algoritmo escrito en un lenguaje de programacin. PROGRAMACIN: Tarea de desarrollo de programas

    Pequea escala: Programacin Gran escala: Ingeniera del Software

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Objetivos de la Programacin Correccin: Antes de desarrollar un programa debe especificarse

    con toda claridad cul es el funcionamiento correcto del mismo. Claridad: Es fundamental que sus descripciones sean claras y

    fcilmente legibles.

    7

    Eficiencia: una tarea de tratamiento de informacin puede serprogramada de muy diferentes maneras. Los programas eficientesaprovecharn mejor los recursos disponibles.Debe emplearse una metodologa de programacin apropiada que

    satisfaga estos objetivos

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Lenguajes de Programacin

    Un lenguaje de programacin es un lenguaje que nos permite comunicarnos con un ordenador.

    Un lenguaje de programacin es una notacin para describir

    8

    Un lenguaje de programacin es una notacin para describir algoritmos y estructuras de datos.

    Un lenguaje de programacin es una convencin para escribir descripciones que pueden ser evaluadas.

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Lenguajes de ProgramacinClasificacin de los lenguajes de Programacin

    Con respecto a su nivel:

    9

    Lenguajes mquina Lenguajes de bajo nivel o ensambladores Lenguajes de alto nivel

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Lenguajes de ProgramacinClasificacin de los lenguajes de Programacin Lenguajes mquina: Las instrucciones son cadenas de ceros y unos. (cdigo intermedio:

    octal o hexadecimal). Los datos se utilizan por medio de las direcciones de memoria

    10

    Los datos se utilizan por medio de las direcciones de memoriadonde se encuentran.

    Las instrucciones realizan operaciones muy simples. Existe muy poca versatilidad para la redaccin de las instrucciones. El lenguaje depende y est ligado ntimamente a la CPU de la

    computadora. No pueden incluirse comentarios que faciliten la legibilidad del

    cdigo.

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Lenguajes de ProgramacinClasificacin de los lenguajes de Programacin Lenguajes Ensambladores

    Instrucciones con cdigos de operacin en notacin simblica o

    11

    Instrucciones con cdigos de operacin en notacin simblica onemotcnica, en vez de cdigos numricos.

    Direcciones simblicas de memoria, en lugar de direcciones binariasabsolutas.

    Permiten incluir lneas de comentarios entre lneas de instrucciones.

    Contenido 1.- Introduccin

  • 1.2 Programacin de ordenadores y Lenguajes deProgramacin

    1.2.2.- Lenguajes de ProgramacinClasificacin de los lenguajes de Programacin Lenguajes de alto nivel Son lenguajes simblicos orientados al problema y no a la mquina

    en la que se ejecutan. Operaciones expresadas en caracteres numricos, alfanumricos y

    12

    Operaciones expresadas en caracteres numricos, alfanumricos yespeciales

    Es posible definir gran nmero de variables y elegir el identificadordeseado

    Instrucciones potentes y funciones diversas Versatilidad en la definicin de Instrucciones Permiten incluir comentarios Independencia de la CPU

    Contenido 1.- Introduccin

  • 1.3.- Traductores. Compiladores e Intrpretes

    Cualquier programa escrito en un lenguaje distinto dellenguaje mquina debe ser traducido para poder serejecutado en un ordenador.

    13

    TRADUCTORES:

    Compiladores

    Intrpretes

    Contenido 1.- Introduccin

  • 1.3.- Traductores. Compiladores e Intrpretes

    COMPILADORES Programa fuente Programa objeto

    Etapas de la Compilacin: Anlisis lexicogrfico

    14

    Anlisis sintcticoAnlisis semnticoGeneracin de cdigo intermedioOptimizacinGeneracin de cdigo

    Contenido 1.- Introduccin

  • 1.3.- Traductores. Compiladores e Intrpretes

    INTRPRETES Ejecutan sentencia a sentencia tantas veces como estas

    se repitan

    15

    Optimizacin no general

    Se traduce cada vez que se ejecuta

    Contenido 1.- Introduccin

  • 1.3.- Traductores. Compiladores e Intrpretes

    COMPARACIN Se usa un intrprete cuando el nmero de veces que va a ejecutarse

    es bajo y no hay problemas de velocidad Un programa bajo un intrprete puede ser interrumpido en cualquier

    momento y ser depurado. Continuar ejecutndose por la siguienteinstruccin.

    16

    instruccin. Los compiladores suelen incorporar herramientas de depuracin para

    facilitar la localizacin de errores. Los compiladores deben traducir nuevamente todo el programa cada

    vez que se corrige un error. Los lenguajes compilados consiguen ms eficiencia ya que optimizan a

    nivel global Los intrpretes resultan ms pedaggicos para aprender a programar.

    Contenido 1.- Introduccin

  • 1.4.- Paradigmas de Programacin

    Imperativo: Cmo Declarativo: Qu

    PARADIGMAS DE LOS LENGUAJES

    17 Contenido 1.- Introduccin

    PARADIGMA IMPERATIVO

    PARADIGMA DECLARATIVO

    PROG. ESTRUCTURADA

    PROG.ORIENTADA A

    OBJETOSPROG.

    DISTRIBUIDAPROG.

    LOGICAPROG.

    FUNCIONAL

    PROG.BASES DE

    DATOS