Kĩ năng viết chương trình nnlt pascal

MỤC LỤC
NỘI DUNG Trang
PHẦN I. ĐẶT VẤN ĐỀ 1
PHẦN II. NỘI DUNG 3
I. CƠ SỞ LÝ LUẬN 3
II. CƠ SỞ THỰC TIỄN 4
III. NỘI DUNG, BIỆN PHÁP THỰC HIỆN 5
1. Các yêu cầu cơ bản của giáo viên 5
2. Các yêu cầu cơ bản của học sinh 5
3. Biện pháp tiến hành 6-29
IV. HIỆU QUẢ CỦA SÁNG KIẾN KINH NGHIỆM 29
1. So sánh kết quả 29
2. Bài học kinh nghiệm 30
PHẦN III. KẾT LUẬN 31
TÀI LIỆU THAM KHẢO 32

PHẦN I. ĐẶT VẤN ĐỀ.
Trong những năm gần đây sự bùng nổ công nghệ thông tin đã tác động lớn
đến công cuộc phát triển kinh tế xã hội loài người. Với xu thế ngày càng phát triển
về công nghệ thông tin và ứng dụng công nghệ thông tin trong cuộc sống hàng
ngày là rất lớn, nên Đảng, Nhà nước đã xác định rõ ý nghĩa tầm quan trọng của tin
học và công nghệ thông tin, truyền thông cũng như những yêu cầu đẩy mạnh của
ứng dụng công nghệ thông tin, đào tạo nguồn nhân lực đáp ứng yêu cầu công
nghiệp hoá, hiện đại hoá, mở cửa và hội nhập, hướng tới nền kinh tế tri thức của
nước ta nói riêng - thế giới nói chung. Đặc biệt là trong năm học 2006-2007 và
những trở lại đây liên tiếp Sở giáo dục và đào tạo tỉnh Nghệ An nói chung và của
phòng giáo dục và đào tạo huyện nhà nói riêng đã phát động phong trào “Ứng
dụng công nghệ thông tin trong quản lý và dạy học" và xem đây là giải pháp đột
phá để nâng cao chất lượng giáo dục, giải pháp này đã được các nhà trường tích
cực hưởng ứng và thực hiện đạt hiệu quả cao trong quản lý và dạy học.
Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về công nghệ thông

tin với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng
suất và tự động hóa ngày một hiệu quả hơn, và một trong những ứng dụng không
thể không nhắc tới đó là những ứng dụng phần mềm của máy tính với nền công
nghệ thông tin hiện nay. Phần mềm máy tính ngày một đi lên và phát triển với các
ngôn ngữ lập trình khác nhau, ở đây tôi nói đến những ứng dụng và sự phát triển
của ngôn ngữ lập trình Turbo Pascal.
Để đáp ứng nhu cầu giảng dạy bộ môn tin học ở trong nhà trường, phòng
giáo dục cũng như địa phương đã rất quan tâm đầu tư trang thiết bị phục vụ cho
việc dạy học của giáo viên và học sinh. Vì vậy cơ sở vật chất của các nhà trường
đã từng bước được bổ sung về hệ thống máy vi tính và các điều kiện khác để phục
vụ cho công tác dạy và học. Do đó môn tin học đã được đưa vào giảng dạy ở
trường trung học cơ sở nhằm 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 hiện đại. Môn học này giúp học sinh
bước đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và
kỹ năng sử dụng máy tính phục vụ học tập và cuộc sống. Tin học có ý nghĩa to lớn
đối với sự phát triển trí tuệ, tư duy thuật toán, góp phần hình thành học vấn phổ
thông cho học sinh.
Là giáo viên trực tiếp giảng dạy môn tin học tôi xác định mục tiêu chính là
giúp học sinh không chỉ biết soạn thảo mà còn phải có khả năng phân tích, tổng
hợp, trừu tượng hoá, khái quát hoá vấn đề và đặc biệt là phát triển tư duy, sáng tạo
trong phương pháp lập trình. Qua kinh nghiệm nhiều năm giảng dạy và bồi dưỡng
học sinh dự thi tin học trẻ về ngôn ngữ lập trình Turbo Pascal cùng với nhiều đối
tượng học sinh khác nhau trong nhà trường, tôi nhận thấy học sinh còn lúng túng
nhất ở khâu vận dụng xây dựng chương trình cụ thể, không biết làm thế nào? bắt
đầu từ đâu? Do đó tôi đã tích luỹ được một vài kinh nghiệm về “RÈN LUYỆN KỸ
NĂNG PHƯƠNG PHÁP VIẾT CHƯƠNG TRÌNH LẬP TRÌNH TURBO
PASCAL CHO HỌC SINH LỚP 8” nhằm giúp các em nắm vững các kỹ năng và
kiến thức cơ bản để từ đó tạo tiền đề cho việc học lập trình về sau.
2

