Tải bản đầy đủ (.pdf) (23 trang)

Skkn đổi mới phương pháp dạy học với bài cấu trúc rẽ nhánh và lặp

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (375.88 KB, 23 trang )

PHẦN I. MỞ ĐẦU
1. LÝ DO CHỌN ĐỀ TÀI:
Với sự phát triển nhảy vọt của khoa học cơng nghệ nói chung của ngành tin
học nói riêng. Với những tính năng ưu việt, sự tiện dụng và được ứng dụng rộng
rãi, tin học ngày nay là một phần không thể thiếu được của nhiều ngành trong công
cuộc xây dựng và phát triển xã hội. Hơn thế nữa nó cịn đi sâu đời sống của con
người.
Tin học đã thâm nhập khá mạnh mẽ vào Việt Nam. Nhiều lĩnh vực hoạt động từ
lĩnh vực quản lý hành chính, quản lý kinh tế, tự động hóa cơng nghiệp ... đến các lĩnh
vực giáo dục và đào tạo đều có thay đổi đáng kể nhờ ứng dụng tin học. Máy tính là
cơng cụ cần thiết đối với con người trong thời đại ngày nay. Hoạt động của một máy
tính là xử lý các thơng tin đưa vào theo một chương trình đã được lập sẵn nhằm đưa ra
kết quả phục vụ yêu cầu nào đó của người sử dụng. Việc xây dựng các chương trình
cho máy tính là hết sức cần thiết bởi vì các chương trình là linh hồn của máy tính.
Trong xây dựng chương trình để có một chương trình có hiệu quả cần phải có chun
gia phân tích bài tốn đưa ra sơ đồ thuật tốn và từ đó các lập trình viên tiến hành sinh
mã nguồn cho chương trình. Vấn đề đặt ra liệu có thể xây dựng một phần mềm hỗ trợ
người lập trình xây dựng sơ đồ thuật tốn hay khơng? Ngày nay, với sự phát triển
có tính chất bùng nổ của cơng nghệ thơng tin, máy tính đã và đang được sử
dụng trong quá trình dạy - học để cải tiến và nâng cao tính tích cực và chất
lượng đào tạo tồn diện. Tin học là mơn khoa học phát triển rất nhanh, nhằm
mục đích trang bị cho học sinh những hiểu biết cơ bản về công nghệ thơng tin
và vai trị của nó trong xã hội. Tin học có vai trị to lớn đối với sự phát triển
của xã hội, là công cụ lao động tiên tiến của con người. Ngày nay trên thế giới
đang diễn ra q trình tin học hố nhiều lĩnh vực hoạt động của xã hội lồi
người. Ngồi sự tị mị, ham hiểu biết, càng sớm càng tốt mỗi người phải có ý
thức rằng nếu khơng có hiểu biết về máy tính nói riêng và tin học nói chung thì
khó có thể hồ nhập vào cuộc sống hiện đại. Từ đó tin học đã góp phần hình
thành học vấn phổ thơng cho học sinh nắm được các khái niệm, các bài toán

skkn



1


