Tin h c: ọRèn luyện kỹ năng lập trình Bài tập: Lập chương trình nhập danh sách học sinh vào một mảng với các trường HOTEN, DMON1, DMON2, TDIEM.. In danh sách đó ra màn hình theo thứ
Trang 1Tin h c: ọ
Rèn luyện kỹ năng lập trình
Bài tập:
Lập chương trình nhập danh sách
học sinh vào một mảng với các
trường HOTEN, DMON1, DMON2,
TDIEM In danh sách đó ra màn
hình theo thứ tự TDIEM nhỏ dần,
mỗi học sinh được in ra trên một
dòng với 4 cột tương ứng trên 4
trường, số học sinh không quá 30.
Bài toán này ta nên sử dụng kiểu dữ
liệu nào?
Hãy khai báo kiểu dữ liệu đó
Danh sách được in ra có đặc điểm gì?
Câu lệnh dùng để sắp xếp học sinh đó
là câu lệnh nào?
Dựa vào hướng dẫn của giáo viên hãy
viết chương trình lên máy cá nhân
Theo dõi học sinh làm bài và giúp đỡ
học sinh yếu
Mời một học sinh lên lập trình trên
Tìm hiểu đề bài
Kiểu mảng và kiểu bản ghi Type
Hs = Record;
HOTEN: string[30];
DMON1:real;
DMON 2: real;
TDIEM: real;
Kmang= Array[1 30] of hs;
Danh sách được in ra được sắp xếp theo thứ tự giảm dần của trường TDIEM của mỗi học sinh
For i:=1 to n-1 do For j:= i+1 to n do
If (a[i].TDIEM < a[j] TDIEM) then begin
Tg := a[i];
a[i] :=a[j];
a[j]:=tg; end;
Tiếp thu hướng dẫn của giáo viên
1
Trang 2
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
máy giáo viên để cả lớp quan sát
Sau đó giáo viên chuẩn hoá lại chương
trình cho học sinh, đồng thời đưa ra
những lỗi mà học sinh hay mắc phải
trong quá trình lập trình
Từ bài toán này đưa ra các câu hỏi
phụ để học sinh suy nghĩ và lập trình
Câu1: Đưa ra màn hình học sinh có
TDIEM cao nhất.
Câu2: Đưa ra danh sách những học sinh
có TDIEM trên 10 và không có môn nào
dưới điểm trung bình
Để trả lời câu hỏi phụ thứ nhất ta sử
dụng câu lệnh nào?
Để trả lời câu hỏi phụ thứ 2 ta sử dụng
câu lệnh nào?
Yêu cầu học sinh xây dựng lại chương
trình trên bằng cách sử dụng chương
trình con
Dành thời gian còn lại để học sinh
thực hành
Lập chương trình
Lắng nghe, ghi nhớ
Học sinh suy nghĩ và làm câu hỏi phụ
{Tìm học sinh có TDIEM cao nhất } Max := a[1].TDIEM;
For i:= 2 to n do
If a[i] TDIEM > Max then Begin
Max:= a[i].TDIEM;
cs:=i;
end;
For i:= 1 to n do
If (a[i] TDIEM > 10) and (a[i].DMON1 >=5 ) AND (a[i].DMON2>=5)
then Write(a[i] HOTEN :20);
Xây dựng lại chương trình
2
Trang 3
IV TỔNG KẾT:
- Giáo viên tổng kết nội dung của tiết thực hành
- Nhận xét, đánh giá tiết thực hành
- Yêu cầu học sinh xây dựng lại các chương trình đã học dưới dạng các chương trình con
3