Viết chương trình nhập vào mã học sinh, họ tên, điểm Toán, Văn, Tin của tất cả các học sinh trong lớp.. Tính điểm trung bình và đưa ra màn hình danh sách lớp trước khi sắp xếp và sau khi
Trang 1TRƯỜNG THPT LÊ TRUNG KIÊN
Tổ: Tin
Trang 2Tiết 34:
Bài tập
Trang 31 Viết chương trình nhập vào mã học sinh, họ
tên, điểm Toán, Văn, Tin của tất cả các học sinh
trong lớp Tính điểm trung bình và đưa ra màn hình
danh sách lớp trước khi sắp xếp và sau khi sắp xếp
theo thứ tự tăng lần
dtb = (toan+van5 )*2+tin
Input: nhập vào mahs, hoten, toan, van, tin của các
HS trong lớp
Output: Xuất ra màn hình danh sách lớp trước và sau khi sắp xếp
Trang 4Ý tưởng thực hiện:
B1: Nhập vào mahs, hoten, toan, van, tin của các
HS trong lớp
B2: tính điểm trung bình
B3: Đưa ra màn hình danh sách lớp trước khi sắp xếp
B4: Sắp xếp lại danh sách lớp theo thứ tự tăng dần điểm trung bình
B5: Đưa ra màn hình danh sách lớp sau khi sắp xếp
Trang 5Khai báo biến
End;
Type Hocsinh = Record
Hoten :String[30];
Toan, Van, Tin: Integer;
Mahs :String[5];
Dtb: real;
Var Lop: array[1 48] of Hocsinh;
t : Hocsinh;
n, i, j : integer;
Trang 6Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
B1: Nhập dữ liệu cho
các học sinh trong lớp
Write(‘Nhap ma hoc sinh: ‘); Readln(Lop[i].mahs);
Write(‘Nhap ho ten hoc sinh: ’); Readln(Lop[i].hoten);
Write(‘Nhap diem Toan: ‘);
Readln(Lop[i].Toan);
Write(‘Nhap diem Van: ‘);
Readln(Lop[i].Van);
Write(‘Nhap diem Tin: ‘);
Readln(Lop[i].Tin);
Trang 7Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
B2: Tính điểm trung bình Lop[i].dtb:=((Lop[i].Toan +
Lop[i].Van)*2 +Lop[i].Tin)/5;
B3: Đưa ra màn hình
danh sách lớp trước khi
sắp xếp
writeln(Lop[i].mahs:7, Lop[i].hoten:30,Lop[i].Toan:5, Lop[i].Van:5,Lop[i].tin:5,
Lop[i].dtb:7:2);
for i:=1 to n do
Trang 8B4: Sắp xếp lại danh
sách lớp theo thứ tự tăng
dần điểm trung bình
Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
for i:=1 to n-1 do for j:=i+1 to n do
if a[i].dtb>a[j].dtb then begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
end;
Trang 9Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
B5: Đưa ra màn hình danh
sách lớp sau khi sắp xếp
writeln(Lop[i].mahs:7, Lop[i].hoten:30,Lop[i].Toan:5, Lop[i].Van:5,Lop[i].tin:5,
Lop[i].dtb:7:2);
for i:=1 to n do
Trang 102 Viết chương trình nhập họ tên, điểm toán,lý, hóa của tối đa 50 học sinh Tính điểm trung bình và
in ra kết quả những học sinh có điểm trung bình lớn hơn 5
2
* ly hoa toan
dtb= + +
Input: nhập vào hoten, toan, ly, hoa của các HS trong lớp
Output: Xuất ra màn hình những học sinh có DTB > 5
Trang 11Ý tưởng thực hiện:
B1: Nhập vào hoten, toan, ly, hoa của các HS trong lớp
B2: tính điểm trung bình
B3: Xuất ra màn hình những học sinh có DTB > 5
Trang 12Khai báo biến
End;
Type Hocsinh = Record
Hoten :String[30];
Dtb: real;
Var Lop: array[1 48] of Hocsinh;
n, i : integer;
Toan, Ly, Hoa: Integer;
Trang 13Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
B1: Nhập dữ liệu cho
các học sinh trong lớp
Write(‘Nhap ho ten hoc sinh: ’); Readln(Lop[i].hoten);
Write(‘Nhap diem Toan: ‘);
Readln(Lop[i].Toan);
Write(‘Nhap diem Ly: ‘);
Readln(Lop[i].Ly);
Write(‘Nhap diem Hoa: ‘);
Readln(Lop[i].Hoa);
Trang 14Nội dung chương trình
C¸c b íc thùc hiÖn LÖnh trong Pascal
B2: Tính điểm trung bình Lop[i].dtb:=(Lop[i].Toan *2
+Lop[i].Ly + Lop[i].Hoa)/4;
B3: Xuất ra màn hình
những học sinh có DTB
> 5
for i:=1 to n do Begin
If(a[i].dtb > 5) then writeln(Lop[i].hoten:20, Lop[i].Toan:6, Lop[i].Ly:8, Lop[i].Hoa:7, Lop[i].dtb:8:2); Writeln('');
End;
Trang 15- Các em về nhà hồn chỉnh các bài tập
- Chuẩn bị bài mới: § 14 Kiểu dữ liệu tệp
•Nội dung chuẩn bị:
- Xem lại khái niệm: tệp là gì?
- Vai trị của kiểu tệp
- Phân loại tệp
-Cách khai báo
Củng cố – Dặn dò