quản lý... Là môn khoa học mới đưa vào chương trình phổ thơng, nên các khái
niệm cịn rất mới đối với học sinh, và đặc biệt khi các em bước đầu làm quen
với khái niêm lập trình và sử dụng Cấu trúc rẽ nhánh và lặp trong ứng dụng
giải bài toán như thế nào? Nhưng làm thế nào để học sinh thực hiện được
điều này đó là yêu cầu đặt ra cho mỗi giáo viên. Đó chính là lý do mà tơi tìm
hiểu và đưa ra phương pháp và hình thức tổ chức dạy chương III “ĐỔI MỚI
PHƯƠNG PHÁP DẠY HỌC TIN HỌC LỚP 11 - CHƯƠNG III. CẤU TRÚC
RẼ NHÁNH VÀ LẶP”. Để phần nào giúp học sinh lĩnh hội kiến thức tốt hơn.
2. MỤC ĐÍCH YÊU CẦU
Phương pháp và hình thức tổ chức dạy chương III “CẤU TRÚC RẼ
NHÁNH VÀ LẶP LỚP 11” nhằm định hướng cho học sinh cách thức học
tập để phát huy tính tích cực, tự học, chủ động, sáng tạo của người học,
chuyển trọng tâm hoạt động từ giáo viên sang học sinh.
3. ĐỐI TƯỢNG NGHIÊN CỨU :
Đối tượng:
- Phương pháp dạy học và các kiến thức về chương III “CẤU TRÚC
RẼ NHÁNH VÀ LẶP”
- Các hình thức tổ chức dạy và học được tổ chức theo chủ đề, nội dung.
4. PHƯƠNG PHÁP NGHIÊN CỨU :
a. Phạm vi nghiên cứu :
- Phạm vi về nội dung:
+ Kiến thức trong các bài học thuộc phần Chương III:
“CẤU TRÚC RẼ NHÁNH VÀ LẶP MÔN TIN HỌC LỚP 11”.
- Phạm vi chủ thể:
- Giáo viên: Nguyễn Thị Thu Hiền .
- Học sinh khối 11: Lớp 11B 3, 11B4, 11B5.

- Phạm vi về đối tượng:
- Các phương pháp giảng dạy mơn Tin học.
- Các hình thức tổ chức trong hoạt động dạy và hoạt động học tập của
học sinh.
- Phạm vi về tài liệu:
- SGK, SGV Tin học 11, Lập trình nâng cao: Tác giả GS Phạm Văn Ất,
Lập trình TURBO 7.0 tác giả GS-TS Bùi Thế Tâm; Lập trình CSDL: tác giả
Nguyễn Thị Ngọc Mai.

skkn

2


- Tài liệu bồi dưỡng giáo viên tin học lớp 11.
- Tài liệu chuẩn kiến thức lớp 11...
b. Phương pháp nghiên cứu :
- Quan sát:
Qua giảng dạy và trao đổi với đồng nghiệp, tơi đã tìm ra phương pháp
tổ chức giảng dạy phù hợp với từng đối tượng nhằm phát huy tính tích cực tự
học của học sinh.
- Phát hiện:
Chú ý đến những học sinh có khả năng xử lý thông tin nhanh, định
hướng cho các em phát huy tố chất sẵn có.
- Tìm hiểu tài liệu:
- Đọc tài liệu có định hướng dạy học tích cực, cách thức tổ chức học tập
linh hoạt.
- Tìm hiểu lý luận cách tiến hành các hoạt động dạy và học.
- Thực hành:
- Phương pháp dạy học, học tập và làm việc theo nhóm.

5/ THUẬN LỢI - KHĨ KHĂN
a.Thuận lợi:
- Là mơn học mang tính đột phá, sáng tạo nên nhiều em hứng thú.
- Các em đã được làm quen với máy tính, sử dụng máy tính như một
cơng cụ nghiên cứu, học tập cho bản thân.
b. Khó khăn:
- Kiến thức về Tin học nói chung và lập trình PASCAL nói riêng là kiến
thức mới đối với học sinh nên gặp khơng ít khó khăn trong việc giảng dạy.
- Học sinh lần đầu được làm quen với Ngơn ngữ lập trình nên cịn gặp
rất nhiều khó khăn..

skkn

3


PHẦN II. NỘI DUNG
Chương I: MỤC ĐÍCH YÊU CẦU CỦA BÀI TỐN
1. Mục đích:
Trong xây dựng để có một ngơi nhà chắc chắn cần phải có bản thiết kế
chính xác, rõ ràng. Điều này có thể thực hiện thơng qua bộ công cụ hỗ trợ vẽ
thiết kế AutoCad. Trong lập trình để có một chương trình đúng với u cầu cần
phải có một sơ đồ thuật tốn chính xác, rõ ràng. Và mục đích của đề tài này là
xây dựng phần mềm hỗ trợ người lập trình xây dựng sơ đồ thuật toán.
Kết quả của đề tài này là một sản phẩm phần mềm trong đó có đầy đủ các
đối tượng hỗ trợ vẽ sơ đồ khối và có các tính năng cho phép người sử dụng tạo
lập sơ đồ khối một cách thuận tiện, đơn giản, chính xác và rõ ràng.
2. Yêu cầu:
- Để xây dựng được sơ đồ thuật tốn chính xác, rõ ràng trước hết phải tìm
hiểu lý thuyết:

+ Thế nào là thuật tốn?
+ Có những cách biểu diễn thuật toán nào?
+ Ưu nhược điểm của các cách biểu diễn
- Sau khi tìm hiểu lý thuyết cần phải xác định rõ phương pháp biểu diễn
bài toán bằng sơ đồ khối có ưu điểm gì hơn so với các phương pháp khác. Từ
đó chi tiết hóa các khối gồm những thành phần gì? Cách liên kết các khối như
thế nào? Tình tự thực hiện của sơ đồ ra sao….
- Từ những lý thuyết tìm hiểu ở trên xác định phương pháp xây dựng công
cụ hỗ trợ người lập trình tạo sơ đồ khối.
- Có thể có nhiều ngơn ngữ lập trình có thể giải quyết được bài tốn này
chẳng hạn như: Turbo Pascal, Turbo C, Visual Basic, … Mỗi ngơn ngữ đều có
ưu nhược điểm vì vậy cần tìm hiểu kỹ để tìm ra ngơn ngữ thích hợp thể hiện
bài tốn.
- Sau khi tìm hiểu ngơn ngữ và xác định phương pháp xây dựng tiến hành
xây dựng sản phẩm. Tiến hành kiểm thử chương trình, bắt lỗi và sửa lỗi để có
một chương trình hồn thiện

skkn

4


Chương II:
CƠ SỞ LÝ THUYẾT
1. Thuật toán:
1.1. Định nghĩa về giải thuật
1.2. Giải thuật theo cách hiểu thông thường
- Ðể tin học hoá một bài toán trong thực tế ta phải bắt đầu từ việc xác định
bài toán. Nhiều thời gian và công sức bỏ ra để xác định vấn đề cần giải quyết,
tức là phải trả lời rõ ràng câu hỏi “phải làm gì?” sau đó là “làm như thế nào?“.

Thông thường, khi khởi đầu, hầu hết các bài tốn là khơng đơn giản, khơng rõ
ràng.
- Theo nghĩa rộng, khái niệm giải thuật được sử dụng ở mọi nơi, khơng
riêng gì trong lĩnh vực tin học.
- Giải thuật là một loạt các thao tác có thứ tự nhằm giải quyết một bài tốn
nào đó.
- Ví dụ: “Thuật tốn tìm giá trị nhỏ nhất trong dãy số”
 Bước 0: Nhập N và dãy số a1,…,an
 Bước 1: Gán Min = a1,i=2;
 Bước 2: Nếu i > N thì đưa ra Min rồi kết thúc;
 Bước 3: : So sánh min với a[i], nếu min >[i] thì gán min = a[i]
 Bước 4: Nếu i Bước 5: In ra màn hình giá trị nhỏ nhất: Min
1.3. Các thao tác trong thuật giải
- Thao tác tuần tự: Một công việc đã được xác định rõ ràng, thực hiện
xong thì chuyển sang cơng việc khác.
- Thao tác kiểm tra điều kiện: Kiểm tra điều kiện đưa ra có thoả mãn hay
không để quyết định thao tác tiếp theo.
- Thao tác lặp: Quay trở lại bước nào đó trong dãy thao tác.
- Một thao tác có thể được lặp đi lặp lại nhiều lần tới khi một điều kiện
nào đó được thoả mãn
- Ví dụ:
Giải thuật nấu cơm (đề phịng trường hợp có thêm khách)
 Bước 0: Ước lượng số gạo cần thiết
 Bước 1: Vo gạo
 Bước 2: Cho gạo và nước thích hợp vào nồi cơm điện(NCĐ)
 Bước 3: Cắm điện, chuyển chế độ “cook”
 Bước 4: Chờ đến khi NCĐ chuyển sang chế độ “warm”
 Bước 5: Chờ thêm 10 phút nữa
 Bước 6: Cơm chín. Nếu khơng có thêm khách thì sang bước 8

 Bước 7: Quay lại bước 0
 Bước 8: Kết thúc.