PHẦN II. NỘI DUNG
I. CƠ SỞ LÝ LUẬN
Vận dụng linh hoạt, sáng tạo các phương pháp dạy học theo cách phát huy
yếu tố tích cực và những ưu điểm của phương pháp dạy học truyền thống cùng
phương pháp dạy học hiện đại nhằm tăng cường tính tích cực của học sinh trong tiếp
nhận kiến thức, hình thành kỹ năng sử dụng máy tính, sử dụng thành thạo phần mềm
Turbo Pascal để phục vụ cho học tập và bước đầu vận dụng vào cuộc sống. Từ đó,
tôi luôn tạo điều kiện tối ưu để học sinh bồi dưỡng kỹ năng tự học. Vận dụng linh
hoạt, sáng tạo các hình thức tổ chức học tập kết hợp giữa học tập cá thể với học tập
hợp tác; giữa hình thức học cá nhân với hình thức học theo nhóm.
Tôi luôn chủ động sáng tạo thiết kế các dạng bài tập căn cứ vào mục tiêu cụ
thể của bài học, không gò bó theo một quy trình cứng nhắc những bước đi bắt buộc.
Tăng cường kiểm tra đánh giá bằng nhiều hình thức khác nhau theo chuẩn kiến thức
kỹ năng, yêu cầu học sinh tự viết các chương trình hoàn chỉnh đó là một biện pháp
kích thích hứng thú học tập. Với phương pháp dạy và học hiện nay đang có xu
hướng thay đổi một cách tích cực. Phương pháp mới hướng tới lấy học sinh làm
trung tâm, học sinh không còn đóng vai trò tiếp thu một cách thụ động những kiến
thức do giáo viên truyền đạt. Giáo viên trở thành người hướng dẫn, giúp đỡ học
sinh. Học sinh hướng tới việc học tập chủ động, biết tự thích nghi. Kiến thức được
cá nhân học sinh tự tìm tòi, phát hiện một cách tích cực dưới sự hướng dẫn của giáo
viên. Ngoài ra, cách tổ chức học theo nhóm làm tăng thêm khả năng cộng tác, khả
năng làm việc tập thể. Tin học là môn học có nhiều điều kiện thuận lợi để thực hiện
các phương pháp dạy và học mới này.
Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong bộ môn
tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác, tích cực,
chủ động và sáng tạo của học sinh. Khi cần dạy một nội dung tin học cho học sinh,
người giáo viên phải biết phân tích nội dung đó liên quan đến những hoạt động
nào. Và một số hoạt động trong đó lại được phân tích thành những hoạt động thành
phần. Rồi căn cứ vào mục tiêu tiết học, trình độ học sinh, trang thiết bị hiện có mà
lựa chọn cho học sinh tập luyện và thực hiện một số những hoạt động tiềm tàng

trong nội dung cần dạy. Để học sinh có ý thức về ý nghĩa của những hoạt động,
cần tạo động cơ học tập cho học sinh, để học sinh học bằng sự hứng thú thực sự,
nó được nảy sinh từ việc ý thức sâu sắc ý nghĩa nội dung bài học, học bằng tất cả
tính tích cực, độc lập và trách nhiệm cao nhất của học sinh.
Để thưc hiện được các mục đích trên cần phải đặt học sinh vào tình huống có
vấn đề để hướng đích cho học sinh. Phải tập luyện cho học sinh những hoạt động
ăn khớp với tri thức phương pháp. Phải phân bậc hoạt động để tuần tự nâng cao
yêu cầu khi tình huống dạy học cho phép hoặc hạ thấp yêu cầu khi học sinh gặp
khó khăn. Hệ thống bài tập được phân bậc để học sinh luyện tập tại lớp hoặc làm ở
nhà.
3

II. CƠ SỞ THỰC TIỄN
Ngôn ngữ lập trình Turbo Pascal do nhà bác học Niklaus Wirth sáng lập vào
những năm 70 của thế kỷ XX. Đây là ngôn ngữ có cú pháp sảng sủa, dễ hiểu và
thường được dạy trong nhà trường và dành cho những người mới học lập trình.
Chính vì thế Pascal thường được gọi là "Ngôn ngữ lập trình của học đường". Hai
môi trường lập trình trên ngôn ngữ này đang được sử dụng phổ biến hiện nay ở
Việt Nam là Turbo Pascal và Free Pascal.
Lập trình Turbo Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn
giản và dễ hiểu, ngôn ngữ lập trình Pascal đang được giảng dạy cho học sinh lớp 8.
Turbo Pascal là ngôn ngữ cơ sở để giới thiệu cho học sinh làm quen với kỹ thuật
xây dựng chương trình. Quan điểm của tác giả viết ngôn ngữ lập trình là chương
trình máy tính được viết để giải quyết các bài toán trong đời sống. Bằng cách đó
học sinh sẽ dễ thấy hơn mối liên hệ chặt chẽ lập trình và cuộc sống, cũng nhơ lợi
ích của việc lập trình để giải quyết các bài toán bằng máy tính. Ngoài ra, nó cũng
được dùng để trình bày nhiều chuyên đề khác nữa của tin học trong những năm
học tiếp theo. Mỗi học sinh đến với bộ môn tin học ở cấp trung học sơ sở thường
cảm thấy khó khăn trong kiến thức lập trình ở chương trình tin học lớp 8. Quả thật
như vậy vì với các em, ngôn ngữ lập trình dường như rất xa lạ vì đây là kiến thức

