Pascal/Turbo Pascal - Pascal, Ejerccio básico con función Randomize

 
Vista:
Imágen de perfil de Blanco
Val: 2
Ha disminuido su posición en 19 puestos en Pascal/Turbo Pascal (en relación al último mes)
Gráfica de Pascal/Turbo Pascal

Pascal, Ejerccio básico con función Randomize

Publicado por Blanco (1 intervención) el 01/06/2021 01:28:40
Tengo este ejercicio es de mis primeras clases y no he logrado poder resolverlo aún sigo trabajando en el espero que me ayuden con el código o algo que me termine de guiar, soy nuevo.
Gracias

Enunciado: Generar aleatoriamente la edad (12 a 100 años)de ‘varias’ personas e imprimir solamente las que tienen edad ‘PAR’, terminar de ejecutar cuando encuentre las primeras 10 edades ‘pares’. Determinar cuantas veces se ejecutó el ciclo para encontrar dichos valores.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pascal, Ejerccio básico con función Randomize

Publicado por Armando Fuenmayor (6 intervenciones) el 04/06/2021 21:47:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
const
   ma = 10;
type
  arre = array[1..ma] of integer;
  var
    yes : Boolean ;
      x : arre ;
 
 con ,  ciclos,  sa,   fi : integer ;
 
 
 
 
 // retorna un numero
// al azar o aleatorio entre 12() y100
 
 
function par(nu: integer) : boolean ;
var
  espar : boolean ;
begin
  espar := false ;
  if  (nu mod 2 = 1) then
  begin
    espar := true ;
  end;
  par := espar ;
end;
 
 
function loteria(nu:integer):integer ;
begin
  randomize;
  loteria := random(nu) + 12;
end;
 
function siesta(n:integer; zz:arre):boolean;
var
  i : integer ;
  verdad : boolean;
begin
  verdad := false ;
  for i := 1 to ma do
  begin
    if (zz[i] = n) then
    begin
      verdad := true ;
      break;
    end;
  end;
    siesta := verdad ;
end;
 
begin
con := 0;
ciclos := 0;
yes := true ;
 
while(yes and (con < ma))do
begin
  sa := 0;
  sa := loteria(88);
  ciclos := ciclos + 1;
  if not (siesta(sa,x) or par(sa)) then
  begin
    con := con + 1;
    x[con] := sa ;
  end;
end;
 
writeln('las 10 primeras edades pares: ): ');
writeln(' ');
 
for fi := 1 to ma do
begin
  write(' ',x[fi]+ '  ');
end;
  Writeln();
 
  writeln(' ');
  writeln('Nro de ciclos : ' , ciclos);
 
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar