Fundamentos de Programación GUIA 2 - 2007 Respuestas a los Ejercicios El interprete de pseudocódigo se encuentra en http://pseint.sourceforge.net 2.1. Causas de error: usar paréntesis, comenzar con un dıgito, usar operadores algebraicos. 2.2. 3451 -34.8 0.0081 -1.7E-3 +120975523 2.3. a) Error: no es una constante, es un identificador. b) Tipo caracter. c) Tipo caracter. d) Tipo lógico. e) Error: las constantes numéricas no admiten la coma. f) Error: aparece el operador de cociente. g) Tipo caracter. h) Tipo numérico. i) Tipo numérico. 2.4. (‘ b+RC(b↑2-4*a*c))/(2*a) x-3*y TRUNC(m)/2 2.5. Operador conjunción: ∧
∧ Resultado Verdadero ∧ Verdadero = Verdadero Verdadero ∧ Falso = Falso Falso ∧ Verdadero = Falso Falso ∧ Falso = Falso Operador disyunción: V V Resultado Verdadero V Verdadero = Verdadero Verdadero V Falso = Verdadero Falso V Verdadero = Verdadero Falso V Falso = Falso Operador Negacion: ~ ~ Resultado ~ Verdadero = Falso ~ Falso = Verdadero 2.6. A <= 100 ((p+q) > (m+1))∧ (Nombre = ’Pedroú) ~(x< (y+10)) Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 1 de 6
2.7. a) Tipo numérico. Resultado= 40 b) Expresión errónea: se relaciona (compara) un numero con una cadena de caracteres. c) Idem al anterior. d) Tipo lógico. Resultado= Verdadero e) Expresión errónea: se pretende usar un valor lógico como exponente. f) Tipo lógico. Resultado= Verdadero 2.8. Tipo numérico: x < a*b/2; Tipo caracter: mensaje <- “No hay otros datos”; Tipo lógico: r <- (m<100); 2.9. a) Es una expresión lógica que relaciona (asigna a) la variable CALC con la constante numérica 189. b) Expresión lógica que compara una constante caracter con una variable de igual tipo. c) asignación numérica. d) Proposición errónea. No se pueden comparar números con caracteres. e) asignación numérica. f) Proposición errónea. La variable T no puede ser de 2 tipos diferentes en un algoritmo. A la derecha debe ser de tipo caracter para poder compararla con ’Xú; y a la izquierda de la asignación debe ser de tipo lógico para recibir el valor de verdad de esta comparación. 2.10. a) El seguimiento se plantea en la tabla siguiente. Cada fila de la tabla corresponde a cada acción del algoritmo. Enunciado: ingrese 2 datos numéricos en 2 variables A y B. Informe el contenido de las variables con el mensaje `Valores iniciales`. Luego intercambie su contenido y obtenga la misma salida con el mensaje `Valores actuales`. A 73
B 105
Aux.
Salida Valores iniciales: A=73 B=105
73 105 73 Valores actuales: A=105 B=73
b) Es imposible probar el algoritmo con un dato numérico y uno de tipo cara caracter, porque una variable no puede cambiar de tipo durante la ejecución de un algoritmo. 2.11. Leer radio, base, altura; 2.12. Escribir "Área del Cırculo=", AreaC, "Área Rectángulo=", AreaR; 2.13. Las siguientes respuestas corresponden a la etapa de codificación (algoritmo). Complete Ud. las etapas anteriores para la Resolución de Problemas. a) Actividad 2 - 13ª Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 2 de 6
Proceso G2E213a Escribir 'Ingrese Coeficientes a, b, c:'; Leer a,b,c; dis <- (b*b - 4*a*c); r1 <- (-b+RC(dis)) / (2*a); r2 <- (-b-RC(dis)) / (2*a); Escribir 'Soluciones de la ecuacion:', r1,r2; FinProceso
b)Actividad 2 - 13b Proceso G2E213b Escribir 'Ingrese Costo KW, Lectura Anterior y Lectura Actual:'; Leer CostoKW, LecturaAnterior, LecturaActual; Consumo <- LecturaActual-LecturaAnterior; Importe <- Consumo*CostoKW; Impuesto <- 0.22*Importe; Total <- Importe + Impuesto; Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 3 de 6
Escribir 'KW consumidos:', Consumo; Escribir 'Total a pagar:', Total; FinProceso
c) Proceso Actividad 2 - 13c Leer b, alfa, h, V; //calculamos la base mayor del trapecio Bmayor ← b+2*(h/TAN(alfa)); AreaT ← (Bmayor+b)*h/2; // el caudal es area*velocidad Q ← AreaT*v; Escribir `Caudal medio=`, Q; FinProceso
Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 4 de 6
d)Actividad 2 - 13d Proceso G2E213d Escribir 'Ingrese: Ape, Nom, DN, MP: '; Leer Ape, Nom, DN, MP; Escribir 'Ingrese: SB, Anios, CodigoEC, Hijos, CodigoPresent: '; Leer SB, Anios, CodigoEC, Hijos, CodigoPresent; Antiguedad <- SB*Anios*0.012; Presentismo <- CodigoPresent * MP; SF <- CodigoEC*30+Hijos*40; AJ <- 0.11*SB; OS <- 0.03*SB; AG <- 0.01*SB; Haberes <- SB+Presentismo+SF+Antiguedad; Descuentos <- AJ+OS+AG; Liquido <- Haberes-Descuentos; Escribir 'Empleado: ', Ape, Nom; Escribir 'DNI: ',DNI; Escribir 'Haberes:'; Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 5 de 6
Escribir 'Basico: ',SB; Escribir 'Antiguedad: ', Antiguedad; Escribir 'Salario Familiar: ', SF; Escribir 'Descuentos'; Escribir 'Aporte Jubilatorio: ',AJ; Escribir 'Obra Social: ',OS; Escribir 'Aporte gremial: ', AG; Escribir 'Liquido a Cobrar: ', Liquido; FinProceso
Respuestas a las Preguntas del Cuestionario 2.1. Un identificador es un nombre de un elemento del algoritmo. Una variable es una posicion de memoria. 2.2. Sı. Una constante o una variable individual pueden considerarse una expresión mınima. 2.3. Para comparar debo emplear operadores relacionales (<,=,>). No es posible relacionar operandos de distinto tipo. 2.4. Sı, aunque no deben relacionarse directamente. Por ejemplo: ("Mariana"=Nombre) V R donde Nombre es una variable caracter, ’Mariana´ una constante caracter y R una variable lógica que puede contener VERDADERO o FALSO. 2.5. Sı, aunque su uso no será general. Siempre obtendrá la misma salida. 2.6. No. . Para que queremos un algoritmo que no nos da ningún resultado ? 2.7. Las que aparecen en la expresión de la derecha. 2.8. Sı. El valor anterior se perderá . 2.9. No. Es un error de lógica. Una variable que no ha sido definida en el algoritmo no posee dato alguno. (Cuando construyamos programas veremos que una variable no definida puede contener valores por defecto). 2.10. La asignación y la lectura permiten crear o definir variables en el algoritmo.
Fundamentos de Programación 2007 JTP Prof. Gerardo Sas Email
[email protected]
Fundamentos de Programación - 2007 -
RESPUESTAS G2 Pag. 6 de 6