skkn

5


Nhận xét:
Bước 6 là thao tác kiểm tra điều kiện và bước 7 là thao tác lặp.
1.4. Định nghĩa
Giải thuật là một dãy các câu lệnh chặt chẽ và rõ ràng xác định một trình
tự thao tác trên một đối tượng nào đó sao cho sau một số bước hữu hạn thực
hiện, ta thu được kết quả mong muốn.
 Câu lệnh: đơn vị thao tác, tính tốn, xử lý
 Trình tự rõ ràng: thực hiện xong bước này mới chuyển sang bước
khác, không nhập nhằng.
 Đối tượng: các dữ kiện của bài toán, dữ liệu trung gian, kết quả,…
 Kết quả: Thơng tin, lời giải cho bài tốn,…
Như vậy:
Giải thuật là bất cứ thủ tục tính tốn nào nhận các dữ liệu vào sau một số
hữu hạn các bước xử lý trả thơng tin ra.
- Ví dụ: “Bài tốn sắp xếp dãy số”
 Input: Dãy số
 Output: Dãy số đã sắp xếp
INPUT

ALGORITHM

OUTPUT


1.5. Từ giải thuật đến chương trình
- Giải thuật chỉ là phương pháp để giải quyết bài toán
- Sử dụng giải thuật để giải quyết bài tốn cần:
 Có máy tính
 Lập trình: Cài đặt giải thuật lên máy tính theo một ngơn ngữ lập trình
nào đó chẳng hạn như: Turbo Pascal, Turbo C, Visual Basic,…
- Biểu diễn đối tượng xử lý bởi dữ liệu trong chương trình (có nhiều kiểu
dữ liệu với cấu trúc khác nhau như: Integer, Char,….)
- Như vậy một chương trình được tạo nệ từ: Thuật giải và cấu trúc dữ liệu
2. Các phương pháp biểu diễn:
2.1
Các phương pháp biểu diễn giải thuật
2.1.1 Phương pháp biểu diễn từng bước
- Các thao tác của giải thuật được liệt kê từng bước
- Tại mỗi bước, sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải làm.
- Bước đứng trước (có số thứ tự nhỏ hơn) được thực hiện trước.
- Ưu nhược điểm
 Dễ hiểu, dễ làm
 Phụ thuộc vào “cách hành văn” của người diễn đạt
 Với những giải thuật phức tạp, cách diễn đạt này trở nên rườm rà
 …
- Ví dụ:

skkn

6


Giải thuật “Tìm vị trí xuất hiện đầu tiên của một số nguyên trong dãy số nguyên đã

cho”:
 Bước 1: Nhập dãy số nguyên
 Bước 2: Nhập số nguyên a
 Bước 3: Gán cho phần tử so sánh (s) giá trị của số đầu tiên trong dãy
 Bước 4: So sánh a với s
 Nếu a=s thì ghi nhận vị trí của phần tử s (p)
 Nếu a≠s và s chưa phải phần tử cuối cùng trong dãy thì gán s bằng
phần tử tiếp theo và lặp lại bước 4
 Nếu a≠s và s là phần tử cuối cùng của dãy thì gán p = 0
 Bước 5: Nếu p ≠ 0 thì đưa ra vị trí cần tìm là p, ngược lại thơng báo
khơng tìm thấy. Kết thúc
2.1.2 Diễn đạt giải thuật bằng sơ đồ khối
- Sử dụng các hình khối để minh hoạ cho các lệnh hay thao tác.
- Sử dụng mũi tên để diễn đạt thứ tự thực hiện
- Đây là cách diễn đạt khoa học, có tính nhất qn cao
- Các hình khối cơ bản
 Khối bắt đầu
 Khối kết thúc
 Khối thao tác cụ thể
 Khối kiểm tra điều kiện
 Khối vào/ra dữ liệu
 Khối gọi chương trình con