đầu tiên trong lập trình mà các em được học. Ngôn ngữ lập trình Pascal có những
đặc điểm ưu thế như: ngữ pháp và ngữ nghĩa đơn giản, tính logic cao, cấu trúc
chương trình rõ ràng, dễ hiểu, dễ sửa chữa và cải tiến, cùng với sự phát triển của
phần mềm tin học người ta nhanh chóng nhận ra sức mạnh của Pascal trong việc
xử lý cho các vấn đề hiện đại của tin học. Lập trình Pascal không gắn với bất kỳ
một hệ điều hành hay một máy tính nào, nó được gọi là ngôn ngữ lập trình hệ
thống vì nó được dùng cho viết hệ điều hành, nó cũng tiện lợi cho việc viết các
chương trình xử lý số, văn bản và các cơ sở dữ liệu. Ngôn ngữ lập trình Pascal là
một phần mềm có cấu trúc đơn giản và rất được nhiều độc giả quan tâm, cũng
chính ở đó có nhiều cuốn sách hay đã ra đời do nhiều tác giả viết. Song với bản
thân tôi khi lựa chọn viết đề tài “RÈN LUYỆN KỸ NĂNG PHƯƠNG PHÁP
VIẾT CHƯƠNG TRÌNH LẬP TRÌNH TURBO PASCAL CHO HỌC SINH LỚP
8” nhằm ứng dụng ngôn ngữ lập trình Pascal vào chương trình lớp 8 để phát huy
hết năng lực viết chương trình của học sinh.
Trong quá trình dạy tôi nhận thấy việc tiếp cận các từ khoá hay cấu trúc
chương trình của ngôn ngữ lập trình đối với học sinh rất khó khăn, phải làm rất
nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu. Do
đó sẽ rất khó khăn để các em hình thành kỹ năng viết một chương trình giải một
bài toán thực tế cụ thể. Trong những năm qua ngành giáo dục có phát động phong
trào giải toán trên mạng, cuộc thi tin học trẻ dành cho đối tượng học sinh tiểu học,
trung học cơ sở. Điều đó đã thúc đẩy tôi rất nhiều trong việc dạy học là làm sao
thổi được vào trong các em sự đam mê về lập trình và có khả năng tư duy lập luận
4

tốt trong việc viết chương trình, để từ đó phát triển tài năng của học sinh trong việc
đào tạo nhân tài cho đất nước sau này.
III. NỘI DUNG, BIỆN PHÁP THỰC HIỆN:
1. Các yêu cầu cơ bản của giáo viên :
Giáo viên cần phải nắm vững các phương pháp dạy học Tin học [theo sự đổi
mới: kết hợp giữa ôn cũ giảng mới, trong tiết dạy cần kết hợp phương pháp dạy

vừa lý thuyết, vừa thực hành ] nhằm phát huy tính tích cực, chủ động của học
sinh trong học tập. Để nâng cao chất lượng dạy học môn tin học, giáo viên phải
tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng hệ thống các dạng
bài tập lập trình phù hợp với ba đối tượng: giỏi-khá, trung bình, yếu. Từ đó dẫn dắt
học sinh tự khám phá kiến thức, không thụ động ghi nhận kiến thức giáo viên cung
cấp, phải có sự phối hợp giữa hoạt động dạy và hoạt động học trên cơ sở lấy học
sinh làm trung tâm. Để kích thích hứng thú học tập và hoạt động tích cực chủ động
của học sinh, giáo viên phải phối hợp nhuần nhuyễn, phù hợp các phương pháp
dạy học đồng thời giáo viên phải tác động cho học sinh thấy được môn tin học là
cần thiết cho bản thân các em sau này.
2. Các yêu cầu cơ bản của học sinh:
Học sinh phải xác định được sách giáo khoa là phương tiện chủ yếu để học
sinh học tập. Bên cạnh đó, học sinh phải biết chọn lọc những tài liệu tham khảo
phù hợp để học tốt môn tin học. Học sinh phải tích cực chủ động học tập, thực hiện
các yêu cầu của giáo viên và chuẩn bị chu đáo ở nhà trước khi đến lớp. Trong quá
trình học tập, các em phải tư duy theo sự hướng dẫn gợi mở của giáo viên, phải
chủ động quan sát vấn đề, hiện tượng, phối hợp giải quyết, khám phá ra nội dung
bài học để thực hành vận dụng đạt hiệu quả cao.
Học thì phải hành. Thực hành là thước đo đánh giá tiếp nhận và vận dụng
kiến thức. Thực hành thông thường là áp dụng bài tập trên lớp và ở nhà. Vì vậy
học sinh phải biết kết hợp lý thuyết với thực hành một cách thành thạo.
Thật vậy trong các năm qua huyện nhà đã rất quan tâm đến mảng công nghệ
thông tin, nên đã tổ chức rất nhiều đợt thi tin học trẻ về lập trình Pascal và đã dấy
lên trong các em phong trào yêu thích môn học, số lượng học sinh tham gia đông,
học sinh ham tìm tòi sáng tạo nhiều hơn.

5
Học sinh đang học lập trình Pascal

3. Biện pháp tiến hành
3.1 Giới thiệu chung giúp học sinh nắm được về các thành phần cơ bản
của ngôn ngữ lập trình Pascal
* Bộ chữ viết - Biểu thức- Câu lệnh - Từ khóa
a. Bộ chữ viết
Bộ chữ viết trong Pascal gồm:
+ 26 chữ la tinh lớn: A, B, C,…Z
+ 26 chữ la tinh nhỏ: a, b, c,…z
+ Dấu gạch dưới: _
6
Học sinh tham gia dự thi tin học trẻ cấp huyện môn lập trình Pascal
Học sinh đang say mê nghiên cứu về chương trình Pascal

