Enumerating Days of the Week in Pascal
80 likes | 205 Vues
This program defines an enumeration type `TDia` for the days of the week in Spanish, including lunes (Monday), martes (Tuesday), miércoles (Wednesday), jueves (Thursday), viernes (Friday), sábado (Saturday), and domingo (Sunday). It includes a function `diaEnum` that takes an integer and returns the corresponding day of the week by using a while loop to traverse through the enumeration. The program accepts an integer input and outputs the corresponding day name, effectively demonstrating the use of enumerated types in Pascal programming.
Enumerating Days of the Week in Pascal
E N D
Presentation Transcript
diaEnum d nd program p (input, output); type TDia = (lun,mar,mie,jue,vie,sab,dom); var d : tdia; nd : integer; function diaEnum (n: integer):TDia; var dia : TDia; (*f0*)begin (*f1*) dia := lun; (*f2*) while n>1 do begin (*f3*) dia := succ (dia); (*f4*) n := n-1; (*f5*) end; (*f6*) diaEnum := dia (*f7*)end; (*0*)BEGIN (*1*) nd := 2; (*2*) d := diaEnum(nd+1) (* 3*) ... 1
diaEnum d nd 0 program p (input, output) ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); diaEnum(3) 2 3 1 var d : tdia; nd : integer; ZONA diaEnum ... 2 function diaEnum (n: integer):TDia; n dia var dia : TDia; 3 ? (*f0*)begin f0 3 (*f1*) dia := lun; (*f2*) while n>1 do begin (*f3*) dia := succ (dia); (*f4*) n := n-1; (*f5*) end; (*f6*) diaEnum := dia (*f7*)end; (*0*)BEGIN (*1*) nd := 2; (*2*) d := diaEnum(nd+1) (* 3*) ... 2
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom) diaEnum(3) 2 1 var d : tdia; nd : integer; ZONA diaEnum ... 2 function diaEnum (n: integer):TDia; n dia var dia : TDia; 3 ? (*f0*)begin f0 (*f1*) dia := lun; f1 lun (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 mar (*f4*) n := n-1; 2 f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; (*0*)BEGIN (*1*) nd := 2; (*2*) d := diaEnum(nd+1) (* 3*) ... 3
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); diaEnum(3) 2 1 var d : tdia; nd : integer; ZONA diaEnum ... 2 function diaEnum (n: integer):TDia; n dia var dia : TDia; 3 ? (*f0*)begin f0 (*f1*) dia := lun; f1 lun (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 mar (*f4*) n := n-1; 2 f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; mie f3 (*0*)BEGIN 1 f4 (*1*) nd := 2; f5-2 (*2*) d := diaEnum(nd+1) (* 3*) ... 4
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); diaEnum(3) mie 2 1 var d : tdia; nd : integer; ZONA diaEnum ... 2 function diaEnum (n: integer):TDia; n dia var dia : TDia; 3 ? (*f0*)begin f0 (*f1*) dia := lun; f1 lun (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 mar (*f4*) n := n-1; 2 f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; mie mie f3 (*0*)BEGIN 1 f4 (*1*) nd := 2; f5-2 (*2*) d := diaEnum(nd+1) f6 (* 3*) f7 ... 5
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); mie 2 1 var d : tdia; nd : integer; ... 2 function diaEnum (n: integer):TDia; var dia : TDia; (*f0*)begin f0 (*f1*) dia := lun; f1 (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 (*f4*) n := n-1; f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; f3 (*0*)BEGIN f4 (*1*) nd := 2; f5-2 (*2*) d := diaEnum(nd+1) f6 (* 3*) f7 ... 6
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); mie 2 1 var d : tdia; nd : integer; ... 2 function diaEnum (n: integer):TDia; var dia : TDia; (*f0*)begin f0 (*f1*) dia := lun; f1 (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 (*f4*) n := n-1; f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; f3 (*0*)BEGIN f4 (*1*) nd := 2; f5-2 (*2*) d := diaEnum(nd+1) f6 (* 3*) f7 ... mie 7
diaEnum d nd 0 program p (input, output); ? ? type TDia = (lun,mar,mie,jue,vie,sab,dom); 2 1 var d : tdia; nd : integer; ... 2 function diaEnum (n: integer):TDia; var dia : TDia; (*f0*)begin f0 (*f1*) dia := lun; f1 (*f2*) while n>1 do begin f2 (*f3*) dia := succ (dia); f3 (*f4*) n := n-1; f4 (*f5*) end; (*f6*) diaEnum := dia f5-2 (*f7*)end; f3 (*0*)BEGIN f4 (*1*) nd := 2; f5-2 (*2*) d := diaEnum(nd+1) f6 (* 3*) f7 ... mie 3 8