URGENT PANA AZI PLS!!DAU COROANA!!!PASCAL!!!Să se elaboreze un program care citește de la tastatură datele de următoarea structură:
a) Numărul de ordine, numele, prenumele, notele de la examene (6);
b) Numărul de ordine, numele, prenumele, absențe nemotivate, absențe totale.
Din datele citite de afișat la ecran:
1) Lista elevilor cu nota medie mai mare ca 5 și mai mică ca 6 (structura – a);
2) Lista elevilor care au nota medie mai mică ca 5;
3) Lista elevilor care au nota medie mai mare ca 6 și mai mică ca 7.5;
4) Lista elevilor care au nota între 8 și 10;
5) Lista elevilor care au nota medie mai mare ca 7.5;
6) Lista elevilor care au nota între 9 și 10;
7) Lista elevilor care n-au absențe (structura –b);
8) Lista elevilor care au mai mult de 40 absențe motivate;
9) Lista elevilor care au mai mult de 40 absențe nemotivate;
10) Lista elevilor care au 20 de absențe;
11) Lista elevilor care au mai puțin de 40 absențe motivate;
12) Lista elevilor care au mai puțin de 40 absențe nemotivate.
Răspunsuri la întrebare
Răspuns:
Atat am reusit te uiti si continui tu mai departe
program npne;
type stud = record
nr_ordine:integer;
nume:string[20];
prenume:string[20];
ex1,ex2,ex3,ex4,ex5,ex6:2..10;
end;
var x: array[1..30] of stud;
i,k,m,n:integer;
media_arit:real;
begin
writeln('Dati numarul de elevi:');
readln(n);
for i:=1 to n do with x[i] do
begin
write('Introduceti numarul de ordine:');
readln(nr_ordine);
writeln('Introduceti numele elevelui:');
readln(nume);
writeln('Introduceti prenumele elevului:');
readln(prenume);
writeln('Introducetti notele de la examen');
readln(ex1,ex2,ex3,ex4,ex5,ex6);
end;
for i:=1 to n do with x[i] do
begin
media_arit:=(ex1+ex2+ex3+ex4+ex5+ex6) / 6;
if (media_arit > 5) and (media_arit < 6 )
then writeln('Lista elevilor cu nota media mai mare ca 5 si mai mica ca 6: ' ,nume , prenume ,' Nota media: ' , media_arit);
if (media_arit < 5)
then writeln('Lista elevilor cu media mai mica ca 5:' , nume , prenume ,' Nota media: ' , media_arit);
if (media_arit > 6) and (media_arit < 7.5)
then writeln('Lista elevilor care au nota media mai mare ca 6 si mai mica ca 7.5: ', nume , prenume ,' Nota media: ' , media_arit);
if (media_arit >= 8) and (media_arit <=10)
then writeln('Lista elevilor care au nota intre 8 si 10: ' , nume , prenume ,' Nota media: ' , media_arit);
end;
writeln('======================================================================');
writeln('|Nr ordine| Nume | Prenume | Notele la cele 6 examene |');
for i:=1 to n do with x[i] do
begin
writeln(nr_ordine:3,nume:15,prenume:14,ex1:3,ex2:5,ex3:5,ex4:5,ex5:5,ex6:7);
end;
end.
Explicație: