Đề tài Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8

Đề tài Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8

Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh lặp với số lần biết trước thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau:

Hoạt động 1: Hoạt động lặp với số lần lặp biết trước .

Trong hoạt động này giáo viên đưa ra một số ví dụ có hoạt động lặp khi biết trước số lần lặp trong thực tế cuộc sống hằng ngày:

- Đánh răng ngày 2 lần.

- Ngày ăn cơm 3 bữa.

- Sáng dậy đi học.

 Cho học sinh nêu một vài ví dụ trong thực tế hàng ngày.

 Sau đó giáo viên giới thiệu hoạt động lặp của bài toán: Tính tổng 100 số tự nhiên.

S= 1+2+ +100.

 Đối với bài toán này giáo viên chỉ ra hoạt động lặp đó là: S:= S+i và i:=i+1;

 Trong hoạt động này giáo viên chỉ rõ cho học sinh đâu là hoạt động lặp, số lần lặp của hoạt động. Qua những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động biết trước số lần lặp.

 

doc 31 trang Người đăng honghanh96 Ngày đăng 30/10/2018 Lượt xem 699Lượt tải 9 Download
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
hân của chương trình gồm các câu lệnh mà máy tính cần thực hiện (Đây là phần bắt buộc phải có): Bằng từ khóa BeginEnd. Từ khóa Begin để cho biết điểm bắt đầu và từ khóa end để cho biết điểm kết thúc của một chương trình. 
Giáo viên đưa ra một ví dụ và cho học sinh tự nhận biết các phần của cấu trúc chung của chương trình.
Ví dụ: 
Phần khai báo
Program toilapascal; 
Uses crt; 
Begin
Writeln(‘Rat vui vi ban den vơi pascal’); Phần thân
End. 
* Bài 3. Chương trình máy tính và dữ liệu
Để giúp học sinh hiểu về một chương trình máy tính và các kiểu dữ liệu sử dụng trong chương trình thì giáo viên phải yêu cầu học sinh tìm hiểu các hoạt động sau:
Hoạt động 1: Các kiểu dữ liệu thường dùng.
Hoạt động này cần giúp học sinh biết được để máy tính hiểu được thông tin đưa vào, xử lý thông tin, thông tin đưa ra trong ngôn ngữ lập trình thì phải cần đến các kiểu dữ liệu được định nghĩa sẵn:
+ Kiểu số nguyên: Integer
+ Kiểu số thực: Real
+ Kiểu ký tự: Char
+ Kiểu xâu ký tự: String
+..
Trong hoạt động này giáo viên cần làm rõ: Tùy thuộc vào yêu cầu của từng bài toán để chúng ta khai báo dữ liệu của bài toán đó thuộc kiểu dữ liệu nào?
 Ví dụ : 
+ Đối với bài toán nhập xuất họ và tên học sinh thì biến hoten phải khai báo kiểu dữ liệu string.
+ Đối với bài toán “Kiểm tra N là số chẵn hay lẻ ” thì biến N phải khai báo kiểu Integer;
Khi khai báo kiểu dữ liệu thì giáo viên cần nhắc học sinh chú ý đến phạm vi sử dụng của các kiểu dữ liệu. Khai báo đúng kiểu dữ liệu có nghĩa là phần nào các em đã biết nắm bắt được yêu cầu của bài lập trình.
Hoạt động 2: Lệnh nhập xuất của chương trình.
Đối với hoạt động này giáo viên cần làm rõ cho học sinh hiểu được quá trình trao đổi dữ liệu giữa con người và máy tính thì phải cần đến lệnh nhập xuất dữ liệu.
+ Lệnh nhập: Là lệnh đưa dữ liệu vào cho chương trình được thực hiện: Readln(giá trị dữ liệu cần nhập);
VD: Nhập vào một số nguyên N từ bàn phím. Viết chương trình kiểm tra xem N là số chẵn hay số lẽ?
Đối với bài toán này thì yêu cầu phải nhập số nguyên N bằng lệnh: Readln(N);
+ Lệnh xuất: Là lệnh đưa kết quả ra màn hình được thực hiện: Writeln(giá trị cần xuất);
VD: Muốn đưa kết quả S ra màn hình: Writeln(S);
Trong hoạt động này giáo viên cần nhấn mạnh vai trò của việc nhập xuất dữ liệu khi viết chương trình.
* Bài 4. Sử dụng biến trong chương trình
	Để dạy bài này và giúp học sinh hiểu được công cụ biến trong chương trình, biết cách sử dụng áp dụng biến vào từng bài toán cụ thể thì giáo viên phải giúp học sinh tìm hiểu qua các hoạt động sau:
