Está en la página 1de 16

TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

División de Ingeniería en Sistemas Computacionales


Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2
FECHA 05/01/2023
GRUPO 5601

LENGUAJES Y AUTÓMATAS II
Actividad No. 15. Generación de código intermedio. ESTRUCTURAS REPETITIVAS.
TRABAJO EN EQUIPO:
El TESE desea: Un reporte con la investigación con por lo menos tres referencias para: Reconocer el manejo de ESTRUCTURAS
REPETITIVAS, para un metacompilador.

1. Desarrolle la Actividad con Grafos sintácticos (Diagrama de Conway) y expresiones de la forma BNF.

Elemento Grafos sintácticos (Diagrama Expresión de la forma BNF.


de Conway)
Construya la estructura
repetitiva for

Construya la estructura
repetitiva while

Construya la estructura
repetitiva do/while

2. Mencione la estructura sintáctica para la construcción de estructuras condicionales.

Considere:
Tres diferentes lenguajes de programación.
Elemento C++ Java Ruby
Estructura repetitiva for.

Estructura repetitiva while.

Estructura repetitiva
do/while.

CONTESTE INDIVIDUAL:

1. Explique brevemente en qué contribuyó en la elaboración del documento.


2. ¿Qué ventajas y desventajas conlleva la Generación de código intermedio de estos elementos?
3. Conclusiones.

1
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

INTEGRANTE(S): FIRMA

1. Acosta Herrera Luis Gerardo Luis

2. Hernández Méndez Joshajany Yamilet Joshajany

3. Rodríguez Hernández Valeria VRH

4. Vázquez Delgado Luis Enrique VDLE

1. Robertson, C. (15 de 11 de 2022). microsoft. Obtenido de


https://learn.microsoft.com/es-es/cpp/cpp/cpp-type-system-modern-
cpp?view=msvc-170 acceso: de 27 diceimbre de 2022.
2. González, Juan David Meza. 2012. Programar ya. Último acceso: de 27
diceimbre de 2022.
https://www.programarya.com/Cursos/C++/Condicionales.

3. java.net. s.f. todo sovbre Java. Último acceso: 28 de Diciembre de 2022.


http://todosobrejavanet.blogspot.com/p/de-incremento-y-decremento.html.

2
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Grupo 5601
Asignatura Lenguajes y Autómatas ll
Fecha 05/Enero/2023
Actividad No. 15 Generación de código intermedio.
ESTRUCTURAS REPETITIVAS

INTEGRANTES: FIRMA
1) Acosta Herrera Luis Gerardo Luis

2) Hernández Méndez Joshajany Yamilet Joshajany

3) Rodríguez Hernández Valeria VRH

4) Vázquez Delgado Luis Enrique VDLE

Objetivo de la práctica: Conocer el manejo de Estructuras Repetitivas, para un


metacompilador.
Competencia a
desarrollar: Diseña las reglas para traducir el código fuente a un
código intermedio

Desarrollo de la Actividad de equipo:


Realizar una investigación sobre el manejo de Estructuras repetitivas, para un
metacompilador. Así como también realizar Grafos sintácticos (Diagrama de Conway) y
expresiones de la forma BNF, con el fin de obtener información acerca estructura sintáctica
para la construcción de estructuras repetitivas con los lenguajes de programación C++, C# y
java

3
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

“Estructuras Repetitivas”
Integrantes:
 Acosta Herrera Luis Gerardo
 Hernández Méndez Joshajany Yamilet
 Rodríguez Hernández Valeria
 Vázquez Delgado Luis Enrique

Asignatura: Lenguajes y Autómatas ll

Grupo: 5601

Periodo: 2022-2

Profesora: M. en C. Xóchitl Raquel Wong Cohen

Fecha:05/01/2023

4
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

1. Desarrolle la Actividad con Grafos sintácticos (Diagrama de Conway) y


expresiones de la forma BNF.

Elemento Grafos sintácticos (Diagrama de Conway) Expresión de la forma BNF.