+ Bộ chữ số thập phân: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
+ Ký hiệu toán học: +, -, *, / ,< >, [ ],
+ Ký tự đặc biệt: @, #, !, $, %,…
+ Dấu khoảng trắng
b. Biểu thức [expression] là công thức tính toán mà trong đó bao gồm các
phép toán, các hằng, các biến, các hàm và các dấu ngoặc đơn.
Trong một biểu thức, thứ tự ưu tiên của các phép toán được liệt kê theo thứ tự sau:
+ Lời gọi hàm.
+ Dấu ngoặc []
+ Phép toán một ngôi [NOT, -].
+ Phép toán *, /, DIV, MOD, AND.
+ Phép toán +, -, OR, XOR
+ Phép toán so sánh =, , =, , IN
c. Câu lệnh
+ Câu lệnh đơn giản:
Câu lệnh gán [:=]: :=;

Lời gọi hàm, thủ tục.
+ Câu lệnh có cấu trúc
Câu lệnh ghép: BEGIN END;
Các cấu trúc điều khiển:
IF , CASE , FOR , REPEAT , WHILE
+ Các lệnh xuất nhập dữ liệu
Lệnh xuất dữ liệu
Để xuất dữ liệu ra màn hình, ta sử dụng ba dạng sau:
[1] WRITE[ [, , ]];
[2] WRITELN[ [, , ]];
[3] WRITELN;
Nhập dữ liệu
Để nhập dữ liệu từ bàn phím vào các biến có kiểu dữ liệu chuẩn [trừ các
biến kiểu BOOLEAN], ta sử dụng cú pháp sau đây:
READLN[, , , ];
d. Từ khóa
7

Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định, không được dùng
nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa: Array, Begin, Const,
Div, Do, Else, End, For, If, Mod, Program, String, Then, To,Var, While
- Từ khóa chung:
PROGRAM, BEGIN, END
- Từ khóa để khai báo: biến, hằng, mảng, xâu kí tự:
VAR, CONST, ARRAY, STRING
- Từ khóa của lệnh lựa chọn: Câu lệnh điều kiện
IF THEN ELSE
- Từ khóa của lệnh lặp với số lần biết trước
FOR TO DO [đi từ giá trị nhỏ đến giá trị lớn]
FOR DOWNTO DO [đi từ giá trị lớn đến giá trị bé]

- Từ khóa của lệnh lặp với số lần chưa biết trước
WHILE DO
- Từ khóa toán tử:
DIV: Chia lấy phần nguyên
MOD: Chia lấy phần dư
- Lệnh dịch chương trình: ALT + F9
- Lệnh chạy chương trình: CTRL +F9
- Để thay đổi vị trí lưu kết quả biên dịch trong bộ nhớ hay tạo tệp chạy trực tiếp ta
dùng lệnh: Destination trong bảng chọn Complite.
3.2. Giới thiệu chung về các bước viết một chương của ngôn ngữ lập
trình Pascal
Phương pháp cơ bản giải các bài toán trong tin học không chỉ dùng để giải
một bài toán cụ thể mà còn giải một lớp các bài toán cụ thể thuộc cùng một loại.
Bài toán được cấu tạo từ các yếu tố cơ bản:
Thông tin vào Xử lý thông tin Thông tin ra.

Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên ngôn
ngữ Pascal thì cần thực hiện được các bước cụ thể như sau:
Bước 1. Xác định các bài toán:
Là xác định xem ta phải giải quyết vấn đề gì?, với giả thiết nào đã cho và lời
giải cần phải đạt những yêu cầu gì. Khác với bài toán thuần tuý toán học chỉ cần
xác định rõ giả thiết và kết luận chứ không cần xác định yêu cầu về lời giải, vì thế
8
[Input]
[Process]
[Output]

từ phát biểu của bài toán, các em phải xác định được đâu là thông tin đã cho
[Input] và đâu là thông tin cần tìm [Output]. Xác định đúng yêu cầu bài toán là rất
quan trọng bởi nó ảnh hưởng tới cách thức giải quyết và chất lượng một lời giải.

Một bài toán thực tế thường cho những thông tin khá mơ hồ và hình thức, ta phải
phát biểu lại một cách chính xác và chặt chẽ để hiểu đúng bài toán.
Bước 2. Mô tả thuật toán:
Khi giải một bài toán ta cần phải định nghĩa tập hợp dữ liệu để biểu diễn tình
trạng cụ thể. Việc lựa chọn này tuỳ thuộc vào vấn đề cần giải quyết và những thao
tác sẽ tiến hành trên dữ liệu vào. Có những thuật toán chỉ thích ứng với một cách tổ
chức dữ liệu nhất định, đối với cách tổ chức dữ liệu khác thì kém hiệu quả và
không thể thực hiện được. Chính vì thế bước xây dựng cấu trúc dữ liệu không thể
tách rời bước tìm kiếm thuật toán giải quyết vấn đề. Bởi thuật toán là một hệ thống
chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy thao tác trên cấu trúc dữ
liệu sao cho: Với một bộ dữ liệu vào, sau một số hữu hạn bước thực hiện các thao
tác đã chỉ ra, ta đạt được mục tiêu đã định. Từ đó tìm cách giải bài toán và diễn tả
bằng các lệnh cần phải thực hiện.
Bước 3. Viết chương trình:
Dựa vào mô tả thuật toán ở bước 2trên, ta viết chương trình bằng một ngôn
ngữ lập trình mà các em đã học [Cụ thể là dùng ngôn ngữ lập trình Turbo Pascal để
viết chương trình]
3.3. Phân tích chi tiết nội dung cần viết chương trình:
A. XÁC ĐỊNH BÀI TOÁN
1. Khái niệm bài toán
Đối với học sinh lớp 8 chương trình học toán của các em đã biết đến các giải
phương trình bậc nhất là cao nhất. Nên việc đưa các lớp bài toán vào giải cho các
em đang còn một phần nào bị hạn chế. Nhưng bất kỳ một bài toán nào thì chúng ta
cũng đọc đề rồi xác địnhđược giả thiết và kết luận: A ® B.
Trong đó:
A là giải thiết: Điều kiện ban đầu hoặc cái đã cho, đã biết khi bắt đầu giải bài toán.
B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra hay là
đáp án khi kết thúc bài toán .
®: Suy luận: giải pháp cần xác định hay một chuỗi các thao tác thực hiện từ A đến
B.