Các ký pháp trong phương pháp biểu diễn này:
Gọi chương trình con A

Khối bắt đầu và kết thúc
Begin

A


End

Thực hiện công việc A
Kiểm tra điều kiện: Tùy thuộc điều
kiện(Đúng hay Sai) mà rẽ nhánh thích hợp

A

Điều
kiện

Đúng

Sai

skkn

7


Từ các khối ở trên có một số cấu trúc như sau:
Cấu trúc rẽ nhánh

§ iỊu KiƯn

Cấu trúc lặp

Xư lý

If…then…


§ iều Kiện

Ifthen
else

Đ úng

Xử lý nếu
đúng

while
do

Nội dung
lặ
p

Đ iều Kiện

Nội dung
lặ
p

repeat
until

Sai
Xử lý nÕu
sai


§ iỊu KiƯn

Một số ví dụ:
Ví dụ 1: Tính chu vi, diện tích hình chữ nhật
Phương pháp liệt kê
B1. Nhập hai cạnh a,b
B2. Tính chu vi
C = 2*(a+b)
B3. Tính diện tích
S = a*b
B4. In chu vi C
B5. In diện tích S
B6. Kt thỳc

S khi
Begin

Đ ọc cạ nh a,b

C :=2*(a+b)

S :=a*b

In ra C,S

End

skkn


8


Ví dụ 2: Vẽ lưu đồ thuật giải tính tổng n số tự nhiên đầu tiên
Cách 1

Cách 2

Begin

§ äc sè N

Begin

S:=0

i :=0

§ äc sè N

S :=S +i

S :=N(N+1)/2
i : =i+1

i >N

In ra S

Sai


§ óng

In ra S

End
End

Ví dụ 3: Tính chu vi, diện tích tam giác
Phương pháp liệt kê
B1. Nhập cạnh a,b,c
B2. Kiểm tra xem a,b,c có phải
ba cạnh tam giác khơng
Nếu (a+b>c) và (b+c>a) và (a+c>b)
thì sang bước 3
Nếu khơng thì thơng báo “khơng tạo
thành tam giác” và kết thúc
B3. Tính chu vi C = (a+b+c)
B4. Tính nửa chu vi p = C/2
B5. Tính diện tích tam giác theo
cơng thức Hê-rơng
S=
B6. In kết quả C,S

Lưu đồ thuật tốn
Begin

§ äc a,b,c

(a+b>c) and (b+c>a)

and (a+c>b)

Sai

In Không
tạ o thành
TG

Đ úng

C :=(a+b+c)
p :=C/2
S := p * ( p  a ) * ( p  b) * ( p  c )

In ra C,S

End

Như vậy: Một bài tốn có thể có nhiều thuật tốn với các cách biểu diễn
khác nhau. Vấn đề là ta phải tìm ra thuật tốn tốt để giải bài tốn.

skkn

9


2.1.3 Diễn đạt thuật giải bằng giả ngôn ngữ
- Giả ngơn ngữ
 Dựa trên ngơn ngữ lập trình bậc cao
 Gần với ngơn ngữ tự nhiên của con người

 Ví dụ:
Ngơn ngữ giả Pascal (tựa Pascal) có các ký pháp khá giống với ngơn ngữ
lập trình Pascal, được rút gọn sao cho dễ diễn đạt
- Giả ngôn ngữ được đưa ra với mục đích diễn đạt các giải thuật sao cho
gần với ngơn ngữ lập trình và ngơn ngữ tự nhiên.
- Sử dụng giả ngôn ngữ khiến việc chuyển từ giải thuật sang chương trình
dễ dàng hơn.
- Ví dụ: Giải thuật tính tổng n số tự nhiên đầu tiên
Nhập N
i:=0
S:=0
REPEAT
S:=S+i
i:=i+1
UNTIL (i>N)
In S
2.2Thiết kế và phân tích giải thuật
- Q trình viết chương trình giải bài tốn:
 Phân tích u cầu bài tốn
 Thiết kế giải thuật
 Viết chương trình
 Chạy thử, đánh giá
