Informatică, întrebare adresată de 7toxo7p0v2uw, 8 ani în urmă

Se da programul:
type Data = record
Ziua:1..31;
Luna:1..12;
Anul:integer;
end;
Persoana = record
NumePrenume:string;
DataNasterii:Data;
end;
ListaPersoane = array [1..50] of Persoana;

Elaborati un program care citeste de la tastatura datele referitoare la n persoane (n≤50) si afiseaza pe ecran:
a) persoane nascute in ziua z a lunii;
b) persoane nascute in luna l a anului;
c) persoane nascute in anul a;
d) persoane nascute pe data z.l.a.

Răspunsuri la întrebare

Răspuns de boiustef
1

program ex4pag22clasa10;

type Data=record

        ziua: 1..31;

        luna: 1..12;

        anul: integer;

     end;

     Persoana=record

         NumePrenume: string;

         DataNasterii: Data;

     end;

     ListaPersoane=array[1..50] of Persoana;

var n, i, z, l, a, nrzi, nrluna, nranul, nrzla: integer;

   T: ListaPersoane;

begin

 write('introdu nr de persoane: n= '); read(n);

 writeln(' introdu date despre ',n,' persoane:');

 for i:=1 to n do

   begin

     writeln('Dati datele persoanei ', i);

     write('Nume Prenume: '); readln(T[i].NumePrenume);

     writeln('Dati datele nasterii: ');

     write('ziua nasterii: '); readln(T[i].DataNasterii.ziua);

     write('luna nasterii: '); readln(T[i].DataNasterii.luna);

     write('anul nasterii: '); readln(T[i].DataNasterii.anul);

     writeln;

   end;

   

  writeln('introdu data calendaristica: ziua, luna, anul');

  write(' ziua = '); readln(z);

  write(' luna = '); readln(l);

  write(' anul = '); readln(a);

   

  for i:=1 to n do

    begin

       if  T[i].DataNasterii.ziua = z then inc(nrzi);

       if  T[i].DataNasterii.luna = l then inc(nrluna);

       if  T[i].DataNasterii.anul = a then inc(nranul);

       if (T[i].DataNasterii.ziua = z)and(T[i].DataNasterii.luna = l)and

            ( T[i].DataNasterii.anul = a)  then inc(nrzla);

    end;

 writeln(' Raspuns:');

 writeln('a) in ziua ',z,' s-au nascut ',nrzi,' persoane');

 writeln('b) in luna ',l,' s-au nascut ',nrluna,' persoane');

 writeln('c) in anul ',a,' s-au nascut ',nranul,' persoane');

 writeln('d) pe date de ',z,'.',l,'.',a,' s-au nascut ',nrzla,' persoane');

end.


boiustef: e bine ?
boiustef: inc(nr) este echivalenta cu instructiunea nr:=nr+1;
inc este scurtatura a cuvantului incrementing ( se traduce creste)
boiustef: creste, se mareste ...
7toxo7p0v2uw: da ms
Alte întrebări interesante