Sunteți pe pagina 1din 34

UNIVERSIDAD ESTATAL A DISTANCIA

VICERRECTORA ACADMICA
ESCUELA CIENCIAS EXACTAS Y NATURALES
CTEDRA TECNOLOGA DE SISTEMAS
E-mail: ycarballo@uned.ac.cr

ORIENTACIONES ACADMICAS:

03307 Compiladores

Virtual

Actualizacin
Lic. Mario Quirs Monge

Edicin acadmica
Ing. Yenori Carballo Valverde, MSc
Telfono: 2202-1826

Costa Rica

TERCER CUATRIMESTRE 2017


Compiladores CDIGO 03307

Tabla de Contenidos

1. Introduccin ........................................................................................................................................ 3
2. Personal A Cargo De La Asignatura ................................................................................................... 3
2.1. Profesores-Tutores ...................................................................................................................... 3
2.2. Asistentes De Carrera ................................................................................................................. 4
2.3. Encargados Ctedra Y Carrera ................................................................................................... 4
3. Objetivos De La Asignatura ................................................................................................................ 4
3.1. Objetivo General .......................................................................................................................... 5
3.2. Objetivos Especficos .................................................................................................................. 5
4. Requisitos ........................................................................................................................................... 5
5. Modalidad De Estudio ......................................................................................................................... 5
5.1. Componentes Educacin Virtual ................................................................................................. 6
5.2. Componente Programa De Aprendizaje En Lnea (Pal).............................................................. 8
6. Materiales De La Asignatura............................................................................................................. 10
6.1. Material Oficial ........................................................................................................................... 10
6.2. Material De Apoyo ..................................................................................................................... 10
6.3. Servicios En Lnea De La Biblioteca.......................................................................................... 10
Consultas De Orden Acadmico.............................................................................................................. 10
7. Temas De La Asignatura .................................................................................................................. 11
8. Calendarizacin De La Asignatura ................................................................................................... 12
9. Evaluacin De La Asignatura............................................................................................................ 13
9.1. Poltica De Evaluacin ............................................................................................................... 13
9.2. Porcentajes De Evaluacin ....................................................................................................... 14
9.3. Actividades Formativas ............................................................................................................. 15
9.4. Actividades Sumativas .............................................................................................................. 16
Tarea #1 ........................................................................................................................................... 16
Tarea #2 ........................................................................................................................................... 18
Tarea #3 ........................................................................................................................................... 20
Tarea #4 ........................................................................................................................................... 22
Proyecto........................................................................................................................................... 24
Rbrica De Evaluacin Del Proyecto ............................................................................................ 33

2
Compiladores CDIGO 03307

1. INTRODUCCIN

La presente orientacin es una herramienta que le proporcionar la ayuda necesaria


para guiarse durante el desarrollo de la asignatura Compiladores (cdigo
03307). Usted encontrar la descripcin de la asignatura que incluye: objetivos,
conocimientos previos, material de apoyo, modalidad de estudio, consultas de orden
acadmico y administrativo, evaluacin, polticas de regulacin y evaluacin, temas
de estudio, cronograma de actividades y descripcin de los instrumentos de
evaluacin, entre otros aspectos de su inters. Este instrumento es una herramienta
que le ayudar a administrar de una mejor forma el tiempo para estudiar.

Asimismo, este documento incluye la descripcin del proyecto de desarrollo que


deber presentar como parte de la asignatura, a fin de poner en prctica conceptos
tericos adquiridos durante el cuatrimestre.

Se le sugiere mantenerlo siempre a mano esta orientacin y consultarlo


