jueves, 29 de octubre de 2009

Diseño top down

El diseño top-down (divide y vencerás) consiste en dividir un problema en partes, de tal manera de crear subproblemas que sean más fáciles de resolver. Si estos subproblemas aún siguen siendo difíciles de resolver, se vuelve a dividir hasta llegar a pequeños problemas que se pueden resolver como módulos independientes.
El proceso bottom-up consiste en identificar las acciones más simples y combinarlas para lograr acciones más complejas, y así sucesivamente hasta llegar al resultado final.
http://www.internetycomputacion.info/dise_o_top_down.php

Diseño Top-Down

El diseño Top-Down fue promovido en la década de 1970 por el investigador de IBM Harlan Mills y Nickaus Wirth. Mills desarrolló conceptos de programación estructurada para utilizarlos y probarlos en un proyecto de 1969 que tenía como objetivo automatizar algunos procedimientos del periódico New York Times. El desarrollo de este proyecto hizo que se dispersara y se ampliara la idea de hacer los programas con esta filosofía de trabajo al resto de los desarrolladores de IBM, así como al resto de la industria del software. Por su parte, Nicklaus Wirth, desarrolló entre otros lenguajes, el lenguaje de programación Pascal, escribió un artículo muy importante acerca del Desarrollo de programas por medio de refinamiento de pasos. Esta idea de diseñar programas permaneció como principal corriente de desarrollo hasta fines de la década de 1980, cuando fue desplazada por la programación orientada a objetos, sin embargo continúa siendo una muy importante ayuda para el desarrollo de los métodos en los la programación orientada a objetos [7].

Figura. 27. Niclaus Wirth (izq.) y Harlan D. Mills (der.) fueron los primeros promotores del diseño Top-Down en la década de 1970.

La solución a los problemas computacionales puede llegar a se muy complicada y compleja. Cuando los programas son de miles de líneas, o componerse de diversos archivos de código, es imposible mantener todos los detalles del programa en mente cuando se desarrolla un algoritmo.

El diseño top-down es una herramienta que presenta en primer lugar una solución a un problema general utilizando tres o cuatro pasos solamente. Cada uno de esos pasos en la primera solución se dividen en otros subpasos. Este proceso se repite varias veces, en cada iteración se produce una solución más detallada al problema original. Cuando los pasos ya no se pueden subdividir, el algoritmo ha terminado. El diseño top-down también se conoce como
descomposición funcional o refinamiento de pasos
http://www.mailxmail.com/curso-informatica-ordenador-cientifico-desarrollo/diseno-top-down

Diseño Top-Down frente a modularización

Desacoplamiento

Clase 2: Usos, dependencias, especificaciones, MDDs (Diagrama de dependencia de

módulos).

Diagramas de uso: árboles, capas y ciclos.

Razonamiento.

Reusabilidad.

Orden de construcción.

Dependencias y especificaciones: MDDs para:

o Supuestos debilitados.

o Evaluación de cambios.

o Comunicaciones.

o Implementaciones múltiples.

http://mit.ocw.universia.net/6.170/6.170/f01/pdf/RS7.pdf


30/9/05 - Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa. La utilización de la técnica de diseño Top-Down tiene los siguientes objetivos básicos:
Simplificación del problema y de los subprogramas de cada descomposición.
Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.
El programa final queda estructurado en forma de bloque o módulos lo que hace más sencilla su lectura y mantenimiento.

http://zeret1405.blogspot.com/2008/09/funcion-comunicativa.html


martes, 27 de octubre de 2009

Iteracion o Lupin

Iteración
Repetición de una secuencia de instrucciones o eventos. Por ejemplo, en un lazo de programa, una iteración se produce una vez a través de las instrucciones del lazo.

http://www.mastermagazine.info/termino/5462.php




Ejecucion condicional

Un sistema para dar órdenes a un procesador de datos, el sistema incluye una raíz de instrucción que tiene un campo de selección de operación para seleccionar una operación que vaya a ser realizada por dicho procesador de datos y un prefijo de instrucción. El prefijo de instrucción tiene un campo seleccionado del grupo de un campo de ejecución condicional para seleccionar una condición bajo la que un procesador de datos realizará una operación seleccionada, un campo de modificación de longitud de operando para modificar la operación seleccionada que se vaya a realizar sobre un operando que tenga una longitud diferente, un campo de grupo de instrucción para seleccionar una longitud de un grupo de instrucción que incluye la raíz de instrucción, y un campo de selección de longitud de prefijo para seleccionar una longitud de dicho prefijo de instrucción. Se describe también un sistema procesador de datos sensible a este sistema de instrucción. Se describe también un sistema de instrucción para agruparse instrucciones estáticamente sin usar un prefijo de instrucción.
http://www.invenia.es/oepm:e99118986



