sábado, 10 de enero de 2015

OPINION

Gracias a los lenguajes de programacion es facil poder usar el ordenado de una forma muy comoda y simple de manejar. Se ve que destras de cada letra hay un numero de digitos que nosotros mismo no podiamos enterder seria locura, se tardaria mucho,seria complicado. Gracias a los informaticos e ingenieros hoy en dia es  facilisimo  usar inernet. Pienso que la informatica es el futuro y el avance y que aun queda mucho por hacer y descubrir. El lenguaje de programacion mas usado es el de java.

Programación Estructurada

Se refiere a un conjunto de técnicas que han ido evolucionando. Estas técnicas aumentan considerablemente la productividad del programa reduciendo el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y que reducen los errores. Ésta incorpora entre otros elementos: el diseño descendente, recursos abstractos y estructuras básicas. La programación estructurada es una forma de escribir programación de ordenador de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional ( GOTO ).

PROGRAMACIÓN MODULAR

La programación estructurada es una técnica de diseño de programas que comenzó a ponerse en
práctica a principios de los años 70. Su utilización tiene como objetivo paliar algunas deficiencias:
1. Los programas que están constituidos por un único bloque, más o menos grande, de código, dependiendo de la complejidad y tamaño de la aplicación, por ejemplo 5000 ó 6000 líneas de código sin comentar, sin documentar y sin estructurar, esto es, sin hacer uso de un sólo submódulo, son programas pocos legibles, difíciles de depurar y modificar y poco reutilizables.
2. Un problema complejo no puede solucionarse de una sola vez y con un único algoritmo; además, existen operaciones que se repiten una y otra vez a lo largo del programa, de tal manera que es necesario el mismo bloque de código pero con diferentes datos. Con el fin de dar solución a los puntos anteriores se introdujo la programación estructurada. Su objetivo primordial es resolver un problema, más o menos complejo, dividiéndolo en otros más sencillos, que ligados convenientemente, nos den la solución del problema original.
Cada subproblema se representará mediante uno o varios módulos según su complejidad. La idea es que estos módulos sean independientes, es decir, que se puedan modificar o reemplazar sin afectar al resto del programa o que puedan ser reutilizados en otros programas. Supongamos el siguiente ejemplo. “Un profesor quiere crear un programa para gestionar la notas de sus alumnos. Quiere que dicho programa le permita realizar tareas tales como asignar notas, cambiar notas, ver las notas según las distintas calificaciones, etc.” Un posible división del problema en módulos sería: Esta subdivisión nos permitiría, fácilmente, cambiar la forma de visualizar a los alumnos, reutilizar el módulo “Visualizar” en otro programa y sobre todo es mucho más fácil de comprobar su funcionamiento.
Por tanto, las ventajas del diseño modular se traducen, principalmente, en que los programas son:
más fáciles de escribir y probar (los módulos pueden escribirse y probarse separadamente)
más fáciles de mantener y documentar.

Lenguajes interpretados

Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.

Según la forma de ejecución

Lenguajes compilados

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.

lenguaje 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.

domingo, 21 de diciembre de 2014

lenguaje de progrmacion elemntos basicos

Elementos

Todos los lenguajes de programación tienen algunos elementos básicos primitivos para la descripción de los datos y de los procesos o transformaciones que se les aplican. Estas primitivas se definen por reglas sintácticas y semánticas que describen su estructura y significado respectivamente.

Sintaxis

Forma de la superficie de un lenguaje de programación que se conoce como su sintaxis. La mayoría de los lenguajes de programación son puramente textual, que utilizan secuencias de texto, incluyendo palabras, números y signos de puntuación, al igual que los lenguajes naturales escritos. Por otra parte, hay algunos lenguajes de programación que son más de carácter gráfico, utilizando las relaciones visuales entre símbolos para especificar un programa.
La sintaxis de un lenguaje describe las posibles combinaciones de símbolos que forman un programa sintácticamente correcta. El significado que se da a una combinación de símbolos es manejado por la semántica. Dado que la mayoría de lenguajes son textuales, este artículo describe la sintaxis textual.
Sintaxis del lenguaje de programación se define generalmente usando una combinación de expresiones regulares y el formulario Backus-Naur. A continuación se muestra una gramática simple, basado en Lisp:
 expresión :: = átomo | Lista átomo :: = número | ¿. número de símbolo :: = símbolo :: = * lista :: =''
Esta gramática especifica lo siguiente:
  • una expresión puede ser un átomo o una lista;
  • un átomo puede ser un número o un símbolo;
  • un número es una secuencia continua de uno o más dígitos decimales, opcionalmente precedidos por un signo más o menos;
  • es un símbolo de una letra seguida de cero o más de los caracteres, y
  • una lista es un par coincidente de paréntesis, con cero o más expresiones en su interior.
Los siguientes son ejemplos de bien formados secuencias simbólicas en esta gramática: '12345 ','',''
No todos los programas sintácticamente correctos son semánticamente correcto. Muchos programas sintácticamente correctas son, sin embargo, mal formada, según las reglas de la lengua, y pueden dar lugar a un error de traducción o ejecución. En algunos casos, estos programas pueden exhibir un comportamiento indefinido. Incluso cuando un programa está bien definido dentro de un lenguaje, todavía puede tener un significado que no está previsto por la persona que lo escribió.
Con un lenguaje natural como un ejemplo, puede que no sea posible asignar un significado a una oración gramaticalmente correcta o la frase puede ser falsa:
  • "Las ideas verdes incoloras duermen furiosamente". es gramaticalmente bien formados, pero no tiene significado generalmente aceptado.
  • "John es un soltero casado." es gramaticalmente bien formados pero expresa un significado que no puede ser verdad.
El fragmento siguiente lenguaje C es sintácticamente correcta, pero realiza operaciones que no se definen semánticamente:
 complejo * p = NULL; complejo abs_p = sqrt;
Si se omite la declaración de tipo en la primera línea, el programa daría lugar a un error de compilación, ya que no se definiría la "p" variable. Sin embargo, el programa todavía sería sintácticamente correcta, ya que las declaraciones de tipos proporcionan información sólo semántica.
La gramática necesaria para especificar un lenguaje de programación se puede clasificar por su posición en la jerarquía de Chomsky. La sintaxis de los lenguajes de programación se puede especificar mediante una gramática de tipo 2, es decir, son gramáticas libres de contexto. Algunos lenguajes, como Perl y Lisp, contienen construcciones que permiten la ejecución durante la fase de análisis. Idiomas que tienen construcciones que permiten al programador para alterar el comportamiento del analizador hacen análisis de sintaxis de un problema irresoluble y, en general desdibujan la distinción entre análisis y ejecución. En contraste con el sistema de macro Lisp y Perl a comenzar bloques, que pueden contener cálculos generales, las macros de C son meros reemplazos de cadenas, y no requieren la ejecución de código.