con frecuencia para que ninguna de las actividades del curso lo tome por
sorpresa. En caso que extrave la Orientacin puede bajarla de la pgina
web de la UNED
(http://dinamico.uned.ac.cr/orientacionesacademicas/consultas/).

2. PERSONAL A CARGO DE LA ASIGNATURA


La siguiente informacin es para que el estudiantado conozca la forma de
comunicarse con sus profesores-tutores, encargado de ctedra, encargada de
carrera y asistente, para resolver dudas de orden acadmico y administrativo.

2.1. Profesores-tutores
Por medio del correo institucional, correo interno de MOODLE o foro de consultas se
puede comunicar con los docentes, cualquier informacin recibida por otro medio no
se considera oficial y no es vlida.

3
Compiladores CDIGO 03307

2.2. Asistentes de carrera


Cargo Asistentes de carrera
Evelyn Cspedes
Nombre Libny Velsquez Jurez Moiss Mndez Coto
Barrantes
Telfonos 2202-1913 2202-1828 2202-1823
Correo
evcespedes@uned.ac.cr lvelasquezj@uned.ac.cr moimendez@uned.ac.cr
electrnico
Horario
atencin a Lunes a Viernes 8:00am a 4:30 pm
estudiantes
Direccin de Mercedes de Montes de Oca, Carretera Sabanilla, Edificio Escuela de
oficina Ciencias Exactas y Naturales, segundo piso.

2.3. Encargados Ctedra y Carrera


Cargo Encargado de Ctedra Encargada de Carrera

Nombre Ing. Yenori Carballo V. MSc Mag.Karol Castro Chaves


2202-1826 2202-1824
Lunes, martes y mircoles Lunes, martes y mircoles
8:00am a 4:30pm 8:00am a 4:30pm
Telfonos
86770123 89290880
Lunes y martes Jueves y viernes
8:00am a 4:30pm 8:00am a 4:30pm
Correo electrnico ycarballo@uned.ac.cr kcastro@uned.ac.cr
Horario de la ctedra
para atencin
Lunes 1:30 a 4:00 p.m.
estudiantil en la
oficina
Mercedes de Montes de Oca, Carretera Sabanilla, Edificio
Direccin de oficina
Escuela de Ciencias Exactas y Naturales, segundo piso.

3. OBJETIVOS DE LA ASIGNATURA

La asignatura Compiladores (cdigo 03307) est enfocada a estudiantes de la


carrera Ingeniera Informtica (cdigo 88) de la Universidad Estatal a Distancia, y
en ella, se incorpora el estudio de compiladores en donde el estudiante adquirir
conocimientos para poder crear un programa que evalu los componentes que
conforman un compilador.

4
Compiladores CDIGO 03307

3.1. Objetivo general

Analizar las teoras, tcnicas y metodologas sobre el diseo de compiladores con el


fin de construir un compilador sencillo.

3.2. Objetivos especficos

Al finalizar el estudio de los temas, el estudiante deber estar en capacidad de:

Identificar los diferentes conceptos de un compilador.

Explicar cules son los componentes necesarios para crear un compilador.

Analizar las diferentes estructuras de programacin para desarrollar un

compilador.

Disear y crear un compilador sencillo

4. REQUISITOS

Conocimientos previos

Esta asignatura es parte del plan de Bachillerato de la carrera Ingeniera Informtica


(cdigo 88) y posee el siguiente requisito de asignaturas aprobadas:
03306 Arquitectura de Computadores
00823 Organizacin de Computadores

5. MODALIDAD DE ESTUDIO

Esta asignatura posee una modalidad de estudio virtual ya que la componen


exclusivamente elementos de educacin virtual, estos elementos se explicarn en
detalle ms adelante en este documento.

5
Compiladores CDIGO 03307

5.1. Componentes Educacin Virtual

Plataforma de Aprendizaje en Lnea MOODLE


La asignatura cuenta con el apoyo de la plataforma de aprendizaje virtual
MOODLE, la cual permite la mediacin educativa y procesos de interaccin y
evaluacin. Adems, se incluyen herramientas de comunicacin, materiales, enlaces
a la Web, noticias, anuncios, foros, entre otros.
Para el acceso a la plataforma MOODLE se debe contar con los siguientes requisitos:

Nombre de usuario y contrasea

Correo electrnico.

Acceso peridico a una computadora.

Conexin estable a Internet.

Cantidad de tiempo necesario para participar en foros u otras


actividades que se realicen en MOODLE.

Consultas sobre la plataforma de aprendizaje en lnea MOODLE:


Las consultas o solicitudes que realice el estudiante dentro de la plataforma de
aprendizaje en lnea, sern atendidas en el transcurso del siguiente da
posterior a la publicacin. En caso de que no sea atendida 48 horas despus,
podr dirigirse en segundo orden con el Encargado de Ctedra. Si en 72 horas no
es atendido, podr dirigirse a la Encargada de Carrera o su asistente.

Los feriados obligatorios, la Universidad no trabaja, por tanto el profesor-tutor de la


asignatura atender las consultas el da hbil siguiente.

Todos los cambios o informacin adicional que se realice de la asignatura, se


notificaran por medio de anuncios, foro de consulta y correo interno de la
plataforma MOODLE.
Actividades virtuales
Por medio de la plataforma MOODLE se entregan las tareas, proyectos, se realizan
pruebas cortas y se participa en los foros. Estos ltimos son de dos tipos
calificados y no calificados.

6
Compiladores CDIGO 03307

Los foros calificados se basan en la resolucin grupal de ejercicios y en compartir


experiencias, puntos de vista y mejoras a las soluciones generadas.
Los foros no calificados son los foros de presentacin, de consulta y de
novedades o anuncios. En el foro de presentacin se realiza la bienvenida y
presentacin del profesor-tutor y de los estudiantes. El foro de consulta es un
espacio que los estudiantes disponen para colocar sus dudas de la temtica de
estudio y tambin de aspectos administrativos de la asignatura. Finalmente, el foro
de novedades o anuncios se emplea para informar acerca de aspectos
administrativos y didcticos tanto de la asignatura como de la carrera en general.
Se recomienda que ingrese a la plataforma MOODLE por lo menos 5 veces a la
semana.
Foro Evaluado
El foro evaluado es un espacio de anlisis y discusin de diversos temas, se habilita
en la plataforma MOODLE, ah se especifican las instrucciones e instrumento de
calificacin.
Existen reglas o normas que el estudiante deber respetar de manera obligatoria,
para alcanzar la totalidad de los puntos. A continuacin se detallan dichas normas:

1. El contenido de los mensajes debe ser significativo y acorde con la temtica

tratada en cada etapa.

2. Se debe participar en las fechas y horas indicadas entre el inicio y final de la

actividad.

3. Las respuestas a las preguntas generadoras deben ser descriptivas, claras y

propias para favorecer una comunicacin plena y completa por tanto, las

respuestas redundantes y textuales no son permitidas (copiar y

pegar no se permite).

4. El mensaje debe redactarse respetando las normas de redaccin y

ortografa.

7
Compiladores CDIGO 03307

5. Debe adecuarse a la cantidad de participaciones que se solicitan en las

instrucciones del foro.

6. Las actividades que se proponen responden un eje temtico, por ende, son

flexibles en la manera en que se desarrollan y siempre contarn con la

mediacin del docente.

Tareas y proyectos
Las tareas y proyectos pretenden que el estudiante logre, a partir del estudio de los
materiales didcticos, un documento que demuestre mediante su propia creacin el
aprendizaje construido.

5.2. Componente Programa de aprendizaje en lnea (PAL)

Esta asignatura ser apoyada en la plataforma Moodle. El


uso del entorno virtual de aprendizaje permitir llevar a cabo procesos educativos,
la organizacin y la comunicacin entre los miembros de la asignatura.

Ingrese a Moodle
Se recomienda utilizar los navegadores web: Internet Explorer, Microsoft Edge
o Mozilla Firefox, evite utilizar el navegador web Google Chrome, pues no es
compatible con Moodle, para acceder al portal de la Universidad Estatal a Distancia
digite la siguiente URL: http://www.uned.ac.cr

Haga clic en la opcin del Men Recursos didcticos y en ella encontrar dos
posibilidades:

- Seleccione la opcin de Moodle, o bien,

- En el Explorador y digite en el espacio correspondiente la siguiente direccin


URL: http://campusvirtual.uned.ac.cr/lms/

Cmo ingresar a la sesin?


Para ingresar a la sesin se requieren dos datos: el nombre de usuario y la
contrasea, que se conforman de la siguiente manera:
Nombre de usuario. Es su nmero de cdula con formato de diez dgitos, sin
guiones ni espacios.

8
Compiladores CDIGO 03307

Ejemplos:
1-234-567: digite 0102340567 (cuando su nmero de identificacin tiene 7
dgitos)
1-1456-052: digite 0114560052 (cuando su nmero de identificacin tiene 8
dgitos

Contrasea. El formato de la contrasea es Uned.ddmmaa que debe considerar lo


siguiente:
1. Se escribe la palabra Uned con la U en mayscula seguida de un punto (.)

2. ddmmaa corresponden a los datos de su fecha de nacimiento: dd (da), mm


(mes) y aa (corresponde a los dos ltimos dgitos del ao).

Ejemplo:
Si usted naci el 7 de febrero de 1985: digite Uned.070285
En caso de tener problemas de acceso o haber olvidado sus datos de ingreso, puede
utilizar la opcin: Olvid su contrasea? Ubicada en la pgina principal de Moodle.

Al ingresar al entorno de Moodle se encontrar la opcin Mis cursos que muestra


la lista de los cursos en los que el usuario est inscrito. Para ingresar a cada entorno
haga clic sobre el nombre del curso que corresponda.

Cundo tiene disponible el acceso a su curso o asignatura en lnea?


El acceso a los entornos de la UNED est disponible a partir del primer lunes del
inicio oficial de cada cuatrimestre. Para este III Cuatrimestre la fecha especfica de
ingreso ser a partir del lunes 11 de setiembre 2017.

Qu apoyo se brinda para aprender a usar la plataforma Moodle?


En la pgina web del Programa de Aprendizaje en Lnea (PAL), puede encontrar
en el men Estudiantes, las opciones: Manuales, Consejos y Preguntas Frecuentes
sobre las diferentes herramientas de la plataforma Moodle, vistela en el bloque de
Recursos Didcticos en la opcin:

En el canal de Aprendizaje en Lnea, los estudiantes podrn encontrar


videotutoriales que los orientar en cuanto al ingreso a la Plataforma Moodle y el
uso de diferentes herramientas. Puede acceder a travs del enlace
https://www.youtube.com/user/PALUNED

Adicionalmente, nos puede seguir en como Aprendizaje en Lnea, para estar


al tanto de avisos y comunicaciones respecto a la plataforma Moodle.

9
Compiladores CDIGO 03307

6. MATERIALES DE LA ASIGNATURA

La asignatura al ser virtual, cuenta con materiales digitales y lecturas que se


incluyen dentro de la plataforma de aprendizaje en lnea (Moodle) e Internet.

6.1. Material oficial

Aho, Alfred V. Compiladores. Principios, Tcnicas Y Herramientas. Segunda


Edicin
Links de lecturas de Internet.
Carballo Valverde Yenori (2016). Orientacin acadmica para la asignatura
Compiladores. EUNED. Costa Rica.

6.2. Material de apoyo


Como bibliografa opcional para ampliar conocimientos, puede consultar diversos
temas del curso en Internet. Tambin puede utilizar la revista PC Magazine, PC
World y otras, que tratan sobre aspectos relacionados con la temtica de
estudio.

6.3. Servicios en lnea de la biblioteca


Consultas de orden acadmico

La Biblioteca informa que por medio del acceso a biblioteca ubicado al final de la
pgina de la UNED www.uned.ac.cr usted podr:
Conocer ms sobre nuestros servicios
Acceder al catlogo en lnea
Solicitar material de otras bibliotecas por medio de un formulario.
Recomendar compra de libros.
Ingresar a la biblioteca virtual e-bibliotec@uned por medio de acceso
remoto, (digitando su usuario y contrasea de entorno estudiantil o su
correo institucional UNED) en donde tendr acceso a: tesis en texto
completo, revistas electrnicas, bases de datos con millones de
artculos, libros, audiolibros, tales como EBSCO, Isi Web of Knowledge,
Proquest, OCDE, Annual Reviews, Springer, Scopus, Cab Abstracts, E-
Libro, Digitalia, Ebrary y World E-Book Library, Dialnet, Pivot.

10
Compiladores CDIGO 03307

Para toda consulta relacionada con Biblioteca si necesita capacitacin


ser un placer atenderle en los telfonos 2527-2261 y 2527-2262, por
medio del correo electrnico circulacion@uned.ac.cr o en facebook
accediendo a www.facebook.com/bibliounedcr

7. TEMAS DE LA ASIGNATURA

A continuacin, se presenta una tabla que describe los temas que el estudiante
debe leer y estudiar para las actividades de la asignatura.
Tema Correspondencia Pginas
en el libro
Tema 1: Introduccin a los compiladores Captulo 1 1-35
Tema 2: Un traductor simple orientado a
Captulo 2 39-108
la sintaxis
Tema 3: Anlisis lxico Captulo 3 109-190
Tema 4: Anlisis sintctico Captulo 4 191-302
Tema 5: Traduccin orientada por la Captulo 5 303-356
sintaxis
Tema 6: Generacin de cdigo Captulo 6 357-426
intermedio
Tema 7: Entornos de tiempos de Captulo 7 427-470
ejecucin
Tema 8: Generacin de Cdigo Captulo 8 505-548
Tema 9: Optimizaciones independientes Captulo 9 583-637
de la mquina
Tema 10: Paralelismo a nivel de Captulo 10 707-768
instruccin
Tema 11: Optimizacin para el Captulo 11 769-799
paralelismo y la localidad
Tema 12: Anlisis interprocedural Captulo 12 903-939

11
Compiladores CDIGO 03307

8. CALENDARIZACIN DE LA ASIGNATURA

Actividades formativas y sumativas


Actividad Medio
Prueba en lnea. V= Virtual (plataforma de aprendizaje en lnea).
Foro/Chat. P=Presencial
Proyecto/ tarea.
Tutora
Laboratorio
Prueba escrita.

Actividades formativas y sumativas


Semana y fechas Tema de estudio
Actividad Medio

Participar en foro de
presentacin. V
Semana 1

Del 11 al 17 de Tema 1 y 2
setiembre
Leer y analizar los temas
V
de estudio.
Semana 2 Tema 3 Leer y analizar los temas de estudio.
Del 18 al 24 de V
setiembre
Semana 3 Tema 4 Entregar Tarea Corta #1.
Del 25 de setiembre al V
1 de octubre
Semana 4 Tema 5 y 6 Leer y analizar los temas de estudio.
Del 2 al 8 de octubre V

Semana 5 Tema 7 y 8 Entregar Tarea Corta #2.


Del 9 al 15 de octubre Realizar proyecto V

Semana 6 Temas 7 y 8 Leer y analizar los temas de estudio.


Del 16 al 22 de V
octubre
Semana 7 Temas 9 y 10 Entregar Tarea Corta #3.
Del 23 de octubre al Realizar proyecto. V
29 octubre
Semana 8 Temas 9 y 10 Leer y analizar los temas de estudio.
Del 30 de octubre al 5 Realizar proyecto. V
de noviembre
Semana 9 Temas 11 y 12 Entregar Tarea Corta #4.
Del 6 al 12 de V
noviembre
Semana 10 Realizar proyecto.
Del 13 al 19 de V
noviembre

12
Compiladores CDIGO 03307

Semana 11 Entrega de Proyecto


Del 20 al 26 de V
noviembre
Semana 12 Presentacin del Proyecto
Del 27 de noviembre VoP
al 3 de diciembre
Del 4 al 10 de Entrega de promedios finales
diciembre V

9. EVALUACIN DE LA ASIGNATURA

9.1. Poltica de evaluacin


a) Para obtener la nota final debe multiplicar la nota obtenida en cada uno de
los instrumentos de evaluacin y multiplicarlo por el porcentaje asignado a
ste y dividir el resultado entre diez: (Nota instrumento * % asignado) / 10 y
se suman todos los porcentajes de instrumentos de evaluacin. La nota con
base 10.
b) El promedio final se redondear de acuerdo con lo establecido en el
Reglamento General Estudiantil de la UNED, deber ser mayor o igual a
7.00 (siete), para aprobar la asignatura.
c) Debido a la naturaleza de esta asignatura, no se cuenta con examen de
reposicin, por lo que, en caso de reprobar, se debe comunicar con la ctedra
para conocer su trabajo de reposicin. Esta opcin est disponible para los
estudiantes que entregaron como mnimo un 60% de las actividades
calificadas y que obtuvieron al menos un 50% de nota en cada uno de esos
instrumentos, adems de un promedio final igual o superior a 5.0.
d) La entrega de las tareas tiene que ser puntual y por medio de la
plataforma de aprendizaje virtual MOODLE, no se aceptarn por otros
medios.
e) Los instrumentos que se presenten despus de la fecha de entrega
(mximo 3 das naturales), deben justificarse por los siguientes motivos
(salud o duelo). Tanto la justificacin como las respectivas pruebas se deben
enviar al encargado de Ctedra, siendo l quien decidir la aceptacin o
rechazo de la misma.