Hoạt động 1: Tìm hiểu về công cụ biến trong chương trình.
	Ở hoạt động này giáo viên phải nói rõ cho học sinh hiểu để lưu trữ dữ liệu và xử lý dữ liệu trong chương trình thì cần đến một công cụ lập trình đó là biến. Biến dùng để lưu trữ dữ liệu và khi nào cần xử lý dữ liệu thì chỉ cần tìm đến vị trí của biến cần lưu.
Ví dụ: Để tính tổng của a+b với giá trị a, b được nhập từ bàn phím .
Do không biết giá trị a,b được nhập vào là bao nhiêu nên phải sử dụng hai biến a, b để lưu giá trị cần nhập vào trong vùng nhớ. Muốn thực hiện tính tổng ta sử dụng lệnh: Writeln(a+b) khi đó chương trình sẽ tự tìm đến vị trí các biến để thực hiện phép toán a+b.
Giáo viên cần nhấn mạnh cho học sinh hiểu giá trị của biến có thể thay đổi trong quá trình thực hiện chương trình.
Hoạt động 2: Cách sử dụng biến trong chương trình. 
Đối với hoạt động này giáo viên phải giúp học sinh biết được cách sử dụng các biến trong chương trình. 
+ Thực hiện tính toán giá trị cho biến;
+ Gán giá trị cho biến bằng lệnh: Tên biến:= Biểu thức cần gán giá trị cho biến.
Giáo viên đưa ra ví dụ để học sinh nắm bắt cách gán giá trị cho biến:
Ví dụ: i:=1 -> Gán giá trị 1 cho biến nhớ i;
Giáo viên phải đưa ra chú ý cho học sinh hiểu tránh trường hợp học sinh gán giá trị tùy tiện đó là: Kiểu dữ liệu của biểu thức cần gán giá trị cho biến phải trùng với kiểu dữ liệu của biến, khi gán giá trị mới thì giá trị cũ bị mất đi.
Ví dụ: x là biến được khai báo kiểu dữ liệu số nguyên
 Vậy x= a/b là sai bởi vì biểu thức a/b có kiểu dữ liệu phải là số thực.
* Bài 5. Từ bài toán đến chương trình
Đây là bài học rất quan trọng trong chương trình lập trình Pascal bởi vì bài học này sẽ giúp các em tìm ra đựơc con đường lập trình từ một bài toán cụ thể đến với chưong trình máy tính. Để học sinh hiểu được nội dung bài học này có nghĩa là giáo viên đã thành công một nửa trong quá trình giúp các em giải toán bằng ngôn ngữ lập trình. Để giải quyết một bài toán thì việc học sinh xác định được bài toán là bước vô cùng quan trọng, đó chính là bước đầu học sinh biết được bài toán cho gì và cần làm công việc gì?
Hoạt động 1: Quá trình giải bài toán trên máy tính.
Đối với hoạt động này thì giáo viên phải hình thành cho học sinh biết quá trình từ một bài toán cụ thể để viết thành chương trình gồm những bước đó là:
+ Xác định bài toán
+ Mô tả thuật toán
+ Viết chương trình
Ví dụ: Tìm số lớn nhất trong 4 số a,b,c,d. In ra màn hình số lớn nhất?
Ta cần xác định cho bài toán:
+ Thông tin vào: Bốn số a,b,c,d
+ Thông tin ra: Số lớn nhất Max.
 	+ Mô tả thuật toán: 
 * Giả sử số lớn nhất là a: Max:=a; 
 * So sánh Max với số b. Nếu Max<b thì Max :=b;
 * So sánh Max với số c. Nếu Max<c thì Max :=c;
 * So sánh Max với số d. Nếu Max<d thì Max :=d;
 * Số lớn nhất là Max.
 + Viết chương trình: Sử dụng các lệnh đã học
