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

doc 22 trang sk11 18/07/2024 820
Bạn đang xem 20 trang mẫu của tài liệu "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", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: 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

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
 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 H­u 1 B. NHỮNG BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ:
1. Cơ sở đề ra biện pháp:
 Qua việc nghiên cứu các vấn đề về lập trình theo từng dạng bài tập từ cơ 
bản đến phức tạp của ngôn ngữ lập trình Pascal, các tài liệu về phương pháp 
giảng dạy. Từ đó, đưa ra các biện pháp lập trình cho học sinh thông qua các ví 
dụ cụ thể về chương trình lập trình từng phần khác nhau.
 Để thực hiện được điều đó, chúng ta cần phải tìm tòi, nghiên cứu tìm ra 
những bài toán phù hợp, kích thích được sự độc lập, tích cực của học sinh trong 
học tập. Trên cơ sở đó, học sinh có thể tự mình tìm ra được những ý tưởng sá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 
Ph¹m Anh Tïng – Tr­êng THPT Lª V¨n H­u 3 - Cú pháp khai báo biến: 
 • ;
 • 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(); hoặc Readln();
 Ví dụ: readln(cd, cr);
 - Câu lệnh hiển thị dữ liệu ra màn hình:
 Write(); hoặc Writeln(); 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à:
 := ; ví dụ: a:=9; b:=a*3;
 c. Các phép toán số học, các hàm cơ bản:
 - 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 H­u 5 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 vuông, tính chu vi và 
diện tích hình vuông đó, cho kết quả hiển thị lên màn hình:
 Hướng dẫn Lập trình tương tự như bài 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 của một tam giác, tính chu vi 
và diện tích hình tam giác đó, cho kết quả hiển thị lên màn hình:
 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 H­u 7 Hieu:= a*a – 2*a*b + b*b;
 Writeln(’hieu binh phuong =’, hieu);
 Readln
 End.
Gợi ý: - 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:
 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 Then ;
 • Ý 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 Then 
 Else ;
 • Ý 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 H­u 9 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<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 H­u 11 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. 
Ph¹m Anh Tïng – Tr­êng THPT Lª V¨n H­u 13 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; Clrscr;
 End. Uses crt;
 Readln For i:=1 to 5 do
 Begin Write(i:4);
 Hướng dẫn:
 Uses crt;
 Var i:integer;
Ph¹m Anh Tïng – Tr­êng THPT Lª V¨n H­u 15 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.
Ph¹m Anh Tïng – Tr­êng THPT Lª V¨n H­u 17

File đính kèm:

  • docsang_kien_kinh_nghiem_huong_dan_lap_trinh_giai_mot_so_dang_b.doc