2. Cách giải bài toán trên máy vi tính
Cách giải bài toán trên máy cũng mang đầy đủ các tính chất của bài toán
tổng quát trên, nhưng nó lại được diễn đạt theo một ngôn ngữ khác.
A: là đưa thông tin vào [Input ]
9

B: là đưa thông tin ra [Output]
®: là chương trình tạo từ các lệnh cơ bản của máy tính cho phép biến đổi từ A đến B.
B. TÌM THUẬT TOÁN
Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản
được sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ
tìm ra được Output của bài toán.
Một bài toán ta có 3 cách thể hiện thuật toán: Các bước xác định bằng lời,
lập sơ đồ khối, dùng một ngôn ngữ lập trình [Pascal]
Ví dụ về câu lệnh lặp với số lần biết trước. Thể hiện thuật toán với các cách:
Cách 1: Các bước xác định bằng lời:
Cho biến đếm gán bởi giá trị đầu thì thực hiện câu lệnh lần 1.
Tiếp tục tăng biến đếm lên thì thực hiện câu lệnh lần 2.
Tương tự cho đến khi biến đếm bằng giá trị cuối, thực hiện câu lệnh lần cuối
và kết thúc thuật toán.
Cách 2: Lập sơ đồ khối:
Cách 3: Dùng ngôn ngữ lập trình:
For:= to do [câu lệnh];
Ví dụ về câu lệnh lặp với số lần chưa biết trước:
Thể hiện thuật toán theo các cách sau:
10
Biến đếm:=giá trị đầu
Biến đếm>=giá
trị cuối
Lệnh cần lặp biến đếm giảm 1

Đúng
Sai

Cách2: Các bước xác định bằng lời:
Kiểm tra điều kiện của biến, nếu đúng thì thực hiện câu lệnh lần 1.
Sau khi thực hiện câu lệnh xong, tiếp tục kiểm tra điều kiện đúng thì thực
hiện câu lệnh lần 2.
Lặp đi lặp lại câu lệnh đó cho đến khi kiểm tr điều kiện thấy sai kết thúc
thuật toán.
Cách 2: Lập sơ đồ khối:

Cách 3 Dùng ngôn ngữ lập trình:
While do
C. VIẾT CHƯƠNG TRÌNH
Viết chương trình [lập trình] là dùng ngôn ngữ máy vi tính cụ thể là ngôn ngữ
lập trình Turbo Pascal để diễn tả thuật toán, cấu trúc dữ liệu thành câu lệnh để máy
tính có thể thực hiện được và giải quyết đúng bài toán mà người lập trình mong muốn.
1. Kỹ năng lập trình
· Rèn luyện được cho học sinh kỹ năng viết chương trình thành công nhờ thuật
toán bằng một ngôn ngữ lập trình. Đã gọi là kỹ năng thì chỉ có thể có được thông qua
rèn luyện tích cực. Kinh nghiệm cho thấy một thuật toán do viết chương trình vụng
về, lộn xộn thì khi chạy trên máy tính có thể cho kết quả không như mong muốn.
2. Phát triển chương trình bằng cách tinh chế từng bước
Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song là một giáo
viên thì chúng ta cần giúp học sinh viết chương trình làm sao người xem nhìn vào
có thể dễ hiểu được bài toán đó là gì? Do đó, việc tinh chỉnh các bước cho bài toán
trong máy tính là phương pháp khoa học, có hệ thống giúp ta phân tích các thuật
toán và cấu trúc dữ liệu từ đó thành một chương trình. Muốn lập trình giỏi không
phải chỉ cần nắm vững ngôn ngữ lập trình là đủ. Mà vấn đề cốt yếu là biết phương
pháp phát triển dần dần để chuyển các ý tưởng ra thành chương trình hoàn chỉnh.

11
Đúng
Sai
Điều kiện
Câu lệnh

3. Phương pháp tinh chế từng bước
Phương pháp tinh chế từng bước là một thể hiện của tư duy giải quyết vấn đề
từ trên xuống, giúp cho người lập trình có được một định hướng thể hiện trong
phong cách viết chương trình tránh việc mò mẫm, xoá đi viết lại nhiều lần. Vì thế
một chương trình bắt đầu được viết bằng lời tự nhiên [tiếng việt] thể hiện sự phân
tích tổng thể của người lập trình, được thể hiện ở từng bước sau các câu lệnh được
phân tích chi tiết hơn. Bằng những lời khác nhau, tương ứng với sự phân tích công
việc thành các việc nhỏ, chi tiết hơn, dễ hiểu và chỉnh xác hơn. Người lập trình có
thể đưa ra phương pháp tinh chỉnh từng bước, thể hiện tư duy để giải quyết những vấn
đề của bài toán từ trên xuống. Trong đó, các bước hướng về phương pháp lập trình tối
ưu, sáng sửa làm cho bài toán được giải một cách gọn gàng nhất, chính xác nhất.
D. CÁC VÍ DỤ MINH HOẠ
Trước khi để học sinh viết được một chương trình hoàn chỉnh bằng ngôn
ngữ lập trình Pascal, giáo viên cần yêu cầu học sinh cần phải nắm vững các kiến
thức cơ bản như: việc dùng từ khoá là phải dùng đúng theo qui tắc đề ra như các từ
khoá: Begin, End, Program. Nắm vững cấu trúc của một chương trình viết bằng
ngôn ngữ lập trình Turbo Pascal gồm có ba phần:
- Phần tiêu đề
- Phần khai báo
- Phần thân chương trình
[Gồm các thủ tục và các câu lệnh]
Được quy định bằng cú pháp sau:
Program ; [Đặt tên cho chương trình]

Uses ; [khai báo các unit sử dụng trong chương trình]
Const ; [Khai báo các hằng trong chương trình]
Type ; [Định nghĩa các kiểu biến]
Var ;[khai báo các biến sử dụng trong chương trình]
Procedure ;[Các chương trình con sử dụng trong chương trình]
Function ; [Các hàm sử dụng trong chương trình]
Cách sử dụng đúng các câu lệnh trong một chương trình Pascal, sau phần
mô tả dữ liệu là phần mô tả các câu lệnh. Các câu lệnh có nhiệm vụ xác định các
công việc mà máy tính phải thực hiện để xử lý các dữ liệu đã được mô tả và khai báo.
Câu lệnh được chia thành câu lệnh đơn giản và câu lệnh có cấu trúc.
- Câu lệnh đơn giản
12

+ Vào dữ liệu : Read, Readln
+ Ra dữ liệu : Write, Writeln
+ Lệnh gán : ":= "
- Câu lệnh có cấu trúc
+ Lệnh ghép : BEGIN END
+ Lệnh chọn : IF THEN ELSE
+ Lệnh lặp : FOR TO DO
WHILE DO
Các câu lệnh phải được ngăn cách với nhau bởi dấu chấm phẩy [ ; ] và các
câu lệnh có thể viết trên một dòng hay nhiều dòng.
Hiểu và sử dụng đúng các cách khai báo biến, khai báo hằng như:
Khai báo hằng
- Hằng là một đại lượng có giá trị không thay đổi trong suốt chương trình.
- Cú pháp:
CONST = ;
Khai báo biến
- Biến là một đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực

hiện chương trình.
- Cú pháp:
VAR [,, ] : ;
Từ đó mới hình thành cho các em kỹ năng viết chương trình bằng ngôn ngữ
lập trình thông qua việc nắm bắt các khái niệm cơ bản, quy trình viết một chương
trình hoàn chỉnh.
Một số ví dụ minh hoạ từ các bài toán đã được học trong chương trình môn
toán ở các lớp 6,7,8.
Ví dụ 1: Tính diện tích hình chữ nhật.
1. Ta cần xác định cho bài toán:
+ Input [Thông tin vào]: Chiều dài là cạnh a, chiều rộng là cạnh b
+ Output [Thông tin ra]: Kết quả diện tích khi đưa a, b vào
+ Các thông tin cần chế biến thông tin như:
[ Ví dụ: Lần lượt đưa a, b vào cho a=3, b=4]
Áp dụng công thức tính diện tích hình chữ nhật: a*b
Kết quả in ra là 12.
13

2. Ta cần viết thuật toán của bài toán:
Bước 1: CD a, CR b
Bước 2: s a*b và kết thúc
Ở đây chương trình bắt đầu bằng lời tiếng việt như:
CD a, có nghĩa là gán chiều dài bằng a [hay là nhập chiều dài]
CR b có nghĩa là gán chiều rộng bằng a [hay là nhập chiều dài]
Giáo viên phân tích chi tiết cụ thể, từ đó mới bắt đầu hướng dẫn các em viết
một chương trình cụ thể bằng ngôn ngữ lập trình thông qua phân tích trên
3. Viết chương trình cho bài toán sử dụng ngôn ngữ lập trình Pascal:
Sau khi học sinh đã xác định được bài toán, viết được chương trình, giáo
viên cho học sinh thực hành trên máy tính, chạy thử để kểm tra kết quả và từ đó
khắc sâu kiến thức viết một chương trình đơn giản cho học sinh. Để viết được

chương trình cần bám sát vào các bước của thuật toán: ở bước 1 để nhập được
chiều dài và chiều rộng của hình chữ nhật, trước hết cần khai báo biến chiều dài,
chiều rộng sử dụng lệnh khai bóa biến là var a,b:integer; để nhập chiều dài và chiều
rộng sử dụng lệnh readln[a,b]; ở bước 2 tính diện tích sử dụng lệnh gán s:=a*b; lệnh
in ra màn hình write[s];. Tiếp theo giáo viên bắt đầu đưa ra các bài toán khó hơn.
Ví dụ 2: Cho 2 số tự nhiên a, b. Tìm ước số chung lớn nhất của chúng.
1. Xác định bài toán:
+ Xác định thông tin vào [Input]: hai số tự nhiên a, b
14

+ Xác định thông tin ra [Output]: số tự nhiên d thoả mãn:
d là ước của a và d là ước của b
d là số lớn nhất trong tập các ước chung của a, b
+ Xác định các thao tác chế biến thông tin
Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b.
[ Ví dụ: Nhập a =16; b= 24 và d =8]
2. Viết thuật toán của bài toán
Bước 1: Nhập 2 số nguyên dương là a, b
Bước 2: So sánh giá trị a và b. Nếu a bằng b thì sang bước 3, ngược lại a
khác b thì sang bước 4
Bước 3: Tìm được ước số chung là a và kết thúc chương trình
Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a và quay trở lại bước 2.
Ngược lại ước số chung là b và quay trở lại bước 2
3. Viết chương trình hoàn chỉnh [dùng ngôn ngữ lập trình Pascal]. Giáo viên
giải thích việc sử dụng các bước của thuật toán để viết chương trình là rất quan trọng:
Ở ví dụ 2 giáo viên lại khắc sâu cho các em chú ý về việc sử dụng câu lệnh
điều kiện và câu lệnh lặp trong khi viết chương trình, cần đọc kỹ đề bài và từ đó
xây dựng thuật toán một cách chính xác trước khi viết chương trình hoàn chỉnh.
15
Sử dụng bước 1 của thuật toán

Sử dụng bước 2 của thuật toán
Sử dụng bước 4 của thuật toán
Sử dụng bước 3 của thuật toán
Sử dụng bước 1 của thuật toán

Lưu ý trong khi viết chương trình thì câu lệnh, hay từ khoá viết bằng chữ thường hay
chữ in hoa đều được. Ở ví dụ 1 chương trình cách viết các câu lệnh và từ khoá dùng
bằng chữ thường, ở ví dụ 2 các câu lệnh và từ khoá được dùng viết bằng chữ in hoa.
Trong quá trình sử dụng thuật toán để viết chương trình đôi khi các em cần
phải chú ý từng bước của thuật toán để bài toán khi chạy có kết quả đúng.
Ví dụ 3: Viết chương trình giải phương trình bậc nhất ax+b=0 với a, b
được nhập vào từ bàn phím.
1. Xác định bài toán:
+ Input: Cho hai số a, b
+ Output: Nghiệm của phương trình bậc nhất
2. Viết thuật toán:
Bước 1: Nhập hai số a, b
Bước 2: Nếu b= 0 chuyển tới bước 4
Bước 3: Tính nghiệm của phương trình x= -b/a và chuyển tới bước 5
Bước 4: Nếu c ≠ 0, thông báo phương trình đã cho vô nghiệm, ngược lại
[c =0], thông báo phương trình vô số nghiệm.
Bước 5: Kết thúc.
3. Viết chương trình hoàn chỉnh [dùng ngôn ngữ lập trình Pascal]
16

Với chương trình trên hoàn toàn có thể chạy được song kết quả sẽ không
đúng khi nhập dữ liệu a, b vào vì các em đã sử dụng sai các bước của thuật toán,
sau khi nhập dữ liệu ở bước 1 cần xét điều kiện b=0 ở bước 2 nhưng ở chương
trình các em lại sử dụng bước 3 trước bước 2 do đó khi chạy cho kết quả sai. Do
vậy khi viết chương trình các em phải tuân thủ theo từng bước mà đã viết từ thuật

toán, ở chương trình trên khi nhập a, b vào thì không kiểm tra hết các điều kiện của
a, b nên đưa ra kết quả sai, vì vậy ta cần phải sắp xếp lại thuật toán để cho một kết
quả đúng như yêu cầu, giáo viên hướng dẫn học sinh cách thực hiện thông qua
thuật toán đã xác định được trên. Vậy trong quá viết chương trình, sau khi dịch
chương trình mặc dầu máy vẫn báo kết quả dịch đúng, nhưng cần phải chạy thử
một vài trường hợp, nếu kết quả sai thì cần phải xem lại cách sắp xếp thứ tự câu
lệnh trong chương trình, từ đó giáo viên hướng dẫn cho học sinh viết lại chương
trình để cho ra kết quả luôn đúng.
Với các nội dung cơ bản về lý thuyết và từng bước hình thành kỹ năng lập
trình, giáo viên yêu cầu học sinh phải từng bước nắm chắc kỹ năng lập trình tuần
tự theo các bước thông qua sơ đồ sau:
17
1
2
3

Sau khi nhắc lại các bước giải giáo viên lại tiếp tục lấy một số ví dụ mà học
sinh đã được học qua môn toán các lớp 6, 7, 8.
Ví dụ 4: Viết chương trình nhập b số dương a, b, c từ bàn phím kiểm tra
và in ra màn hình kết quả kiểm tra ba số đó có thể là độ dài cạnh của một tam
giác hay không?
1. Xác định bài toán:
+ Input: Cho ba số dương a, b, c
+ Output: Thông báo “a, b, c có thể là ba cạnh của một tam giác” hoặc thông báo
“a, b, c không thể là ba cạnh của một tam giác”
2. Viết thuật toán:
Bước 1: Nhập ba số a > 0, b > 0, c > 0;
Bước 2: Tính a + b. Nếu a + b ≤ c; chuyển tới bước 6.
Bước 3: Tính b + c. Nếu b + c ≤ a; chuyển tới bước 6.
Bước 4: Tính a + c. Nếu a + c ≤ b; chuyển tới bước 6.

Bước 5: Thông báo “a, b, c có thể là ba cạnh của một tam giác” và kết thúc
thuật toán.
Bước 6: Thông báo “a, b, c không thể là ba cạnh của một tam giác” và kết
thúc thuật toán.
3. Viết chương trình hoàn chỉnh [dùng ngôn ngữ lập trình Pascal]
18