- Thiết kế giải thuật là từ yêu cầu của một bài toán, diễn đạt một giải thuật
giải quyết bài tốn đó.
 Mơ-đun hố việc giải quyết bài tốn.
 Tinh chỉnh từng bước.
- Phân tích giải thuật
 Xem xét các tiêu chuẩn của giải thuật có được thoả mãn khơng, nếu có
thì đến mức độ nào.
2.2.1 Thiết kế từ trên xuống

BÀI TOÁN

A

A1

A2.2

C

C1

A2

A2.1

skkn

B

C2

A2.3

10


Các bài tốn lớn địi hỏi giải thuật có quy mơ
lớn
- Mơ-đun hố

 Bài tốn = nhiều mơ-đun
 Mơ-đun lớn = nhiều mô-đun con
 Việc giải quyết một mô-đun ở mức thấp
nhất là “đủ đơn giản”
- Thiết kế từ trên xuống (top-down
design): Bài toán được xem xét từ tổng
quát đến chi tiết

Ví dụ: Bài tốn giải phương trình bậc 2

GIẢI PHƯƠNG TRÌNH BẬC II

NHẬP HỆ SỐ

XỬ LÝ

TRƯỜNG HỢP SUY
BIẾN

HIỂN THỊ KẾT QUẢ

TRƯỜNG HỢP KHƠNG
SUY BIẾN

TÍNH DELTA

skkn

TÍNH NGHIỆM THEO
DELTA


11


Ngôn ngữ

lập trì
nh
- Vớ d: Sp xp dóy s theo thứ tự tăng dần
 Phác thảo “thô” với những “ý tưởng cơ bản”
 “Từ dãy các số chưa được sắp xếp, tìm số nhỏ nhất và đưa lên đầu”
 Lặp lại quy trình trên tới khi dãy chưa được sắp xếp trở thành rỗng.
 Ban đầu, dãy chưa sắp xếp là dãy đã cho, dãy đã sắp xếp là rỗng.
 Lưu trữ dãy bằng “mảng” (danh sách các số), đưa số nhỏ nhất (aj) lên
đầu danh sách là đổi chỗ nó với số đầu tiên.
 Đổi chỗ
 Số trung gian := aj
 aj := số đầu tiên
 Số đầu tiên : = số trung gian
 …, cuối cùng ta được chương trình với ngơn ngữ cụ thể
2.2.3 Phương pháp phân tích giải thuật
- Tính đúng đắn
 Chạy thử nghiệm, đối chiếu kết quả à phát hiện được tính sai.
 Dùng cơng cụ tốn học để chứng minh à tính đúng đắn.
- Tính đơn giản
 Giải thuật có dễ hiểu, dễ lập trình khơng?
- Tính hiệu quả
 Đơn giản chưa chắc đã hiệu quả.
 Đối với nhiều bài tốn, tính hiệu quả là quan trọng, các giải thuật đơn
giản lại gây tốn tài ngun, chạy chậm.

 Thời gian tính tốn à Độ phức tạp tính tốn
 Những giải thuật hiệu quả phải có độ phức tạp (thời gian) tính tốn
chấp nhận được.
- Tính dừng
 Chứng minh, suy luận
 Chạy thử

skkn

12

Tinh chØ
nh từng bư ớ c
(từ thô sơ đến chi tiết)

2.2.2 Phng pháp tinh chỉnh từng bước
- Phương pháp tinh chỉnh từng bước (stepwise refinement)
 Ban đầu, sử dụng ngôn ngữ tự nhiên để diễn tả những cơng việc chính
của giải thuật.
 Các bước sau, các cơng việc được chi tiết hố dần dần, ngôn ngữ tự
nhiên được thay thế dần dần bằng giả ngôn ngữ.
 Cuối cùng, giả ngôn ngữ được chuyn sang ngụn ng lp trỡnh Ngôn ngữ
