En aquest tema, explorarem dos tipus de dades molt útils en Delphi/Object Pascal: els tipus enumerats i els tipus subrang. Aquests tipus de dades ens permeten definir conjunts de valors específics i restringir els valors que una variable pot tenir, respectivament.

Tipus Enumerats

Els tipus enumerats permeten definir un conjunt de valors simbòlics que una variable pot tenir. Això fa que el codi sigui més llegible i menys propens a errors.

Definició de Tipus Enumerats

Un tipus enumerat es defineix utilitzant la paraula clau type seguida del nom del tipus i la llista de valors possibles entre parèntesis.

type
  TColor = (Red, Green, Blue);

Ús de Tipus Enumerats

Un cop definit el tipus enumerat, podem declarar variables d'aquest tipus i assignar-los valors.

var
  Color: TColor;
begin
  Color := Red;
  if Color = Green then
    WriteLn('The color is green.')
  else
    WriteLn('The color is not green.');
end;

Avantatges dels Tipus Enumerats

  • Claredat: Els noms simbòlics fan que el codi sigui més fàcil de llegir i entendre.
  • Seguretat: El compilador pot detectar assignacions incorrectes de valors.
  • Mantenibilitat: És més fàcil afegir o modificar valors en un tipus enumerat que en un conjunt de constants.

Tipus Subrang

Els tipus subrang permeten definir un rang de valors dins d'un tipus ordinal existent (com Integer, Char, etc.). Això és útil per restringir els valors que una variable pot tenir.

Definició de Tipus Subrang

Un tipus subrang es defineix utilitzant la paraula clau type seguida del nom del tipus i el rang de valors entre parèntesis.

type
  TAge = 0..120;

Ús de Tipus Subrang

Un cop definit el tipus subrang, podem declarar variables d'aquest tipus i assignar-los valors dins del rang especificat.

var
  Age: TAge;
begin
  Age := 25;
  if Age > 18 then
    WriteLn('Adult')
  else
    WriteLn('Minor');
end;

Avantatges dels Tipus Subrang

  • Validació: El compilador pot detectar assignacions de valors fora del rang.
  • Optimització: Pot ajudar a optimitzar l'ús de memòria en alguns casos.
  • Claredat: Defineix clarament els límits dels valors que una variable pot tenir.

Exercicis Pràctics

Exercici 1: Tipus Enumerats

Defineix un tipus enumerat TDay que representi els dies de la setmana. Escriu un programa que imprimeixi un missatge diferent per a cada dia.

type
  TDay = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

var
  Day: TDay;
begin
  Day := Monday;
  case Day of
    Monday: WriteLn('Start of the work week.');
    Tuesday: WriteLn('Second day of the work week.');
    Wednesday: WriteLn('Midweek.');
    Thursday: WriteLn('Almost the weekend.');
    Friday: WriteLn('Last work day.');
    Saturday: WriteLn('Weekend!');
    Sunday: WriteLn('Rest day.');
  end;
end;

Exercici 2: Tipus Subrang

Defineix un tipus subrang TScore que representi puntuacions de 0 a 100. Escriu un programa que classifiqui la puntuació com a "Fail", "Pass" o "Excellent".

type
  TScore = 0..100;

var
  Score: TScore;
begin
  Score := 85;
  if Score < 50 then
    WriteLn('Fail')
  else if Score < 75 then
    WriteLn('Pass')
  else
    WriteLn('Excellent');
end;

Resum

En aquest tema, hem après sobre els tipus enumerats i subrang en Delphi/Object Pascal. Els tipus enumerats ens permeten definir conjunts de valors simbòlics, mentre que els tipus subrang ens permeten restringir els valors que una variable pot tenir. Aquests tipus de dades milloren la claredat, seguretat i mantenibilitat del codi.

En el proper tema, explorarem la gestió d'arxius en Delphi/Object Pascal.

Curs de Programació Delphi/Object Pascal

Mòdul 1: Introducció a Delphi/Object Pascal

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats