










Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Lenguajes y Automatas II Lenguajes y Automatas II Lenguajes y Automatas II Lenguajes y Automatas II Lenguajes y Automatas II Lenguajes y Automatas II
Tipo: Apuntes
1 / 18
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!











División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 FECHA 10/11/ GRUPO 5601 LENGUAJES Y AUTÓMATAS II Actividad No. 18. Generación de código intermedio. ESTRUCTURAS CONDICIONALES. TRABAJO EN EQUIPO: El TESE desea: Un reporte con la investigación con por lo menos tres referencias para: Reconocer el manejo de ESTRUCTURAS CONDICIONALES , para un metacompilador. Desarrolle la Actividad con Grafos sintácticos (Diagrama de Conway) y expresiones de la forma BNF.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que, en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. v Simples: Las estructuras condicionales simples se les conoce como . Estas tomas de decisión tienen la siguiente forma: Pseudocódigo: Diagrama de flujo: v Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Pseudocódigo: Diagrama de flujo:
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Pseudocódigo: Diagrama de flujo:
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional. El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y está contenida por la rama del falso de la primera estructura. Es común que se presenten estructuras condicionales anidadas aún más complejas. EJEMPLO Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes: Si el promedio es >=7 mostrar "Promocionado". Si el promedio es >=4 y <7 mostrar "Regular". Si el promedio es <4 mostrar "Reprobado".
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Analizando el diagrama. Se ingresan tres valores por teclado que representan las notas de un alumno, se obtiene el promedio sumando los tres valores y dividiendo por 3 dicho resultado (Tener en cuenta que si el resultado es un valor real solo se almacena la parte entera). Primeramente, preguntamos si el promedio es superior o igual a 7, en caso afirmativo va por la rama del verdadero de la estructura condicional mostramos un mensaje que indica "Promocionado" (con comillas indicamos un texto que debe imprimirse en pantalla). En caso de que la condición nos dé falso, por la rama del falso aparece otra estructura condicional, porque todavía debemos averiguar si el promedio del alumno es superior o igual a cuatro o inferior a cuatro. Estamos en presencia de dos estructuras condicionales compuestas.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2
Tres diferentes lenguajes de programación. Elemento C++ Java Ruby ESTRUCTURAS CONDICIONALES Y LAS REGLAS PARA SU CONSTRUCCIÓN. if(condición a evaluar) //Por ejemplo 50 <= 10{....Bloque de Instrucciones si se cumple la condición........}else{....Bloque de Instrucciones si NO se cumple la condición........} if (condicion) { ejecutar(); }
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Nombre_ Galván Espinosa Diego Grupo 5601 Asignatura Lenguajes y autómatas II Fecha 10/11/ Actividad No. 18 firma Diego Objetivo de la práctica: Reconocer el manejo de estructuras condicionales Competencia a desarrollar: Conocer Diagramas de conway y expresiones de la forma BNF Desarrollo de la Actividad individual. ¿Qué ventajas y desventajas conlleva la Generación de código intermedio de estos elementos? La generación de código Ventajas del código intermedio Se pueden utilizar optimizadores independientes de la máquina Facilitar la división en fases del proyecto Fuente Scanner Parser Generador de Código LI Objeto TDS Generación de código. A partir de una gramática se puede generar automáticamente un analizador sintáctico. Y sus desventajas pueden llegar a ser extraordinariamente complejos. A excepción de los proyectos más sencillos, en general puede que confluyan un gran número de tareas a realizar y múltiples recursos a considerar para poder desarrollarlos de forma eficiente. Existen excelentes aplicaciones de software que facilitan la gestión de las acciones planificadas. Conclusión individual. Todo lenguaje de programación obedece a unas reglas que describen la estructura sintáctica de los programas bien formados que acepta. En Pascal, por ejemplo, un programa se compone de bloques; un bloque, de sentencias; una sentencia, de expresiones; una expresión, de componentes léxicos; y así sucesivamente hasta llegar a los caracteres básicos. Se puede describir la sintaxis de las construcciones
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 de los lenguajes de programación por medio de gramáticas de contexto libre o utilizando notación BNF (Backus-Naur Form). Los diagramas sintácticos, de sintaxis o diagramas del ferrocarril son una forma de representar una gramática libre de contexto. Representan una alternativa gráfica para la Forma de Backus- Naur (BNF, por sus siglas en inglés) o la Forma Extendida de Backus-Naur (EBNF).
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. Una gramática se compone de un conjunto de reglas (producciones) que definen las palabras (elementos léxicos) y unidades sintácticas. Una gramática formal es una que usa una notación definida (o metalenguaje) de manera estricta.
División de Ingeniería en Sistemas Computacionales Academia de Ciencias de la Ingeniería EJERCICIOS Y ACTIVIDADES PERIODO 2020- 2 Nombre_ Soto Venegas Dulce Joana Grupo 5601 Asignatura Lenguajes y autómatas II Fecha 10 / 11 / Actividad No. 18 firma Dulce Objetivo de la práctica: Reconocer el manejo de estructuras condicionales Competencia a desarrollar: Conocer y desarrollar grafos sintácticos y expresiones de la forma BNF Desarrollo de la Actividad individual. ¿Qué ventajas y desventajas conlleva la Generación de código intermedio de estos elementos? Ventaja: Permite abstraer la máquina, separar operaciones de alto nivel de su implementación a bajo nivel. Una gramática proporciona una estructura a un lenguaje de programación, siendo más fácil generar código y detectar errores. Desventaja: BNF puede proporcionar información ambigua, incompleta o de difícil comprensión en sentencias complejas muy estructuradas. Conclusión individual. Como conclusión tengo que La notación de Backus-Naur, también conocida por sus denominaciones inglesas Backus-Naur form (BNF), Backus-Naur formalism o Backus normal form, es un metalenguaje usado para expresar gramáticas libres de contexto: es decir, una manera formal de describir lenguajes formales. El BNF se utiliza extensamente como notación para las gramáticas de los lenguajes de programación, de los sistemas de comando y de los protocolos de comunicación, así como una notación para representar partes de las gramáticas de la lengua natural (por ejemplo, el metro en la poesía de Venpa). La mayoría de los libros de textos para la teoría o la semántica del lenguaje de programación documentan el lenguaje de programación en BNF. La notación BNF