Está en la página 1de 3

Sintaxis y Semntica de los Lenguajes

Curso: K2072

Desarrollo Caso de Estudio 1 Promedio de Lneas 1. Explique la primer expresin de la sentencia for de esta funcin main. La primera expresin de la sentencia for, est compuesta por dos expresiones de asignacin separadas por , (coma). Cada una de las expresiones, est compuesta por un operador de asignacin ( ), ! dos operandos, el i"quierdo que almacena el #alor del operando derec$o. %e e#al&a primero la expresin de la i"quierda ! luego la derec$a, de#ol#iendo como resultado la expresin derec$a. '. ()or qu* son necesarios los par*ntesis para el expresin caracter getc$ar()+ (,u* ocurrir-a si no+ %on necesarios los par*ntesis en la expresin carcter getc$ar(), para cam.iar el orden de precedencia cuando se e#al&an las operadores. /e no usarlos, ocurrir-a que se e#aluar-a primero la operacin 0 ! luego la asignacin, que no es lo que queremos. 1. /escri.a la semntica de la sentencia if que est a continuacin de la sentencia for. 23451677 8.9 Error :andling ; %tderr and Exit< La semntica de la sentencia if que est a continuacin de la sentencia for es que si la condicin es #erdadera (a&n $a! datos por procesar) entonces imprime en la salida estndar de errores =o se pudo seguir le!endo de la entrada de.ido a un error. >. /escri.a la funcin perror. 23451677 ?ppendix @ ; %tandard Li.rar! ; @.1.8 Error Aunctions<. La funcin perror (s) imprime s ! un mensaBe de error definido por la implantacin, correspondiente al entero que esta en errno. C. 5eemplace la expresin 0feof(stdin) por una equi#alente. ?!udaD ferror. if (ferror(stdin)) 9. Explique el formato E.1f 23451677 C$apter 8 ; Fnput and Gutput ;; 8.' Aormatted Gutput ; printf<. El formato E.1f indica lo siguienteD imprime como punto flotante, con un carcter despu*s del punto decimal.
Hoja 1 de 3

Sintaxis y Semntica de los Lenguajes

Curso: K2072

8. ()or qu* se aplica un casteo a la expresin l-neas+ %e aplica un casteo a la expresin l-neas, para que el resultado de la di#isin no sea truncado, !a que los operandos son enteros. ?l ser de tipo float el di#isor, el di#idendo se $ace float tam.i*n, dando un resultado de tipo float. 7. EBecute el programa con el teclado como entrada ! la pantalla como salida.

6. EBecute el programa utili"ando como entrada al arc$i#o con el programa fuente, )romedio.c, ! como salida a estadisticas.txt.

1H. (Este programa funciona correctamente para cualquier entrada+ ?!udaD expresin condicional 23451677 C$apter ' ; I!pes, Gperators and Expressions ;; '.11 Conditional Expressions<.

Hoja 2 de 3

Sintaxis y Semntica de los Lenguajes

Curso: K2072

El programa no funciona correctamente para cualquier entrada, !a que si tomamos por eBemplo la entrada por teclado, e ingresamos Ctrl J K ! enter, se producir-a una di#isin por cero, que no est contemplada. Gtro pro.lema surgir-a si tomamos un #alor superior al extremo no contemplado en el rango dentro del cual est definido el tipo de #alor de la #aria.le.

11. ?nalice si la expresin que calcula el promedio es precisa. (Cuenta la cantidad de caracteres correctamente+ La expresin que calcula el promedio no es precisa, !a que est contando los caracteres de escape LMnN por cada l-nea. G sea que por cada l-nea, cuenta la cantidad total de caracteres ms uno (correspondiente al LMnN). 1'. (,u* cam.ios se de.en $acer al programa para que tam.i*n informe la cantidad de l-neas ! la cantidad de caracteres en la entrada+ )ara que el programa tam.i*n informe la cantidad de l-neas ! la cantidad de caracteres en la entrada, lo que de.er-a $acerse es simplemente imprimir las #aria.les nl ! nc respecti#amente.

Hoja 3 de 3

También podría gustarte