Análisis de llamadas a procedimientos
De Ejercicios
Contenido |
Enunciado
Considera el siguiente procedimiento:
PROCEDIMIENTO Escr(ch: CARÁCTER, long: ENTERO) INICIO MIENTRAS long>0 HACER ESCRIBIR ch long <-- long - 1 FIN_MIENTRAS FIN
Enunciado a)
Si ch
tiene el valor 'X' y numero
el valor 5, ¿cuál sería el efecto de ejecutar cada una de las siguientes llamadas al procedimiento?
Escr(ch,4*numero-12) Escr(ch,6) Escr(5,numero) Escr('/',numero) Escr('.',6) Escr('p',-10)
Enunciado b)
Escribe llamadas al procedimiento Escr
para que cuando se ejecuten produzcan las siguientes salidas:
1) 35 guiones sucesivos.
2) 6 veces tantos espacios en blanco como el valor de numero
3) El valor actual de ch
14 veces
Soluciones
Para dar la solución del ejercicio hay que tener en cuenta que el procedimiento Escr
muestra en el dispositivo de salida el contenido de ch
tantas veces como indique el parámetro long
.
Solución de a)
Escr(ch,4*numero-12) | Muestra el carácter 'x' 8 veces (4*numero-12)
xxxxxxxx |
Escr(ch,6) | Muestra el carácter 'x' 6 veces
xxxxxx |
Escr(5,numero) | La llamada no es correcta, porque para ser un carácter tiene que ir entre comillas, por lo tanto tomará 5 como un entero. |
Escr('/',numero) | Muestra el carácter '/' 5 veces
///// |
Escr('.',6) | Muestra el carácter '.' 6 veces
...... |
Escr('p',-10) | No muestra nada ya que -10 es menor que 0 y no entrará dentro del bucle MIENTRAS del procecimiento. |
Solucion de b)
1) 35 guiones sucesivos
Escr('-',35)
2) 6 veces tantos espacios en blanco como el valor de numero
Escr(' ',6*numero)
3) El valor actual de ch
14 veces
Escr(ch,14)