Construya la for(int = valor inicial;


estructura condicion;incremento o
repetitiva for decremento )
{

Sentencias….

Construya la while(condicion)
estructura
repetitiva {
while
Sentencias….

do
Construya la
estructura {
repetitiva
do/while Sentencias….

while(condicion);

5
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

2. Mencione la estructura sintáctica para la construcción de estructuras


condicionales.

 Ciclo for

Los ciclos for son lo que se conoce como estructuras de control de flujo cíclicas o
simplemente estructuras cíclicas, estos ciclos, como su nombre lo sugiere, nos
permiten ejecutar una o varias líneas de código de forma iterativa, conociendo un
valor especifico inicial y otro valor final, además nos permiten determinar el
tamaño del paso entre cada "giro" o iteración del ciclo.

Ejemplo en C++

for(int i=50;i<=100;i++)
{
//Notemos que escribir i++ es similar a escribir i = i + 1
cout << i << endl;
}

Ejemplo en C#

for(int i=50;i<=100;i++)
{
//Notemos que escribir i++ es similar a escribir i = i + 1

6
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Ejemplo en Java

for(int i=50;i<=100;i++)
{
//Notemos que escribir i++ es similar a escribir i = i + 1
System.out.println(i);
}

 Ciclo while

Nos permite ejecutar una o varias líneas de código de manera repetitiva sin
necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuándo
se va a dar el valor final que esperamos, los ciclos while, no dependen
directamente de valores numéricos, sino de valores booleanos, es decir su
ejecución depende del valor de verdad de una condición dada, verdadera o falso,
nada más

Ejemplo c++

int numero;
cout << Ingrese un numero<<endl “;
cin >> numero;
while(numero <= 100)
{
cout << Ingrese un numero<<endl “;
cin >> numero;
}

7
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Ejemplo C#
int numero;
Console.WriteLine("Ingrese un numero ");
numero = Console.ReadLine();
while(numero <= 100)
{
Console.WriteLine("Ingrese un numero ");
numero = Console.ReadLine();
}

Ejemplo en Java

int numero;
System.out.println("Ingrese un numero ");
Scanner entrada=new Scanner(System.in);
numero=entrada.nextLine();

while(numero <= 100)


{
System.out.println("Ingrese un numero ");
Numero = entrada.nextLine();
}

 Ciclo do-while

permite añadir cierta ventaja adicional y esta consiste que nos da la posibilidad de
ejecutar primero el bloque de instrucciones antes de evaluar la condición
necesaria, de este modo los ciclos do-while, son más efectivos para algunas
situaciones especificas

8
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Ejemplo en c++

int numero;
do
{
cout << "Ingrese un numero ";
cin >> numero;
}
while(numero <= 100);

Ejemplo en c#

int numero;
do
{
Console.WriteLine("Ingrese un numero ");
numero = Console.ReadLine();
}
while(numero <= 100);

Ejemplo en Java

int numero;
do
{
System.out.println("Ingrese un numero ");
Scanner entrada=new Scanner(System.in);
numero=entrada.nextLine();
}
while(numero <= 100);

Conclusiones Individuales

9
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Nombre Acosta Herrera


Luis Gerardo
Grupo 5601
Asignatura Lenguajes y
Autómatas II
Fecha 05/01/2023
Actividad No. No. 15.
Generación de
código
intermedio.
ESTRUCTURAS
REPETITIVAS.
Firma Luis

Objetivo de la práctica: Conocer el manejo de las estructuras


condicionales para un metacompilador
Competencia a desarrollar: Trabajar en equipo y solución de problemas

Desarrollo de la Actividad individual.


1) Explique brevemente en que contribuyó en la elaboración del documento.
Ayude a la búsqueda de información para complementar la teoría de nuestra práctica
además de la generación de interpretación de los textos recabados

2) ¿Qué ventajas y desventajas conlleva la Generación de código intermedio?


Ventajas: las ventajas que nos permite este tipo de estructuras es que podemos hacer
uso de código para distintos fines de manera más sencilla ya que mediante una
estructura cíclica podemos seguir mediante el ciclo un número infinito de veces las
cuales nos permitirá que se genere repeticiones en el código sin generar redundancia en
datos o redundancia en partes de código haciendo el código más compacto y
beneficiando el uso del programa
Desventajas: como desventajas podemos observar que esa estructura cíclica igual
puede tener algunos inconvenientes ya que unos datos se pueden repetir infinitamente
lo cual puede hacer que el ciclo no sea eficiente ya que entrar en un ciclo infinito lo
cual haría que el programa nunca terminara esa es la principal desventaja que observó
en relación a este tipo de estructuras

10
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

2.- Conclusión individual.


Es de suma importancia tener en cuenta cómo podemos utilizar los diferentes mecanismos de
estructuras condicionales repetitivas ia que benefician tanto al programador como a los
programas que se realicen para hacer una depuración de código en la cual se pueda observar
menos redundancia de código y de datos en el proceso de generar programas con tareas
específicas lo cual hace que se reduzcan tiempos y se reduzcan infinitamente líneas de código
lo cual beneficia mucho a nosotros como programadores ya que en unas simples 5 líneas
podemos hacer cosas que más de 40 líneas no hacía por eso es de suma importancia conocer el
manejo de estos ya que hay diferentes formas de hacer una estructura condicional repetitiva
como el ciclo for el cual tenemos que determinar los parámetros de una manera más específica
para que el ciclo pueda continuar o pueda ser realizado de manera correcta además de esto
podemos combinarlo con diferentes estructuras condicionales como if ya que esto permite que
el ciclo tenga una mejor exactitud y tengamos mejor resultado al nosotros correr el código y
observar la ejecución del mismo observando cuántas veces realizó el ciclo y cuántas cuánto
tiempo tardó en la arrojar del resultado que nosotros esperamos

11
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Nombre Hernández Méndez


Joshajany Yamilet
Grupo 5601
Asignatura Lenguajes y
Automatas II
Fecha 05/Enero/2023
Actividad No. Actividad 15
Firma Joshajany H.

Objetivo de la práctica: Conocer el manejo de las estructuras Repetitivas por


medio de un metacompilador
Competencia para desarrollar: Capacidad de trabajar en equipo y Capacidad de
solución de problemas

1.- Desarrollo de la Actividad individual.


a) Mencione brevemente en que contribuyó: dentro de este proyecto ayude con la parte teórica
a buscar información la cual nos serviría para poder resolver el objetivo planteado.
b) ¿Qué ventajas y desventajas conlleva la Generación de código intermedio de estos
elementos?
R= Una de las grandes ventajas de las estructuras repetitivas es que permiten la creación de códigos
mas eficaces ya que trabajan sobre la memoria estática y además terminan cuando la condición se
cumple, sin embargo, sus desventajas son que existen numerosos problemas complejos con
naturaleza recursiva que esta técnica no permiten claridad en su resección.
2.- Conclusión individual.
El uso de las estructuras repetitivas como son for, while y do/while nos permite la creación de
códigos más eficaces dejándonos utilizar condiciones las cuales en el momento en que se cumplen
se termina, a diferencia de nuestra práctica pasada donde utilizamos switch en donde era una
infinidad de opciones en caso de necesitar una en específico nuestro usuario tardaba más en
encontrar su respuesta al contrario de esta, donde una vez que se cumple la condición se termina.
En lo personal me gusta mucho utilizar este tipo de condicionales ya que se vuelve más específicas
y nos ayudan a que nuestro problema se resuelva más fácilmente y la codificación sea muchísimo
más corta de la que podría ser lo vamos describiendo paso a paso como lo hacíamos al inicio de
nuestras prácticas. el poder observar los grupos sintácticos de las diferentes estructuras me permitió
observar más a fondo cómo trabajan estas y el ver cómo es su estructura en los diferentes lenguajes

