II. Gợi động cơ bài học:
2. Thảo luận theo nhúm để hoàn thiện chương trỡnh.
Cú một lớp gồm N học sinh(1<=N<=45). Với mỗi học sinh cần quản lớ cỏc thuộc tớnh: họ và tờn, điểm toỏn, điểm văn, và xếp loại. Giả sử xếp loại được xỏc định theo quy tắc sau:
+ Nếu tổng điểm toỏn và văn nhỏ hơn 10 thỡ xếp loại D.
+ Nếu tổng điểm toỏn và văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thỡ xếp loại C. + Nếu tổng điểm toỏn và văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thỡ xếp loại B. + Nếu tổng điểm toỏn và văn lớn hơn hoặc bằng 18 thỡ xếp loại A.
c. Cỏc bước tiến hành:
Hoạt động của giáo viên Hoạt động của học sinh gianthời 1. Đưa ra nội dung đề bài.
- Hỏi: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toỏn?
- Yờu cầu học sinh: Mụ tả thụng tin về một hoc sinh bằng kiểu bản ghi. Tạo mảng cỏc bản ghi đú.
- Nờu cỏc bước để giải quyết bài toỏn này.
2. Chia lớp thành 3 nhúm. Yờu cầu viếtchương trỡnh lờn bảng. chương trỡnh lờn bảng.
1. Quan sỏt đề, chỳ ý phõn tớch để trảlời cõu hỏi. lời cõu hỏi.
- Một mảng cỏc bản ghi. - Type HS = record Hoten : string[30]; Toan,van,tong : real; Xeploai : char; End; Lop = array[1..50] of HS;
+ Bước 1: Tạo kiểu dữ liệu, khai bỏo biến. + Bước 2: Nhập dữ liệu cho mảng cỏc bản ghi.
+ Tớnh tổng điểm toỏn và điểm văn. + Dựa vào tổng điểm để xếp loại.
2. Thảo luận theo nhúm để hoàn thiệnchương trỡnh. chương trỡnh.
5'
10'
IV. Đỏnh giỏ cuối bài: (5')1. Những nội dung đó học: 1. Những nội dung đó học:
- Cỏch tạo kiểu bản ghi, khai bỏo biến kiểu bản ghi. - Tham chiếu đến từng trường của biến bản ghi. - Nhập/ xuất giỏ trị cho biến bản ghi.
2. Cõu hỏi và bài tập về nhà:
- Bài tập: Viết chương trỡnh giải quyết bài toỏn quản lớ sau:
Nhập họ và tờn, điểm toỏn, điểm lý của 30 học sinh trong lớp. In ra màn hỡnh họ tờn, điểm trung bỡnh của 30 học sinh đú với DTB=(toỏn+ lý)/2.
Ngày soạn:
Tiết 33:
Bài tập
Viết chơng trình giải quyết bài toán quản lý sau:
Nhập họ và tên, điểm toán, điểm lý, điểm hoá của N học sinh (N ≤ 30). In ra màn hình họ và tên, điểm trung bình của các học sinh. Biết rằng DTB=(Toán + Lý)/2. Bài giải: Program QLHS; Uses CRT; Type HS = Record Hoten:String[30]; Toan,Ly,DTB:real; End; Var LOP:Array[1..30] of HS; i,n: Integer; BEGIN Clrscr;
Write('Nhap so 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('Diem Toan: '); Readln(LOP[i].Toan); Write('Diem Ly: '); Readln(LOP[i].Ly); LOP[i].DTB:=(LOP[i].Toan+LOP[i].Ly)/2; End;
Writeln('DANH SACH HOC SINH TRONG LOP: '); For i:=1 to n do
Writeln(LOP[i].Hoten:30,' - DTB = ',LOP[i].DTB:8:2); Readln;
END.
Ngày soạn:
Tiết 34 + 35:
ôn tập chơng IV
Bài 1: 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, ... , AN có giá trị tuyệt đối không lớn hơn 1000. Hãy cho biết dãy A có phải là cấp số cộng hay không và thông báo kết quả ra màn hình.
Bài giải:
Program Bai_tap_1; Uses Crt;
Var A:Array[1..100] of Integer; N,i,d,dem:Integer;
BEGIN Clrscr;
Write('Nhap so phan tu cua day A(1<=N<=100): N = '); Readln(N);
Writeln('Nhap gia tri cua cac phan tu trong day A:'); For i:=1 to N do Begin Write('A[',i,']='); Readln(A[i]); End; d:=A[2]-A[1]; dem:=0; For i:=2 to N do
If A[i]-A[i-1]<>d then dem:=dem+1;
If (dem=0) then Writeln('Day A la cap so cong.') Else Writeln('Day A khong la cap so cong.'); Readln;
Bài 2: 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, ... , AN có giá trị tuyệt đối không lớn hơn 1000. Hãy đa ra những thông tin sau:
- Số lợng số chẵn và số lẻ trong dãy. - Số lợng số nguyên tố trong dãy.
Bài giải:
Program Bai_tap_2; Uses CRT;
Var A:Array[1..100] of Integer; N,i,d,dem_chan,dem_nto:integer; BEGIN
Clrscr;
Write('Nhap vao so phan tu cua day A(1<=N<=100): N = '); Readln(N); Writeln('Nhap gia tri cua cac phan tu trong day A:');
For i:=1 to N do Begin Write('A[',i,']='); Readln(A[i]); End; dem_chan:=0; dem_nto:=0; For i:=1 to N do Begin
If (A[i] mod 2 = 0) then dem_chan:=dem_chan+1; If A[i]>1 then
Begin d:=2;
while (d<=sqrt(A[i])) and (A[i] mod d <>0) do d:=d+1; If d>sqrt(A[i]) then dem_nto:=dem_nto+1;
End; End;
Writeln('So luong so chan trong mang A la: ',dem_chan); Writeln('So luong so le trong mang A la: ',N-dem_chan); Writeln('So luong so nguyen to trong mang A la:',dem_nto); Readln;
END.
Bài 3: Viết chơng trình nhập 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ố xuất hiện trong xâu S. Thông báo kết quả ra màn hình. Bài giải: Program Bai_tap_3; Uses CRT; Var S : String[100]; i, dem: integer; BEGIN Clrscr;
Writeln('Nhap vao mot xau ki tu co do dai khong qua 100.'); Readln();
dem := 0;
for i := 1 to lenght(S) do
if ('0' <= S[i]) and (S[i] <= '9') then dem := dem+1; Writeln('Trong xau S co ',dem,' chu so.');
Readln; END.
Ngày soạn:
Tiết 36:
Bài Kiểm tra thực hành 1 tiết I - Mục tiêu đánh giá:
Kiểm tra kiến thức về bản ghi.
II - Mục đích yêu cầu của đề:
Yêu cầu học sinh:
- Nắm đợc cách định nghĩa và khai báo biến bản ghi - Lập trình giải đợc bài toán quản lý đơn giản.