tự nhiên
- c điểm
 Thể hiện rõ ý tưởng thiết kế từ trên xung
Giả ngôn
Gn lin vic thit k gii thut vi việc lập trình
ng÷



Chương III:
MƠ HÌNH, PHƯƠNG HƯỚNG GIẢI QUYẾT
1. Mơ hình
Để xây dựng cơng cụ hỗ trợ lập trình dựa cơ sở thuật tốn bước khởi đầu ta
phải mơ hình hóa bài tốn. Như đã biết có nhiều phương pháp để mơ tả một giải
thuật:
- Phương pháp biểu diễn từng bước
- Phương pháp vẽ sơ đồ khối
- Phương pháp giả ngôn ngữ
Trong các phương pháp trên thì phương pháp biểu diễn giải thuật bằng sơ
đồ thuật tốn là hữu hiệu nhất, nó như một bản thiết kế. Thơng qua đó bất kỳ
một lập trình viên nào cũng có thể thao tác để biến nó thành chương trình cụ thể.
Phương pháp biểu diễn thuật tốn bằng sơ đồ thuật tốn được mơ tả như sau:
- Sử dụng các hình khối để minh hoạ cho các lệnh hay thao tác.
- Sử dụng mũi tên để diễn đạt thứ tự thực hiện
- Đây là cách diễn đạt khoa học, có tính nhất qn cao
- Các hình khối cơ bản:*)

Begin

- Khối bắt đầu

End

*) Khối kết thúc
*) Khối thao tác cụ thể
A

*) Khối kiểm tra điều kiện


Điều
kiện

*) Khối vào/ra dữ liệu

Đúng

Sai

*) Khối gọi chương trình con
- Các cấu trúc thường gặp:
A

skkn

13


Ví dụ 1: Sơ đồ khối tính chu vi, diện tích hình chữ nhật (Hình trái)
Ví dụ 2: Sơ đồ khi tớnh tng t 1..N (Hỡnh phi)
Begin

Begin

Đ ọc cạ nh a,b

§ äc sè N

C :=2*(a+b)


S:=0

S :=a*b

i :=0

In ra C,S

S := S + i
End

i : =i+1

i >N

Sai

§ óng

In ra S

End

Từ sự mô tả trên để xây dựng được công cụ hỗ trợ lập trình dựa cơ sở thuật
tốn và đưa ra mơ hình bài tốn như sau:
- Xây dựng bộ cơng cụ hỗ trợ vẽ sơ đồ thuật toán
- Xây dựng phần mềm sinh mã chương trình nguồn pascal từ sơ đồ thuật
toán
2. Phương pháp giải quyết
Trong sơ đồ khối, mỗi khối có một chức năng riêng. Mỗi khối phải thể hiện

được là khối gì, thực hiện cơng việc gì…Ngồi ra cịn có các đường để nối các
khối. Thuật tốn sẽ thực hiện theo chỉ dẫn của các đường từ đó ta phải tiến hành

skkn

14


xây dựng các khối,các đường sao cho nó đảm bảo được tính chất này. Mỗi khối,
mỗi đường ta sẽ gán cho nó các thuộc tính tương ứng, các thuộc tính này quyết
định chức năng của khối, của đường.
2.1Khối BEGIN (START)
Ký pháp:
START

Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (Start)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
- Outext: Để hiển thị thông tin trên khối
2.2Khối END (END)
Ký pháp:
END

Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (end)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra

- Outext: Để hiển thị thông tin trên khối
2.3 Khối thao tác cụ thể (Process)
Ký pháp:
A

Các thuộc tính:
- Id: Mã đối tượng

skkn

15


- Type: Kiểu đối tượng (process)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
- Outext: Để hiển thị thông tin trên khối
2.4 Khối kiểm tra điều kiện (Decision)
Ký pháp:

Đúng

Điều
kiện

Các thuộc tính:
- Id: Mã đối tượng

Sai


