En aquest tema, aprendrem a crear i utilitzar subrutines i funcions en DCL (Digital Command Language) a OpenVMS. Les subrutines i funcions són eines poderoses que permeten modularitzar el codi, fer-lo més llegible i reutilitzable.

Objectius

  • Entendre què són les subrutines i funcions.
  • Aprendre a definir i cridar subrutines i funcions en DCL.
  • Conèixer les diferències entre subrutines i funcions.
  • Practicar amb exemples pràctics.

Què són les Subrutines i Funcions?

Subrutines

Una subrutina és un bloc de codi que es pot cridar des de diferents parts d'un programa. Les subrutines ajuden a evitar la duplicació de codi i faciliten la seva gestió.

Funcions

Una funció és similar a una subrutina, però retorna un valor. Les funcions són útils quan necessitem realitzar càlculs o operacions que produeixen un resultat que s'ha d'utilitzar posteriorment.

Definició de Subrutines en DCL

Sintaxi

$ SUBRUTINA: SUB
$   ! Codi de la subrutina
$   RETURN
$ END SUBRUTINA

Exemple

$! Definició de la subrutina
$ SALUTAR: SUB
$   WRITE SYS$OUTPUT "Hola, benvingut a OpenVMS!"
$   RETURN
$ END SALUTAR

$! Crida a la subrutina
$ GOSUB SALUTAR

Definició de Funcions en DCL

Sintaxi

$ FUNCIO: FUNC
$   ! Codi de la funció
$   RETURN valor
$ END FUNCIO

Exemple

$! Definició de la funció
$ SUMAR: FUNC
$   valor1 = P1
$   valor2 = P2
$   resultat = valor1 + valor2
$   RETURN resultat
$ END SUMAR

$! Crida a la funció
$ resultat = F$SUMAR(5, 10)
$ WRITE SYS$OUTPUT "El resultat és: ", resultat

Diferències entre Subrutines i Funcions

Característica Subrutina Funció
Retorna un valor No
Crida GOSUB F$FUNCIO
Ús principal Modularitzar codi Càlculs i operacions que produeixen un resultat

Exercicis Pràctics

Exercici 1: Crear una Subrutina

Crea una subrutina que imprimeixi un missatge de benvinguda personalitzat. La subrutina ha de rebre el nom de l'usuari com a paràmetre.

Solució

$! Definició de la subrutina
$ SALUTAR: SUB
$   nom = P1
$   WRITE SYS$OUTPUT "Hola, ", nom, ", benvingut a OpenVMS!"
$   RETURN
$ END SALUTAR

$! Crida a la subrutina
$ GOSUB SALUTAR "Joan"

Exercici 2: Crear una Funció

Crea una funció que calculi el quadrat d'un nombre. La funció ha de rebre un nombre com a paràmetre i retornar el seu quadrat.

Solució

$! Definició de la funció
$ QUADRAT: FUNC
$   nombre = P1
$   resultat = nombre * nombre
$   RETURN resultat
$ END QUADRAT

$! Crida a la funció
$ resultat = F$QUADRAT(4)
$ WRITE SYS$OUTPUT "El quadrat de 4 és: ", resultat

Errors Comuns i Consells

Errors Comuns

  • No utilitzar RETURN al final de la subrutina o funció.
  • No passar els paràmetres correctament.
  • Confondre la crida a una subrutina (GOSUB) amb la crida a una funció (F$FUNCIO).

Consells

  • Sempre documenta les teves subrutines i funcions per facilitar la seva comprensió.
  • Utilitza noms descriptius per a les subrutines i funcions.
  • Prova les subrutines i funcions amb diferents valors per assegurar-te que funcionen correctament.

Resum

En aquest tema, hem après a definir i utilitzar subrutines i funcions en DCL. Hem vist com modularitzar el codi per fer-lo més llegible i reutilitzable, i hem practicat amb exemples pràctics. Les subrutines i funcions són eines essencials per a qualsevol programador que treballi amb OpenVMS.

Curs de Programació OpenVMS

Mòdul 1: Introducció a OpenVMS

Mòdul 2: Comandes Bàsiques d'OpenVMS

Mòdul 3: Sistema de Fitxers d'OpenVMS

Mòdul 4: Scripting amb DCL

Mòdul 5: Gestió del Sistema OpenVMS

Mòdul 6: Xarxes a OpenVMS

Mòdul 7: Programació Avançada a OpenVMS

Mòdul 8: Clúster d'OpenVMS

Mòdul 9: Seguretat a OpenVMS

Mòdul 10: Resolució de Problemes i Optimització

© Copyright 2024. Tots els drets reservats