Un aparato para la ejecución condicional cambiable en un procesador de VLIW se proporciona, abarcando unos o más decodificadores, unos o más ALU las unidades de control, y un archivo del registro. El decodificador carga y descifra instrucciones de una unidad del traer para descifrar y enviar las instrucciones descifradas al ALU con las unidades de control para la ejecución. El archivo del registro almacena y remite los resultados en los autobúses del resultado a los decodificadores. La ejecución de una instrucción de VLIW incluye una etapa del traer, una etapa del descifrar, etapas plurales de la ejecución y una etapa del write-back. La invención tiene las características de la sincronización aproximada de ASIC por write-back condicional con la ayuda del recopilador para el write-back condicional, condición resuelta momentos antes de write-back, de la edición condicional selectiva del software y de modos condicionales del write-back, y sin el dispositivo de seguridad del hardware/la dependencia que comprueban para saber si hay el procesador de VLIW.          http://es.patents.com/Apparatus-switchable-conditional-execution-a-VLIW-processor/US7412591/es-US/

 

Ejecución condicional mas simple: if

  1. Sintaxis

    El enunciado if tiene dos formas. La primera provee dos alternativas para ejecución. Si la condición es verdadera se ejecuta el cuerpo 1. Si la condición es falsa se ejecuta el cuerpo 2.

    if (condicion) cuerpo1 else cuerpo2

    La condición es una expresión booleana. Los cuerpos pueden ser enunciados simples o compuestos. Los enunciados compuestos los encerramos entre llaves.

    En la segunda forma podemos omitir la porción sobre la condición falsa. Lo utilizamos en el caso que no sea necesario ejecutar alguna acción cuando la condición es falsa. Si la condición es verdadera se ejecuta el enunciado. Si la condición es falsa no se lleva a cabo acción alguna.


    La condición debe de estar encerrada entre paréntesis.

    http://www.gaugeus.com/ramblings/2006/12/24/ejecucion-condicional-en-java-conditional-executions-in-java

Llamada a funcion

La llamada a una función especifica la relación entre los parámetros reales y los formales y ejecuta la función. Los parámetros se asocian normalmente por posición, aunque, opcionalmente, también se pueden asociar por nombre. Si la función tiene parámetros formales por omisión, no es necesario asociarles un parámetro real.

La llamada a una función devuelve un resultado que ha de ser recogido, bien asignándolo a una variable del tipo adecuado, bien integrándolo en una expresión.


http://www.gedlc.ulpgc.es/docencia/NGA/Ada2005/ada/general/function_call.html


Cuando se produce una llamada a función comprobamos:
Que hay una función declarada en alguna tabla de simbolos padre. Si no esta declarada se propaga un error semantico, y se continua el análisis.
Que el número de argumentos es igual al almacenado en el simbolo encontrado en la tabla de simbolos.
http://laurel.datsi.fi.upm.es/~rpons/gjsc/sintactico/node9.html

lunes, 26 de octubre de 2009

Programacion orientada a objetos