13
Compiladores CDIGO 03307

f) Todos los trabajos tienen que realizarse cumpliendo con el documento de


Lineamientos para entrega de trabajos escritos del Programa de
Ingeniera Informtica. Este se localiza dentro de la plataforma de
aprendizaje virtual MOODLE.
g) Los profesores-tutores pueden verificar la autora de cualquier
instrumento de evaluacin, en los trabajos en los que se compruebe
plagio, falsificacin, alteracin, similitud o que alguna seccin o toda una
tarea o proyecto es copia textual o similar de Internet. La carrera
Ingeniera Informtica enviar va correo electrnico o al CeU, una carta
formal donde se indica la primera llamada de atencin (con copia al
expediente), si se incurre por segunda vez, en cualquier otra asignatura, ser
enviado el caso documentado a la Direccin de la Escuela de Ciencias Exactas
y Naturales para que se proceda a aplicar el reglamento y ser sancionado de
acuerdo al Reglamento General de Estudiantes, el cual los estipula como falta
muy grave (art. 28, inciso g). Plagio es cualquier copia parcial o textual
tomada de Internet, libros, revistas, artculos u otra fuente, en la que no se
hace referencia bajo algn formato. Por ejemplo, APA.

9.2. Porcentajes de evaluacin


Los porcentajes asignados a cada uno de los instrumentos de evaluacin que usted
deber presentar durante el desarrollo de la asignatura se indican en el siguiente
cuadro:
Instrumentos de evaluacin Porcentaje asignado
Tarea #1 10%
Tarea #2 10%
Tarea #3 10%
Tarea #4 10%
Proyecto Programado 40%
Presentacin de Proyecto por 20%
medio de la plataforma al tutor
TOTAL 100 %

14
Compiladores CDIGO 03307

En la asignatura se contempla la evaluacin diagnstica, formativa y sumativa. La


diagnstica se efecta por medio de entornos de comunicacin donde el estudiante
se presenta ante su grupo y puede describir su experiencia en cuanto a los temas
de estudio que se encontrar en la asignatura, basndose en esta descripcin el
profesor-tutor puede recomendar material de apoyo para estudio individual.

Por su parte, la evaluacin formativa se evidencia en el foro de consulta, correo


interno y sesiones presenciales o virtuales; donde el profesor-tutor puede revisar los
ejercicios que han hecho los estudiantes y hacer recomendaciones para mejorar sus
soluciones.

En cuanto a la evaluacin sumativa, esta se manifiesta en las actividades de


evaluacin, cuando el profesor-tutor asigna un puntaje basado en un instrumento
de calificacin, esta calificacin se acompaa de observaciones para que el
estudiante tenga claro sus errores o aciertos.

9.3. Actividades formativas

Actividad Descripcin
En este espacio los estudiantes se presentan como
Foro de presentacin en participantes de la asignatura, brindando: el
nombre, el centro universitario al que pertenecen,
MOODLE
grupo y correo electrnico, adems de la
experiencia que tienen de los temas a estudiar.
Este espacio estar disponible durante todo el
Foro de consulta periodo y se utiliza para que los estudiantes
publiquen sus consultas.
Este foro es para publicar informacin tanto
Foro Novedades acadmica como administrativa de la asignatura y
de la carrera.

15
Compiladores CDIGO 03307

9.4. Actividades sumativas


Tarea #1

OBJETIVOS

Reafirmar conceptos del curso mediante investigaciones breves dando


respuestas detalladas a preguntas. En vista de que se desea destinar el
mayor tiempo posible a los avances del proyecto dada su complejidad, se
permite por esta ocasin que las preguntas se respondan sin necesidad de
hacer la formalidad de un documento (v.g. introduccin, conclusiones, etc.)
bastando la portada y la bibliografa segn las pautas dictadas por la
universidad. Sin embargo, cada respuesta de cada pregunta deber tener al
menos una pgina de extensin, a espacio sencillo, letra arial tamao 10; al
menos dos prrafos de esa hoja deben corresponder a opiniones, juicios o
conclusiones personales del estudiante sobre el tema de la pregunta.

Ir poniendo en prctica esos conceptos mediante la programacin de partes


del proyecto.

Ir adelantando el proyecto con avances parciales y controlados del desarrollo.

DESARROLLO

Se deben implementar los siguientes puntos, segn la rbrica que se muestra a


100%.

Se recuerda que deben leer la totalidad de los captulos para poder responder las
preguntas.

ITEM DESARROLLO VALOR


Pregunta 1 Con base a la definicin del proyecto: 10%
defina 3 tokens, 3 patrones y 3 lexemas.
Pregunta 2 Con relacin al punto 3.2: 10%
"Uso de buffer en la entrada",
se aplica su uso en el proyecto? Explique y
opine.

16
Compiladores CDIGO 03307

Pregunta 3 Con relacin al punto 4.1.3: 10%


"Manejo de los errores sintcticos",
se aplica su uso en el proyecto? Explique y
opine.
Adelanto Deben programarse los siguientes aspectos del proyecto: 70%
proyecto
Que se lea el archivo de entrada correspondiente
al programa fuente en YABA y que se genere el
archivo de errores con las lneas enumeradas; la
implementacin de la deteccin de errores se ir
haciendo a medida que avanza el proyecto.

Se debe entregar el programa fuente en Java y las


instrucciones apropiadas para ejecutarlo. En este caso,
se revisar en Netbeans.

Nota: las rbricas se incluyen dentro de la plataforma de aprendizaje en lnea Moodle.

Importante... Los instrumentos de evaluacin o cualquier actividad en


donde se identifique una copia textual o similar se anularn, tanto del
libro de texto, como de otro compaero.

17
Compiladores CDIGO 03307

Tarea #2

OBJETIVOS
Reafirmar conceptos del curso mediante investigaciones breves dando
respuestas detalladas a preguntas. En vista de que se desea destinar el
mayor tiempo posible a los avances del proyecto dada su complejidad, se
permite por esta ocasin que las preguntas se respondan sin necesidad de
hacer la formalidad de un documento (v.g. introduccin, conclusiones, etc.)
bastando la portada y la bibliografa segn las pautas dictadas por la
universidad. Sin embargo, cada respuesta de cada pregunta deber tener al
menos una pgina de extensin, a espacio sencillo, letra arial tamao 10; al
menos dos prrafos de esa hoja deben corresponder a opiniones, juicios o
conclusiones personales del estudiante sobre el tema de la pregunta.
Ir poniendo en prctica esos conceptos mediante la programacin de partes
del proyecto.
Ir adelantando el proyecto con avances parciales y controlados del desarrollo.

DESARROLLO

Se deben implementar los siguientes puntos, segn la rbrica que se muestra a


100%.

Se recuerda que deben leer la totalidad de los captulos para poder responder las
preguntas.

ITEM DESARROLLO VALOR


Pregunta 1 Con relacin al punto 5.4: 10%
"Esquemas de traduccin orientados por las
sintaxis",
se aplica su uso en el proyecto? Explique y opine.
Pregunta 2 Defina qu son las notaciones prefija, infija y 10%
postfija.
D algunos ejemplos.
Pregunta 3 Con relacin al punto 6.5: "Comprobacin de tipos", 10%
se aplica su uso en el proyecto? Explique y opine.
Adelanto Deben programarse los siguientes aspectos del proyecto: 70%
proyecto Que se puedan compilar programas en YABA que manejen:

LA ESTRUCTURA GENERAL DE MAIN


COMENTARIOS

18
Compiladores CDIGO 03307

DECLARACIN DE VARIABLES
PALABRAS RESERVADAS DE JAVA
TIPOS DE DATOS
ASIGNACIN SIMPLE (como i = 10)
MANEJO DE ERRORES

Ejemplo de un programa de este tipo

// primer ejemplo
import java.util.*;
public class Discriminante {
public static void main (String[] args) {
double a;
double b;
double c;
double discriminante;
a = 1;
b = 2;
c = 1;
}
}
Se debe entregar el programa fuente en Java y las instrucciones
apropiadas para ejecutarlo. En este caso, se revisar en Netbeans.

Nota: las rbricas se incluyen dentro de la plataforma de aprendizaje en lnea Moodle.

Importante... Los instrumentos de evaluacin o cualquier actividad en donde se


identifique una copia textual o similar se anularn, tanto del libro de texto,
como de otro compaero.

19
Compiladores CDIGO 03307

Tarea #3

OBJETIVOS

Reafirmar conceptos del curso mediante investigaciones breves dando


respuestas detalladas a preguntas. En vista de que se desea destinar el
mayor tiempo posible a los avances del proyecto dada su complejidad, se
permite por esta ocasin que las preguntas se respondan sin necesidad de
hacer la formalidad de un documento (v.g. introduccin, conclusiones, etc.)
bastando la portada y la bibliografa segn las pautas dictadas por la
universidad. Sin embargo, cada respuesta de cada pregunta deber tener al
menos una pgina de extensin, a espacio sencillo, letra arial tamao 10; al
menos dos prrafos de esa hoja deben corresponder a opiniones, juicios o
conclusiones personales del estudiante sobre el tema de la pregunta.
Ir poniendo en prctica esos conceptos mediante la programacin de partes
del proyecto.
Ir adelantando el proyecto con avances parciales y controlados del desarrollo.

DESARROLLO

Se deben implementar los siguientes puntos, segn la rbrica que se muestra a


100%.

Se recuerda que deben leer la totalidad de los captulos para poder responder las
preguntas.

ITEM DESARROLLO VALOR


