|
Verás...
Te resumo lo del PROCEDURE, que creo que te aclarará bastante ;)
Tú sueles poner, por ejemplo, el típico "WRITELN(nombre);", donde la variable nombre se supone que ya declaraste, de tipo STRING y tal.
Pues ese "WRITELN" es un PROCEDURE (procedimiento), que recibe un PARÁMETRO (en este caso del tipo STRING) y hace una serie de cosas, en este caso escribirlo en la pantalla.
Ahora, hagamos un PROCEDURE ejemplar para que dados 2 números, num1 y num2, devuelva un tercer número "resultado" con la suma de ambos:
PROCEDURE Sumar(num1,num2:INTEGER; VAR resultado);
BEGIN
resultado:=num1+num2;
END;
Esto se hace en la zona de declaraciones, antes del BEGIN del programa principal.
Ahí estas declarando un SUBPROGRAMA que es un PROCEDIMIENTO. Con esto se logra duvudir algo grande en problemas más pequeñitos ^^
El VAR que hay justo antes de "resultados" indica que ese parámetro es de ENTRADA/SALIDA. Es decir: ahí devolverá un valor.
En el programa princpal podríamos poner:
(...)
BEGIN
Sumar(7,-2,suma_total);
WRITELN(suma_total);
END.
Nos escribiría 5. Si no pusiéramos el "VAR" pondría 0.
Lo del porcentaje que mencionabas, no sé ué es lo que se te pide :s Estoy tan perdido como tú. Si puedes especificar algo más, podría ayudarte. Para lo de la subprogramación con PROCEDURE, mírate esto: http://www.nachocabanes.com/tutors/cupas1.htm
|