Sáng kiến kinh nghiệm: Hướng dẫn lập trình giải một số dạng bài tập cơ bản chương trình Tin học lớp 11 chương II, chương III - Phạm Anh Tùng
MỤC LỤC Tiêu đề Trang A ĐẶT VẤN ĐỀ: B NHỮNG BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ: Cơ Sở đề biện pháp: Biện pháp giải quyết: 2.1 Cấu trúc lập trình Turbo pascal: 2.2 Các tập sử dụng cấu trúc điều kiện IF – THEN: 2.3 Các tập sử dụng câu lệnh lặp với số lần biết trước: 15 2.4 Các tập sử dụng câu lệnh lặp với số lần chưa biết trước: 18 Tác động biện pháp: 21 Kết đạt được: 20 C KẾT LUẬN: 21 TÀI LIỆU THAM KHẢO: 22 Ph¹m Anh Tïng Trờng THPT Lê Văn Hu A T VN ĐỀ: Tin học ngành khoa học có mục tiêu phát triển sử dụng máy tính điện tử để nghiên cứu cấu trúc, tính chất thơng tin, phương pháp thu thập, lưu trữ, tìm kiếm, biến đổi, truyền thông tin ứng dụng vào lĩnh vực khác đời sống xã hội Đối với em học sinh, nói “hành trang” để giúp em vững bước tới tương lai - tương lai hệ công nghệ thông tin bùng nổ! Trong việc giảng dạy cho học sinh, việc giúp học sinh lĩnh hội kiến thức Giáo viên cịn phải biết kích thích tính tích cực, sáng tạo say mê học hỏi học sinh việc học tập em Bởi vì, việc học tập tự giác, tích cực, chủ động sáng tạo đòi hỏi học sinh phải có ý thức mục tiêu đặt tạo động lực bên thúc đẩy thân họ hoạt động để đạt mục tiêu Chương trình Tin học lớp 11 mơn học khó, kiến thức trải rộng địi hỏi em phải biết vận dụng kiến thức xếp cách lơgíc để lập trình giải tốn hồn chỉnh Tuy nhiên thực tế học sinh làm điều Hầu hết em vận dụng câu lệnh, cú pháp không phù hợp cho yêu cầu tập Vì trình dạy học môn Tin học nhà trường phổ thơng cịn gặp nhiều khó khăn Từ thực tế muốn chia sẻ kinh nghiệm nho nhỏ để tham khảo trình dạy học, hướng dẫn lập trình giải số dạng tập chương trình Tin học lớp 11 chương II, chương III Ph¹m Anh Tïng – Trêng THPT Lê Văn Hu B NHNG BIN PHP GII QUYẾT VẤN ĐỀ: Cơ sở đề biện pháp: Qua việc nghiên cứu vấn đề lập trình theo dạng tập từ đến phức tạp ngơn ngữ lập trình Pascal, tài liệu phương pháp giảng dạy Từ đó, đưa biện pháp lập trình cho học sinh thơng qua ví dụ cụ thể chương trình lập trình phần khác Để thực điều đó, cần phải tìm tịi, nghiên cứu tìm tốn phù hợp, kích thích độc lập, tích cực học sinh học tập Trên sở đó, học sinh tự tìm ý tưởng sáng tạo vận dụng thiết thực vào sống thực tế nhu cầu nảy sinh, em tự hồn thành ý tưởng Biện pháp giải quyết: Qua trình giảng dạy để giúp cho học sinh dễ hiểu tơi có số kinh nghiệm sau: - Trước hết phải giúp em nắm vững lý thuyết, tính ngun tắc logíc lập trình Cách đặt tên chương trình, tên biến: ví dụ q kí tự ta cần dùng dấu gạch nối xen giữa, lập trình cần dùng câu lệnh gán phối hợp với cơng thức tốn học để tính, lập trình cần dùng câu lệnh If … then, for … to … …, while - Hướng dẫn học sinh lập trình từ dễ tới khó - Để lập trình tốt u cầu em nắm vững cơng thức tốn học để chuyển đổi thành biểu thức Pascal Cho học sinh ghi lại số công thức tốn học : • Tính biểu thức : TBP= (a+b)2 Khi viết biểu thức Pascal là: TBP := a*a + 2*a*b+b*b; • Tính diện tích hình vng : dientich = canh x canh Khi viết biểu thức Pascal là: S:= canh* canh; • Tính chu vi tam giác: Chuvi = canh a + canh b + canh c Ph¹m Anh Tïng – Trêng THPT Lê Văn Hu Khi ú vit biu thc Pascal là: CV := a+b+c; … - Ngoài ra, phải có biện pháp khuyến khích động viên em thưởng điểm, khen trước lớp, em có tư lập trình tốt với thầy hướng dẫn em học yếu lớp từ để kích thích sáng tạo kích thích mơn học tập 2.1 Cấu trúc lập trình Turbo pascal a Cấu trúc chung lập trình: PROGRAM ; [ ]; BEGIN < Phần thân chương trình >; READLN END b Cách đặt tên, cú pháp khai báo tên thư viện, khai báo biến, câu lệnh nhập liệu vào từ bàn phím, câu lệnh hiển thị kết hình, câu lệnh gán - Cách đặt tên: • Tên khơng trùng với từ khóa ví dụ tên đặt begin sai Vậy từ khóa : Program, uses, var, begin End… • Tên đặt nhiều kí tự dùng dấu gạch nối xen không dài q 127 kí tự • Tên đặt tiếng việt không dấu, không sử dụng dấu cách… - Cú pháp khai báo tên thư viện: • ; Ví dụ khai báo thư viện Crt, graph … là: Uses CRt, graph; - Cú pháp khai báo hằng: • ; Ví dụ khai báo gia tốc vật rơi tự là: Const g = 9.8; Ph¹m Anh Tùng Trờng THPT Lê Văn Hu - Cỳ pháp khai báo biến: • ; • Ví dụ khai báo biến cho tốn tính diện tích chu vi hình chữ nhật biết chiều dài chiều rộng nhập từ bàn phím số ngun thì: Var cd, cr, p, s : integer; • Kiểu liệu: số nguyên (byte, word, integer, longint), số thực (real, extended), … - Câu lệnh nhập liệu vào từ bàn phím: Read(); Readln(); Ví dụ: readln(cd, cr); - Câu lệnh hiển thị liệu hình: Write(); Writeln(); Ví dụ: hiển thị Trường THPT Le Van Huu hình ta có lệnh là: Writeln(’Trường THPT Le Van Huu’); … - Câu lệnh gán tính tốn giá trị biểu thức bên phải kết cuối gán cho tên biến phía bên trái là: := ; ví dụ: a:=9; b:=a*3; c Các phép tốn số học, hàm bản: - Các phép toán số học bản: +, -, * (phép nhân), / (phép chia) - Các hàm bản: • Hàm ABS(x): hàm tính giá trị tuyệt đối cho số thực số nguyên • Hàm SQR(x): hàm tính bình phương cho số thực số ngun • Hàm SQRT(x): hàm tính bậc hai cho số thực số nguyên • Hàm Ln(x) tính lơgarit tự nhiên x (x số thực) • Hàm Exp(x), sin(x), cos(x) tính lơgarit tự nhiên x (x số thực) d Một số tập áp dụng lý thuyết trên: Bài 1: Dựa vào cấu trúc lập trình xếp lệnh sau để thành lập trình tính giá trị s=a+b; Ph¹m Anh Tùng Trờng THPT Lê Văn Hu Cỏc lệnh cho sau: Program tinh_tong; a:=12; b:=88; uses crt; begin readln end s:=a+b; writeln(’tong s=’, s); Var a,b,s:integer; clrscr; Hướng dẫn: Program Tinh_tong; Var a,b,s:integer; Begin a:=12; b:=88; s:=a+b; writeln(’tong s=’, s); readln End Bài 2: Lập chương trình gán biến a=9, biến b=10 tính tổng, tích, hiệu b với a Cho kết hiển thị hình Hướng dẫn: Program Tinh_tong_tich_hieu; Var a,b,tong,tich,hieu:byte; Begin a:= 9; b:= 10; tong:= b+a; tich:= b*a; hieu:= b-a; writeln(’tong =’,tong:5, ’ tich=’, tich:5, ’hieu=’,hieu); readln end Bài 3: Lập chương trình nhập vào chiều dài chiều rộng hình chữ nhật, tính chu vi diện tích hình chữ nhật đó, cho kết hiển thị lên hình: Hướng dẫn: Program Tinh_chuvi_dientich_ HCN; Ph¹m Anh Tïng – Trêng THPT Lê Văn Hu Var cd,cr, p, s : integer; Begin Write(’moi nhap chieu rong va chieu dai hinh chu nhat:’); Readln(cr,cd); p:=(cr+cd)*2; s:=cd*cr; Wrietln(’chu vi hinh chu nhat:’, p); Writeln(’dien tich hinh chu nhat:’,s); Readln End Gợi ý: Bài tập 4: Lập chương trình nhập vào cạnh hình vng, tính chu vi diện tích hình vng đó, cho kết hiển thị lên hình: Hướng dẫn Lập trình tương tự 3: Chu vi tính P:=canh*4; Diện tích tính S:=canh*canh; Bài tập 5: Lập chương trình nhập vào ba cạnh tam giác, tính chu vi diện tích hình tam giác đó, cho kết hiển thị lên hình: Hướng dẫn Lập trình tương tự 3: Chu vi tính CV:=a+b+c; Nửa chu vi tính p:=CV/2; Diện tích tính S:=SQRT(p(p-a)*(p-b)*(p-c)); Bài 6: Lập chương trình nhập vào bán kính đường trịn R, tính chu vi diện tích đường trịn đó, cho kết hiển thị lên hình: Hướng dẫn: Program Tinh_chuvi_dientich_ hinhtron; Const pi=3.14; Var r,cv,dt : Real; {real la so thuc} Begin Write(’moi nhap ban kinh hinh tron:’); Phạm Anh Tùng Trờng THPT Lê Văn Hu Readln(r); cv:= 2*pi*r; dt:=pi*r*r; Wrietln(’chu vi hinh chu nhat: ’, cv:10:1); {cv:10:1 de doc ket qua} Writeln(’dien tich hinh chu nhat: ’,dt:10:1); Readln End Bài 7: Lập chương trình tính đưa hình vận tốc V chạm đất vật rơi từ độ cao h, biết v= 2gh , g gia tốc rơi tự g=9.8m/s2 Độ cao h(m) nhập vào từ bàn phím Tính xong cho kết v hiển thị lên hình lấy trịn số thập phân Hướng dẫn: Program Tinh_vantoc; Const g=9.8; Var v,h : Real; Begin Write(’moi nhap chieu cao h:’); Readln(h); v:= sqrt(2*g*h); Writeln(’Van toc vat luc cham dat v=:’,v:10:3); Readln End Bài 8: Cho biết kết hiển thị hình thực chương trình sau: Program tim_hieu; Var a,b,hieu:integer; Begin a:=4; b:=3; Phạm Anh Tùng Trờng THPT Lê Văn Hu Hieu:= a*a 2*a*b + b*b; Writeln(hieu binh phuong =’, hieu); Readln End Gợi ý: - Kết thu chạy chương trình là: hieu binh phuong = - Các toán chạy chương trình nên tính tốn kết câu lệnh gán, đoạn lập trình đối chiếu câu lệnh hiển thị writeln để đưa kết 2.2 Các tập sử dụng cấu trúc điều kiện IF - THEN - Để giúp học sinh nắm bắt kiến thức cấu trúc điều kiện ta hình dung sau: a Cú pháp If - Then ý nghĩa: Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh If - Then Với hai dạng thiếu đủ : Dạng 1: Cấu trúc rẽ nhánh dạng thiếu: If Then ; • Ý nghĩa: Nếu điều kiện có giá trị câu lệnh sau từ khóa then thực Nếu điều kiện có giá trị sai câu lệnh sau điều kiện then khơng thực • Ví dụ: If 9>3 Then Writeln(’ban lam toan rat tot!’); Dạng 2: Cấu trúc rẽ nhánh dạng đầy đủ: If Then Else ; • Ý nghĩa: Nếu điều kiện có giá trị câu lệnh sau then thực bỏ qua câu lệnh Nếu điều kiện có giá trị sai câu lệnh sau từ khóa Else thực bỏ qua câu lệnh • Ví dụ: If 9b then Else Program Tim_solon_sobe; Readln End Hướng dẫn: Program Tim_solon_sobe; Var a,b:integer; Begin Writeln(’moi nhap hai so a,b:’); Readln(a,b); If a>b then writeln(’So a lon hon so b:’) Else Ph¹m Anh Tïng – Trêng THPT Lê Văn Hu 10 Writeln(so b lon hon so a:’); Readln End Bài 2: Cho biết kết hiển thị hình thực chương trình sau: Prgram xet_so; Var a,b:integer; Begin a:= -13; b:=a*a – 169; If b=0 then Writeln(’Ket qua bieu thuc b=0’); If b>0 then writeln(’Ket qua bieu thuc b lon hon 0’); If b then writeln(’ so ban vua nhap la so duong’); Readln End Ph¹m Anh Tïng – Trêng THPT Lê Văn Hu 11 Bi 4: Hóy lp chng trình nhập vào hai hệ số a b Cho biết Nghiệm phương trình ax+b=0 Hướng dẫn: Program gptbn; Var a,b,x:real; Begin Writeln(’moi nhap vao hai so a va b:’); Readln(a,b); If ((a=0) and (b=0)) then writeln(’phuong trinh bac nhat co vo so nghiem’); If ((a=0) and (b0)) then writeln(’phuong trinh bac nhat vo nghiem’); If (a0) then Begin x:= -b/a; Writeln(’phuong trinh bac nhat co mot nghiem x:’, x:10:1); End; Readln; End Bài 5: Hãy lập chương trình nhập vào ba hệ số a,b,c (a khác 0) Cho biết nghiệm phương trình bậc hai ax2+bx+c=0 Hướng dẫn: Program gptb2; Var a,b,c,x1,x2,x,delta:real; Begin Writeln(’moi nhap vao ba so a va b, c:’); Readln(a,b,c); delta:=b*b-4*a*c; If delta