Hoạt động 2: Mô tả thuật toán của bài toán.
Để dạy học hoạt động này trước tiên giáo viên phải đưa ra một số bài toán thực tế hằng ngày để các em hiểu quá trình thực hiện các bài toán thực tế đó. 
VD: Bài toán nấu cơm, giặt áo quần..Sau đó cho các em liên hệ đến việc giải bài toán đơn giản (Tìm bạn cao nhất trong tổ hoặc tìm bạn có điểm cao nhất môn toán trong tổ..)
Ví dụ: Mô tả thuật toán của bài toán tìm bạn cao điểm nhất trong tổ gồm 5 học sinh:
HS
HS1
HS2
HS3
HS4
HS5
Điểm
8
7
9
6
8
B1: Giả sử Max:= HS1;
B2: So sánh Max với HS2, Nếu Max<HS2 thì Max:= HS2;(Max:=8)
B3: So sánh Max với HS3, Nếu Max<HS3 thì Max:=HS3; (Max:=9)
B4: So sánh Max với HS4, Nếu Max<HS4 thì Max:=HS4; (Max:=9)
B5: So sánh Max với HS5, Nếu Max<HS thì Max:=HS5; (Max:=9).
Từ những bài toán thực tế đó giáo viên hình thành cho các em về các bước để mô tả thuật toán của một bài toán.
* Bài 6. “Câu lệnh điều kiện”
	Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh cấu trúc rẽ nhánh thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau:
Hoạt động 1. Hoạt động có điều kiện.
	Ở phần này giáo viên giới thiệu một số hoạt động điều kiện hàng ngày và những hoạt động có điều kiện trong các bài toán cơ bản như:
	- Nếu chuông điện thoại reo thì nhắc máy
	- Nếu trời không mưa thì đi đá bóng ngược lại (trời mưa) ở nhà.
	- Nếu a chia hết cho 2 thì a số chẵn ngược lại (không chia hết) a số lẻ.
 	- ...
	Cho học sinh nêu một vài ví dụ tương tự 
	Trong hoạt động này giáo viên chỉ rõ cho học sinh đâu là điều kiện, đâu là hoạt động khi điều kiện đúng, khi điều kiện sai. Qua những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động có điều kiện dạng thiếu, dạng đủ. 
Hoạt động 2. Cấu trúc lệnh điều kiện.
	Ở hoạt động này để cho học sinh dễ tiếp thu trước tiên giáo viên giới thiệu cho học sinh cách viết các từ Nếu, thì, ngược lại bằng ngôn ngữ Pascal sau đó lần lượt giới thiệu cấu trúc lệnh điều kiện ở hai dạng thiếu và đẩy đủ: Cú pháp, hoạt động của máy tính khi gặp lệnh điều kiện.
+ Dạng thiếu: 
	Cú pháp: IF THEN ;
	Hoạt động: Chương trình sẽ kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh sau từ khóa THEN, ngược lại bỏ qua câu lệnh.
SAI
ĐÚNG
Điều kiện?
Câu lệnh
	 Sơ đồ:
+ Dạng đủ: 
	Cú pháp: IF THEN ELSE ;
	Hoạt động: Chương trình sẽ kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thực hiện câu lệnh 2;
SAI
ĐÚNG
Điều kiện?
Câu lệnh 1
Câu lệnh 2
	 Sơ đồ hoạt động: 
Ngoài cấu trúc dạng thiếu và dạng đủ, giáo viên có thể đưa ra tình huống sau để giới thiệu câu lệnh điều kiện dạng ghép để nâng cao, bồi dưỡng cho học sinh giỏi. 
	Viết câu lệnh điều kiện để xét học lực của học sinh theo yêu cầu sau:
	 thì học lực Giỏi
	thì học lực Khá
	thì học lực TB
	thì học lực Yếu
	thì học lực Kém
	Để cho học sinh dễ hiểu và dể viết cấu trúc lệnh ta có thể dùng trục số để biểu diễn như sau:
	Hướng dẫn cho học sinh cách xét điều kiện từ trên xuống:
	Cầu trúc lệnh bằng ngôn ngữ Pascal:
	If dtb >= 8 then Write(' Gioi ') 
	Else If dtb >= 6.5 then Write(' Kha ') 
	Else If dtb >= 5 then Write(' TB ') 
	Else If dtb >= 6.5 then Write(' Yeu ') 
	Else Write(' Kem ');
	Giáo viên nhấn mạnh: Số câu lệnh điều kiện = Số điều kiện kiểm tra - 1.
* Bài 7: “Câu lệnh lặp với số lần biết trước”
Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh lặp với số lần biết trước thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau:
Hoạt động 1: Hoạt động lặp với số lần lặp biết trước .
Trong hoạt động này giáo viên đưa ra một số ví dụ có hoạt động lặp khi biết trước số lần lặp trong thực tế cuộc sống hằng ngày: 
- Đánh răng ngày 2 lần.
- Ngày ăn cơm 3 bữa.
- Sáng dậy đi học. 
	Cho học sinh nêu một vài ví dụ trong thực tế hàng ngày.
	Sau đó giáo viên giới thiệu hoạt động lặp của bài toán: Tính tổng 100 số tự nhiên.
S= 1+2++100.
	Đối với bài toán này giáo viên chỉ ra hoạt động lặp đó là: S:= S+i và i:=i+1;
	Trong hoạt động này giáo viên chỉ rõ cho học sinh đâu là hoạt động lặp, số lần lặp của hoạt động. Qua những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động biết trước số lần lặp. 
Hoạt động 2: Cấu trúc câu lệnh lặp với số lần biết trước.
Ở hoạt động này để cho học sinh biết được cấu trúc câu lệnh lặp với số lần biết trước thì giáo viên giới thiệu cấu trúc lệnh lặp ở hai dạng tiến và dạng lùi: Cú pháp, hoạt động của máy tính khi gặp lệnh lặp với số lần biết trước.
*Dạng tiến:
Cú pháp: For to do ;
Chú ý : For, to, do là các từ khóa.
 Biến đếm là biến kiểu nguyên;
 Giá trị đầu, giá trị cuối: là các giá trị nguyên. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
 Số lần lặp= giá trị cuối – giá trị đầu + 1.
Dạng tiến
Biến đếm:= Min 
Biến đếm<=Max
+
-
Thoát
 S;
INC(Biến đếm);
Hoạt động: Chương trình sẽ thực hiện, biến đếm sẽ nhận giá trị đầu và sau mỗi vòng lặp biến đếm tự động tăng lên 1 đơn vị cho đến khi bằng giá trị cuối thì kết thúc.
 	Sơ đồ:
*Dạng lùi:
Cú pháp: For downto do ;
Chú ý : Biến đếm là biến kiểu nguyên;
 Giá trị đầu, giá trị cuối: là các giá trị nguyên.
Dạng lùi
Biến đếm:=Max
Biến đếm>=Max
+
Thoát
S;
DEC(Biến đếm);
-
Hoạt động: Chương trình sẽ thực hiện, biến đếm sẽ nhận giá trị cuối và sau mỗi vòng lặp biến đếm tự động giảm lên 1 đơn vị cho đến khi bằng giá trị đầu thì kết thúc.
Sơ đồ:
* Bài 8: “Câu lệnh lặp chưa biết trước số vòng lặp”.
Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh lặp với số lần chưa biết trước thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau:
Hoạt động 1: Hoạt động lặp với số lần lặp chưa biết trước .
Trong hoạt động này giáo viên đưa ra một số ví dụ có hoạt động lặp chưa biết trước số lần lặp trong thực tế cuộc sống hằng ngày: 
- Gọi điện thoại cho bạn đến khi nào bạn cầm máy thì dừng gọi điện.
- Học bài đến khi nào thuộc thì dừng việc học bài.
-  
Cho học sinh nêu một vài ví dụ trong thực tế.
	Trong hoạt động này giáo viên yêu cầu cho học sinh chỉ rõ đâu là điều kiện để dừng hoạt động và số lần thực hiện hoạt động phụ thuộc vào điều kiện. Qua những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động lặp có số lần chưa biết trước.
	Qua những ví dụ giáo viên nói rõ thêm cho học sinh những hoạt động trên có thể lặp lại vô số lần (không dừng) nếu điều kiện đúng.
Hoạt động 2: Cấu trúc lệnh lặp với số lần chưa biết trước.
Ở hoạt động này để cho học sinh dễ nhận biết cấu trúc lặp với số lần chưa biết trước thì giáo viên giới thiệu cho học sinh cách viết các từ Trong khi, thì làm việc bằng ngôn ngữ Pascal sau đó giới thiệu: Cú pháp, hoạt động và sơ đồ hoạt động:
Cú pháp: While Do ;
Hoạt động: Chương trình sẽ kiểm tra điều kiện. Khi nào điều kiện đúng thì thực hiện lệnh lặp sau Do. Ngược lại sẽ dừng lại khi điều kiện sai. Vì câu lệnh sau từ khóa Do phụ thuộc vào điều kiện nên câu lệnh lặp While có thể không thực hiện lần nào.
Thoát
Điều kiện?
Câu lệnh;
Sai
Đúng
Sơ đồ:
Trong hoạt động này giáo viên cần nêu rõ cho học sinh biết được: Câu lệnh sau từ khóa Do có thể là lệnh đơn hoặc lệnh ghép. Nếu là lệnh ghép thì phải được đặt trong cặp từ khóa “Begin end.”
Giáo viên nhấn mạnh cho học sinh biết trong vòng lặp While nhất thiết phải có một câu lệnh làm thay đổi điều kiện lặp. Nếu không có sẽ dẫn đến trường hợp lặp vô hạn. Chương trình chạy mãi mà không có lối ra (Không thoát ra khỏi vòng lặp được).
Giáo viên cần nhấn mạnh cho học sinh những điểm cần chú ý sau:
	- Cho học sinh thấy rõ sự khác nhau giữa lệnh For và lệnh While:
Lệnh For
Lệnh While
Điều kiện kết thúc
Biến đếm > Giá trị cuối
Biểu thức điều kiện có giá trị sai
Số vòng lặp
Đúng bằng Giá trị cuối – giá trị đầu +1
Chưa xác định
	- Các bài toán có sử dụng vòng lặp For ... to ... do đều có thể thay thế bằng vòng lặp while ... do (Những bài toán viết bằng lệnh For..to.. có thể viết bằng lệnh While..do, điều ngược lại chưa chắc đúng).
Ví dụ: Câu lệnh tính tổng S = 1 + 2 + 3 + ... + n
Lệnh For
Lệnh While
S:=0;
For i:=1 to n do S:=S + i; 
S:=0; i:=1;
While i <= n do Begin S:=S + i;
 i:=i + 1;
 End;
Hướng dẫn giải bài tập.
Những lưu ý chung khi làm bài tập:
- Yêu cầu học sinh phải nắm được các bước giải một bài toán bằng ngôn ngữ Pascal :	
 B1: Xác định bài toán.
	B2: Mô tả thuật toán.
	B3: Viết chương trình.
	B4: Chạy thử và kiểm tra kết quả.
	- Trong từng bước thì giáo viên có những thủ thuật riêng để hướng dẫn học sinh hoàn thiện tốt nhất, hiệu quả nhất.
* Bài tập về câu lệnh điều kiện.
	+ Đối với dạng này việc đầu tiên giáo viên phải hướng dẫn học sinh xác định được điều kiện bài toán, viết các biểu thức điều kiện với ngôn ngữ Pascal.
	+ Xác định được giá trị đúng sai của điểu kiện như thế nào?
	+ Viết được các biểu thức điều kiện ghép (có nhiều yếu tố kiểm tra)
