FP Apuntes U1

download FP Apuntes U1

of 17

Transcript of FP Apuntes U1

  • 8/15/2019 FP Apuntes U1

    1/17

    FuPrApu

    Antologíla carrer

    2014

     

    damentos degramación

    tes de la materia

    para la materia de Fundamentos de Programacióna de Ingeniería en Sistemas Computacionales.

    I.S.C. Gregorio Martínez Vásqgregorimexico@hotmail.

    01/08/

     

    del 1er. Semestre de 

    ez.om

    2014

  • 8/15/2019 FP Apuntes U1

    2/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    UNID

    1.1 CLASIFICACIÓN DEL S

    El software es la parte lógic

    realización de tareas específicas. E

    en 2 clases principales:

    1.- SOFTWARE DE SISTEMA.

    Se llama Software de Si

    programas que permiten la adminis

    física o los recursos de la computadla interacción entre el usuario y los

    se divide en:   Sistema operativo,drivers y los programas utilitarios

    Sistema operativo.

    •   Suministro de interfaz al usuainterfaces que se basan en com

    •   Administración de recursos:dispositivos de almacenamiento

    •   Administración de archivos: Cde programas.

    •   Administración de tareas:  Adejecutando en la computadora.uso de estos en la CPU, así com

    •   Servicio de soporte:   Los Seimplementaciones añadidas ade versiones, mejoras de segursoftware.

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    D 1. CONCEPTOS BÁSICOS.

    OFTWARE DE: SISTEMAS Y APLIC

    de computadora, lo intangible, permite el ma

    l software son los programas, los archivos, los

    stema o Software de Base al conjunto d

    ración del sistema de cómputo es decir la part

    ora, el software de sistema puede proporcionacomponentes hardware. El Software de Sistem

    los   controladores de dispositivos de E/Sde mantenimiento.

    El Sistema Operativo es un conjun

    administran los recursos de la comp

    funcionamiento y permite a las personas

    recursos a través de una interfaz amigable.

    Un Sistema Operativo realiza ci

    Suministro de Interfaz al usuario,   adminadministración de archivos, Administracióde soporte.

    rio: Permite al usuario comunicarse con la comndos, interfaces que utilizan menús, e interface

    Administran los recursos del hardware cosecundario y periféricos de entrada y de salid

    ontrola la creación, borrado, copiado y acceso

    inistra la información sobre los programas yPuede cambiar la prioridad entre procesos, coterminar programas.

    vicios de Soporte de cada sistema operatste, y pueden consistir en inclusión de utilidadidad, controladores de nuevos periféricos, o c

      temas Computacionales.

      [email protected]

     

    CIÓN.

    ejo de los recursos y la

    atos. Se puede dividir

    o de programas que

    tadora, controla su

    tener acceso a estos

    co funciones básicas:

    istración de recursos,n de tareas y servicio

    utadora por medio degráficas de usuario.

    o la CPU, memoria,.

    de archivos de datos y

    procesos que se estáncluirlos y comprobar el

    ivo dependen de lass nuevas, actualizaciónrrección de errores de

  • 8/15/2019 FP Apuntes U1

    3/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Controladores de dispositivos.

    Los Controladores de Dispos

    como el sistema operativo intera

    impresión.

    Programas utilitarios o de manteni

    Los Programas Utilitarios re

    de realizar tareas en general y de

    editor del registro de windows, el a

    2.- SOFTWARE DE APLICACIÓN.

    Son aquellos programas q

    específicas como redactar y editacálculos, manipular una base de

    tipos de software especializado

    software educativo,   software de

    asistido por computadora, edit

    contabilidad, etc., etc., también se c

    Las funciones de una aplicac

    categorías:

    Programas básicos (o utilitarios).

    Son aplicaciones cuyo pro

    Ejemplo de esto es el Winrar, cuya

    las calculadoras, cuya única funció

    función es abrir y trabajar archivos

    •   Antivirus: Prevención, detecció•   Compresor de archivos:   Me

    reduciendo el que ocupa cada

    •   Desfragmentador:  Mayor eficiproceso de búsqueda, guardan

    •   Software para respaldo: Gara•   Software de recuperación: Res

    Programas de productividad.

    Son aplicaciones cuyo prop

    ciertas tareas. Algunos programas d

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    itivos son programas que permiten a otros pro

    tuar con un dispositivo de hardware. Ejem

    miento.

    lizan diversas funciones para resolver problem

    mantenimiento. Algunos se incluyen en el sistema

    dministrador de tareas, el restaurador del siste

    ue nos ayudan a realizar tareas

    r textos, editar imágenes, realizaratos, navegar en internet, u otros

    s como software administrativo,

    iseño gráfico,   software de diseño

    res de música, programas de

    nocen como aplicaciones.

    ión dependen de su propósito, según el cual pu

    ósito es mejorar, en alguna forma, el dese

    única función es tratar los archivos comprimidos

    n es el algebra y calculo numérico; el Acrob

    PDF, etc. Algunos programas básicos o utilitarios

    y corrección de virus para ordenadores.

    jor aprovechamiento del espacio de almarchivo.

    encia en el uso del espacio de almacenamiedo la totalidad de cada archivo en ocupaciones

    tía de la disponibilidad de los datos, haciendo

    ablecer archivos borrados por error.

    sito es facilitar, agilizar y mejorar para el u

    e productividad son:

      temas Computacionales.

      [email protected]

     

    ramas de mayor nivel

    lo: el controlador de

    as específicos, además

    operativo. Ejemplos: El

    a, etc.

    den clasificarse en dos

    peño del ordenador.

    , especialmente los rar;

    at Reader, cuya única

    son:

    enamiento disponible,

    nto disponible y en elcontiguas.

    copias de ellos.

    suario, la ejecución de

  • 8/15/2019 FP Apuntes U1

    4/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    •   Procesadores de texto:   Aplicdocumentos de alta calidad.

    •   Hojas de cálculo:   Aplicacionanalizar conjuntos de números.

    •   Presentaciones automatizadaatractivas, incluyendo imágenes

      Navegadores de Internet: Aplirecursos.•   Administradores de bases de

    grandes colecciones de datos, e

    •   Desarrolladores de sitios web:diseñar, crear, editar y publica

    1.2 Algoritmo.

    En matemáticas, lógica, cien

    siguiente: Es un conjunto prescrito

    realizar una actividad mediante u

    quien deba realizar dicha activi

    entrada y siguiendo los pasos su

    obteniéndose un resultado o soluci

    estudio de la algoritmia.

    alg

    resson

    ap

    inst

    eje

    calcular el producto, el algoritmo d

    Euclides para obtener el máximo

    resolver un sistema lineal de ecuacio

    Medios de expresión de un algorit

    Los algoritmos pueden ser

    pseudocódigo, diagramas de fluj

    algoritmo usualmente puede hacers

    •   Descripción de alto nivel. Seser matemático y se explicaomitiendo detalles.

    •   Descripción formal.  Se usa upasos para llegar a la solución.

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    aciones diseñadas para editar y/o proces

    s especialmente diseñadas para introducir,

    : Aplicaciones que permiten al usuario creary sonidos.

    caciones diseñadas para proveer acceso a Int

    datos: Aplicaciones diseñadas para acceder,n una forma eficiente.

    Aplicaciones que brindan al usuario las herrapáginas y sitios Web.

    cias de la computación y disciplinas relacionad

    e reglas o instrucciones ordenadas, definidas

    a serie de pasos sucesivos no ambiguos y qu

    ad. Dado un estado inicial, una

    cesivos se llega a un estado final

    n. Los algoritmos son el objeto de

    En la vida cotidiana, se emplean

    oritmos frecuentemente para

    lver problemas. Algunos ejemploslos manuales de usuario, que muestran al

    rato, una receta de cocina para elabor

    ucciones que recibe un trabajador por parte

    plos en las matemáticas   son el algoritmo

    la división para calcular el cociente de dos n

    omún divisor de dos enteros positivos, o el

    nes.

    o

    expresados de muchas maneras, incluyend

    y lenguajes de programación entre otros.

    en tres niveles:

    stablece el problema, se selecciona un modeloel algoritmo de manera verbal, posibleme

    diagrama de flujo o pseudocódigo para de

      temas Computacionales.

      [email protected]

     

    r de texto, logrando

    calcular, manipular y

    editar presentaciones

    rnet, sus servicios y sus

    almacenar y procesar

    ientas necesarias para

    as, su significado es el

    y finitas que permiten

    e no generen dudas a

    oritmos para usar un

    r un alimento o las

    de su patrón. Algunos

    e multiplicación, para

    meros, el algoritmo de

    étodo de Gauss para

    al lenguaje natural,

    La descripción de un

    de solución que puedete con ilustraciones y

    scribir la secuencia de

  • 8/15/2019 FP Apuntes U1

    5/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    •   Implementación. Se muestra ealgún objeto capaz de llevar a

    Diagrama de flujo

    Los diagramas de flujo son

    flechas para indicar la secuencia de

    Los diagramas de flujo no

    abarcan mucho espacio y su constru

    Los algoritmos pueden ser

    pseudocódigo, diagramas de flujo

    natural tienden a ser ambiguas y ex

    Pseudocódigo.

    El pseudocódigo (falso códig

    alto nivel de un algoritmo que empl

    propias de lenguajes de programa

    por ningún estándar. Es utilizado p

    producto intermedio durante el des

    una ventaja importante sobre estos

    espacio para representar instruccion

    1.3 Lenguajes de Program

    Un lenguaje de programació

    ser llevados a cabo por máquinas

    controlen el comportamiento físico

    como modo de comunicación human

    Una característica relevante

    programador pueda usar un conju

    realizar la construcción de un progr

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    l algoritmo expresado en un lenguaje de procabo instrucciones.

    descripciones gráficas de algoritmos; usan sí 

    instrucciones y están regidos por la ISO.

    rmalmente se usan para representar algorit

    ción es laboriosa.

    expresados de muchas maneras, incluyend

    lenguajes de programación entre otros. Las d

    tensas.

    o,   falso lenguaje, el prefijo  pseudo significa  fals

    a una mezcla de lenguaje natural con algunas

    ción, como asignaciones, ciclos y condicionales,

    ara describir algoritmos en libros y publicaci

    rrollo de un algoritmo, como los diagramas de

    , y es que los algoritmos descritos en pseudoc

    es complejas.

    ación.

    Un lenguaje de programación

    diseñado para expresar computaci

    llevadas a cabo por máquinas co

    Pueden usarse para crear progra

    comportamiento físico y lógico de

    expresar algoritmos con precisión,

    comunicación humana. Está formad

    símbolos y reglas sintácticas y sem

    estructura y el significado de sus elem

    n es un lenguaje formal diseñado para expres

    como las computadoras. Pueden usarse para

    lógico de una máquina, para expresar alg

    .

    de los lenguajes de programación es precis

    nto común de instrucciones que sean compren

    ma de forma colaborativa.

      temas Computacionales.

      [email protected]

     

    ramación específico o

    bolos conectados con

    os pequeños, ya que

    al lenguaje natural,

    scripciones en lenguaje

    ) es una descripción de

    convenciones sintácticas

    aunque no está regido

    nes científicas, y como

    flujo, aunque presentan

    ódigo requieren menos

    es un idioma artificial

    nes que pueden ser

    o las computadoras.

    as que controlen el

    una máquina, para

    o como modo de

    por un conjunto de

    nticas que definen su

    ntos y expresiones.

    r procesos que pueden

    crear programas que

    ritmos con precisión, o

    mente que más de un

    idas entre ellos para

  • 8/15/2019 FP Apuntes U1

    6/17

  • 8/15/2019 FP Apuntes U1

    7/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    programa informático se le llam

    computadora que resolverá un prob

    través de los siguientes pasos:

    •   Análisis del problema. Deber•   Diseño de una solución. El des•   Codificación.   Escritura de la

    específico y un editor de textos.

    •   Compilación y ensamble dellenguaje de máquina. (program

    •   Prueba y depuración del proobtienen los resultados esperad

    •   Desarrollo de la documentació•   Implementación.   Instalación

    capacitación del operador del

    •   Mantenimiento. Corregir error•

      Evolución. Agregar nuevas fun

    Permite especificar de man

    deben ser almacenados o trans

    circunstancias. Todo esto, a través

    humano o natural.

    Definiciones de la programación.

    •   En informática, la programaprogramación), se compila, se

    informático.•   La programación es la acción

    lenguaje de programación, qoperaciones, con el objetivo de

    •   La programación es un conjuntoleer, depurar (poner a punto) y

    1.6 Paradigmas de progra

    “Paradigma

    ”.- Conjunto de teorías,

    representan una forma de organizar

    Los paradigmas de progra

    Informática, podemos decir que es

    rigen una determinada faceta o ár

    ni menos una serie de “normas”

    seguir a la hora de programar

    programación son:

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    programación. Es un proceso de creación

    lema en particular mediante la aplicación de p

    entenderse bien el problema y la solución.

    arrollo del algoritmo para resolver el problema

    lógica del programa empleando algún leng(escribir el  programa fuente).

    programa hasta dejarlo libre de   “errores de sia ejecutable).

    rama. Probar con datos reales el programaos.

    n. Elaboración del manual del sistema y del usudel nuevo programa en la computadora

    ismo.

    s no detectados en la etapa de prueba y depu

    ionalidades o cambiarlo a un lenguaje más act

    era precisa sobre qué datos debe operar u

    itidos y qué acciones debe tomar bajo u

    de un lenguaje que intenta estar relativamen

    ión es un proceso por el cual se escribeprueba, se depura y se mantiene el código f

    de escribir un conjunto de instrucciones escrie dirigen a una computadora para la ejecresolver un problema que se ha definido previ

    de técnicas utilizadas para desarrollar programodificar o mantener.

    mación.

    estándares y métodos que juntos

    el conocimiento [Kuhn 1970].

    ación en temas de Ingeniería

    un conjunto de “normas” que

    ea de conocimiento, son ni más

    ue todo programador ha de

    . Algunos paradigmas de la

      temas Computacionales.

      [email protected]

     

    de un programa de

    ocedimientos lógicos, a

    en particular.

    aje de programación

    ntaxis”  y convertirlo en

    para verificar que se

    ario.

    donde se utilizará y

    ración.

    alizado.

    a computadora, cómo

    a variada gama de

    e próximo al lenguaje

    (en un lenguaje deuente de un programa

    as en un determinadoción de una serie demente.

    as que sean fáciles de

  • 8/15/2019 FP Apuntes U1

    8/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    •   Paradigma de la programaciómás se ha utilizado en el psoportan lenguajes como ‘C’, ’B

    •   Paradigma de la programaciófunciones aritméticas que no ma

    como ‘Haskell’ y ‘Lisp’.•   Paradigma de la programaci

    concepto de función. Es un parlenguajes como ‘Prolog’.

    •   Paradigma de la Programaprogramación más utilizado yque se acerca al mundo realparadigma de programación lo

    •   Paradigma de la programacirelativamente nuevo, que incluydeterminada funcionalidad alaumentar la modularidad. Es

    programación ‘AspectJ’.

    Un paradigma de progra

    comunidad de programadores cuyo

    resolver uno o varios problemas c

    resolución de estos problemas de

    parámetro que afecte a la ingenie

    determinados lenguajes en su mom

    el tiempo en cuanto a aceptación

    que la sustituyen parcial o totalment

    El paradigma de program

    núcleo central de este paradigma e

    relacionable a su vez con otras enti

    1.7 Editores de texto.

    Un editor de texto es un pr

    digitales compuestos únicamente p

    como archivos de texto o texto pl

    bytes leídos según el código decomúnmente de 7- ó 8-bits en ASCII

    Por ejemplo, un editor AS

    hexadecimal 61) en el archivo lo r

    como la letra "a" y ofrecerá al us

    archivo.

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    n estructurada o imperativa. Es el paradigmasado. Muchos comenzamos a programar bajSIC’ o ‘Pascal’.

    n funcional. Paradigma de programación basnejan datos mutables o estados. Este paradigm

    ón Lógica.  Es un paradigma de programacidigma muy orientado a las matemáticas. Este

    ción Orientada a Objetos (POO). Es quizl que más éxito tiene a día de hoy. Graciasy nos permite aumentar la comprensibilidadsoportan lenguajes como ‘C++’, ‘Java’ y ‘C#’.

    ón orientada a Aspectos. Este es un paradie como característica el concepto de “Aspecto”sistema; separando esta funcionalidad del

    e nuevo paradigma de programación lo s

    mación es una propuesta tecnológica que

    núcleo central es incuestionable en cuanto a q

    laramente delimitados. Es un estilo de progr

    e suponer consecuentemente un avance signifi

    ría de software. Tiene una estrecha relación c

    nto de definición. Un paradigma de programa

    uso ya que nuevos paradigmas aportan nuev

    e.

    ción que actualmente es el más usado es el

    s la unión de datos y procesamiento en una ent

    ades "objeto".

    ograma que permite crear y modificar archiv

    or un texto sin formato, conocidos comúnment

    no. El programa lee el archivo e interpreta lo

    caracteres que usa el editor. Hoy en díao UTF-8, rara vez EBCDIC.

    II de 8 bits que lee el número binario 011

    presentará en la pantalla por la figura “a”,

    uario las funciones necesarias para cambiar e

      temas Computacionales.

      [email protected]

     

    de programación queo este paradigma. Lo

    da en la utilización dea lo soportan lenguajes

    n que se basa en elparadigma lo soportan

    ás el paradigma deque es un paradigmae los problemas. Este

    ma de programaciónque pretende dar unaistema, con el fin deporta el lenguaje de

    s adoptada por una

    ue únicamente trata de

    mación empleado. La

    cativo en al menos un

    on la formalización de

    ción está delimitado en

    as o mejores soluciones

    rientado a objetos. El

    idad llamada "objeto",

    s

    e

    s

    s

    0001 (decimal 97 ó

    ue el usuario reconoce

    l número binario en el

  • 8/15/2019 FP Apuntes U1

    9/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Los editores de texto son

    instalado y se usan cuando se deb

    scripts o el código fuente de algún

    El archivo creado por un ed

    extensión ".txt", aunque pueda ser

    dan al usuario total libertad en la d

    Al trasladar archivos de te

    menos dos convenciones diferentes

    cambio Microsoft Windows usa al té

    Tipos de editores de texto.

    Hay una gran variedad de

    diseñados para escribir o programimplementadas gran cantidad de fu

    El editor de texto debe se

    administrador de la máquina. Com

    de aprendizaje para que el usu

    aprendizaje es una representación

    editor puede ofrecer muchas funcio

    aprendizaje y terminará siendo de

    muy empinada y corta, pero si n

    productivo. Es decir la elección delsubjetivos.

    Hoy en día muchos editore

    sistemas operativos, lo que permite

    Algunos editores son sencillos mientr

    Editores para profesionales

    capacidad e la memoria RAM de

    espera disminuye la concentración

    para muchas cosas pues facilitan el

    Algunos editores de texto

    engorrosos o repetidos procedimien

    las necesidades del usuario, inclus

    adaptadas y es programable en Lis

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    incluidos en el sistema operativo o en algún

    n crear o modificar archivos de texto como ar

    rograma.

    itor de texto incluye por convención en DOS y

    cambiada a cualquier otra con posterioridad.

    enominación de sus archivos.

    to de un sistema operativo a otro se debe co

    ara señalar el término de una línea: Unix y Lin

    rmino de cada línea retorno de carro y salto d

    ditores de texto. Algunos son de uso general,

    r en un lenguaje. Algunos son muy sencillos, minciones.

    considerado como una herramienta de traba

    herramienta permite realizar ciertos trabajos,

    rio conozca y obtenga destreza en su uso.

    de la destreza adquirida a lo largo del tiem

    es, pero si su curva de aprendizaje es muy lar

    jado de lado. Puede que un editor tenga una

    ofrece muchas funciones el usuario le reem

    ditor más apropiado depende de varios factor

    s originalmente salidos de Unix o Linux han

    rabajar en otros sistemas sin tener que aprend

    s que otros ofrecen una amplia gama de funci

    deben ser capaces de leer archivos de gran e

    la máquina y también arrancar rápidamente

    y disminuye de por si la productividad. Los e

    rabajo.

    incluyen el uso de lenguajes de programa

    tos a realizar en el texto. Por ejemplo, Emacs

    o las combinaciones de teclas para ejecutar

    p.

      temas Computacionales.

      [email protected]

     

    paquete de software

    hivos de configuración,

    Microsoft Windows la

    Tanto Unix como Linux

    siderar que existen al

    ux usan sólo retorno en

    línea.

    ientras que otros están

    entras que otros tienen

    jo del programador o

    pero también requiere

    La llamada curva de

    o de aprendizaje. Un

    a, puede desanimar el

    curva de aprendizaje

    plazará por otro más

    es, alguno de ellos muy

    sido portados a otros

    r el uso de otro editor.

    nes.

    xtensión, mayor que la

    ya que el tiempo de

    ditores de texto sirven

    ión para automatizar

    puede ser adaptado a

    funciones pueden ser

  • 8/15/2019 FP Apuntes U1

    10/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Muchos editores de texto

    completar una palabra iniciada usa

    •   Editores diseñados para un l

    macros, completar palabras, etc

    •   Editores con regiones plegables

    de editores ciertas regiones cusuario solo lo importante del te

    •   Un Entorno de desarrollo integ

    trabajo, como compiladores, ex

    un solo programa.

    1.8 Compiladores e intérp

    Existen dos tipos principale

    Compilador e intérprete.

    ¿Qué es un compilador?

    Un compilador es un progra

    de errores y de no haberlos traduc

    de programación, generando un

    que la máquina será capaz de inte

    segundo lenguaje es lenguaje de

    puede ser un código interm

    simplemente texto. Este proceso de

    como compilación. La imagen muedel compilador.

    El compilador deriva su nom

    recolectando y reorganizando las in

    toma cada línea de código y la ana

    Los compiladores requieren

    programas creados con compilado

    con un intérprete.

    Cada lenguaje de program

    compilador.

    Dado que los compiladores

    tipo de máquina, existen múltiples c

    compilador para PC, otro para

    compiladores para una misma plata

    compiladores propios para lenguaj

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    incluyen coloreado de sintaxis y funciones q

    do para ello la configuración. Algunas funcione

    nguaje de programación determinado, con

    .

    . A veces no todo el texto es relevante para e

    n texto irrelevante pueden ser plegadas, escxto.

    rado es un programa que incluye un editor y

    tractores de diferencias entre dos textos, repos

    retes.

    s de traductores de los lenguajes de progr

    ma informático que revisa la sintaxis de un pro

    un programa escrito en un lenguaje de progra

    rograma equivalente

    rpretar. Usualmente el

    áquina, pero también

    dio (bytecode), o

    traducción se conoce

    tra el funcionamiento

    bre de la manera en que trabaja, buscando en

    strucciones. Un compilador difiere de un intérpr

    liza y ejecuta mientras que el compilador mira

    de un tiempo antes de poder generar un ejec

    es se ejecutan mucho más rápido que un mism

    ción de alto nivel (excepto los estrictamente im

    traducen código fuente a código objeto, el c

    ompiladores para un mismo lenguaje. Por ejem

    pple Macintosh, además existen muchas em

    forma y un mismo lenguaje, por ejemplo Micros

    C.

      temas Computacionales.

      [email protected]

     

    ue ofrecen al usuario

    s especiales son:

    coloreado de sintaxis,

    l usuario. Con este tipo

    ondidas, mostrando al

    otras herramientas de

    itorios, etc., incluidos en

    mación de alto nivel:

    grama fuente en busca

    mación a otro lenguaje

    todo el código fuente,

    te en que el intérprete

    l código por completo.

    table, sin embargo los

    o programa ejecutado

    perativos) viene con un

    al es único para cada

    plo lenguaje C tiene un

    resas que desarrollan

    oft y Borland tienen sus

  • 8/15/2019 FP Apuntes U1

    11/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Etapas del proceso de compilación

    1.   Codificación o Edición. Estaeditor. Como resultado nos da

    2.   Compilación.   En esta fase smáquina. Si no se

    En caso de errores el compilcompilarlo de nuevo, una vez

    3.   Linkeado.  Esta fase consisteinternas del lenguaje, obtenie

    Tipos de linkados.

    •   Linkado estático.  Los binariosarchivo ejecutable.

    •   Linkado dinámico.  No se añ

    memoria las librerías que en es

    Una vez traducido, compila

    podrán surgir problemas y fallos,

    anteriormente citado, de modo que

    Partes de un compilador.

    •   Front End.   Es la parte quederivación y rellena los valores

    plataforma o sistema para el cu

    •   Back End.  Es la parte que genresultados de la fase de análisis

    Esta división permite que el

    lenguajes de programación distintos

    un programación concreto sirva par

    El código que genera el B

    necesita ser enlazado por un progr

    Tipos de compiladores.

    Esta taxonomía de los tipos de

    que se adscriban a varias categoría

    •   Compiladores cruzados. Gene

    •   Compiladores optimizadores.manteniendo la funcionalidad d

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    .

    fase consiste en escribir el programa emplean

    rá el código fuente de nuestro programa.

    e traduce el código fuente obtenido en la f

    produce ningún error se obtiene

    dor los mostraría para que el programador pcorregidos.

    en unir el archivo generado en la fase 2 co

    do el programa ejecutable.

    e las librerías se añaden a nuestros binarios co

    den las librerías a nuestro binario sino que h

    momento se necesiten.

    do y linkado el archivo está listo para su ej

    para los cuales tendríamos que volver a re

    puedan ser corregidos.

    naliza el   código fuente, comprueba su valid

    de la   tabla de símbolos. Esta parte suele se

    al se vaya a compilar.

    era el código máquina, específico de una plat

    , realizada por el Front End.

    mismo Back End se utilice para generar el có

    y que el mismo Front End que sirve para anali

    la generación de código máquina en varias pl

    ack End normalmente no se puede ejecutar

    ma enlazador (linker).

    compiladores no es excluyente, por lo que pue

    s:

    an código para un sistema distinto del que está

    Realizan cambios en el código para mejor

    l programa original.

      temas Computacionales.

      [email protected]

     

    o algún lenguaje y un

    ase anterior a código

    el código objeto.

    roceda a corregirlos y

    determinadas rutinas

    mpilados generando el

    rá que se carguen en

    cución donde también

    lizar todo el proceso

    z, genera el  árbol de

    r independiente de la

    forma, a partir de los

    igo máquina de varios

    ar el código fuente de

    ataformas distintas.

    irectamente, sino que

    e haber compiladores

    funcionando.

    ar su eficiencia, pero

  • 8/15/2019 FP Apuntes U1

    12/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    •   Compiladores de una sola pacódigo fuente.

    •   Compiladores de varias pasaproducir el código máquina.

    •   Compiladores JIT (Just In Timse necesitan.

    ¿Qué es un intérprete?

    En ciencias de la computació

    informático capaz de analizar y ej

    de alto nivel. Los intérpretes se di

    estos traducen un programa desde

    al código máquina del sistema, los

    que sea necesaria, típicamente,

    guardan el resultado de dicha trad

    intérprete.

    Etapas del proceso de interpretació

    A la hora de construir un i

    lenguaje fuente a analizar. De est

    descompone en los módulos:

    •   Traductor a Representación IFuente, lo analiza y lo transform

      Representación Interna (P/RI)original. Entre los tipos de reprcaracterísticas del lenguaje lo

    eficiencia.

    •   Tabla de símbolos.   Duranteinformación relativa a los símb

    símbolos depende de la com

    instrucciones de salto, informaci

    cualquier otro tipo de informaci

    •   Evaluador de Representación Ide entrada, se llevan a cabo l

    de evaluación es necesario cont

    •   Tratamiento de errores. Durandesbordamiento de la pila, divi

    Tipos de intérpretes

    Intérpretes puros. Son los que analel modelo de interpretación iterativ

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    sada. Generan el código máquina a partir d

    das.   Necesitan leer el código fuente varias

    ).  Forman parte de un intérprete y compilan p

    n, un intérprete o interpretador es un program

    ecutar otros programas, escritos en un lenguaj

    ferencian de los compiladores en que mientra

    su descripción en un lenguaje de programació

    intérpretes sólo realizan la traducción a medid

    instrucción por instrucción, y normalmente n

    cción. La figura muestra el funcionamiento de u

    n.

    ntérprete es conveniente utilizar una Represe

    forma, la organización interna de la mayorí 

    terna. Toma como entrada el código del pra a la representación interna correspondiente a

    . La representación interna debe ser consistsentación interna, los árboles sintácticos son los

    permiten, pueden utilizarse estructuras de

    l proceso de traducción, es conveniente ir c

    olos que aparecen. La información a almace

    lejidad del lenguaje fuente. Se pueden alm

    n sobre identificadores (nombre, tipo, línea en l

    n que se necesite en la etapa de evaluación.

    nterna. A partir de la Representación Internas acciones indicadas para obtener los resulta

    mplar la aparición de errores.

    e el proceso de evaluación pueden aparecer

    iones por cero, etc. que el intérprete debe cont

    izan y ejecutan sentencia a sentencia todo el p

    y, por tanto, se utilizan principalmente para le

      temas Computacionales.

      [email protected]

     

    una única lectura del

    veces antes de poder

    artes del código según

    e

    s

    n

    o

    n

    tación Interna (RI) del

    a de los intérpretes se

    grama P en Lenguaje

    dicho programa P.

    nte con el programamás utilizados y, si las

    pila para una mayor

    reando una tabla con

    ar en dicha tabla de

    cenar etiquetas para

    a que aparecen, etc.) o

    anterior y de los datos

    os. Durante el proceso

    diversos errores como

    mplar.

    ograma fuente. Siguen

    nguajes sencillos.

  • 8/15/2019 FP Apuntes U1

    13/17

  • 8/15/2019 FP Apuntes U1

    14/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Intérpretes y compiladores ventaj

    •   Un intérprete facilita la búsque

    en cualquier momento para est

    puede modificarse sobre la mar

    •   Un compilador suele generar

    fuente se hace una sola vez,intérprete se ve obligado gen

    (incluso miles o millones de vece

    •   Un intérprete permite utilizar fu

    contenido en una variable en f

    es imposible de tratar por medi

    y que, por tanto, exigen un i

    permiten el uso de un compilad

    1.9 Ejecutables.

    En informática, un ejecutabl

    mayormente, archivo binario cuyo c

    Generalmente, contiene ins

    también puede contener bytecode

    llamadas a funciones específicas de

    Dependiendo del tipo de q

    pueden ejecutar en varias platafejemplo, un ejecutable Java es p

    concreto.

    Sin embargo en un sentido

    contener código de máquina, sino q

    de ejecutables son conocidos con el

    Dete

    convención.

    terminación .

    de ejecución

    En la

    mucha infor

    imágenes, r

    depuración,

    programa.

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    s e inconvenientes.

    a de errores, pues la ejecución de un progra

    diar el entorno (valores de las variables, etc.).

    cha, sin necesidad de volver a comenzar la ejec

    rogramas más rápidos y eficientes, ya que

    durante la generación del programa equiveralmente a analizar cada instrucción tantas

    ).

    nciones y operadores más potentes, como por e

    rma de cadenas de caracteres. Usualmente, e

    o de compiladores. Los lenguajes que incluyen e

    térprete, se llaman interpretativos. Los lengu

    r, prescinden de este tipo de operadores.

    e o archivo ejecutable, es tradicionalmente un

    ntenido se interpreta por el ordenador como u

    rucciones en código máquina de un procesa

    que requiera un intérprete para ejecutarlo.

    un sistema operativo (llamadas al sistema).

    e se traten las instrucciones, hablaremos de ej

    rmas) y no portables (destinado a una plartable ya que utiliza un bycode no asociad

    ás general, un programa ejecutable no tiene

    ue puede tener instrucciones a interpretar por o

    nombre de scripts.

    minar si un archivo es ejecutable es sobre

    nos sistemas operativos se basan en la extensi

    exe) y otros lo hacen leyendo los metadatos (c

    en Unix).

    mayoría de los sistemas modernos, un archi

    ación que no es parte del programa en sí:

    equisitos del entorno de ejecución, inform

    u otra información que ayude al sistema o

      temas Computacionales.

      [email protected]

     

    a puede interrumpirse

    Además, el programa

    ución.

    l análisis del lenguaje

    alente. En cambio, unveces como se ejecute

    jemplo ejecutar código

    te tipo de instrucciones

    ste tipo de operadores

    jes compiladores, que

    , o como se le conoce

    programa.

    dor en concreto, pero

    demás suele contener

    ecutables portables (se

    aforma concreta). Poro a un procesador en

    or qué necesariamente

    tro programa. Este tipo

    todo una cuestión de

    ón de archivo (como la

    mo los bits de permiso

    vo ejecutable contiene

    ecursos como textos e

    ción simbólica y de

    erativo a ejecutar el

  • 8/15/2019 FP Apuntes U1

    15/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Un ejecutable es un archivo

    instrucciones precisas para poder e

    realizar todo tipo de tareas, pero

    decírsele paso a paso lo que hacer

    y el sistema operativo carga coma

    tarea de un programador cuando

    comandos básicos que ya sabe paimagen, escribir texto, guardar un d

    Generalmente la extensión

    abreviar executable en inglés), p

    distintas: por ejemplo, los  .com (quepermitían encadenar la ejecución d

    que contienen información adiciona

    reseñar que en general cualquier a

    que es el sistema operativo quien l

    cabo, (recordemos que es el S.O.para ejecutar el programa). Hay ex

    El archivo ejecutable puede

    siempre él quien inicie la ejecución,

    que la luz se encienda. Para crea

    permitirá crear un  código fuente ent

    el ordenador (proceso que se llama

    puede ser leído por el ordenador,

    varían según la plataforma y el obj

    Un caso que merece menció

    instrucciones para realizar las l

    cuenta. La ventaja de estos autoeje

    el programa original para ejecuta

    ejecutados en cualquier computador

    También se dice muchas ve

    texto ejecuta un documento, o un re

    aunque no sería correcto técnicam

    no son archivos ejecutables, sino má

    en su interior siempre las instruccion

    1.10 Consola de línea de

    La   Línea de Comandos deinterfaz gráfica de las diversas vers

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    iseñado para poder iniciar un programa. En s

    jecutar un programa determinado o varios. Lo

    para ello debe indicárseles como. Son como

    y cuando. En su memoria base suelen cargarse l

    ndos adicionales, que le permiten realizar las

    hace un programa es decirle al ordenador

    ra poder realizar lo que el programa quiereocumento… etc.

    ás común para los ejecutables es la  .exe enero también existen diversos tipos de ejecu

    fueron los primeros), los  .bat (archivos de proce varios programas sucesivamente), incluso alg

    l para el sistema operativo y pueden ser ejec

    chivo ejecutable necesita un sistema operativo

    le permite al ordenador entender lo que dice

    uien carga en el ordenador las órdenes básicepciones a esta norma, pero son pocas.

    venir solo o bien acompañado de más archiv

    arga y manejo de esos archivos. Es como el int

    los, el programador suele usar un lenguaje d

    endible para él y luego codificarlo para que p

    ensamblaje). La codificación genera un resultad

    pero no por el propio programador. Los leng

    tivo, existiendo muchos y muy distintos.

    n son los archivos autoejecutables, que ya inc

    bores necesarias por su

    utables es que no precisan

    se, por lo que pueden ser

    .

    es que un procesador de

    roductor ejecuta un video,

    nte hablando, puesto que

    s bien lee los datos contenidos en él. Un archiv

    s necesarias para ejecutar o iniciar un program

    omandos

    Windows   es una implementación de la coniones Microsoft Windows.

      temas Computacionales.

      [email protected]

     

    interior están pues las

    s ordenadores pueden

    un niño a quien debe

    as instrucciones básicas,

    tareas más simples. La

    como debe usar esos

    hacer, sea mostrar una

    indows (que viene de

    ables con extensiones

    samiento de lotes, que

    nas librerías como  .dllutados por este. Es de

    ara ejecutarse, puesto

    el archivo y llevarlo a

    cas que luego servirán

    s. El caso es que será

    rruptor que da pasó a

    programación que le

    eda ser entendido por

    o en código ASCII, que

    ajes de programación

    luyen en su interior las

      ejecutable debe traer

    a.

    sola MS-DOS para la

  • 8/15/2019 FP Apuntes U1

    16/17

     

    Fundamentos de Programación.

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    A partir de la versión de

    complemento de sistema, sin que pe

    Evolución de la línea de comando

    Una versión previa de la lí 

    versión 2.0 de Windows, la cual pemisma línea de comandos que el

    protección de memoria para el siste

    La línea de comandos de

    Windows 3.0 sin entregar más fun

    independiente al entorno gráfico d

    DOS por ejecución de consola, re

    ventaja permitía que el usuario pu

    modo gráfico.

    En las versiones de Windo

    usuario y se podía encontrar como

    línea comando como un hilo abs

    problemas de protección de memo

    azules de la muerte, que es una lla

    Los sistemas operativos Win

    no se basa en un intérprete de com

    un elemento esencial para el sistem

    accesorio del sistema.

    Comandos del MS-DOS.

    Los comandos MS-DOS son

    desde la ventana de la  consola deen los siguientes enlaces:

    http://www.escet.urjc.es/~emartin/

    http://www.monografias.com/traba

    http://es.wikipedia.org/wiki/MS-D

    O ejecuta el intérprete de

    todos los comandos incluidos en co

    con otros ficheros ejecutables DOS.

    Ingeniería en Sis

    I.S.C. Gregorio Martínez Vásquez. gre

      SUPERIOR  edellín

    indows XP, la línea de comandos pasó a s

    diera la funcionalidad de la misma.

    .

    ea de comandos y el formato de archivos b

    mitía crear archivos con extensión pif, los cualehilo principal del sistema operativo, lo que

    ma operativo.

    indows como accesorio de sistema existió a

    cionalidades adicionales, a excepción de ejec

    el sistema, entregando la posibilidad de crear

    arando los problemas de la versión anteces

    diera invocar programas desde la consola de

    s 95 y 98, la línea de comandos cargaba l

    un accesorio de sistema, el cual puede invoc

    olutamente independiente al sistema operati

    ia persistían en esta versiones de Windows, g

    ada crítica de inestabilidad del sistema operati

    ows XP y Vista, al encontrarse basados en el

    ndos en modo texto (MS-DOS), por lo cual la lí 

    operativo. Aun así, la línea de comandos se si

    las instrucciones que le damos al sistema ope

    línea de comandos. Puedes checar la lista de

    urso0/2-ComandosDOS.pdf

    jos17/ms-dos-comandos/ms-dos-comandos.shtm

    S

    comandos ms-dos y escribe help, luego presi

    mand.com. Otros comandos (deltree o edit por

      temas Computacionales.

      [email protected]

     

    gundo plano como un

    tch, fue lanzada en la

    s eran ejecutados en laroducía problema de

    artir de la versión de

    utarse en una ventana

    más de una sesión de

    ora de Windows. Esta

    comandos sin salir del

    a interfaz gráfica del

    r a procesos desde la

    vo, pero aun así, los

    enerando las pantallas

    vo.

    úcleo de Windows NT,

    nea de comandos no es

    ue incluyendo como un

    ativo de forma escrita

    comandos del MS-DOS

    l

    ona Enter. Aparecerán

    ejemplo) son llamados

  • 8/15/2019 FP Apuntes U1

    17/17

     

    Fundamentos de Programación

    INSTITUTO TECNOLÓGICDE ALVARADO – Campus

    Continuara...

    Ingeniería en Sis

    I S C Gregorio Martínez Vásquez gre

      SUPERIOR  edellín   temas Computacionales.

    orimexico@hotmail com