La Programación Orientada a Objetos :
(POO u OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.    http://es.wikipedia.org/wiki/Programación_orientada_a_objetos

La programación Orientada a objetos (POO):
 es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir nuestros programas en términos de objetos, propiedades, métodos y otras cosas que veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con este tipo de programación.    http://www.desarrolloweb.com/articulos/499.php


PROGRAMACION ORIENTADA A OBJETOS:

 una de las áreas más candentes en la industria y en el ámbito académico es la orientación a objetos. La orientación a objetos promete mejoras de amplio alcance en la forma dediseñodesarrollo y mantenimiento del software ofreciendo una solución a largo plazo a losproblemas y preocupaciones que han existido desde el comienzo en el desarrollo de software: la falta de portabilidad del código y reusabilidad, código que es dificil de modificar, ciclos dedesarrollo largos y tecnicas de codificacion no intuituvas.

Un lenguaje orientado a objetos ataca estos problemas. Tiene tres características basicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

El concepto de programación orientada a objetos (OOP) no es nuevo, lenguajes clásicos como SmallTalk se basan en ella. Dado que la OOP. se basa en la idea natural de la existencia de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos, un lenguaje se dice que está basado en objetos si soporta objetos como una característica fundamental del mismo.

El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos definir un objeto como un conjunto complejo de datos yprogramas que poseen estructura y forman parte de una organización.

Esta definición especifica varias propiedades importantes de los objetos. En primer lugar, un objeto no es un dato simple, sino que contiene en su interior cierto número de componentes bién estructurados. En segundo lugar, cada objeto no es un ente aislado, sino que forma parte de unaorganización jerárquica o de otro tipo.

http://www.monografias.com/trabajos/objetos/objetos.shtml

Procesamiento secuencial

En cambio, el procesamiento secuencial, tal como expresa la misma palabra, implica secuencialidad, temporalidad, dando sentido a las partes y no al todo. En su aplicación al campo educativo, el procesamientosecuencial se expresa en actividades como la de memorización de números y de palabras, la asociación entre letras y sus sonidos, el aprendizaje de las reglas gramaticales, la cronología de hechos históricos, seguir paso a paso el método científico, habilidades matemáticas y entender las reglas de muchos juegos. Podríamos decir que el procesamiento secuencial juega un papel muy importante en los aprendizajes basados en gran medida en la arbitrariedad. Queremos volver a insistir en el hecho de que la presentación de la Información sea de un tipo o de otro, no condiciona la modalidad de procesamiento que tiene lugar ni el tipo de respuesta. Es decir, por ejemplo, después de una presentación secuencial de la información puede tener lugar un proceso simultáneo de la misma y dar lugar a una respuesta secuenciada.

También hay que tener presente que un procesamiento no es nunca puramente simultáneo puramente secuencial, sino que se trata del predominio de un procesamiento sobre el otro (Das, Kar, Parrila, 1998). Además, a partir de un cierto nivel de complejidad se requieren ambas modalidades de procesamiento para todas las acciones cognitivas.

http://personal.us.es/jclares/de/3-21/Teorias%20procesamiento%20inform_17.htm


Procesamiento secuencial:

Del Modelo Computacional Simbólico
   La psicología de los años 60 entendía al hombre como un procesador activo de la información y quiso descubrir el sistema de procesamiento que a partir de los estímulos generaba respuestas de las personas. Dos orientaciones: 
Algunos como Neisser y Broadbent quisieron conceptualizar el pensamiento a través de la analogía del ordenador, 
Otros como Newel, Shaw y Simon intentaron crear programas de ordenador que simularan el pensamiento. Dos ejemplos: “El Teórico Lógico”, dedicado a probar teoremas de forma similar a la humana, y “El Solucionador General de Problemas”, equivalente en su actuación al comportamiento humano. 
Objeto de estudio: desarrollo del cálculo proposicional lógico.
Método: modelo ordenador de Von Neumann, que se caracteriza por ser un: 
Modelo de dos superestructuras: base de datos y ejecutivo. 
Modelo de procesamiento secuencial.

Modelo de Werner y Shannon
Los 
Modelos de Procesamiento de la Información:
Consideran:
Entre la entrada (inputs-estímulos) y la salida (respuestas) existen procesos que actúan sobre la información y la modifican determinando las características de la conducta observable.
Se asume la continuidad entre los diversos procesos cognitivos (no hay división entre pensamiento, memoria y percepción). Todo junto es la cognición.

Conciben al organismo como, incluyendo al hombre, como una entidad que busca, organiza, codifica, almacena y recupera información.
Objetan al conductismo por su dependencia en la filosofía empirista y el énfasis asignado a los E-R.
Los S.H. construyen un modelo o representación interna del ambiente y en base a ese modelo elaboran sus respuestas.

Aceptan la preestructuración genética para ciertos tipos de aprendizajes y consideran que la interacción entre esas predisposiciones y el ambiente crea formas características para percibir, organizar y responder.
Enfoques cognoscitivos:
La psicología cognoscitiva es un intento de integración entre la corriente conciencialista tradicional y los enfoques conductuales, ya que intenta comprender tanto la forma como la función de las ideas, imágenes, significados y todo aquello conceptualizado como información cognoscitiva y por estudiar las funciones de la mente en relación con sus manifestaciones conductuales.

BRUNER y la teoría de la categorización: En base al concepto de categorización describe procesos como percepción, aprendizaje, formación de conceptos y toma de decisiones.

AUSUBEL y el aprendizaje significativo: En base a la teoría del aprendizaje verbal significativo dice que las estructuras cognoscitivas son los conocimientos que en un momento determinado posee un individuo acerca de su ambiente y están constituidas por conceptos, categorizaciones, principios y generalizaciones. El aprendizaje consiste en modificar estructuras cognoscitivas y añadir significados.

GAGNE y el modelo jerárquico: 
Integra las teorías E-R y modelos de procesamiento de la información. Modelo acumulativo del aprendizaje que incluye cinco categorías ordenadas jerárquicamente de acuerdo a su complejidad y explica el proceso tomando en cuenta una serie de eventos externos o fases y un conjunto de procesos cognoscitivos internos.
Partiendo de este modelo ha dado sentido pragmático a sus ideas del diseño y planificación de la instrucción.

http://psicopsi.com/Procesamiento-secuencial-Modelos-Informacion


lunes, 19 de octubre de 2009

lunes, 12 de octubre de 2009

bucle while

El Bucle While en PHP se utiliza para ejecutar un pedazo de código mientras la condición siga siendo verdadera. Generalmente se suelen usar para contadores, o para mostrar registros de una base de datos.

En este ejemplo, el bucle finalizará cuando el contador llegué a 10. Lo haremos mediante una variable llamada $i, que se suele identificar como contador


El Bucle while o bucle mientras es una estructura de la mayoría de los lenguajes de programación estructurados cuyo propósito es repetir un bloque de código mientras una condición se mantenga verdadera.

http://es.wikipedia.org/wiki/Bucle_while

Bucle WHILE

Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces, siempre que se cumpla una condición. Se más sencillo de comprender que el bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la condición que se tiene que cumplir para que se realice una iteración.

http://www.desarrolloweb.com/articulos/567.php


For en diagrama de flujo

For en diagrama de flujo:

El bucle for o ciclo for es una estructura de control en la que se puede indicar el número máximo de iteraciones. Está disponible en casi todos los lenguajes de programación imperativos.
  • Variable de control: prácticamente un mandato impuesto por el uso habitual es utilizar la letra i como variable de control, o bien sus sucesoras en caso de bucles anidados. El uso de esta letra críptica quizás a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al código por su uso tan extensivo. Como raras veces los bucles anidados superan las tres dimensiones (por una sencilla cuestión de explosión exponencial), las letras i, j y k suelen ser las únicas relacionadas con este uso. En C se define en el primer parámetro de la instrucción junto con la inicialización (opcional).
  • Inicialización de la variable de control: en pseudolenguaje se pide explicitarlo (es la sección := ValorInicial), sin embargo, otros lenguajes más permisivos como C no lo requieren de forma obligatoria. De todos modos, la práctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del código. En C se define en el primer parámetro del bucle junto con la variable de control.
  • Condición de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la sección A ValorFinal). En C es el segundo parámetro y puede ser cualquier condición (ni siquiera es obligación que esté la variable de control, aunque una vez más, esto no se considera una buena práctica).
  • Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier número entero (léase bien entero, o sea que técnicamente podemos decrementar). En C es el último parámetro.
  • Cuerpo: es lo que se hará en cada iteración, pueden ser una o más instrucciones. En pseudolenguaje pesa la restricción de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena práctica.

