Sie sind auf Seite 1von 2

C:\FPC\3.0.0\bin\i386-win32\EnumeradoMezclaColor.

pas
Pgina 1 de 2 04/07/16 21:39:16
1 Program CombinarColoresPrimarios;
2
3 Const
4 CantMaxOpcionColor=3;
5
6 Type
7 TNumOpcion=1..CantMaxOpcionColor;
8 TColorPrimario=(amarrillo,rojo,azul);
9 Var
10 Color1:Tcolorprimario;
11 Color2:Tcolorprimario;
12
13 Procedure MostrarLeerYValidarOpcion(Var Color:TColorPrimario);
14 Var
15 OpcionNumColor:TNumOpcion;
16 Begin
17 Writeln('Elija un color primario ingresando el numero de opcion:');
18 Writeln('1 - Amarrillo');
19 Writeln('2 - Rojo');
20 Writeln('3 - Azul');
21 Repeat
22 Read(OpcionNumColor);
23 Case (OpcionNumColor) of
24 1: Color := amarrillo;
25 2: Color := rojo;
26 3: Color := azul
27 else
28 Writeln('Opcion invalida, intente nuevamente')
29 end;
30 until (opcionNumColor>0) and (opcionNumColor<4)
31 end;
32
33 Function LeerYAsignarEnumeradoColor(EnumeradoColor:Tcolorprimario):string;
34 var
35 AuxColor:string;
36 begin
37 Case EnumeradoColor of
38 amarrillo : AuxColor:='amarrillo';
39 rojo : AuxColor:='rojo';
40 azul : AuxColor:='azul'
41 end;
42 LeeryAsignarEnumeradoColor:=AuxColor
43 end;
44
45 Procedure MezclarColor (Cprimario1,Cprimario2:TColorPrimario);
46 Begin
47 If Cprimario1=Cprimario2
48 then
49 Writeln('Los colores elegidos son iguales, el resultado de la mezcla sera:
',LeeryAsignarEnumeradoColor(cprimario1))
50 else
51 If ((Cprimario1=amarrillo) and (Cprimario2=azul)) or
((Cprimario1=amarrillo) and (Cprimario2=azul))
52 then
53 Writeln('Al mezclar el ',LeeryAsignarEnumeradoColor(Cprimario1),'
y el ',LeeryAsignarEnumeradoColor(Cprimario2),', obtendra: verde')
54 else
55 If ((Cprimario1=amarrillo) and (Cprimario2=rojo)) or
((Cprimario1=rojo) and (Cprimario2=amarrillo))
56 then
57 Writeln('Al mezclar el
- 1 -
C:\FPC\3.0.0\bin\i386-win32\EnumeradoMezclaColor.pas
Pgina 2 de 2 04/07/16 21:39:16
',LeeryAsignarEnumeradoColor(Cprimario1),' y el
',LeeryAsignarEnumeradoColor(Cprimario2),', obtendra:
anaranjado')
58 else
59 If ((Cprimario1=rojo) and (Cprimario2=azul)) or
((Cprimario1=azul) and (Cprimario2=rojo))
60 then
61 Writeln('Al mezclar el
',LeeryAsignarEnumeradoColor(Cprimario1),' y el
',LeeryAsignarEnumeradoColor(Cprimario2),',
obtendra: violeta')
62 end;
63
64
65 begin
66 Writeln('Mezcla de colores primarios');
67 MostrarLeerYValidarOpcion(Color1);
68 MostrarLeerYValidarOpcion(Color2);
69 MezclarColor(color1, Color2);
70 end.
71

- 2 -

Das könnte Ihnen auch gefallen