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.
Đề bài
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.
Lời giải chi tiết
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.
Để 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:
-
Câu 10 trang 80 SGK Tin học 11
Viết chương trình nhập vào từ bàn phím xâu kí tự s có độ dài không quá 100. Hãy cho biết có bao nhiêu chữ số thập phân xuất hiện trong xâu s. Thông báo kết quả ra màn hình.
-
Câu 9 trang 80 SGK Tin học 11
Cho mảng hai chiều kích thước nxm với các phần tử là những số nguyên. Tìm trong mỗi dòng phần tử lớn nhất rồi đổi chỗ nó với phần tử có chỉ số dòng bằng chỉ số cột.
-
Câu 7 trang 79 SGK Tin học 11
Viết chương trình nhập từ bàn phím số nguyên dương N và đưa ra màn hình số hạng thứ N của dãy Phi-bo-na-xi. Chương trình của bạn thực hiện với giá trị lớn nhất của N là bao nhiêu?
-
Bài 6 trang 79 SGK Tin học 11
Viết chương trình nhập từ bàn phím số nguyên dương N (N ≤100) và dãy A gồm N số nguyên A1, A2 .. có giá trị tuyệt đối không lớn hơn 1000. Hãy đưa ra những thông tin sau: