¡Descarga Actividad 8 lenguajes de programacion y más Apuntes en PDF de Lenguajes de Programación solo en Docsity!
LENGUAJES DE PROGRAMACION
PERIODO ESCOLAR: ENERO-JUNIO 2023
CATEDRATICO: JOSE ANTONIO JUAREZ COVARRUBIAS
ACTIVIDAD 8
LENGUAJES IMPERATIVOS
NOMBRE MATRICULA CARRERA
Diego Tristan Castro Franco 2109462 IAS GRUPO CALIFICACION 005
LENGUAJE IMPERATIVO
Un lenguaje imperativo es un tipo de lenguaje de programación. Es este tipo de lenguajes, las instrucciones se ejecutan unas tras otras, de manera secuencial, salvo cuando se encuentran estructuras de control condicionales o bucles. Hay declaración de variables, tipos y procedimientos, aunque esto varia notablemente en función del lenguaje utilizado, pues los que hay exigen las declaraciones mientras que otros permiten que esos elementos no sean declarados. Es un programa mediante una serie de comandos, agrupados en bloques y compuestos de ordenes condicionales que permiten al programa retornar a un bloque de comandos si se cumple la condición. CARACTERISTICAS Las dos características principales del paradigma imperativo son, por tanto, la existencia de estado modificable y la ejecución de sentencias de control del programa.
- Idea principal de la programación imperativa: la computación se realiza cambiando el estado del programa por medio de sentencias que definen pasos de ejecución del computador
- Estado de programa modificable
- Sentencias de control que definen pasos de ejecución
- Describe como debe realizarse el cálculo, no el porque
- Un cómputo consiste en una serie de sentencias, ejecutadas según un control de flujo explicito, que modifican el estado del programa
- Las variables son celdas de memoria que contienen datos (o referencias), pueden ser modificadas, y representan el estado del programa
- La sentencia principal es la asignación
- Basado en el modelo de computo de maquinas de Turing y sobre todo en las maquinas RAM (registro + acceso aleatorio a memoria)
- La gran mayoría de procesadores siguen una versión de ese modelo de computo + arquitectura Von Neumann ESTRUCTURA Lenguajes de programación imperativa o tradicional, donde lo importante es la secuencia de pasos, acciones y condiciones, para
• C#
• C++
- Ensambladores
- BASIC
- COBOL
- Python
- Ruby VENTAJAS Y DESVENTAJAS Hoy en día se utilizan los lenguajes de programación que se basan en el paradigma de programación imperativa. Por un lado, esto se debe a que este enfoque es la forma originaria de la programación. Por otro, lado el paradigma imperativo, a pesar de los modelos imperativos, todavía cuenta con ventajas prácticas. Estos lenguajes son comparativamente mas fáciles de aprender, ya que el código se lee como unas instrucciones paso a paso. Por esta razón normalmente los programadores empiezan su formación con el aprendizaje de un lenguaje imperativo. La buena legibilidad es un factor decisivo en el día a día laboral. Al fin y al cabo, el mantenimiento y la optimización de las aplicaciones no tienen por qué depender exclusivamente de una persona, sino que los puede llevar a cabo cualquier empleado, sin necesidad de que este haya escrito el código desde cero. Desventaja de la programación procedimental: si se deben solucionar problemas más complejos, el código se extiende en poco tiempo. Si bien sigue siendo fácil de leer, se reduce la claridad. Dado que, a diferencia de como ocurre en el estilo declarativo, la ejecución aquí no está claramente separada de la programación, se pueden producir efectos colaterales o errores no deseados si se hacen cambios a posteriori. Asimismo, también es más difícil implementar extensiones, a diferencia de como ocurre en el paradigma declarativo, en el que se pueden añadir de forma diferenciada mediante métodos. VENTAJAS
- Fácilmente legible
- Fácil de aprender en lo relativo a comportamientos
- Un modelo fácilmente comprensible para los principiantes (vía solución)
- Se pueden tener en cuenta características de casos especiales de la aplicación DESVENTAJAS
- El código se convierte rápidamente en demasiado amplio y difícil de abarcar.
- Mayor riesgo.
- El mantenimiento bloquea el desarrollo de la aplicación, ya que la programación funciona estrechamente con el sistema.
- La optimización y la ampliación son más difíciles. ESTRUCTURAS DE SELECCIÓN: Una decisión es la estructura según la cual se puede escoger uno de entro dos caminos lógicos dependiendo de una condición que al ser evaluada nos brinda la oportunidad de saber cual de los dos caminos escoger. La evaluación de dicha condición siempre va a originar una respuesta verdadera (cuando la condición se cumple) o falsa (cuando dicha condición no se cumple) y con ello se podrá saber cual es el conjunto de instrucciones a resolver. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if – then - else o en español si - entonces - sino) y en flujograma con una figura geométrica en forma de rombo La condición, en algoritmos técnicos, se podrá expresar en términos de dos tipos de operadores: los operadores racionales y los operadores booleanos. Recordemos que los operadores relacionales son aquellos que nos originan una respuesta verdadera o falsa y que corresponden a os símbolos mayor que, menor que, mayor o igual, menor o igual, igual (de comparación) y diferente de. Los operadores booleanos son aquellos que nos permiten establecer conexiones entre expresiones en donde aparezcan los operadores booleanos y corresponden a los operadores: AND: genera verdadero si todas las expresiones relacionales conectadas son verdaderas OR: genera verdadero si al menos una de las expresiones conectadas es verdadera
BASIC
C
ITERACION
Una de las características importantes que se pueden aprovechar de las computadoras es precisamente su capacidad de repetir la ejecución de secuencias de instrucciones a una gran velocidad y con alto grado de confiabilidad. Para estos fines, precisamente se definen en los lenguajes de programación las estructuras de control iterativas. El objeto de estas estructuras es permitir la expresión de la repetición de una secuencia de instrucciones, a estas estructuras se les denomina ciclo, lazo o bucle
FORTRAN
PASCAL
FORTRAN
PASCAL
BASIC
C