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 - Pdf 13

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.
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
1
A. ĐẶT VẤN ĐỀ:
Tin học là một ngành khoa học có mục tiêu là phát triển và sử dụng máy
tính điện tử để nghiên cứu cấu trúc, tính chất của 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 và ứng dụng vào các lĩnh vực
khác nhau của đời sống xã hội. Đối với các em học sinh, có thể nói đây là một
“hành trang” để giúp các em vững bước đi tới tương lai - tương lai của một thế
hệ công nghệ thông tin bùng nổ!.
Trong việc giảng dạy cho học sinh, ngoài việc giúp học sinh lĩnh hội những
kiến thức cơ bản. Giáo viên còn phải biết kích thích tính tích cực, sự sáng tạo
say mê học hỏi của học sinh trong việc học tập của các em. Bởi vì, việc học tập
tự giác, tích cực, chủ động và sáng tạo đòi hỏi học sinh phải có ý thức về những
mục tiêu đặt ra và tạo được động lực bên trong thúc đẩy bản thân họ hoạt động
để đạt các mục tiêu đó.
Chương trình Tin học lớp 11 là một môn học khó, kiến thức thì trải rộng
nhưng đòi hỏi các em phải biết vận dụng kiến thức của từng bài sắp xếp một

- Để lập trình tốt yêu cầu các em nắm vững công thức của toán học để
chuyển đổi thành biểu thức của Pascal. Cho học sinh ghi lại một số công thức cơ
bản trong toán học như :
• Tính biểu thức : TBP= (a+b)
2
Khi đó viết biểu thức trong Pascal là: TBP := a*a + 2*a*b+b*b;
• Tính diện tích hình vuông : dientich = canh x canh
Khi đó viết biểu thức trong 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
3
Khi đó viết biểu thức trong Pascal là: CV := a+b+c; …
- Ngoài ra, phải có biện pháp khuyến khích động viên các em như thưởng
điểm, khen trước lớp, hoặc những em có tư duy lập trình tốt cùng với thầy
hướng dẫn những em học yếu trong lớp từ đó để kích thích sự sáng tạo kích
thích bộ môn trong học tập.
2.1. Cấu trúc cơ bản nhất của một bài lập trình trong Turbo pascal.
a. Cấu trúc chung bài lập trình:
PROGRAM <tên chương trình>;
[<Phần khai báo > ];
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 các thư viện, khai báo biến, câu lệnh
nhập dữ liệu vào từ bàn phím, câu lệnh hiển thị kết quả ra màn 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 là sai. Vậy từ khóa là :
Program, uses, var, begin. End…

- Các phép toán số học cơ bản: +, -, * (phép nhân), / (phép chia).
- Các hàm cơ bản:
• Hàm ABS(x): hàm tính giá trị tuyệt đối cho số thực hoặc số nguyên.
• Hàm SQR(x): hàm tính bình phương cho số thực hoặc số nguyên.
• Hàm SQRT(x): hàm tính căn bậc hai cho số thực hoặc số nguyên.
• Hàm Ln(x) tính lôgarit tự nhiên của x (x là số thực).
• Hàm Exp(x), sin(x), cos(x) tính lôgarit tự nhiên của x (x là số thực).
d. Một số bài tập áp dụng lý thuyết trên:
Bài 1: Dựa vào cấu trúc bài lập trình sắp xếp các lệnh sau để thành một bài
lập trình tính giá trị s=a+b;
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
5
Các lệnh cho như 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 và tính tổng, tích, hiệu của b
với a. Cho kết quả hiển thị trên màn hình.
Hướng dẫn:
Program Tinh_tong_tich_hieu;
Var a,b,tong,tich,hieu:byte;
Begin

Hướng dẫn Lập trình tương tự như bài 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 và diện
tích đường tròn đó, cho kết quả hiển thị lên mà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
7
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 và đưa ra màn hình vận tốc V khi chạm đất của
một vật rơi từ độ cao h, biết rằng v=
2gh
, trong đó g là gia tốc rơi tự do và
g=9.8m/s
2
. Độ cao h(m) được nhập vào từ bàn phím. Tính xong cho kết quả v
hiển thị lên màn hình lấy tròn 3 số thập phân.

a. Cú pháp If - Then và ý 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 và đủ :
Dạng 1: Cấu trúc rẽ nhánh dạng thiếu:
If <điều kiện> Then <câu lệnh>;
• Ý nghĩa: Nếu điều kiện có giá trị đúng thì câu lệnh sau từ khóa then được
thực hiện. Nếu điều kiện có giá trị sai thì câu lệnh sau điều kiện then
không được thực hiện.
• 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 <điều kiện> Then <câu lệnh 1>
Else <câu lệnh 2>;
• Ý nghĩa: Nếu điều kiện có giá trị đúng thì câu lệnh 1 sau then được thực
hiện và bỏ qua câu lệnh 2. Nếu điều kiện có giá trị sai thì câu lệnh 2 sau từ
khóa Else được thực hiện và bỏ qua câu lệnh 1.
• Ví dụ: If 9<3 Then wrietln(’ Ban di hoc toan ’)
Else writeln(’ ban di hoc ly ’);
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
9
Lưu ý: - Câu lệnh rẽ nhánh dạng đầy đủ lệnh đứng trước ELSE không sử
dụng dấu chấm phẩy (;).
- If, Then, Else: là các từ khóa của pascal không sử dụng đặt tên biến, tên
hằng và tên chương trình.
- Nếu sau từ khóa Else từ hai lệnh trở mà muốn thực hiện cùng lúc thì phải
đưa vào giữa begin và end; → Lệnh này được coi là một lệnh ghép.
- Nếu sau Then hoặc Else chỉ có một lệnh gọi là lệnh đơn.
- Lệnh: Có thể là câu lệnh gán, nhập, hiển thị…
b. Một số bài tập áp dụng câu lệnh If – Then.
Bài 1: Sắp xếp các lệnh sau thành một chương trình hoàn chỉnh:
Begin

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<0 then writeln(’Ket qua bieu thuc b nho hon 0’);
Readln
End.
Hướng dẫn:
Sau khi chạy chương trình trên có kết quả là:
Ket qua bieu thuc b=0.
Bài 3: Lập chương trình nhập và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.
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
11
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

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.
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
13
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ả.

Dạng 1: Câu lệnh For tiến.
For <biến đếm>:= <giá trị đầu> to <Giá trị cuối> do <Câu lệnh>;
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 <câu lệnh> 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;
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu

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.
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
16
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;

.
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
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
18
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

đượ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ỏ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%
Ph¹m Anh Tïng Tr– êng THPT Lª V¨n Hu
20
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Ị


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status