12
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

de programación me hizo darme cuenta de cómo utilizar estos condicionales de la mejor manera
logrando obtener así mejores resultados.

13
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Nombre Rodríguez Hernández Valeria


Grupo 5601
Asignatura Lenguajes y Automatas ll
Fecha 05/01/2023
Actividad No. 15 Código Intermedio, estructura
repetitivas
Firma VRH

Objetivo de la práctica: Reconocer el manejo de estructuras repetitivas para un


metacompilador
Competencia a desarrollar: Solución de problemas y trabajo en equipo

Desarrollo de la Actividad individual.


1. Explique brevemente en que contribuyó en la elaboración del documento.
En el desarrollo de la practica contribuí en aportar ideas conforme a lo que se nos solicitaba,
buscar información y dar formato al documento
2. ¿Qué ventajas y desventajas conlleva la Generación de código intermedio?
Sus ventajas y desventajas en la estructuras repetitivas es que su ejecución termina cuando
se cumple la condición del bucle, se trabaja sobre memoria estática y existen numerosos
problemas complejos con naturaleza recursiva que esta técnica no permiten claridad en su
resección.

2.- Conclusión individual.


Finalmente en esta actividad después de realizar y llevar acabo las instrucciones
correspondientes y utilizar los métodos ya conocidos y mencionados con anterioridad se
concluye que este trabajo las estructuras de repetición es una estructura que nos permite
representar un conjunto de instrucciones que debe repetirse una cantidad limitada de veces,
normalmente dependiente de una condición o de una cantidad determinada de repeticiones o
iteraciones, while es una de las más utilizadas en este proceso, ya que su estructura es simple
y fácil de implementar. Los ciclos permiten iterar todo un proceso tantas veces como el
programador (ó el usuario) lo determine
Para esta actividad se logró todo gracias a las competencias desarrolladas como lo es trabajar
en equipo, así como la habilidad de buscar y analizar información proveniente de fuentes
diversas y por ello es que logramos llegar a nuestro objetivo de la actividad.