Chẳng hạn:
Điều kiện
Biểu thức điều kiện ngôn ngữ Pascal
Số nguyên a chẵn (lẻ)
a mod 2 = 0
Số nguyên a là bội của b (b ước của a)
a mod b = 0
Ba số a,b,c là độ dài 3 cạnh tam giác
(a + b > c) and (a + c > b) and (b + c> a)
Ba số a,b,c là độ dài 3 cạnh tam giác vuông
(a*a + b*b = c*c) or (a*a + c*c = b*b) or (b*b + c*c = a*a)
+ Viết được thuật toán theo ngôn ngữ tự nhiên (Tiếng Việt).
+ Từ thuật toán ngôn ngữ tự nhiên dịch sang ngôn ngữ Pascal, ở thao tác này giáo viên hướng dẫn cho học sinh chuyển theo nghĩa các từ khóa và các ký hiệu Pascal.
Ví dụ 1: Nhập vào một số nguyên N từ bàn phím. Viết chương trình kiểm tra xem N là số chẵn hay số lẽ?
+ GV hướng dẫn và yêu cầu học sinh nêu thuật toán.
Thuật toán (theo ngữ tự nhiên)
Mã hóa giải thuật
1. Nhập số nguyên n.
Realln(n);
2. Kiểm tra nếu n chia hết cho 2 thì n số chẵn, ngược lại n số lẻ.
If n mod 2 = 0 then Write(n,'so chan')
 else Write(n,'so le');
+ Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình.
	Program	vidu1;
	Uses 	crt;
	Var	n: longint;
	Begin
	clrscr;
	Write('n = ');	Readln(n);
	 If n mod 2 = 0 then Write(n,'so chan')
 	 else Write(n,'so le');
	Readln
	End.
+ Giáo viên đưa chương trình vào Turbo Pascal hướng dẫn học sinh dịch và sữa lỗi.
+ Chạy chương trình và kiểm chứng kết quả.
Ví dụ 2: 
Viết chương trình giải phương trình bậc nhất ax + b = 0, với a, b là các số thực nhập vào từ bàn phím.
Giải thuật(theo ngữ tự nhiên)
Mã hóa giải thuật
Nhập a,b
Readln(a); Readln(b);
Kiểm tra a với 2 trường hợp
+ Nếu a khác 0 thì x = -b/a
+ Nếu a bằng 0 thì kiểm tra b. Nếu b bằng 0 thì phương trình có vô số nghiệm, ngược lại phương trình vô nghiệm
If a 0 then Write('x = ', -b/a:8:2)
else If b = 0 then Write ('PT VSN')
else Write('PT VN');
+ Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình.
Program Phuong_trinh;
Uses crt;
var a,b:real;
Begin
 Clrscr;
 Write('Nhap he so a = '); readln(a);
 Write('Nhap he so b = '); readln(b);
If a 0 then Write('x = ', -b/a:8:2)
 else If b = 0 then Write ('PT VSN')
 else Write('PT VN');
 Readln
 End.
* Bài tập về câu lệnh lặp với số lần biết trước.
	+ Đối với dạng này việc đầu tiên giáo viên phải yêu cầu học sinh tìm được hoạt động lặp của bài toán.
+ Giáo viên yêu cầu học sinh xác định được điều kiện để dừng vòng lặp.(Giá trị Max).	
+ Viết được thuật toán theo ngôn ngữ tự nhiên (Tiếng Việt)
+ Từ thuật toán ngôn ngữ tự nhiên dịch sang ngôn ngữ Pascal.
Ví dụ: Để tính tổng n số tự nhiên s=1+2++n.
+ GV hướng dẫn và yêu cầu học sinh nêu thuật toán.
+ GV yêu cầu học sinh dịch sang ngôn ngữ Pascal từ thuật toán.
Thuật toán (theo ngữ tự nhiên)
Mã hóa giải thuật
1. Nhập số nguyên n; 
Realln(n);
2. S:=S+i; i:=i+1;
For i:=1 to n do S:=S+I;
3. Nếu i<n thì quay lại b2;
4. Hiển thị S ra màn hình;
Writeln(S);
+ Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình.
	Program	vidu1;
	Uses 	crt;
	Var	n,s,i: Integer;
	Begin
	clrscr;
	Write('n = '); Readln(n);
 S:=0;	
 For i:=1 to n do S:=S+i;
	Readln
	End.
