Trả lời:
Chương trình xeploai:
program xEp_loai ;
uses crt;
const max=60;
type Hocsinh = record
hoten: string[30];
ngaysinh: string [10];
Diachi: string[50];
Toan, Van: real;
Xeploai: char;
end;
var
Lop: array[1..max] of hocsinh;
N, i: byte;
Begin
clrscr;
readln(N)
write('So luong hoc sinh trong lop N= ) ;
readln(N);
for i:= 1 to N do
begin
writeln( 'Nhap so lieu ve hoc sinh thu',i,': ');
Write (‘Ho va ten: ‘); readln (lop [i]. hoten);
Write (‘ Ngay sinh : ‘); readln (lop [i].ngaysinh);
Write (‘ Dia chi : ‘); readln (lop [i].Diachi);
Write (‘Diem Toan : ‘); readln (lop [i]. Toan);
Write (‘Diem Van : ‘); readln (lop [i]. Van);
If Lop [i]. Toan+Lop [i]. Van >=18
then Lop [i]. xeploai:=’A’;
if (Lop[i].Toan+Lop[i].Van>=14) and
Lop [i]. Toan+Lop [i]. Van <18
then Lop [i]. xeploai:=’B’;
if (Lop[i].Toan+Lop[i].Van>=10) and
Lop [i]. Toan+Lop [i]. Van >=14
then Lop [i]. xeploai:=’C’;
if (Lop[i].Toan+Lop[i].Van<=10) and
then Lop[i].xeploai:=’D’;
end;
clrscr;
writeln (‘Danh sach xep loai hoc sinh trong lop: ‘ );
for i:=1 to N do
writeln (Lop[i].Hoten:30,’ – Xep loai : ‘, Lop[i]. Xeploai);
readln
End.
nhằm mục đích xếp loại (A, B, c, D) cho học sinh. Để chương trình đưa ra danh sách học sinh xếp loại A, thì chúng ta cần đưa thêm đoạn chương trình sau vào cuối chương trình trên:
writeln(’Danh sach hoc sinh xep loai A trong lop: ');
for i:=1 to N do if Lop[i].Xeploai =’A' then writeln(Lop[i].Hoten:30);
Vì vậy, chương trình đưa ra danh sách học sinh xếp loại A trong lớp như sau:
program xep_loai;
uses crt;
const max= 60;
type Hocsinh = record
hoten: string[30];
ngay sinh: string [ 10 ] ,ề
Diachi: string[50];
Toan, Van: real;
Xeploai: char;
end;
var
Lop: array[1..max] of hocsinh;
N,i: byte;
Begin
clrscr;
write('So luong hoc sinh trong lop N=');
readln(N); for i:= 1 to N do
begin
writeln('Nhap so lieu ve hoc sinh thu ',i,': ');
write('Ho va ten: ');
readln(lop[i].hoten);
write (’Ngay sinh: ');
readln (Lop[i] ngaysinh);
write('Dia chi : ’);
readln(Lop[i].Diachi) ;
write('Diem Toan: ');
readln(Lop[i].Toan) ;
write('Diem Van : ’);
readln(Lop[i].Van);
if Lop[i].Toan+Lop[i].Van>=18 then
Lop[i].xeploai:='A';
if (Lop[i].Toan+Lop[i].Van>=14) and Lop[i].Toan+Lop[i].Van<18) then
Lop[i].Xeploai:='B';
if (Lop[i].Toan+Lop[i].Van>=10) and (Lop[i].Toan+Lop[i].Van<14) then Lop[i].Xeploai:=’c';
if (Lop[i].Toan+Lop[i].Van<=10) then Lop[i] .xeploai: = 'D' ;
end;
clrser;
W1 iteln(1 Danh sach xep loai hoc sinh trong lop: '); fcr i:= 1 to n do writeln(Lop[i].Hoten: 30, ' -Xep loai:', Lop[i].Xeploai); writeIn('Danh sach hoc sinh xep loai A trong lop: '); ior i:= 1 to N do
if Lop[i].Xeploai ='A' then writeln(Lop[i].Hoten : 30);
readln
End.
Giả sử ta nhập vào dữ liệu của 5 học sinh thì kết quả của chương trình hiện trên màn hình như sau: