Vous êtes sur la page 1sur 12

Parcial 1

Importancia de Los
Lenguajes de
Programación
[Estructuras de Los Lenguajes de
Programación]
Fátima Álvarez 9-722-549

07
El Resumen del Capitulo 1: El estudio de los lenguajes de programación del
libro Lenguaje de programación de Terrence W. Pratt:

¿Por qué estudiar los lenguajes de programación?

1. Puede mejora el conocimiento del lenguaje que está usando.

Beneficia en el ahorro tiempo de computadora y evitar los errores de lógica.

2. Puede enriquece su vocabulario de construcciones útiles de programación.

Un programador con un rico vocabulario de construcción es capaz de aplicar conceptos que el


lenguaje utilizado no posee.

3. Permite una mejor selección del lenguaje de programación.

Facilita el desarrollo de un problema, pues, si se selecciona el lenguaje adecuado el mismo le


proporciona las herramientas necesarias para la solución sin necesidad de aplicar más código de
lo necesario.

4. Hace más fácil el aprendizaje de un nuevo lenguaje.

Al conocer la estructura de otros lenguajes es fácil aprender otro, pues, tienen características
similares.

5. Facilita el diseño de un nuevo lenguaje.

Al conocer como están estructurados otros lenguajes, se pueden utilizar para la elaboración de
otras estructuras aplicables en el diseño de otros lenguajes.

Principales influencias en la evolución de diseños de lenguajes:

1. Hardware de la computadora y sistemas operativos.

A medida que el hardware evoluciona se vuelve necesario cambiar también el código, pues,
también cambia la forma como el hardware ejecuta el código.
2. Aplicaciones.

A medidas que surgen nuevas necesidades deben surgir nuevos lenguajes que deben satisfacer
dichas necesidad.

3. Métodos de programación.

Los diseños de lenguajes han evolucionado para reflejar nuestro cambiante conocimiento de los
métodos nuevos para escribir programas largos y complejos.

4. Método de implementación.

El desarrollo de métodos para una mejor implementación ha afectado a la selección de las


características que se deben incluir en nuevos diseños.

5. Estudios teóricos.

La investigación en las fundaciones conceptúales para diseños de lenguajes e implementación,


usando métodos de matemática formal. Ha profundizado nuestro entendimiento de la fuerza y
debilidad de las características de los lenguajes.

6. Estandarización

La necesidad de lenguajes estándar que se puedan implementas con facilidad en varios sistemas
de computadoras.

Características de un buen lenguaje.

1. Claridad, simplicidad y unidad de los conceptos del lenguaje.

Un lenguaje de programación proporciona una estructura conceptual para pensar acerca de


algoritmos y un medio de expresar estos algoritmos para la ejecución en la máquina.

2. Claridad de la sintaxis del programa.

Que no sea engañosa o propensa a errores sino también permita que la estructura de un
programa, la cual usada adecuadamente permita que la estructura de un programa refleje las
estructuras lógicas señaladas del algoritmo.

3. Naturalidad es su aplicación.

El lenguaje debe proporcionar estructuras de datos adecuadas, operaciones, estructuras de


control y una sintaxis natural para resolver el problema.
4. Soporte de la abstracción.

Aún con el lenguaje más natural para una aplicación, hay siempre una brecha sustancial de las
estructuras de datos abstractos y las operaciones que caracterizan la solución de un problema
con las estructuras particulares de datos primarios y operaciones construidas en un lenguaje

5. Facilidad de verificación del programa.

La confiabilidad de programas escritos en un lenguaje es siempre una preocupación central.

6. Medio ambiente de la programación.

La estructura técnica de un lenguaje de programación es sólo un aspecto que afecta su utilidad.

7. Portabilidad de los programas.

Un criterio importante de muchos proyectos de programación es la facilidad de transportar los


programas resultantes de una computadora en la cual fueron creados a otros sistemas de
computación

8. Costo de uso.

El costo que es ciertamente un elemento principal en la evolución de cualquier lenguaje de


programación.

a. Costo de la ejecución del programa. El costo de la ejecución de un programa, aunque


siempre tenga alguna importancia en el diseño del lenguaje

b. Costo de la traducción del programa. Los programas de los estudiantes se compilan


muchas veces mientras se depuran, pero se ejecutan sólo unas veces. E tal caso es
necesario tener un compilador rápido.

c. Costo de la creación de un programa, prueba y uso. Un programa se diseña, se


codifica, se prueba, se modifica y se usa, el tiempo que demora tal proceso determinara
si es rentable.

d. Costo de mantenimiento de un programa. El mantenimiento incluye la reparación de


errores descubiertos después de que le programa fue puesto en uso, cambios requeridos
conforme al hardware o al sistema operativo.
1. Mejora el conociemiento del lenguaje usando

El lenguaje más utilizado por nosotros es el C, leyendo sobre expresiones


regulares buscamos identificar la verdadera función del scanf(“%[ ]”);.
Presentar ejemplos utilizados con sus respectivas observaciones y
comentarios. ¿Cuál es el papel de las expresiones regulares en el scanf?.

Las expresiones regulares son usadas en programación para hacer busquedas o


reconociemientos de cadenas, usando el scanf(“%[ ]”) para analizar la cadena
como un automata y definir si la cadena es reconocida o no dependiendo de las
producciones que se utilizen dentro del scanf(“%[ ]”) .

La función de los corchetes en el lenguaje de las expresiones regulares es


representar "clases de caracteres", o sea, agrupar caracteres en grupos o clases.
Son útiles cuando es necesario buscar uno de un grupo de caracteres.

Una condición particular del uso del scanf puede darse en el caso de los strings:
se puede especificar los caracteres ó grupos de caracteres que se desea leer, si
luego del % y encerrado entre corchetes [] se coloca un grupo de ellos, solo
serán enviados a la dirección del parámetro, aquellos que coincidan con los
mismos.

Ejemplo 1:
En este ejemplo la cadenas reconocidas por el scanf son las que contienen producciones
Abc, como se observa en la ejecución cuando la cadena tiene una A mayuscula es
reconocida por el scanf por que son las expresiones regulares que estamos buscando y
que son reconocidas como valores de entrada.

Ejemplo 2:

Por ejemplo %[0123456789] solo leerá los caracteres numéricos . Esto se puede
expresar, en forma más compacta como %[0-9]s. Así el scanf solo reconocerá las
cadenas de entrada que tengan números.

Ejemplo 3:
En este ejemplo se desea excluir del reconocimientos de la cadena, la letra a por ello
deberá escribirse: %[^a] , indicándose la exclusión mediante el símbolo ^ . La salida
que se obtendrá de penderá de la cadena de entrada. Si se escribe la cadena deca
scanf(“%[^a]”,palabra); reconocerá solo dec.

2. Enriquece su vocabulario de construcciones útiles de programación


Elabore un glosario de 10 términos nuevos para usted, que considera de importancia
en el área de la programación. Seleccione uno y haga un ejemplo.

Glosario
En esta sección defino 10 términos nuevos para mí que son de suma importancia en el
área de programación.

Lenguajes de Propósito Específico: Ciertos lenguajes incluyen sentencias que realizan


tareas complejas en contextos específicos. Existe una gran variedad de aplicaciones en
las que se utilizan este tipo de lenguajes como consultas de Bases de Datos, simulación,
descripción de hardware, robótica, música, entre otros.

Sistemas en Tiempo Real: Entornos que permiten modificar el código de una


aplicación en tiempo de ejecución de forma interactiva.

Programación imperativa: tiene como principal ventaja la eficiencia y sencillez de


aplicación.
Sin embargo, su utilización puede perjudicar la eficiencia de la representación interna
de las instrucciones, desperdiciando memoria para instrucciones pequeñas. Otras
desventajas son la dificultad para añadir instrucciones sin modificar el código anterior y
la falta de seguridad (es posible acceder a campos de la unión equivocados sin que el
compilador lo detecte.

Pragmática: Relación de los signos con sus intérpretes.

Semántica axiomática: Emplea un sistema formal de razonamiento sobre los


significados de los programas como una descripción del comportamiento del lenguaje.
El sistema permite estudiar formalmente las propiedades del lenguaje y se requiere la
utilización de sistemas consistentes y completos que no siempre son asequibles.

Package: Mecanismo principal de ocultamiento y de modularidad. Se distingue entre su


parte visible o interfaz. Además res una construcción versátil que permite la definición
de tipos de objetos abstractos o colecciones de procedimiento.
Implementación: Conjunto de criterios que aseguran que una representación, y sus
procedimientos asociados satisfacen un comportamiento definido por una especificación
algebraica.

Genericidad: Conjunto de características indefinidas o definidas (parámetros formales


e informales) que se incorpora al lenguaje de programación que permite una gran
económica de esfuerzo.

Orden Superior: Permite asociar a cada estructura de datos un conjunto de funciones


que encapsulan esquemas recursivos más frecuentes para tratar dicha estructura.

Estandarización: Permite crear lenguajes estándares que se puedan utilizar con


facilidad en varios sistema de computo y permite que los programas sean transportados
de una computadora a otra adecuándose a las necesidades de los usuarios sin mayores
complicaciones.

Corrutina: Estructura de control de subprogramas es útil en muchos programas, pero


pocos lenguajes brindan directamente una característica de ella.

He seleccionado el termino Estandarización para hacer un ejemplo del mismo


basándome en el concepto que este tiene en informática.

La estandarización de los programas reduce los costes de formación y soporte técnico, y


constituye la base de una nueva forma de ahorro comprando mediante una plataforma
de comercio electrónico. Esto le permitirá automatizar soporte técnico y, más
concretamente, la gestión de sus activos de software.

Por ejemplo, los ambientes de usuario, de tener muchísimos se han decantado en


cuatro; los sistemas operativos en cinco, y en la parte organizacional se
encuentra lo más importante. En particular tenemos que concentrarnos alrededor
del Proyecto GNOME, que es un éxito latinoamericano que nace en México, en la
Universidad Autónoma de México (UNAM). Esto es un ejemplo de cómo países
subdesarrollados industrialmente sí podemos tener posiciones de liderazgo a nivel
mundial, digitalmente. La prueba de ello es que está traducido a muchos
lenguajes del mundo.
Otro ejemplo significativo es la estandarización digital de la economía

El Sistema Educativo actual tiene que cambiar, no podemos invertir tantísimos años en
primaria, secundaria y preparatoria sentados en la banca, eso deforma a los
jóvenes, tenemos que concentrarnos en los primeros años de la vida, ese será el
verdadero Sistema Educativo: la Micro educación y así lograremos grandes avances
en el plano de desarrollo económico y social del país.
3. Permite una mejor selección del lenguaje de programación

Determine cual de los siguientes lenguajes recomienda para leer una línea de texto y
separarla en palabras : C, Pascal, PHP. Explique, ejemplifique y concluya.

El C es un lenguaje moderno de propósito general que combina las características de un


lenguaje de alto nivel (programación estructurada, tipos y estructura de datos,
recursividad, etc.) con una serie de características más propias de lenguajes de más bajo
nivel. Esta cualidad del C hace posible que el programador use la programación
estructurada para resolver tareas de bajo nivel, obteniendo un código ejecutable veloz y
eficiente. Debido a sus características de más bajo nivel, mucha gente considera al C
como un lenguaje de nivel medio.

Ejemplo:

/*Este programa lee una línea de texto y las separa en palabras*/


Conclusión:

Debido a la libertad de programación que proporciona el lenguaje C, se ha vuelto muy


popular y es el lenguaje más usado entre los desarrolladores profesionales de software
de aplicaciones comerciales (procesamiento de textos, bases de datos, aplicaciones
científico-técnicas, etc.). Además C, es un lenguaje pequeño (posee pocas instrucciones)
y conciso (no presenta instrucciones redundantes). El coste de un lenguaje tan potente y
útil es que no es particularmente fácil de aprender. De hecho, la programación segura y
fiable en este lenguaje requiere un conocimiento bastante profundo del mismo, pero hay
que resaltar que permite realizar tareas de una forma eficiente por esto lo recomiendo.

4. Facilita el diseño de un nuevo lenguaje

Analice la estructura de control conocida como GOTO. Identifique lenguajes que la


incluyen en su diseño y comente sobre nuevas estructuras de control inspiradas en el
uso de GOTO y en qué lenguajes aparecen. Explique, ejemplifique y concluya.

GOTO o GO TO: es una sentencia o instrucción muy común en los lenguajes de


programación con el objetivo de controlar el flujo del programa. El efecto de su versión
más simple es transferir sin condiciones la ejecución del programa a la etiqueta o
número de línea especificada. Es una de las operaciones más primitivas para traspasar el
control de una parte del programa a otra; tal es así que muchos compiladores traducen
algunas sentencias de control como GOTO.

La instrucción se puede encontrar en muchos lenguajes; uno de los primeros lenguajes


de alto nivel que lo incluyeron fue el FORTRAN, desarrollado en 1954. También se lo
encuentra en: Algol, COBOL, SNOBOL, BASIC, Lisp, C, C++, Pascal y Perl entre
otros, especialmente el lenguaje ensamblador. En este último se lo puede encontrar
como BRA (de branch: ramificar), JMP o JUMP (saltar o salto) y es, generalmente, el
único modo de organizar el flujo del programa.

Existe incluso en lenguajes usados para la enseñanza de programación estructurada,


como Pascal. Sin embargo, no está en todos los lenguajes de programación, en algunos
(como Java) es una palabra reservada y en el paródico lenguaje INTERCAL se utiliza
COME FROM (venir de).

Se pueden encontrar también variaciones de la sentencia GOTO. En BASIC, la


sentencia ON GOTO puede seleccionar de una lista de diferentes puntos del programa a
los que saltar. Podría ser interpretado como un antecesor de la sentencia switch/case.
También, en FORTRAN y algunas versiones de BASIC la línea a la que saltar podía ser
indicada mediante una expresión aritmética. Esto último era evitado ya que el código se
hacía aún más ilegible teniendo en cuenta la necesidad de hacer los cálculos de la
expresión de control para saber el destino del flujo del programa.

Estructuras de control como if, bucles for y do/while ,for/next fueron creadas inspiradas
en el uso de GOTO ya que facilitarían el trabajo del programador por qué GOTO hacia
la tarea más difícil, casi imposible.

Ejemplo:

Vous aimerez peut-être aussi