Ví dụ 5: Viết chương trình tính tổng các số tự nhiên từ 1 đến N [với N
được nhập từ bàn phím].
1. Xác định bài toán:
+ Input: Nhập n số tự nhiên
+ Output: Tính tổng n số tự nhiên đó.
2. Viết thuật toán
Bước 1: S 0; i 0;
Bước 2: i i + 1;
Bước 3: Nếu i ≤ n; thì s s + i và quay lại bước 2, ngược lại kết thúc
Giáo viên chú ý cho học sinh i trong thuật toán là một biến đếm vì trong
chương trình yêu cầu nhập N số tự nhiên, nên cần một biến đếm đi từ 1 cho đến N
để tính tổng [giáo viên giải thích: ban đầu tổng S = 0, biến đếm i =0, sau khi tăng
biến đếm lên 1 thì tổng = 0 + 1 = 1; tổng S =1, tăng biến đếm lên 2 thì tổng = 1 + 2
= 3, tổng S = 3; tương tự như thể cho đến n].
3. Viết chương trình hoàn chỉnh [dùng ngôn ngữ lập trìn Pascal]
Ví dụ 6: Về hình học: Ba số a, b, c được gọi là bộ ba số Py-ta-go nếu
a
2
+b
2
=c
2
. Số tự nhiên n ≥ 3 là số Py-ta-go nếu n

2
=[n - 1]
2
+ [n - 2
2
.
19

a, Viết chương trình để nhập một số tự nhiên từ bàn phím và in ra màn hình
thông báo số đó có phải là số Py-ta-go hay không.
b, Viết chương trình để nhập ba số tự nhiên a, b, c từ bàn phím và in ra màn
hình thông báo chúng có là bộ ba số Py-ta-go hay không.
Câu a:
1. Xác định bài toán
Input: Nhập một sốnguyên
Output: Các số k ≤ n thỏa mãn k
2
= [k - 2]
2
+ [k - 1]
2
2. Viết thuật toán
a, Bước 1: Nhập số n
Bước 2: Nếu n ≤ 2, thông báo " n ≤ 2, không hợp lệ" và chuyển tới bước 8.
Bước 3: k 3 và i 0 [i đếm các số Py-ta-go tìm được]
Bước 4: Nếu k
2
= [k - 2]
2
+ [k - 1]

2
, in ra số k và i i+1.
Bước 5: Gán k k+1.
Bước 6: Nếu k ≤ n quay về bước 4.
Bước 7: Thông báo " Có i số Py-ta-go nhỏ hơn hoặc bằng n".
Bước 8: Kết thúc thuật toán.
c. Viết chương trình bằng ngôn ngữ lập trình Pascal
20

Câu b
1. Xác đinh bài toán
Input: Nhập ba số nguyên a, b, c
Output: Các số nguyên a, b >0 thỏa a
2
+ b
2
= n
2
2. Viết thuật toán
Bước 1: Nhập số nguyên n
Bước 2: i 1 và s 0 [s s đếm số các bộ số Py-ta-go ]
Bước 3: k 1
Bước 4: Nếu n
2
= i
2
+ k
2
, s s + i và in ra màn hình bộ số [i, k, n]
Bước 5: k k +1

Bước 6: Nếu k ≤ n, quay về bước 4
Bước 7: i i + 1
Bước 8: Nếu i ≤ n, quay về bước 3
Bước 9: Thông báo " Có s bộ số Py-ta-go" và kết thúc thuật toán.
3. Viết chương trình bằng ngôn ngữ lập trình Pascal
Lập trình là dùng ngôn ngữ máy vi tính cụ thể nào đó ở đây tôi dang sử dụng
ngôn ngữ lập trình Turbo Pascal để diễn tả thuật toán, cấu trúc dữ liệu thành câu
lệnh để máy tính có thể thực hiện được và giải quyết đúng bài toán mà người lập
21

trình mong muốn. Vì thế khi rèn luyện kỹ năng phương pháp viết một chương trình
bằng ngôn ngữ lập trình Turbo Pascal thì cần:
- Kỹ năng lập trình
- Phát triển chương trình bằng cách tinh chế từng bước
- Phương pháp tinh chế từng bước
Qua các bước tinh chế, tôi đưa ra một số dạng bài tập đa dạng hơn được viết
trên ngôn ngữ lập trình Pascal, yêu cầu học sinh chạy thử trên máy tính, từ đó rút
ra được cách dịch chạy của máy. Thông qua một số bài tập nâng cao đó, học sinh
dần dần tự hình thành được kỹ năng lập trình, và hiểu rõ hơn về các câu lệnh của
ngôn ngữ lập trình Pascal.
Ví dụ 7: Nhập một số tự nhiên từ bàn phím, kiểm tra xem số nhập vào có
phải là số nguyên tố không?
Ở ví dụ này các em cần phải hiểu được khái niệm về số nguyên tố, từ đó học
sinh tự hình thành thuật toán. Giáo viên minh họa bằng chương trình, học sinh
chạy chương trình, từ đó rút ra các lệnh dùng để chạy cho chương trình này.
Nhìn vào bài này học sinh dễ dàng nhận biết được, để kiểm tra một số có phải
là số nguyên tố không? Thì số đó phải thoả mãn điều kiện là chỉ có hai ước: 1 và
chính nó. Nhờ vào vòng lặp chưa biết trước và câu lệnh điều kiện:
While [n mod i 0] do i:= i+1; If i=n then
22

Ví dụ 8: Từ ví dụ 1 nâng cao lên: Số nguyên tố rút gọn của một số tự nhiên
chính là tổng các ước nguyên tố của n. Nhập số tự nhiên n từ bàn phím, in ra số
nguyên tố rút gọn của n [1

Bài Viết Liên Quan

Chủ Đề