Usos 

Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren según el índice. Por esto último, una condición mínima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programación.

http://es.wikipedia.org/wiki/Bucle_for


El bucle FOR se utiliza para repetir mas instrucciones un determinado número de veces. De entre todos los bucles, el FOR se suele utilizar cuando sabemos seguro el número de veces que queremos que se ejecute la sentencia

http://www.desarrolloweb.com/articulos/566.php

Iteración

Iteración en programación es la repetición de una serie de instrucciones en un programa de computadora. Puede usarse tanto como un término genérico (como sinónimo de repetición) así como para describir una forma específica de repetición con un estado mutable.

Cuando se usa en el primer sentido, la recursividad es un ejemplo de iteración, pero que usa su propia notación (notación recursiva), que no es el caso de iteración.

Sin embargo, cuando se usa en el segundo sentido (caso más restringido), la iteración describe el estilo de programación usado en lenguajes de programación imperativa. Esto está en contraposición de la recursividad, la cual tiene un enfoque más declarativo.

He aquí un ejemplo de iteración, en pseudocódigo imperativo:

 var i, a := 0        // inicializo a antes de comenzar la iteración  for i from 1 to 3 {  // ciclo 3 veces      a := a + i       // incremento a con el valor actual de i  }  print a              // se imprime el número 6 