+ Giáo viên đưa chương trình vào Turbo Pascal hướng dẫn học sinh dịch và sữa lỗi.
+ Chạy chương trình và kiểm chứng kết quả.
* Bài tập về câu lệnh lặp với số lần chưa biết trước.
+ Đối với dạng này việc đầu tiên giáo viên phải yêu cầu học sinh tìm được hoạt động lặp của bài toán.
+ Giáo viên yêu cầu học sinh phải xác định được điều kiện đúng của bài toán để thực hiện hoạt động lặp và điều kiện sai để thoát khỏi hoạt động lặp.
+ Viết được thuật toán theo ngôn ngữ tự nhiên (Tiếng Việt).
+ Từ thuật toán ngôn ngữ tự nhiên dịch sang ngôn ngữ Pascal.
+ Thực hiện thay thế các bài toán có sử dụng vòng lặp For ... to ... do bằng vòng lặp while ... do.
+ Vận dụng các kiến thức liên quan đến câu lệnh điều kiện để thực hiện chương trình. 
Ví dụ: Nhập số nguyên dương N. Kiểm tra điều kiện nhập, nếu nhập sai thông báo”Bạn hãy nhập lại”.
+ GV hướng dẫn và yêu cầu học sinh nêu thuật toán.
+ GV yêu cầu học sinh dịch sang ngôn ngữ Pascal từ thuật toán.
Thuật toán (theo ngữ tự nhiên)
Mã hóa giải thuật
1. Nhập số nguyên N; 
Realln(N);
2. Kiểm tra điều kiện:
+ Nếu N<0 đúng thì thực hiện lệnh lặp
 - Thông báo bạn đã nhập sai;
- Nhập lại giá trị N;
+ Nếu điều kiện sai thì thoát khỏi vòng lặp.
While N<0 do
Begin 
 Write(‘Ban da nhap sai! Hay nhap lai!’);
 Readln(N);
End;
+ Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình.
Program kiemtra;
	Uses crt;
	Var N: Inetger;
 Begin
	 Write(‘Nhap gia tri N=’); Readln(N);
 While N<0 do
Begin 
Write(‘Ban da nhap sai! Hay nhap lai!’); Readln(N);
End;
Readln
End.
Ví dụ: Viết chương trình giải bài toán sau: Một người gửi tiết kiệm số tiền ban đầu là a (triệu đồng) lãi suất k%/1 tháng, hãy cho biết người đó phải gửi bao nhiêu tháng để thu được số tiền là b triệu đồng. Các số thực a,k,b nhập từ bàn phím.
+ GV hướng dẫn và yêu cầu học sinh nêu thuật toán.
+ GV yêu cầu học sinh dịch sang ngôn ngữ Pascal từ thuật toán.
Thuật toán (theo ngữ tự nhiên)
Mã hóa giải thuật
1. Nhập số thực a,k,b; 
Realln(a); Realln(k); Realln(b);
2.Gán giá trị cho S và t;
S:=a;t:=0;
3. Kiểm tra điều kiện:
+ Nếu S<b đúng thì thực hiện lệnh lặp
 t:=t+1;
 S:=S+S*k/100;
+ Nếu điều kiện sai thì thoát khỏi vòng lặp.
While S<b do
Begin 
 t:=t+1;
 S:=S+S*k/100;
End;
4. Hiển thị t ra màn hình
Writeln(t)
+ Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình.
	Program	vidu;
	Uses 	crt;
	Var	S,b,a: Real; t:longint;
Begin
 clrscr;
 Write('Nhap so tien ban dau la ');	 Readln(a);
 Write('Nhap lai suat k la '); Readln(k);
	 Write('Nhap so tien can rut la '); Readln(b);
 S:=a; t:=0;	
 While S<b do 
 Begin
 t:=t+1;
 S:=S+S

Tài liệu đính kèm:

  • docthcs_13_1053_2010909.doc