examen de programacion en pascal

2
1. Indique y explique detalladamente, los errores cometidos en el programa que se muestra a continuación: {1} Program aumento de sueldo {2} Const AUMENTO1: = 100; {3} AUMENTO2: = AUMENTO1+200 {4} AUMENTO3: = AUMENTO2+AUMENTO3: {5} Var antigüedad:integer; {6} sueldo;x;y: integer; {7} area: string; promedio=real {8} word: iinteger {9} Begin; {10} write(Ingrese la antiguedad del empleado en años) {11} readln (“antigüedad”) n:=0 {12} write (Ingrese el sueldo mensual del empleado); {13} readln(sueldo) {14} write(Ingrese el área a que pertenece) {15} readln(Area) {16} if antigüedad > 2 and antigüedad < 5 {17} sueldo= 1.2*round sueldo; {18} elseif antigüedad = >5 then {19} sueldo= 1.3*trunc(sueldo) {20} Case area of {21} “M”: sueldo=sueldo+AUMENTO1 { Marketing } {22} ”: sueldo=sueldo+AUMENTO2 {ventas } {23} “A”:sueldo=sueldo+AUMENTO3 {Administración } {24} writeln (el sueldo resultante es, sueldo); {25} x:=6: {26} Y:= x/2 {27} promedio:= total/n {28} sueldo:=32760+sueldo {29} maxint:=35, y = sqrt(y –5), {30} B := y mod 2; {29} AUMENTO2=39 {30} End 2. Elabore un programa en Pascal que permita leer cuatro números naturales: A, B, C y D, enseguida, halla el mayor de ellos, para decir finalmente si el número mayor, es múltiplo de 2, 3, 5, ó 7, en caso contrario se mostrará un mensaje adecuado. 3. Elabore un programa en Pascal que permita leer las variables que intervienen en la expresión y luego mostrar el resultado de su evaluación. 4. Escriba un programa en Pascal que imprima los valores mínimo y máximo de la siguiente expresión: Z = x 2/3 y – 8y 2 x x + 9 Av. Universitaria 1875 Pueblo Libre (Frente a la U. Católica) Teléfono: 261-8730

description

examen de programacion en pascal

Transcript of examen de programacion en pascal

1. Indique y explique detalladamente, los errores cometidos en el programa que se muestra a continuación:

{1} Program aumento de sueldo{2} Const AUMENTO1: = 100;{3} AUMENTO2: = AUMENTO1+200{4} AUMENTO3: = AUMENTO2+AUMENTO3:{5} Var antigüedad:integer;{6} sueldo;x;y: integer;{7} area: string; promedio=real{8} word: iinteger{9} Begin;{10} write(Ingrese la antiguedad del empleado en años) {11} readln (“antigüedad”) n:=0{12} write (Ingrese el sueldo mensual del empleado);{13} readln(sueldo){14} write(Ingrese el área a que pertenece){15} readln(Area){16} if antigüedad > 2 and antigüedad < 5{17} sueldo= 1.2*round sueldo;{18} elseif antigüedad = >5 then{19} sueldo= 1.3*trunc(sueldo){20} Case area of{21} “M”: sueldo=sueldo+AUMENTO1 { Marketing }{22} “”: sueldo=sueldo+AUMENTO2 {ventas }{23} “A”:sueldo=sueldo+AUMENTO3 {Administración }{24} writeln (el sueldo resultante es, sueldo);{25} x:=6: {26} Y:= x/2{27} promedio:= total/n{28} sueldo:=32760+sueldo{29} maxint:=35, y = sqrt(y –5),{30} B := y mod 2;{29} AUMENTO2=39{30} End

2. Elabore un programa en Pascal que permita leer cuatro números naturales: A, B, C y D, enseguida, halla el mayor de ellos, para decir finalmente si el número mayor, es múltiplo de 2, 3, 5, ó 7, en caso contrario se mostrará un mensaje adecuado.

3. Elabore un programa en Pascal que permita leer las variables que intervienen en la expresión y luego mostrar el resultado de su evaluación.

4. Escriba un programa en Pascal que imprima los valores mínimo y máximo de la siguiente expresión:

Z = x2/3 y – 8y2 xx + 9cuando “x” e “y” asumen los valores contenidos en el intervalo [1, 5]

5. Escribir un programa en Pascal que calcule el cociente y residuo de una división entera, SIN UTILIZAR DIV, MOD o / (división real). Hacer una tabla de seguimiento para una corrida del programa con los valores de 17 y 3.

6. Elaborar una función que reciba un número natural que puede tener como máximo 8 dígitos e invierta sus dígitos de 2 en 2, devolviendo el nuevo número.Por ejemplo: Si el número es 7658943, la función devolverá 7569834.

7. Se tiene la siguiente función F(x):F(x) =

Elabore un programa en Pascal que permita calcular F(x), siendo “x” y “k” números naturales.Nota: Deberá implementar, al menos, una función dentro del programa.

Av. Universitaria 1875 Pueblo Libre (Frente a la U. Católica) – Teléfono: 261-8730