En este fragmento de programa, el valor de la variable i cambia a medida que la ejecución del programa progresa, tomando los valores 1, 2 y 3. Este cambio de valor —o estado mutable— es característico de una iteración.

La iteración puede aproximarse por medio de técnicas recursivas en lenguages de programación funcional. El ejemplo que sigue está escrito en Scheme. Nótese que es un código recursivo (un caso especial de iteración), pues la definición de "cómo iterar", la función iter, se llama a sí misma de manera de solucionar la instancia del problema. Específicamente, usa recursión al final de la cola, la cual está presente en lenguajes como Scheme para que no se requiera usar grandes cantidades de espacio del stack.

http://es.wikipedia.org/wiki/Iteración

Iteración
Repetición de una secuencia de instrucciones o eventos. Por ejemplo, en un lazo de programa, una iteración se produce una vez a través de las instrucciones del lazo.

http://www.mastermagazine.info/termino/5462.php

Identacion

Indentación es un anglicismo de uso común en informática. Por indentación se entiende mover un bloque de texto hacia la derecha insertando espacios o tabuladores para separarlo del texto adyacente.

En los lenguajes de programación de computadoras, la indentación se utiliza para mejorar la legibilidad del código fuente por parte de los programadores, teniendo en cuenta que los compiladores o intérpretes raramente consideran los espacios en blanco entre las sentencias de un programa. Sin embargo, en ciertos lenguajes de programación como Haskell, Occam y Python, la indentación se utiliza para delimitar la estructura del programa permitiendo establecer bloques de código.

Son frecuentes discusiones entre programadores sobre cómo o dónde usar la indentación, si es mejor usar espacios en blanco o tabuladores, ya que cada programador tienen su propio estilo.


INDENTACION

Indentación de la primera línea de un párrafo. Es una propiedad que se aplica a elementos de tipo bloque, y acepta tanto un valor de longitud, como un porcentaje.

http://www.redtdt.org.mx/gruposred.php

Objetivo de la indentación

El objetivo fundamental de la indentación del código fuente es facilitar su lectura y comprensión. Hay dos tipos de posibles lectores del código fuente: programas y personas. A los programas les da igual la indentación, leen bien nuestro código siempre que cumpla la sintaxis del lenguaje. Luego la indentación debe centrarse en la lectura y comprensión del código por personas.

http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=indentacion

jueves, 1 de octubre de 2009

Programa raptor

Raptor es un diagrama de flujo basados en el entorno de programación, diseñado específicamente para ayudar a los estudiantes a visualizar sus algoritmos y evitar el equipaje sintáctica. RAPTOR programas se crean visualmente y ejecutado por el seguimiento visual de la ejecución a través del diagrama de flujo. Obligatorios de sintaxis se mantiene al mínimo. Los estudiantes prefieren utilizar los diagramas de flujo para expresar sus algoritmos, y tienen más éxito la creación de algoritmos basados en RAPTOR que el uso de una lengua tradicional o por escrito, sin los diagramas de flujo de rapaces.


Raptor Control Console

Constantes y variables.

Constantes

Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo:
pi = 3.1416

Variable

Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de un proceso, su contenido puede cambiar durante la ejecución del programa.
Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo.
Ejemplo:
area = pi * radio ^ 2
Las variables son : el radio, el area y la constate es pi

Clasificación de las Variables


Por su contenido
  • Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.
    Ejemplo:
    iva = 0.15 pi = 3.1416 costo = 2500
  • Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
  • Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).
    Ejemplo:
    letra = ’a’ apellido = ’lopez’ direccion = ’Av. Libertad #190’
Por su uso
  • Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.
    Ejemplo:
    Suma = a + b /c
  • Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
  • Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Expresiones

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.
Por ejemplo:
a + (b + 3) / c

Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas.

Una expresión consta de operadores y operandos. Según sea el tipo de datos que manipulan, se clasifican las expresiones en:
  • Aritméticas
  • Relacionales
  • Lógicas
  • http://www.desarrolloweb.com/articulos/2164.php

Lenguajes de programación.

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.

Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona.

Los lenguajes de programación son independientes de las computadoras a utilizar.

Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.

Hay lenguajes de programación que utilizan compilador.


La ejecución de un programa con compilador requiere de dos etapas:

1) Traducir el programa simbólico a código máquina
2) Ejecución y procesamiento de los datos.

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.

El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.

http://www.lenguajes-de-programacion.com/lenguajes-de-programacion.shtml