Problemas Pascal
Publicado por Jose Pedro (2 intervenciones) el 15/04/2012 18:30:41
Necesito hacer estos ejercicios de Pascal, que me han mandado y realmente no se por donde empezar.
1- En el siguiente programa se define un procedimiento (EsMayor) que asigna a resultado el valor
true (verdadero) si primero es mayor que segundo, sino asigna a resultado el valor false (falso). Complete la cabecera del procedimiento y la llamada al mismo pasando correctamente los
parámetros actuales.
program Maximo ;
procedure EsMayor ( . . . ; . . . ; . . . ) ;
begin
r e s u l t a d o := pr imer o > segundo
end ;
var
a , b : i nteger ;
r e s p u e s t a : boolean ;
begin
writeln ( ’Escribe un numero ’ ) ;
readln ( a ) ;
writeln ( ’Escribe otro numero ’ ) ;
readln ( b ) ;
EsMayor ( . . . , . . . , . . . ) ; { llamada a l p r o c e d imie n t o }
i f r e s p u e s t a then
writeln ( a , ’ es mayor que ’ ,b )
e l s e
writeln ( a , ’ no es mayor que ’ ,b ) ;
end.
2. En el siguiente programa se define un procedimiento (Celsius_a_Fahreneheit) que convierte los
grados Celsius (celsius) en grados Fahreneit (fahrenheit). Complete la cabecera del procedimiento y la llamada al mismo pasando correctamente los parámetros actuales.
program co nver s o r Temper a t ur a ;
procedure Cels ius _a _Fa hr enheit ( . . . ; . . . ) ;
begin
f a h r e n h e i t := ( 9 . 0 / 5 . 0 ) c e l s i u s + 3 2 . 0 ;
end ;
var
grados_c , grados_f : si ngl e ;
begin
writeln ( ’Introducir la cantidad de grados Celsius: ’ ) ;
readln ( grados_c ) ;
Cels ius _a _Fa hr enheit ( . . . , . . . ) ; { llamada a l p r o c e d imie n t o }
writeln ( ’La cantidad de grados Fahrenheit es ’ , grados_f : 8 : 2 ) ;
end .
3. En el siguiente programa se definen dos procedimientos (Modifica1 y Modifica2) que decrementan
en 7 el párametro formal n. Durante la ejecución, el usuario introduce el valor 5 cuando es pedido
por el programa. ¿ Qué valor es mostrado por pantalla la primera vez (después de la llamada a
Modifica1) ? ¿ Y la segunda vez (después de la llamada a Modifica2) ?
program s e n c i l l o ;
procedure Mo d if ic a 1 ( n : i nteger ) ;
begin
n := n 7
end ;
procedure Mo d if ic a 2 ( var n : i nteger ) ;
begin
n := n 7
end ;
var
numero : i nteger ;
begin
writeln ( ’Introduzca un numero entero: ’ ) ;
readln ( numero ) ;
Mo d if ic a 1 ( numero ) ; { llamada a Mo d if ic a 1 }
writeln ( ’Numero ahora vale: ’ , numero ) ;
Mo d if ic a 2 ( numero ) ; { llamada a Mo d if ic a 2 }
writeln ( ’Numero ahora vale: ’ , numero ) ;
end .
4. Considere el siguiente código en Pascal:
program e n t r a d a _s a lid a ;
procedure F(var x : i nteger ; y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
procedure G(var x , y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
procedure H( x , y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
var
a , b : i nteger ;
begin
a := 1 ;
b := 2 ;
F( a , b ) ;
G( a , b ) ;
H( a , b ) ;
writeln ( ’a = ’ , a , ’ b = ’ ,b ) ;
end .
¿ Qué valores de a y b aparecerán en pantalla?
1- En el siguiente programa se define un procedimiento (EsMayor) que asigna a resultado el valor
true (verdadero) si primero es mayor que segundo, sino asigna a resultado el valor false (falso). Complete la cabecera del procedimiento y la llamada al mismo pasando correctamente los
parámetros actuales.
program Maximo ;
procedure EsMayor ( . . . ; . . . ; . . . ) ;
begin
r e s u l t a d o := pr imer o > segundo
end ;
var
a , b : i nteger ;
r e s p u e s t a : boolean ;
begin
writeln ( ’Escribe un numero ’ ) ;
readln ( a ) ;
writeln ( ’Escribe otro numero ’ ) ;
readln ( b ) ;
EsMayor ( . . . , . . . , . . . ) ; { llamada a l p r o c e d imie n t o }
i f r e s p u e s t a then
writeln ( a , ’ es mayor que ’ ,b )
e l s e
writeln ( a , ’ no es mayor que ’ ,b ) ;
end.
2. En el siguiente programa se define un procedimiento (Celsius_a_Fahreneheit) que convierte los
grados Celsius (celsius) en grados Fahreneit (fahrenheit). Complete la cabecera del procedimiento y la llamada al mismo pasando correctamente los parámetros actuales.
program co nver s o r Temper a t ur a ;
procedure Cels ius _a _Fa hr enheit ( . . . ; . . . ) ;
begin
f a h r e n h e i t := ( 9 . 0 / 5 . 0 ) c e l s i u s + 3 2 . 0 ;
end ;
var
grados_c , grados_f : si ngl e ;
begin
writeln ( ’Introducir la cantidad de grados Celsius: ’ ) ;
readln ( grados_c ) ;
Cels ius _a _Fa hr enheit ( . . . , . . . ) ; { llamada a l p r o c e d imie n t o }
writeln ( ’La cantidad de grados Fahrenheit es ’ , grados_f : 8 : 2 ) ;
end .
3. En el siguiente programa se definen dos procedimientos (Modifica1 y Modifica2) que decrementan
en 7 el párametro formal n. Durante la ejecución, el usuario introduce el valor 5 cuando es pedido
por el programa. ¿ Qué valor es mostrado por pantalla la primera vez (después de la llamada a
Modifica1) ? ¿ Y la segunda vez (después de la llamada a Modifica2) ?
program s e n c i l l o ;
procedure Mo d if ic a 1 ( n : i nteger ) ;
begin
n := n 7
end ;
procedure Mo d if ic a 2 ( var n : i nteger ) ;
begin
n := n 7
end ;
var
numero : i nteger ;
begin
writeln ( ’Introduzca un numero entero: ’ ) ;
readln ( numero ) ;
Mo d if ic a 1 ( numero ) ; { llamada a Mo d if ic a 1 }
writeln ( ’Numero ahora vale: ’ , numero ) ;
Mo d if ic a 2 ( numero ) ; { llamada a Mo d if ic a 2 }
writeln ( ’Numero ahora vale: ’ , numero ) ;
end .
4. Considere el siguiente código en Pascal:
program e n t r a d a _s a lid a ;
procedure F(var x : i nteger ; y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
procedure G(var x , y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
procedure H( x , y : i nteger ) ;
begin
x := x + y ;
y := x y
end ;
var
a , b : i nteger ;
begin
a := 1 ;
b := 2 ;
F( a , b ) ;
G( a , b ) ;
H( a , b ) ;
writeln ( ’a = ’ , a , ’ b = ’ ,b ) ;
end .
¿ Qué valores de a y b aparecerán en pantalla?
Valora esta pregunta


0