14
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

Nombre Vazquez Delgado Luis Enrique


Grupo 5601
Asignatura Lenguajes y Autómatas II
Fecha 05/Enero/2023
Actividad No. 15 Estructuras Repetitivas
Firma VDLE

Objetivo de la práctica: Conocer el manejo de las estructuras repetitivas para un


metacompilador
Competencia a Trabajar en equipo y solución de problemas
desarrollar:

Desarrollo de la Actividad individual.


1. aporte en la investigación de las estructuras repetitivas

2. las ventajas de la generación del código intermedio es que podemos


Identificar como es la sintaxis de las estructuras repetitivas
La desventaja es solo en el for ya que puede tener variar por los operadores
lógicos

2.- Conclusión individual.


Como conclusión al realizar esta actividad de investigación en los diferentes lenguajes de
programación nos permite identificar cuáles son las formas de sintaxis de las estructuras
de los bucles o ciclos como el FOR ,WHILE y DO/WHILE esto nos sirve para determinar
y saber los posibles errores a la hora de Programar y analizar su estructura a la hora de
Implementarlo en un metacompilador, además de su estructura es Importante conocer su uso
ya que cada uno de las estructuras repetitivas ya mencionados se pude usar de una forma
distinta y Obtener diferentes resultados a lo esperado , otro factor importante de conocer es que
las sintaxis son iguales en los 3 lenguajes de programación que se investigaron como c++ , c# y
Java además de nos puede servir para futuras prácticas de más alta complejidad puesto

15
TECNOLÓGICO DE ESTUDIOS SUPERIORES DE ECATEPEC
División de Ingeniería en Sistemas Computacionales
Academia de Ciencias de la Ingeniería

EJERCICIOS Y ACTIVIDADES
PERIODO 2022-2

que es el principio de la información necesaria para determinar el uso correcto de las estructuras
repetitivas conocidas como bucles o ciclos

16

También podría gustarte