Respuestas
Respuesta:
Algoritmo muchassumas
La función debe tener el mismo tipo que la variable donde se va a asignar el resultado de la función.
var:
a,b,c : enteros
comienzo
Leer a, b
c= suma(a,b)
Obsérvese que los parámetros tienen un tipo, y que la función también tiene un tipo.mostrar c
fin
Función suma(x,y: enteros) : entero
suma=x+y
fin_función
Cuando se llama a la función [c=suma(a,b)], se está asignando el número que devuelve la función suma a la variable c.
Ahora bien, de esta manera planteada, podría suponerse que los parámetros actuales siempre se corresponden de la manera planteada en el ejemplo. Esto no siempre es así.
Procedimientos: se definiría como un módulo. Concretamente, como un módulo que no retorna ningún valor, ejecuta lo que tenga que ejecutar y devuelve el control al programa que lo llamó.
Supongamos que queremos ordenar tres valores numéricos. En ese caso, el algoritmo sería:
Algoritmo ordenar
Var
a,b,c, aux : entero
Comienzo
Leer a, b, c
si a > b
aux= a
a=b
b= aux
Tres veces se repite el intercambio, con diferentes variables.
Obsérvese que las líneas de código son similares, por lo que se podría escribir un fragmento de código aparte, y utilizarlo con los PARAMETROS adecuados en cada casofinsi
si b>c
aux= c
c=b
b= aux
si a > b
aux= a
a=b
b= aux
finsi
finsi
mostrar a,b,c
fin
Amerita, entonces, utilizar un procedimiento «intercambio » que me permita intercambiar dos variables cada vez que lo necesite y sin necesidad de reescribir el código cada vez.
Algoritmo ordenar
Var
a,b,c, aux : entero
Comienzo
Leer a, b, c
si a > b
intercambio (a,b)
finsi
si b>c
intecambio (b,c)
si a > b
intercambio(a,b)
finsi
finsi
mostrar a,b,c
fin
Y generamos el procedimiento intercambio :
Procedimiento intercambio (x, y: enteros)
Var aux: entera
Comienzo
aux = x
x= y
y= aux
fin
Explicación: