Hướng dẫn giải một số dạng bài tập cơ bản ở chương 2, chương 3 tin học lớp 11 - Pdf 41

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: ..............10.
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: .........................................................................19.
4. Kết quả đạt được:....................................................................................19.
C. KẾT LUẬN: ...........................................................................................20.
TÀI LIỆU THAM KHẢO:...........................................................................20.

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

tạo vận dụng thiết thực vào cuộc sống thực tế khi nhu cầu nảy sinh, khi đó các
em có thể tự mình hoàn thành được ý tưởng đó.
2. Biện pháp giải quyết:
Qua quá trình giảng dạy để giúp cho học sinh dễ hiểu tôi có một số kinh
nghiệm sau:
- Trước hết phải giúp các em nắm vững về lý thuyết, tính nguyên tắc và
logíc của một bài lập trình. Cách đặt tên chương trình, tên biến: ví dụ quá 8 kí tự
ta cần dùng dấu gạch nối xen giữa, bài lập trình nào thì cần dùng câu lệnh gán
phối hợp với công thức của toán học để tính, bài lập trình nào thì cần dùng câu
lệnh If … then, for … to … do …, while ... do.
- Hướng dẫn học sinh lập trình đi từ bài dễ tới khó.
- Để 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

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.

• Uses <Tên các 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:
• Const <Tên hằng = giá trị>;
Ví dụ khai báo hằng gia tốc của một vật rơi tự do là: Const g = 9.8;
Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

4


- Cú pháp khai báo biến:
• Var <Tên các biến : kiểu dữ liệu>;
• Ví dụ khai báo biến cho bài toán tính diện tích và chu vi hình chữ nhật
khi biết chiều dài và chiều rộng nhập từ bàn phím là các số nguyên thì:
Var cd, cr, p, s : integer;
• Kiểu dữ liệu: số nguyên là (byte, word, integer, longint), số thực (real,
extended), …
- Câu lệnh nhập dữ liệu vào từ bàn phím:
Read(<danh sách biến vào>); hoặc Readln(<danh sách biến vào>);
Ví dụ: readln(cd, cr);
- Câu lệnh hiển thị dữ liệu ra màn hình:
Write(<danh sách kết quả ra>); hoặc Writeln(<danh sách kết quả ra>); Ví
dụ: hiển thị Trường THPT Le Van Huu ra màn hình thì ta có lệnh là:
Writeln(’Trường THPT Le Van Huu’); …
- Câu lệnh gán là tính toán giá trị biểu thức bên phải được kết quả cuối
cùng thì gán cho tên biến phía bên trái là:
<tên biến> := <biểu thức>;

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
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 và chiều rộng hình chữ nhật, tính
chu vi và diện tích hình chữ nhật đó, cho kết quả hiển thị lên màn hình:
Hướng dẫn:
- Giải thuật:
+ Nhập chiều dài và chiều rộng của hình chữ nhật (nhập vào dưới dạng biến
chứ không phải dạng hằng số cụ thể)
Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

6


+ Công thức tính chu vi của hình chữ nhật là: (chiều dài + chiều rộng) x 2.
+ Công thức tính diện tích của hình chữ nhật là: chiều dài x chiều rộng.
+ Thông báo chu vi và diện tích tính được ra ngoài màn hình.
- Chương trình:
Program Tinh_chuvi_dientich_ HCN;

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

7


- Giải thuật:
+ Nhập vào bán kính đường tròn (là biến R chứ không phải một số cụ thể).
+ Công thức tính chu vi đường tròn: cv = r x 2 x 3.14.
+ Công thức tính diện tích hình tròn: s = 3.14 x r x r.
- Chương trình:
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:’);
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

a:=4;
b:=3;
Hieu:= a*a – 2*a*b + b*b;
Writeln(’hieu binh phuong =’, hieu);
Readln
End.
Hướng dẫn:
- Chương trình Pascal chạy theo trình tự từ trên xuống dưới và từ trái qua phải.
Do vậy kết quả thu được khi chạy chương trình bài 8 là:
hieu binh phuong = 1
- Các bài toán chạy chương trình nên tính toán kết quả câu lệnh gán, đoạn lập
trình và đối chiếu câu lệnh hiển thị writeln để đưa ra kết quả.
2.2. Các bài tập cơ bản sử dụng cấu trúc điều kiện IF - THEN
- Để có thể giúp học sinh nắm bắt được các kiến thức cấu trúc điều kiện ta
có thể hình dung như sau:

Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

9


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 từ khóa then không
được thực hiện.
• Ví dụ: If 9>3 Then Writeln(’ban lam toan rat tot!’);

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
Writeln(’so b lon hon so a:’);
Readln
End.
Bài 2: Cho biết kết quả hiển thị ra màn hình khi thực hiện 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

12


+ Phương trình ax + b có a và b đều là tham số và a, b bình đẳng nhau nên
chúng ta phải xét tất cả các trường hợp có thể xảy ra của biến a và biến b.
TH 1: Nếu a= 0 thì bài toán suy biến thành b = 0. do vậy:
. Nếu b = 0 thì phương trình vố số nghiệm.
. Nếu b khác 0 thì phương trình vô nghiệm.
TH2: Nếu a khác 0 thì phương trình có nghiệm x = -b/a.
Qua phân tích trên thì đây là bài toán sử dụng câu lệnh rẽ nhánh có điều kiện.
+ Thông báo kết luận của từng trường hợp ra ngoài màn hình.
- Chương trình:
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

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.

Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

14


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

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;

For i:=1 to 20 do

Var i, s:integer;

S:=0;

Begin

S:=s+i;

Readln;

Writeln(’s=’,s);

End.
Hướng dẫn:
Program tinh;
Var i,s:integer;
Begin
s:=0;

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.

Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

17


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 <Điều kiện> Do <Câu lệnh>;


End;
Writeln(’ N luy thua x la ’,tich);
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 lớp 10 chưa thực sự cao, những lớp tôi
phụ trách lực học của các em không đồng đều. Để 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 giải thuật 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:
Trong học kỳ 1 được phân công giảng dạy các lớp 11B1, 11B3. Trong quá
trình giảng dạy, tôi đã tiến hành thưc nghiệm ở lớp 11B3 và lớp đối chứng là
lớp 11B1. Kết quả xếp loại môn Tin học trong học kì 1 năm học 2015 - 2016
giữa 2 lớp 11 có kết quả như sau :
Số HS
được
đánh
giá

SL

11B1

SL

TL

SL TL

21,62% 25 67,57%

4

10,81%

0

0%

0

0%

10 26,32% 21 55,26%

7

18,42%

0

0%


Hải Châu, Quách Tấn Kiên (chủ biên).
3. 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.

Ph¹m Anh Tïng – Trêng THPT Lª V¨n Hu

20




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