- Type: Kiểu đối tượng (Decision)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
- Outext: Để hiển thị thông tin trên khối
2.5 Khối nhập dữ liệu vào (Input)
Ký pháp:
Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (Input)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
- Outext: Để hiển thị thông tin trên khối
2.6 Khối xuất dữ liệu ra (Output)
Ký pháp:
Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (Output)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
Outext: Để hiển thị thông tin trên khối
2.7 Khối gọi chương trình con (Function)
A

skkn

16


Ký pháp:
Các thuộc tính:

- Id: Mã đối tượng
- Type: Kiểu đối tượng (Function)
- Line in: Mã của các mũi tên đi vào
- Line out: Mã của mũi tên đi ra
- Outext: Để hiển thị thông tin trên khối
2.8 Đường nối (Line)
Ký pháp:
Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (Line)
- Con_From: Kết nối từ đối tượng nào
- Con_To: Kết nối tới đối tượng nào
2.9 Điểm nối (Connect)
Ký pháp:
Các thuộc tính:
- Id: Mã đối tượng
- Type: Kiểu đối tượng (Conn)
- Line in: Mã của mũi tên đi vào
- Line out: Mã của mũi tên đi ra
3.0 Kết quả đạt được
3.1 Giao diện chính của chương trình:

skkn

17


Tại cửa sổ chính của chương trình này có hệ thống menu trong đó có các
mục như sau:
+ Menu File gồm: Tạo mới sơ đồ khối, ghi lại, thoát khỏi chương trình

+ Menu Change Shape: Thay đổi các thơng tin về các khối như màu sắc,
kích cỡ
+ Menu Delete: Cho phép xóa các khối, các đường
+ Menu Help: Trợ giúp sử dụng chương trình
Trong chương trình cho phép sử dụng các khối ở bên trái để tạo ra các đới
tượng như đã ngiên cứu ở trên. Để kết nối các đối tượng với nhau tạo thành sơ
đồ khối thì cần phải chọn các đối tượng và sau đó chọn nút liên kết để tạo thành
sơ đồ khối hoàn chỉnh. Nếu cần xóa đối tượng thì tiến hành chọn đối tượng cần
xóa sau đó chọn mục xóa đối tượng. Nếu đặt liên kết sai chọn đường cần xóa
sau đó chọn nút lệnh xóa đường.

skkn

18


3.2: Giao diện xây dựng thuật toán bằng sơ đồ khối:

Tạo mã Pascal. Sau khi chạy thử, ta có thể sử dụng chức năng [Lưu đồ]\
[Tạo mã Pascal] để sinh ra một chương trình Pascal. Ví dụ với lưu đồ bài tốn:
In ra màn hình số nhỏ nhất trong ba số nhập từ bàn phím, ta có lưu đồ như sau:

skkn

19


Chọn [Lưu đồ]\ [Tạo mã Pascal], chương trình sẽ chạy Turbo Pascal để
mở chương trình kết quả như sau:


PHẦN III. KẾT LUẬN - KIẾN NGHỊ
Xây dựng được hệ thống sơ đồ khối, vận dụng vào giảng dạy chương III"Tổ chức rẽ nhánh và lặp"Sử dụng sơ đồ khối vào giải các bài tốn trong lập
trình có cấu trúc và lặp.Đề tài được ứng dụng vào giảng dạy tại trường THPT
Lê Văn Hưu và đạt kết quả tốt. Phần lớn các em rất hứng thú, gây được sự chú
ý và tìm hiểu trong quá trình học lập trình.
KIẾN NGHỊ
- Để tiết kiệm thời gian và các giờ học đạt kết quả cao, giáo viên cần chuẩn bị
sẵn các chương trình vào máy. Học sinh có thể chạy chương trình và thử với
các bộ test dữ liệu khác nhau. (Giáo viên nên sử dụng máy chiếu để giới thiệu,
giúp các em dễ quan sát nôi dung bài giảng).- Đề tài này mới chí là một phần
ứng dụng vào dạy chương III: "Tổ chức rẽ nhánh và lặp tin học lớp 11". Tôi
mong được sự góp ý của đồng nghiệp để đề tài ngày một hoàn thiện hơn.

skkn

20



×