Cách học Turbo Pascal trong chương trình Tin học lớp 11
MỤC LỤC
Tiêu đề Trang
A. ĐẶT VẤN ĐỀ: 2.
B. NHỮNG BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ: 3.
1. Cơ Sở đề ra biện pháp: 3.
2. Biện pháp giải quyết: 3.
2.1. Cấu trúc cơ bản nhất của một bài lập trình trong Turbo pascal: 4.
2.2. Các bài tập cơ bản sử dụng cấu trúc điều kiện IF – THEN: 9.
2.3. Các bài tập cơ bản sử dụng câu lệnh lặp với số lần biết trước: 15.
2.4. Các bài tập cơ bản sử dụng câu lệnh lặp với số lần chưa biết trước: 18.
3. Tác động của biện pháp: 21.
4. Kết quả đạt được: 20.
C. KẾT LUẬN: 21.
TÀI LIỆU THAM KHẢO: 22.
ào một số nguyên khác 0. Cho biết bạn vừa nhập số nguyên đó là số âm hay số dương, hiển thị kết quả lên màn hình. Hướng dẫn: Program Nhap_xet_so; Var so:integer; Begin Writeln(’moi vao mot so nguyen khac 0:’); Readln(so); If so < 0 then writeln(’ so ba vua nhap la so am’); If so > 0 then writeln(’ so ban vua nhap la so duong’); Readln End. Bài 4: Hãy lập chương trình nhập vào hai hệ số a và b. Cho biết Nghiệm của 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 của 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<0 then Writeln(’phuong trinh bac hai vo nghiem); If delta=0 then Begin x:=-b/(2*a); Writeln(’phuong trinh bac hai co mot nghiem x1=x2=’,x:10:1); End; If delta <0 then Begin x1:=(-b-sqrt(delta))/(2*a); x2:= (-b+sqrt(delta))/(2*a); Writeln(’phuong trinh bac hai co nghiem thu nhat x1=’,x1:10:1); Writeln(’phuong trinh bac hai co nghiem thu hai x2=’,x2:10:1); End; Readln; End. Bài 6: Hãy nhập vào một số nguyên dương. Cho biết số bạn vừa nhập là số chẵn hay số lẻ. Hướng dẫn: Program xet_so; Var a: word; Begin Writeln(’moi nhap vao mot so nguyen duong:’); Readln(a); If a mod 2 = 0 then writeln(’so ban vua nhap la so chan’) Else writeln(’so ban vua nhap la so le’); Readln End. Bài 7: Hãy lập chương trình tính tiền điện cho khách hàng của từng hộ dân. Khi biết Số điện tiêu thu nhập vào từ bàn phím. Biết rằng 100KW đầu giá 1242đồng/1kw 50kW sau là giá 1369đồng/1kw Các số KW còn lại là: 1836đồng/1kw. Tiền = số điện *đơn giá. Cho hiển thị số tiền cần phải trả. Hướng dẫn: Program tien_dien; Var skwtt, tien :real; Begin Writeln(’moi nhap so dien tieu thu:’); Readln(skwtt); If skwtt<=100 then Begin Tien:=skwtt*1242; Writeln(’so tien can tra la:’, tien:12:1); End; If ((skwtt>100) and (skwtt<=150)) then Begin Tien:= (100*1242)+((skwtt-100)*1369); Writeln(’so tien can tra la:’, tien:12:1); End; If SKWTT>150 then Begin tien:= (100*1242)+(50)*1369)+ ((skwtt-150)*1836); Writeln(’so tien can tra la:’, tien:12:1); End; Readln End. 2.3. Các bài tập cơ bản sử dụng câu lệnh lặp với số lần biết trước: - Câu lệnh For tiến. - Câu lệnh For lùi. - Để có thể giúp học sinh nắm bắt được các kiến thức câu lệnh lặp với số lần biết trước ta cần nắm vững lý thuyết sau: Dạng 1: Câu lệnh For tiến. For := to do ; Trong đó: · For (lặp), To (tới), Do (làm) là các từ khóa của Pascal. · Biến đếm : Là một biến đơn, kiểu nguyên. · Giá trị đầu, giá trị cuối: Là những con số nguyên, một đoạn số nguyên liên tục: chẳng hạn như 1 đến 100, -10 đến 10, … Ví dụ: For i:=1 to 100 do write(i:4); {Hiển thị số từ 1 đến 100} · Câu lệnh là một lệnh đơn hoặc lệnh ghép (lệnh ghép là sau do nếu yêu cầu thực hiện cùng lúc từ hai lệnh trở lên thì đặt vào giữa begin và end;) Ý nghĩa: Biến đếm nhận giá trị đầu kiểm tra nhỏ hơn hoặc bằng giá trị cuối thì đi thực hiện sau do. Sau đó biến đếm tự động tăng lên một đơn vị thì cũng phải kiểm tra tương tự như trên nếu đúng đi thực hiện câu lệnh sau do. Nếu sai thoát khỏi vòng lặp for tiến. - Một số bài tập cơ bản: Bài 1: Sắp xếp các lệnh sau đây thành một bài lập trình hoàn chỉnh trong pascal để thực hiện hiển thị các số từ 1 2 3 4 5 mỗi số cách nhau 3 khoảng cách trắng. Var i:integer; End. Readln Begin Clrscr; Uses crt; For i:=1 to 5 do Write(i:4); Hướng dẫn: Uses crt; Var i:integer; Begin Clrscr; For i:=1 to 5 do Write(i:4); readln End. Bài 2: Sắp xếp các lệnh sau đây để tạo thành một bài lập trình. Cho biết bài lập trình đang giải quyết bài toán nào? Phát biểu bài toán đó. Program tinh; Var i, s:integer; Begin Uses crt; Clrscr; Readln; End. For i:=1 to 20 do S:=0; S:=s+i; Writeln(’s=’,s); Hướng dẫn: Program tinh; Uses crt; Var I,s:integer; Begin Clrscr; S:=0 ; For i:=1 to 20 do S:=s+i; Writeln(’s=’,s); Readln End. Bài lập trình thực hiện tính tổng s các số trong đoạn [1..20] và cho hiển thị kết quả s ra màn hình. Phát biểu như sau: Phát biểu bài toán: Em hãy lập trình tính tổng của các số từ 1 đến 20. Cho hiển tổng vừa tính ra màn hình. Bài 3: Em hãy lập chương trình nhập vào một số nguyên dương n. Tính tổng các số nguyên từ 1 đến n. Cho hiển thị tổng ra màn hình. Hướng dẫn: Program tính_tong; Var i,n :integer; s:real; Begin Write(‘moi nhap so nguyen duong n’); Readln(n); s:=0; For i:=1 to n do s:=s+i; Writeln(’tong s=’,s); Readln End. Bài 4: Em hãy lập chương trình nhập vào một số nguyên dương n. Tính tổng s=2+4+..+2n. Cho hiển thị tổng s ra màn hình. Hướng dẫn: Program tính_tong; Var i, n :integer; s:real; Begin Write(’moi nhap so nguyen duong n’); Readln(n); s:=0; For i:=2 to 2*n do If (i mod 2 = 0) then s:=s+i; {A} Writeln(’tong s=’,s); Readln End. Gợi ý cho bài toán: Nhập số nguyên dương n tính s=1+3+…+2n-1. Ta chỉ sửa bài lập trình chỗ câu lệnh {A}: if (i mod 2= 1) then s:=s+i; từ bài tập trên. Vòng lặp For lùi. Cách làm tương tự nhưng cho chạy từ giá trị cuối và giảm dần tới giá trị đầu. Ví dụ 1: S:=0; For i:=100 downto 1 do S:=S+i; {tính giá trị tổng s đoạn [..100]} Ví dụ 2: s:=0 For i:=n downto 1 do S:=S+i; {tính giá trị tổng s đoạn [1..n]} 2.4. Các bài tập cơ bản sử dụng câu lệnh lặp với số lần chưa biết trước: - Để có thể giúp học sinh nắm bắt được các kiến thức câu lệnh lặp với số lần biết trước ta cần nắm vững lý thuyết sau: While Do ; Trong đó: + While, Do là các tên dành riêng của Pascal + Điều kiện lag biểu thức logíc. + Câu lệnh là một câu lệnh đơn hoặc ghép. Ý nghĩa: Câu lệnh sẽ kiểm tra xem nếu Điều kiện đúng thì sẽ thực hiện câu lệnh. Sau một vòng lặp thì chúng ta phải có thao tác tăng hoặc giảm biến để cho Điều kiện sẽ bị sai sau một số vòng lặp. Một số bài cơ bản: Bài 1: Hãy lập chương trình nhập vào 2 số nguyên dương n và x. Tính lũy thừa Nx. Hướng dẫn: Program Luy_thua; Var x,n,tich,luythua : Integer; Begin Writeln(’ Nhap vao so nguyen duong N va X: ’); readln(n,x); tich:= 1; luythua:= 1; While luythua <= n do Begin tich:= tich * x; luythua:= luythua + 1; End; Writeln(’ N luy thua x la ’,tich); readln End. Bài 2: Hãy lập chương trình nhập vào số tự nhiên N. Kiểm tra xem số đó có phải là số nguyên tố hay không. Thông báo kết quả ra màn hình. Hướng dẫn: Program So_nguyen_to; Var i,n,d: integer; Begin Writeln(’ Nhap vao so tu nhien N: ’); readln(n); If n < 2 then Write(’ Hop so’); If (n=2)or(n=3) then Write(’ So nguyen to’); If n > 3 then Begin d:= 0; i:= 2; while i < n div 2 do begin if n mod i = 0 then d:= d+ 1; i:= i+1; end; if d = 0 then write(’ So nguyen to’) else write(’ Hop so’); End; Readln End. 3. Tác động của biện pháp: Trong quá trình thử nghiệm đề tài bản thân tôi cũng gặp nhiều khó khăn. Là một trường huyện xét tuyển đầu vào chưa cao, những lớp tôi phụ trách lực học của các em không đồng đều, phần lớn hổng kiến thức cơ bản về toán học dẫn đến các em áp dụng công thức lập trình sai, tính tư duy hạn chế. Để khắc phục điều đó tôi cho các em ghi lại các công thức toán học liên quan tới lập trình giải các bài toán trong tin học, rồi hướng dẫn chuyển đổi từ biểu thức toán học sang biểu thức ngôn ngữ lập trình pascal. Ghi từng từ khóa, câu lệnh, cấu trúc cơ bản của từng bài tập theo từng chương cụ thể. Cho các em lập chương trình nhiều lần với bài tập dễ. Khi thành thạo sẽ hướng dẫn các em lập trình giải các bài toán khó hơn. Với cách làm trên tôi đã hướng dẫn được hầu hết các em thành thạo được phương pháp lập trình của các dạng toán đơn giản nhất trong chương trình tin học 11 phần chương II, III. 4. Kết quả đạt được: Tôi mới về công tác tại trường từ tháng 10 đến nay và trong học kỳ 1 được phân công giảng dạy các lớp 11B5, 11B6, 11B7 và 11B8. Trong quá trình giảng dạy, tôi đã tiến hành thưc nghiệm ở 2 lớp 11B5 và 11B7. Kết quả xếp loại môn Tin học trong học kì 1 năm học 2013 - 2014 giữa 4 lớp 11 có kết quả như sau : Lớp Số HS được đánh giá Giỏi Khá Trung bình Yếu Kém SL TL SL TL SL TL SL TL SL TL 11B5 48 9 18,75% 27 56,25% 12 25% 0 0% 0 0% 11B6 46 1 2,17% 23 50% 21 45,65% 1 2,17% 0 0% 11B7 42 5 11,9% 22 52,38% 14 33,33% 1 2,38% 0 0% 11B8 38 1 2,63% 16 42,11% 19 50% 2 5,26% 0 0% C. KẾT LUẬN: Trên đây là một số biện pháp lập trình chương trình mà tôi đã tiến hành thực hiện tại tại một số lớp tôi phụ trách, kết quả bước đầu có nhiều khả quan, đa số các em đã biết phương pháp lập trình và vận dụng vào giải các bài tập khác nhau. Điều quan trọng, hầu hết các em hứng thú với bộ môn và có thái độ nghiêm túc khi thực hành. Do thời gian hạn chế, trong sáng kiến kinh nghiệm này không tránh khỏi những sai sót về chính tả, rất mong đồng nghiệp góp ý để bài sáng kiến kinh nghiệm hoàn thiện hơn. Đồng thời tôi mong rằng với chút ít kinh nghiệm của mình có thể góp phần nhỏ trong việc giảng dạy để nâng cao chất lượng bộ môn. Tôi xin chân thành cảm ơn! XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN VỊ Thiệu Hóa, ngày 19 tháng 5 năm 2014 Tôi xin cam đoan đây là SKKN của mình viết, không sao chép nội dung của người khác. Phạm Anh Tùng TÀI LIỆU THAM KHẢO ----{---- Sách giáo khoa tin học 11 – Nhà xuất bản Bộ giáo dục – tác giả Hồ Sĩ Đàm (chủ biên). Giới thiệu giáo án tin học 11 – Nhà xuất bản Hà Nội 2007 – tác giả Nguyễn Hải Châu, Quách Tấn Kiên (chủ biên). Giải bài tập tin học 11 – Nhà xuất bản Hải Phòng. Tác giả Nguyễn Công Tuấn.
File đính kèm:
- Cách học Turbo Pascal trong chương trình Tin học lớp 11.doc