Câu 11 trang 80 SGK Tin học 11

Hãy bổ sung thêm chương trình xeploai (ở §13) những lệnh cần thiết để chương trình đưa ra danh sách học sinh xếp loại A.


Hãy bổ sung thêm chương trình xeploai (ở §13) những lệnh cần thiết để chương trình đưa ra danh sách học sinh xếp loại A.

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:


Bài giải tiếp theo