Pregunta Con relacin al punto 7.5: 10%
1 "Introduccin a la recoleccin de basura",
se aplica su uso en el proyecto? Explique y opine.
Pregunta Qu es el algoritmo de ordenamiento de la burbuja (Bubble 10%
2 Sort)?
Qu ventajas y desventajas tiene al compararlo
contra el algoritmo Quick Sort?
Explique y opine.
Pregunta Investigue sobre funciones que reciben un texto que 10%
3 corresponde a una expresin aritmtica vlida
(por ejemplo: "3*(10+(10/5)-100)" y calculan el resultado.
Ejemplo: la funcin EVAL o EVALUATE en Visual Basic.
Qu opciones se tienen en JAVA?
Adelanto Deben programarse los siguientes aspectos del proyecto: 70%
proyecto

20
Compiladores CDIGO 03307

Que se puedan compilar programas en YABA que manejen:

OPERADORES ARITMTICOS
ASIGNACIN COMPLEJA
SALIDA DE DATOS

Ejemplo de un programa de este tipo

// segundo ejemplo
import java.util.*;
public class Operaciones {
public static void main(String[] args) {
int num1;
int num2;
num1=10;
num2=5 * num1;
println("El resultado de la suma es "+(num1+num2));
println("El resultado de la resta es "+(num1-num2));
println("El resultado de la multiplicacin es "+(num1*num2));
println("El resultado de la divisin es "+(num1/num2));
}
}

Se debe entregar el programa fuente en Java y las instrucciones apropiadas


para ejecutarlo. En este caso, se revisar en Netbeans.

Importante... Los instrumentos de evaluacin o cualquier actividad en


donde se identifique una copia textual o similar se anularn, tanto del
libro de texto, como de otro compaero.

21
Compiladores CDIGO 03307

Tarea #4

OBJETIVOS

Reafirmar conceptos del curso mediante investigaciones breves dando


respuestas detalladas a preguntas. En vista de que se desea destinar el
mayor tiempo posible a los avances del proyecto dada su complejidad, se
permite por esta ocasin que las preguntas se respondan sin necesidad de
hacer la formalidad de un documento (v.g. introduccin, conclusiones, etc.)
bastando la portada y la bibliografa segn las pautas dictadas por la
universidad. Sin embargo, cada respuesta de cada pregunta deber tener al
menos una pgina de extensin, a espacio sencillo, letra arial tamao 10; al
menos dos prrafos de esa hoja deben corresponder a opiniones, juicios o
conclusiones personales del estudiante sobre el tema de la pregunta.
Ir poniendo en prctica esos conceptos mediante la programacin de partes
del proyecto.
Ir adelantando el proyecto con avances parciales y controlados del desarrollo.

DESARROLLO

Se deben implementar los siguientes puntos, segn la rbrica que se muestra a


100%.

Se recuerda que deben leer la totalidad de los captulos para poder responder las
preguntas.

ITEM DESARROLLO VALOR


Pregunta Con base a la lectura del captulo 11, 10%
1 defina paralelismo y canalizacin.
Explique y opine.
Pregunta Defina SQL y DATALOG. 10%
2 Enumere algunas ventajas y desventajas de cada uno.
D ejemplos de cada uno.
Pregunta Explique qu es el anlisis interprocedural. 10%
3 Cite sus ventajas y desventajas.
Adelanto Deben programarse los siguientes aspectos del proyecto: 70%
proyecto
Que se puedan compilar programas en YABA que manejen:

CONDICIONES

22
Compiladores CDIGO 03307

DECISIONES
CICLOS
USO DE JAVAC.EXE Y JAVA.EXE PARA COMPILAR
LOS PROGRAMAS EN YABA
Ejemplos de programas de este tipo

// Tercer ejemplo
import java.util.*;
public class Discriminante {
public static void main (String[] args) {
double a;
double b;
double c;
double discriminante;
a = 1;
b = 2;
c = 1;
discriminante = b*b - 4*a*c;
if (discriminante > 0) {
println("Hay dos soluciones reales distintas.");
}
if (discriminante == 0) {
println("Hay una solucin nica.");
}
if (discriminante <0) {
println("No hay soluciones reales.");
}
}
}

// Cuarto ejemplo
import java.util.*;
public class MuestraNumWhile {
public static void main(String[] args) {
int num;
num=1;
while (num<=100){
println(num);
num=num+1;
}
}
}

Se debe entregar el programa fuente en Java y las instrucciones


apropiadas para ejecutarlo. En este caso, se revisar en CMD
pues ya es la entrega final.

Nota: las rbricas se incluyen dentro de la plataforma de aprendizaje en lnea Moodle.

23
Compiladores CDIGO 03307

Proyecto

OBJETIVO

Poner en prctica los conocimientos adquiridos durante el curso, en particular


algunas de las ideas de programacin que derivan de los anlisis lxicos, sintcticos
y semnticos de los lexemas que conforman las hileras de caracteres que se usan,
como cdigo fuente, como entrada del programa.

DESARROLLO

YABA es el lenguaje de programacin antecesor de Java y como tal es un poco ms


rudimentario, careciendo de muchas de las caractersticas modernas de su hermano
mayor. Programar en YABA era un poco difcil, ms no imposible, hasta el punto de
que algunos de los primeros programadores tenan verdaderos ataques de jbilo
cuando lograban que el programa en YABA se ejecutara sin errores.

PAUTAS
El proyecto es individual.
Debe ser hecho en Java. No puede usarse otro lenguaje.
El entorno de desarrollo debe ser Netbeans, oficial de la universidad.
Debe ser en modo carcter.
Si el estudiante desea hacerlo en modo grfico no hay problema, pero no se brindan
puntos adicionales en la nota final.

NOCIONES BSICAS
YABA es un compilador sencillo (no genera ejecutable nativo) que permite compilar
programas bsicos hechos en un lenguaje similar al de Java llamado YABA; en
sntesis, se aceptan solo el programa principal main (no se permiten mtodos),
variables de tipos simples, las instrucciones de asignacin, la instruccin de decisin
IF/ELSE simple, as como el ciclo WHILE simple; no se permiten decisiones (IF) o
ciclos (WHILE) anidados.

24
Compiladores CDIGO 03307

Usando Netbeans (la herramienta oficial) deben realizar un programa en Java


llamado YABA.java que implemente un compilador para YABA. Una vez programado
y probado se debe generar el ejecutable o sea el YABA.class

La sintaxis para usar el compilador YABA es la siguiente, la cual se digita en la lnea


de comandos de MICROSOFT WINDOWS o CMD:

C:\>java YABA ClaseYABA

en donde ClaseYABA es el nombre de clase main contenida en el archivo de texto


con extensin .yaba que corresponde a un programa YABA.

As, si tenemos el siguiente archivo:

Ejemplo.yaba

/* Primer Ejemplo en YABA */


public class Ejemplo {
public static void main(String[ ] arg) {
println ("HolaYABA!")
}
.

la manera de ejecutar el compilador YABA es la siguiente:

C:\>java YABA Ejemplo

El compilador de YABA debe abrir el archivo Ejemplo.yaba y empezar a leerlo lnea


por lnea; cada una de esas lneas debe ser analizada sintctica y semnticamente,
a fin de detectar errores.

YABA debe crear un nuevo archivo de salida de errores, con el mismo nombre del
programa en YABA, solo que con el sufijo -YABA-errores y extensin .txt

25
Compiladores CDIGO 03307

Para el ejemplo citado, se generar el archivo Ejemplo-YABA-errores.txt

Este archivo llevar, en primera instancia, una copia del programa en YABA, con las
lneas debidamente enumeradas hasta un mximo de 999 lneas; se puede asumir
que nunca ningn programa YABA superar ese lmite de lneas.

Entonces, se vera as:

Ejemplo-YABA-errores.txt

00001 /* Primer Ejemplo en YABA */


00002 public class Ejemplo {
00003 public static void main(String[ ] arg) {
00004 println ("Hola YABA!")
ERROR 100: se esperaba un punto y coma.
00005 }
00006 .
ERROR 200: no se encontr el smbolo }

Si no se encontraron errores quiere decir que el programa en YABA es compatible


con Java y por lo tanto puede ser ejecutado en Java; pero para ello se necesita
compilarlo, ahora s, en Java.

Entonces el compilador YABA debe invocar automticamente al compilador Java


javac.exe y posteriormente al ejecutador de Java java.exe para que el programa en
YABA sea corrido.

Para implementar este mecanismo el estudiante deber investigar cmo manejar las
variables de ambiente de CMD necesarias para realizar esas invocaciones, as como
valorar si temporalmente debe cambiar la extensin del archivo .yaba a .java o bien
sacar una copia con extensin .java para poder ser compilada en Java y
posteriormente ejecutada en Java.

26
Compiladores CDIGO 03307

En otras palabras, si el programa anterior en YABA, Ejemplo, no tuviera esos errores


de sintaxis, entonces as ser vera el resultado del comando:

C:\> java YABA Ejemplo


Hola YABA!

Lo hacemos de esta manera porque el programar el compilador YABA es en s, una


tarea muy laboriosa y complicada; si a eso le agregramos toda la lgica para
generar un ejecutable real para la mquina la faena sera de nunca acabar.
Aprovechando entonces la compatibilidad de YABA con Java invocamos el
compilador de Java que es el que genera el ejecutable para el ambiente.
Es importante destacar que el lenguaje de programacin YABA es un subconjunto
del lenguaje de programacin Java, de tal manera que para cualquier duda que se
tenga se puede consultar un manual tcnico de Java, ya que las instrucciones son
las mismas, excepto que para YABA vamos a precisar las siguientes pautas o reglas
especficas:

Los archivos de cdigo fuente en YABA se pueden escribir en cualquier editor, siempre y cuando
se grabe el contenido como texto sin formato (en cdigo ASCII). Las lneas de estos archivos
deben terminar con punto y coma (cuando proceda, como en Java) y al final con el carcter de
retorno de carro (ENTER o RETURN).

Los archivos de cdigo fuente en YABA siempre tendrn la siguiente estructura sin excepcin; no
se debe asumir y se debe verificar; si no la cumplen se deben enviar los mensajes de error
respectivos:

public class Identificador {


public static void main ( String [ Argumentos ] )
{
} // Fin de main()
} // Fin de classIdentificador

Fsicamente, el archivo que almacena este cdigo fuente se debe llamar Identificador.yaba
como ya se explic. Es importante recordar que tanto en Java como en YABA los identificadores
son sensibles a maysculas y minsculas. No se permiten mtodos, solo el main; en otras
palabras, toda la lgica del programa en YABA estar dentro del main delimitada por las llaves.

Cualquier token que no se reconozca como vlido de YABA (pero s de Java) se ignorar, pero en
el archivo de errores saldr el mensaje:

Advertencia: instruccin xxxx no es soportada por esta versin.


(estas advertencias no se considerarn errores).

Por ejemplo: las instrucciones "import"; una vez detectados estos tokens que YABA no soporta el
resto de la lnea se debe ignorar y por lo tanto no compilar; la idea es permitir instrucciones no

27
Compiladores CDIGO 03307

soportadas por YABA pero s por Java. Para poder implementar esto, se deber llevar un arreglo
o vector de todas las palabras reservadas de Java. Para los tokens que no estn en esta lista y
que no correspondan a variables o instrucciones de YABA deber aparecer un mensaje como el
siguiente:

ERROR: "xxxx" no es una instruccin vlida de YABA ni de Java.


(estos errores s se considerarn como tales).

Se puede asumir que las clases de java.lang se usarn sin indicar el paquete.
Ejemplos:
println (digitos);
println ("fin");

COMENTARIOS
Si una lnea empieza con estos caracteres: // (sin espacio entre ellos) se debe interpretar como
comentario y entonces se puede asumir que el resto de la lnea es un comentario y por lo tanto no se
debe compilar.
Tambin, se puede asumir que nunca vendrn comentarios de los delimitados por /* y */

OPERADORES ARITMTICOS
Los operadores aritmticos vlidos para YABA son:
+ Suma
- Resta
/ Divisin
* Multiplicacin

Se deben seguir las reglas de precedencia de operadores ya conocidas; recordar que las mismas pueden
ser alteradas por los caracteres de agrupacin (parntesis) definidos ms adelante. Tomar nota, adems,
de la naturaleza unaria del signo negativo. Se puede asumir que las expresiones de los programas en
YABA solo traern estos operadores aritmticos.

NOTA
En particular, las formas de operadores como i++ o ++i no se soportan en YABA;
se puede asumir que nunca vendrn.

OPERADORES RELACIONALES
Los operadores relacionales vlidos para YABA son:
== Igual que.
> Mayor que.
>= Mayor o igual que (no debe haber blanco separador entre los dos caracteres).
< Menor que (no debe haber blanco separador entre los dos caracteres).
<= Menor o igual que (no debe haber blanco separador entre los dos caracteres).
!= Diferente que (no debe haber blanco separador entre los dos caracteres).

Se puede asumir que las expresiones de los programas en YABA solo traern estos operadores
relacionales.

OPERADORES LGICOS (&& and, || or y not)


Se puede asumir que las expresiones de los programas en YABA no los traern.

AGRUPACIN
Los caracteres de agrupacin vlidos para YABA son:

( Parntesis izquierdo.
) Parntesis derecho.

Se debe reportar como error la falta de parntesis de apertura, de cierre, o los parntesis de ms.

28
Compiladores CDIGO 03307

Se usarn tantos parntesis como se juzgue necesario para darle claridad a las expresiones a calcular o a
validar en condiciones de IF y de WHILE.

INICIO/FIN DE INSTRUCCIONES
Los caracteres de inicio/fin de instrucciones vlidos para YABA son:

{ Llave izquierda.
} Llave derecha.

Se debe reportar como error la falta de llave de apertura, de cierre, o las llaves de ms.
Se usarn las llaves conforme a las reglas que dictan los manuales de Java.

VARIABLES
En YABA los identificadores se definen siguiendo las reglas de Java, a saber:

Todos los identificadores deben de comenzar con una letra.


Se permite el carcter subrayado ( _ ) o el carcter dollar ($).
Pueden incluir dgitos, pero no comenzar con uno.
No pueden incluir el carcter espacio en blanco.
Son significativas las letras maysculas y minsculas.
No se pueden utilizar las palabras reservadas como identificadores

PALABRAS RESERVADAS
Los identificadores que correspondan a los comandos o instrucciones que usa YABA o Java decimos que
son palabras reservadas y por lo tanto no pueden ser identificadores de variables. Como ya se indic,
para poder implementar esto se deber llevar un arreglo o vector de todas las palabras reservadas de
Java.

TIPOS DE DATOS
YABA maneja solo los siguientes tipos de datos simples o primitivos:

char
byte
short
int
long
float
double

Se puede asumir que las variables se declaran siempre sin hacerles asignacin y que ser solo una
variable por lnea.

Ejemplos:
int a;
int b = 2; <--------- YABA no lo soporta
double d;
char c = 100; <--------- YABA no lo soporta
char e;

ERRORES
YABA debe reportar al usuario los errores que detecta cuando analiza las hileras de caracteres que
conformar el archivo fuente que corresponde al programa.

29
Compiladores CDIGO 03307

Los diversos mensajes de error deben tener este formato:

ERROR 999: texto del error.

Todos los errores que se vayan a manejar deben ser identificados por un cdigo y un texto.
La enumeracin de los errores queda a criterio del estudiante. Los errores deben ser claros y concisos y
referirse a solo una situacin de error por vez, de manera que un texto como ste:

Identificador no definido o de tipo invlido.

no es correcto pues son dos errores diferentes en un mismo mensaje.

Ejemplos:
ERROR 025: los tipos de datos no son congruentes.
ERROR 027: identificador no definido.
ERROR 030: falta un parntesis derecho.

ASIGNACIN
La asignacin de variables se hace mediante el operador relacional =; a las variables se les puede
asignar constantes, variables o expresiones que sean del mismo tipo; la violacin a esto se debe validar y
reportar como error.

Se puede asumir que solo va una instruccin de asignacin por lnea (solo una variable a la vez). El
identificador a la izquierda del igual debe ser vlido y no puede corresponder a uno no definido; es error y
se debe notificar.

El valor digitado (si es una constante) a la derecha del operador igual define el tipo:

si s lleva punto decimal entonces es de tipo real.


si no lleva punto decimal entonces es de tipo entero.

El punto decimal debe ser seguido por al menos un dgito; en consecuencia, este valor es incorrecto:
123.

Debera ser 123 (para asignar a una variable entera) o 123.0 o 123.00 para asignar a una variable real. No
hay lmite en la cantidad de dgitos tanto a la izquierda como a la derecha del punto decimal.

Cuando lo que se asigna a la variable es una expresin en notacin infija (la que normalmente usamos los
humanos) construida usando uno, varios o todos los trminos definidos en este documento, el programa
debe validar tanto sintctica como semnticamente la expresin. Si no fuera vlida se debe notificar al
usuario los errores que se haya podido determinar, sean sintcticos o semnticos.

Ejemplos
a = 1;
c =a + b;
d = 20;
letra ='E';

ENTRADA DE DATOS
Debido a la complejidad de los mtodos de entrada de datos, YABA no los maneja.
En su lugar se ponen valores a las variables como parte de las instrucciones del programa.

Ejemplo:
Ntese como los valores iniciales de las variables se dan en el programa y no mediante lectura.

public class CuentaDigitos {


public static void main (String args[]) {

30
Compiladores CDIGO 03307

int numero = 455;


int digitos = 0;
while( numero> 0 ) {
numero = numero - 10;
digitos = digitos + 1;
}
println (digitos);
}
}
SALIDA DE DATOS
nicamente se usar el comando println para imprimir en la consola del CMD.
La sintaxis es la misma de Java; se pueden imprimir constantes de texto, variables, constantes numricas
o una combinacin de ambos usando el operador de concatenacin +.

Ejemplos:
println ("El precio es de " + precio + " euros");
println ("Mi nombre es " + "Juan");

DECISIONES
En YABA las decisiones se implementan mediante la instruccin IF y, opcionalmente, mediante el ELSE.
La sintaxis es la siguiente:

if (condicin) {
instrucciones
} else {
instrucciones
}

Se puede asumir que no vienen IF anidados, aunque s pueden venir varios independientes entre s.

Ejemplos:
if ( a> b ) {
j = a - b;
} else {
j = b - a;
}

CICLOS
En YABA los ciclos se implementan mediante la instruccin WHILE. La sintaxis es la siguiente:

while(condicin) {
instrucciones
}

Se puede asumir que no vienen WHILE anidados, aunque s pueden venir varios independientes entre s.

Ejemplos:
public class Cuadrado {
public static void main(String args[]) {
int contador;
contador = 1;
while( contador<= 5 ) {
println("*****\n");
contador = contador + 1;
}
}
}

31
Compiladores CDIGO 03307

publicclass Ciclo1 {
public static void main(String[] arg) {
int x;
x=1;
while (x<=100) {
print(x);
print(" - ");
x = x + 1;
}
}
}

CONDICIONES
Como se vio en los ejemplos anteriores, las instrucciones IF y WHILE manejan condiciones.
El programa debe validar tanto sintctica como semnticamente las condiciones.
Si no fueran vlidas se debe notificar al usuario los errores que se haya podido determinar.

ALGUNOS EJEMPLOS DE PROGRAMAS EN YABA


public class Operaciones {
public static void main(String[] args) {
int num1;
int num2;
num1=10;
num2=5;
println("El resultado de la suma es "+(num1+num2));
println("El resultado de la resta es "+(num1-num2));
println("El resultado de la multiplicacin es "+(num1*num2));
println("El resultado de la divisin es "+(num1/num2));
}
}

public class DivisionSegura {


public static void main(String args[]){
int x;
int y;
int z;
x = 12;
y = 2;
z = 0;
if( y !=0 ) {
z = x / y;
println("El resultado es : " + z);
} else {
println("Atencin! se pretende dividir por 0");
}
}
}

32
Compiladores CDIGO 03307

public class Discriminante {


public static void main (String[] args) {
double a;
double b;
double c;
double discriminante;
a = 1;
b = 2;
c = 1;
discriminante = b*b - 4*a*c;
if (discriminante > 0) {
println("Hay dos soluciones reales distintas.");
}
if (discriminante == 0) {
println("Hay una solucin nica.");
}
if (discriminante <0) {
println("No hay soluciones reales.");
}
}
}

public class MuestraNumWhile {


public static void main(String[] args) {
int num;
num=1;
while (num<=100){
println(num);
num=num+1;
}
}
}

ENTREGA
Se debern entregar como proyecto:
el programa o programas fuentes finales en Java.
Manual tcnico que explique cmo instalar y ejecutar el compilador YABA desde CMD.
En el manual tcnico deber venir una lista de los puntos que no se programaron o que no
funcionan correctamente y la justificacin del caso, a fin de valorar la calidad de la solucin
entregada y la viabilidad de dar por buenos algunos de esos puntos sin terminar.

RBRICA
Rbrica de evaluacin del proyecto

A continuacin se detallan los temas que se consideran en la rbrica para la


evaluacin del proyecto.
Aspecto a calificar Porcentaje
Modificacin o Mejora de la Tarea#1 5%
Modificacin o Mejora de la Tarea#2 5%
Modificacin o Mejora de la Tarea#3 5%
Modificacin o Mejora de la Tarea#4 5%

33
Compiladores CDIGO 03307

Ejecucin correcta del proyecto 60%


Presentacin de proyecto ya sea en 20%
forma virtual o presencial

* Estos comandos ya han sido evaluados en tareas anteriores.

Nota: las rbricas se incluyen dentro de la plataforma de aprendizaje en lnea Moodle.


.

34

S-ar putea să vă placă și