Si en lenguaje de programacion pascal tengo
x:=suma (22) y aparte suma(22)
que significa o en q difieren estos???
Update:CONSIDERANDO LAS OPCIONES DE RESPUESTA:
SUMA(22)
+DECLARA 20 VECES LA FUCION SUMA
+DECLARA AL PROCEDIMIENTO SUMA Y LE ENVIA EL VALOR 22
+INVOCA LA FUNCION SUMA Y LE ENVIA EL VALOR 22
+NINGUNA D ESTAS
Y LO MISMO PARA X:=SUMA(22)
Copyright © 2024 Q2A.ES - All rights reserved.
Answers & Comments
Verified answer
Hola Mıтѕυ Сυιιєи Đє Сαѕтєιι,
Toda asignación en pascal se construye con una gramatica similar a ésta:
<variable> := [ <variable> | <constante> | <función> | <exp_logica>]
Se lee: variable puede asumir el valor proveniente desde otra variable, constante, función, ó una expresión lógica (si el tipo de variable, es del tipo booleano o boolean).
Por tanto ante una sentencia:
X := suma(22);
Podemos dar por entendido de que estamos asignando en la variable X el resultado de una función que recibe como parámetro el valor o 22.
Ahora bien, distinto es el hecho de si nos encontramos con algo así:
suma(22);
Allí no podemos inferir si se trata de una función o un procedimiento. Nada impide invocar una posible función suma() y no asignar el resultado a una variable.
Tampoco se está declarando el procedimiento, puesto que para una declaración se debe respetar la semantica:
procedure <NombreFuncion> [( <grupo_parametros> )];
Tampoco se esté declarando 20 veces la función suma.
Creo que estas explicaciones puede sacar tus propias conclusiones.
Saludos,
multiplicacion POR FACTORES DIVERSOS