Tải bản đầy đủ (.doc) (16 trang)

Áp dụng PASCAN để giải một số bài tập toán lớp 8

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 (124.31 KB, 16 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
PHÒNG GD&ĐT NGA SƠN

SÁNG KIẾN KINH NGHIỆM

GIẢI PHÁP TỪ THUẬT TOÁN ĐẾN CHƯƠNG TRÌNH LẬP
TRÌNH CƠ BẢN GIÚP HỌC SINH LỚP 8 TRƯỜNG THCS
NGA VĂN HỨNG THÚ HỌC MÔN TIN HỌC

Người thực hiện: Mai Thị Hiền
Chức vụ: Giáo viên
Đơn vị công tác: Trường THCS Nga Văn
SKKN thuộc lĩnh vực: Tin học

THANH HÓA NĂM 2017


MỤC LỤC
1.MỞ ĐẦU
-Lý do chọn đề tài...........................................................................................1
-Mục đích nghiên cứu.....................................................................................2
-Đối tượng nghiên cứu......................................................................................3
-Phương pháp nghiên cứu...............................................................................3
2. NỘI DUNG SÁNG KIẾN KINH NGHIỆM…………………………….3
2.1 Cơ sở lý luận của sáng kiến kinh nghiệm.................................................3
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm ....................4
2.3 Giải pháp đã sử dụng để giải quyết vấn đề ................................................4
2.3.1Giới thiệu về Pascal…………………………………………………….4
2.3.2 Cấu trúc chung của Pascal……………………………………………..5
2.3.3 Thuật toán và mô tả thuật toán ………………………………………..5
2.4 Từ thuật toán đến chương trình lập trình cơ bản………………………....6


Bài 1 ...............................................................................................................6
Bài 2 ...............................................................................................................7
Bài 3 ...............................................................................................................8
Bài 4 ...............................................................................................................8
Bài 5 ...............................................................................................................9
Bài 6 ...............................................................................................................10
Bài 7 ...............................................................................................................11
2.5 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt dộng giáo dục ……….12
3.KẾT LUẬN, KIẾN NGHỊ…………………………………………………13
TÀI LIỆU THAM KHẢO............................................................................14


1.MỞ ĐẦU
- Lí do chọn đề tài
Chúng ta đang sống trong một thời đại mới, thời đại phát triển rực rỡ của
công nghệ thông tin (CNTT). CNTT đã ở một bước phát triển cao đó là số hóa
tất cả các dữ liệu thông tin, luân chuyển mạnh mẽ và kết nối tất cả chúng ta lại
với nhau. Mọi loại thông tin, số liệu âm thanh, hình ảnh có thể được đưa về dạng
kỹ thuật số để bất kỳ máy tính nào cũng có thể lưu trữ, xử lý và chuyển tiếp cho
nhiều người. Những công cụ và sự kết nối của thời đại kỹ thuật số cho phép
chúng ta dễ dàng thu thập, chia sẻ thông tin và hành động trên cơ sở những
thông tin này theo phương thức hoàn toàn mới, kéo theo hàng loạt sự thay đổi về
các quan niệm, các tập tục, các thói quen truyền thống, và thậm chí cả cách nhìn
các giá trị trong cuộc sống. CNTT đến với từng người dân, từng người quản lý,
nhà khoa học, người nông dân, bà nội trợ, học sinh tiểu học….[ 5]
Nền tin học của một quốc gia được xem là sự phát triển nếu nó đóng góp
được phần đáng kể vào nền kinh tế quốc dân và vào kho tàng tri thức chung của
thế giới.
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 đến đó 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 những ngôn ngữ lập trình khác nhau và cụ thể là ngôn ngữ lập
trình Pascal. 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.
Do vậy, Việt Nam nói chung và ngành giáo dục đào tạo nói riêng phải đầu tư
phát triển về mọi mặt. Đặc biệt là nguồn nhân lực tri thức tức là phải đào tạo ra một
thế hệ trẻ năng động, thông minh, độc lập, sáng tạo, nắm vững tri thức khoa học
công nghệ để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội nhằm đáp
ứng được nhu cầu trong thời kì công nghiệp hoá, hiện đại hoá đất nước.
Để đáp ứng được các yêu cầu trên, môn Tin học đã được đưa vào giảng dạy
ở các trường phổ thông với vai trò là môn học chính khóa với thời lượng 2
tiết/tuần cho tất cả các lớp ở cấp học.
Đặc trưng của môn Tin học lớp 8 là kiến thức về lập trình. 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.
Qua giảng dạy môn Tin học ở trường THCS Nga Văn, bản thân tôi nhận
thấy rằng nhiều học sinh lớp 8 thấy môn lập trình Pascal khó, khô khan và cực
kỳ loằng ngoằng. Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở
ngoài thì đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong
1


lập trình cũng bài toán đó mà phải làm đến hàng chục phút mà có thể cho kết
quả sai. Pascal trở nên quá xa lạ và khó khăn đối với người sử dụng và nhất là
đối với học sinh THCS là những người đang trực tiếp ứng dụng ngôn ngữ lập
trình này.
Tâm lý các em đều cho rằng môn Tin học không phải là môn học chính. Do
đó không cần phải để tâm đến nó. Những tiết học lý thuyết thì ghi chép qua loa

cho xong chuyện bằng không thì ghi chép giả vờ để thầy cô khỏi chú ý hay nhắc
nhở trong lúc giảng bài. Trong những tiết thực hành chỉ một vài học sinh thật sự
chú tâm suy nghĩ xây dựng thuật toán, viết chương trình đa số còn lại tranh thủ
chơi game hoặc làm việc riêng. Buồn thay cho một số học sinh khi được kiểm
tra vở tại thời điểm sắp kết thúc học kỳ 2 mà chỉ ghi được 5 bảy trang cho cả
một chương trình khá dài trong cuốn Tin Học 3.
Xét ở một góc độ nào đó Lập trình cũng là một môn học khó đối với học
sinh THCS. Khó ở đây không phải do tính phức tạp của môn học hay phạm vi
kiến thức quá rộng lớn. Nếu đem so sánh môn học Lập trình và các phân môn
Toán học ở trường THCS thì Lập trình Pascal gọn nhỏ hơn nhiều lần.
Lập trình Pascal khó đối với học sinh THCS ở chỗ: môi trường lập trình
Pascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay
trợ giúp cũng vậy. Bình diện chung học sinh THCS vốn tiếng Anh không nhiều,
đa số các em còn yếu về tiếng Anh. Lấy đơn vị lớp để tính thì mỗi lớp chỉ có
một vài em được gọi là thông thạo tiếng Anh qua các bài học. Hầu hết số còn lại
rất hạn chế về tiếng anh. Đây là một khó khăn cho việc hiểu được Pascal.
Một vấn đề nữa cũng là rào cản đối với việc các học sinh THCS tiếp cận
với lập trình Pascal đó là: tư duy Toán của các em dừng lại ở mức độ Sách Giáo
Khoa Toán THCS do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho
mỗi bài toán hay vấn đề cần lập trình chưa tốt. Các em vẫn thụ động trong việc
tiếp cận bài toán, sắp xếp tư duy, xây dựng thuật giải.
Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn trăn trở làm thế
nào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8. Việc tiếp cận với
môn học 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 chương trình. Nhất là những năm gần đây Ngành giáo dục luôn
thành lập đội tuyển tham dự kì thi Tin học trẻ, học sinh giỏi môn Tin học lớp 9,
…. Điều đó đã thúc đẩy tôi trong quá trình giảng dạy phải nghiên cứu tìm tòi
biện pháp, kinh nghiệm để giúp cho các em có sự đam mê học tập về lập trình,
giúp các em biết được quy trình lập trình như thế nào và định hướng cho học

sinh cách để trở thành một nhà lập trình thì cần phải biết những kỹ năng cơ bản
để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal cụ thể là giải pháp
từ thuật toán đến chương trình lập trình cơ bản. Giúp các em yêu thích lập
trình và học lập trình trong sự hứng thú.
2


- Mục đích nghiên cứu
Việc thực hiện nội dung này đã góp thêm một phương pháp mới trong việc
giảng dạy học sinh lớp 8 có được kỹ năng cơ bản để giải bài toán trên máy tính
bằng ngôn ngữ lập trình Pascal. Tạo cho học sinh sự thích thú nhằm nâng cao
tính tích cực, độc lập, sáng tạo và kỹ năng chuyên nghiệp của học sinh trong quá
trình sử dụng máy vi tính.
Bên cạnh đó các học sinh sẽ cùng hỗ trợ lẫn nhau và thúc đẩy nhau cùng
học tập, cùng tiến bộ. Những đối tượng khác có niềm đam mê lập trình, đam mê
nghiên cứu viết phần mềm tin học sẽ ngày càng hứng thú khám phá trong quá
trình thực hành trên máy tính.
Hạt nhân của chương trình máy tính là sự lưu trữ và xử lý thông tin. Việc
tổ chức dữ liệu như thế nào có ảnh hưởng rất lớn đến cách thức xử lý dữ liệu đó,
cũng như tốc độ thực thi và sự chiếm dụng bộ nhớ của chương trình. Do đó mục
đích của bài viết này là cung cấp những hiểu biết nền tảng trong việc thiết kế
một chương trình máy tính để thấy rõ sự cần thiết của việc phân tích, lựa chọn
cấu trúc dữ liệu phù hợp cho từng bài toán cụ thể.
- Đối tượng nghiên cứu
Học sinh khối 8 trong nhà trường trung học cơ sở Nga Văn.
- Phương pháp nghiên cứu
Qua quá trình học tập, nghiên cứu và hướng dẫn, cộng với thực tiễn trong
công tác giảng dạy. Các phương pháp giúp cho tôi tập trung vào nghiên cứu
chính, đó là:
+ Phương pháp điều tra

+ Phương pháp quan sát.
+ Phương pháp phân tích tổng hợp
+ Phương pháp thống kê.
2. NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận của sang kiến kinh nghiệm
Chúng ta đang sống trong thời đại khoa học điện tử, thời đại bùng nổ
thông tin và mạng máy tính. Công nghệ thông tin là tập hợp các phương pháp
khoa học, các phương tiện và công cụ kỹ thuật hiện đại nhằm tổ chức khai thác
và sử dụng có hiệu quả các nguồn tài nguyên thông tin rất phong phú và tiềm
năng trong mọi lĩnh vực hoạt động của con người và xã hội.
Chỉ thị 29/2001/CT-BGD&ĐT của Bộ trưởng Bộ Giáo dục và Đào tạo
cũng đã nêu rõ: “Đối với giáo dục và đào tạo, công nghệ thông tin có tác động
mạnh mẽ, làm thay đổi phương pháp, phương thức dạy và học. Công nghệ thông
tin là phương tiện để tiến tới một xã hội học tập”.
Đặc trưng của môn Tin học là môn khoa học gắn liền với công nghệ hiện
đại, do vậy dạy học Tin học trong nhà trường nhằm trang bị cho học sinh kiến
thức khoa học về Tin học, phát triển tư duy thuật toán, kỹ năng lập trình và tiếp
cận những công nghệ mới của Tin học phục vụ học tập và đời sống. Nội dung

3


chương trình của môn Tin học hiện hành ở các trường THCS đã đáp ứng được
những yêu cầu trên.
Trong nhà trường hiện đang phấn đấu các mục tiêu cụ thể của ngành là:
Tổ chức tốt việc hướng dẫn học sinh biết cách lập trình để tham gia các kỳ thi
như Tin học trẻ, học sinh giỏi lớp 9,…
* Thuận lợi:
- Được sự quan tâm của Ngành giáo dục trong công cuộc đổi mới phương
pháp dạy học.

- Được sự quan tâm của BGH nhà trường trong việc đầu tư cơ sở vật chất,
trang thiết bị dạy học tương đối đầy đủ đảm bảo phục vụ giảng dạy bộ môn Tin học.
- Giáo viên giảng dạy được đào tạo theo đúng chuyên ngành và được bồi
dưỡng chuyên môn hàng năm.
- Phần lớn các em học sinh có ý thức tự học cao, luôn tìm tòi học hỏi
những kiến thức mới trong học tập và rất hứng thú với môn Tin học.
* Khó khăn:
- Một bộ phận học sinh lớp 8 chưa ý thức việc học Tin.
- Vẫn còn một số em học sinh tiếp thu kiến thức còn chậm, đặc biệt là kĩ
năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal bởi
đây là một môn học mới (một môn ngoại ngữ mới).
- Trường THCS Nga Văn là địa phương còn nghèo nàn, đa số con em gia
đình làm ruộng, trình độ học vấn có nhiều hạn chế nên sự quan tâm của phụ
huynh đến việc học tập của con em còn hạn chế. Ít có điều kiện chăm sóc, giáo
dục và định hướng cho con em trong việc học tập.
- Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nên
chưa có sự đầu tư thời gian cho việc học. Ngoài ra, ở chương trình Tin học 8,
các em phải làm quen, tiếp cận với ngôn ngữ lập trình Pascal là một phần mềm
có cấu trúc phức tạp, ngôn ngữ lập trình bằng tiếng anh. Mặc khác để thực hiện
được một chương trình thì các em phải có một kiến thức toán học nhất định.
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Qua kiểm tra chất lượng học kỳ 1 năm học 2016-2017, tôi thấy kỹ năng cơ
bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal của học sinh lớp
8 là rất yếu. Khi giải bài toán trên máy tính học sinh chỉ quan tâm đến công thức để
tính toán ra kết quả bài toán mà quên các bước xác định thông tin vào, thông tin ra;
xây dựng thuật toán; chạy chương trình thì học sinh chưa nhận biết được kết quả
chương trình đúng hay sai. Vì thế, kết quả kiểm tra học kỳ 1 là rất thấp.
Kết quả khảo học kỳ 1 năm học 2016-2017
T
T

1
2

Lớp


số

8A 20
8B
22
Tổng cộng

Giỏi
SL %
3
15
4
18
7
17

Kết quả kiểm tra
Khá
TB
Yếu
SL % SL %
SL
%
8

40
8
40
1
5
9
41
8
37
1
4
17 40 16
38
2
5

Kém
SL %

4


2.3 Giải pháp đã sử dụng để giải quyết vấn đề
2.3.1 Giới thiệu về Pascal
Pascal là ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được Niklaus
Wirth phát triển vào năm 1970, là ngôn ngữ đặc biệt thích hợp cho nhiều thế hệ
học sinh, là ngôn ngữ vỡ lòng trong chương trình học. Ở môi trường này, học
sinh sở hữu một lượng tài nguyên là các kiểu dữ liệu đơn giản, cùng với các câu
lệnh rõ ràng, trong sáng, nhất quán và rất dễ thuộc. Tuy nhiên, nó đòi hỏi người
lập trình tài bố cục, thiết kế một thuật toán sao cho đúng đắn, hiệu quả và tối ưu,

rồi vận dụng các quy tắc cú pháp để viết ra được những câu lệnh phù hợp. Vì thế
kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal thì
cần các bước sau [ 2] :
- Xác định bài toán
- Tìm cấu trúc dữ liệu biểu diễn thuật toán
- Xây dựng thuật toán
- Viết chương trình
- Kiểm thử chương trình
- Tối ưu chương trình.
2.3.2 Cấu trúc chung của Pascal
Cấu trúc chung, tổng quát nhất của một chương trình Pascal gồm ba phần[2 ]:
- Phần tiêu đề của chương trình.
- Phần khai báo dữ liệu hằng, biến, mô tả kiểu dữ liệu, khai báo chương
trình con.
- Phần thân chương trình chứa các lệnh để máy tính thực hiện.
Program Ten_chuong_trinh;
Uses
Ten_thu_vien;
Const
Ten_hang…
Type

Var

Procedure …
Function

BEGIN
Các câu lệnh;
END.


2.3.3 Thuật toán và mô tả thuật toán
- Khái niệm thuật toán :
Thuật toán là dãy hữu hạn các thao tác cần thực hiện để giải một bài toán.

5


Máy tính không thể tự mình tìm ra lời giải của các bài toán.Lời giải của
một bài toán cụ thể, tức thuật toán, là tư duy sáng tạo của con người. Tuy nhiên
việc mô tả thuật toán chưa đủ với máy tính mà cần diễn đạt thuật toán dưới
dạng máy tính có thể hiểu và thực hiện được. Kết quả diễn đạt thuật toán là
chương trình được viết trong một ngôn ngữ lập trình nào đó. Máy tính sẽ chạy
chương trình và cho ta lời giải của bài toán.
Nói cách khác thuật toán là các bước để giải một bài toán, còn chương
trình chỉ là thể hiện của thuật toán trong một ngôn ngữ lập trình cụ thể.[1]
- Mô tả thuật toán:
Nhiều công việc chúng ta thường làm mà không phải suy nghĩ nhiều, tuy
nhiên, nếu hệ thống lại, ta có thể thấy thực chất đó là những thuật toán, chúng ta
xét một vài ví dụ [1]:
Bài toán 1: “Pha trà mời khách”
INPUT: Trà, nước sôi, ấm và chén
OUTPUT: Chén trà đã pha để mời khách.
Bước 1: Tráng ấm,chén bằng nước sôi
Bước 2: Cho trà vào ấm
Bước 3: Rót nước sôi vào ấm và đợi khoảng 3 đến 4 phút.
Bước 4: Rót trà ra chén để mời khách.
Bài toán 2: “Làm món trứng rán”
INPUT: Trứng, dầu ăn, hành, muối.
OUTPUT: Trứng rán.

Bước 1: Đập trứng, tách vỏ và cho trứng vào bát.
Bước 2: Cho một chút muối và hành tươi thái nhỏ vào bát trứng. Dùng đũa quấy
mạnh đến khi đều.
Bước 3: Cho một thìa dầu ăn vào chảo, đun nóng đều rồi đổ trứng vào. Đun tiếp
trong khoảng 1 phút.
Bước 4:Lật mặt trên của miêng trứng úp xuống dưới. Đun tiếp trong khoảng 1
phút.
Bước 5: Lấy trứng ra đĩa.
2.4 Từ thuật toán đến chương trình lập trình cơ bản.
Bài 1: Viết chương trình tính tổng 2 số nguyên được nhập từ bàn phím
- Ý tưởng: Nhập a,b và dùng S= a+b
Bước 1: Xác định Input, Output
Input
: Hai số nguyên a và b;
Output
: Tổng s=a+b;
Lưu ý: nên viết theo cách ở trên vì chúng ta sẽ dễ nhận ra là dùng bao nhiêu
biến.
6


Bước 2: Xây dựng thuật toán
- Bước 1: Nhập 2 số nguyên a và b;
- Bước 2: Tính tổng S= a+b;
- Bước 3: Hiển thị giá trị tổng s ra màn hình
Bước 3: Viết chương trình Pascal hoàn chỉnh
Program vidu ;
{ Tên chương trình là vidu }
Var a,b,S: integer ;
{ Khai báo 3 biến kiểu số nguyên }

Begin
Write(‘Nhap a=’);
{ Hiển thị trên màn hình: Nhap a= }
Readln(a); { Giá trị được nhập từ bàn phím sẽ gán cho a: ví dụ nhập 5 và
nhấn enter thì hiểu là: a=5 }
Write(‘Nhap b=’);
readln(b);
S:=a+b; { Sau khi đã có 2 giá trị của a và b rồi, sẽ tính giá trị tổng S }
Write(‘Tong la: ’,S);
{ Đưa giá trị tổng S ra màn hình }
Readln; { Dừng màn hình để xem kết quả chờ nhấn phím để quay lại }
End. { Kết thúc chương trình }
Bài 2: Viết chương trình tính chu vi và diện tích của hình chữ nhật có chiều dài
hai cạnh là a, b (được nhập từ bàn phím).
Ý tưởng:
- Nhập a, b
- Dùng C= (a+b)*2 để tính chu vi
- Dùng S= a*b
Bước 1: Xác định input, Output
Input:
Nhập hai cạnh vào hai biến a, b.
Output: Chu vi hình chữ nhật bằng 2*(a+b); Diện tích hình chữ nhật
bằng a*b.
Bước 2: Xây dựng thuật toán
- Bước 1: Nhập 2 cạnh a,b
- Bước 2: + Tính Chu vi hình chữ nhật: C= (a+b)*2
+ Tính diện tích hình chữ nhật: S= a*b
- Bước 3: Hiển thị chu vi, diện tích ra màn hình.
Bước 3: Viết chương trình Pascal hoàn chỉnh
Program hcn;

Uses crt;
Var a,b,s,c:real;
Begin
Clrscr;
Writeln(‘Tinh chu vi va dien tich hcn’);

7


Write(‘nhap chieu dai:’); Readln(a);
Write(‘nhap chieu rong:’); Readln(b);
S:=a*b;
C:=(a+b)*2;
Writeln(‘Dien tich hinh chu nhat la:’,S);
Writeln(‘Chu vi hinh chu nhat la:’,C);
Readln;
Bài 3: Viết chương trình Tìm ước chung lớn nhất (UCLN) của hai số nguyên
dương M và N.[4]
Ý tưởng:
- Nhập M và N
- Xét nếu M = N thì lấy giá trị chung này làm UCLN rồi đưa ra kết quả và kết
thúc
- Xét nếu M > N thì M ← M – N ngược lại N ← N – M và xét tiếp.
Bước 1: Xác định bài toán :
Input
: Nhập hai số nguyên dương M và N
Output
: UCLN của hai số nguyên dương M và N
Bước 2: Xây dựng thuật toán
- Bước 1: Nhập M, N

- Bước 2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến
bước 5.
- Bước 3: Nếu M > N thì M ← M – N ngược lại N ← N – M ;
- Bước 4: Quay lại bước 2 ;
- Bước 5: Đưa ra kết quả UCLN rồi kết thúc.
Bước 3: Viết chương trình
Program UCLN ;
Uses crt ;
Var M, N : integer ;
Begin
Clrscr ;
Write (‘Nhập N, M =’) ;
Readln (N, M) ;
While M < > N do
If M > N then M:= M – N else N:= N – M ;
Writeln (‘UCLN =’, M) ;
Readln ;
End.

8


Bài 4: Viết chương trình tính chu vi và diện tích hình tròn có bán kính r (được
nhập từ bàn phím).[3]
Ý tưởng:
- Nhập R
- Dùng P=2*Pi*R để tính chu vi hình tròn
- Dùng S= Pi*R*R để tính diện tích hình tròn
Bước 1: Xác định input, Output
Input : Nhập bán kính vào biến R

Output: Chu vi đường tròn bằng: P= 2*Pi*R.
Diện tích hình tròn bằng: S= Pi*R*R.
Bước 2: Xây dựng thuật toán
+ Nhập r
+ Tính chu vi hình tròn: P= 2*Pi*R., diện tích hình tròn: S= Pi*R*R.
+ Hiển thị ra chu vi, diện tích hình tròn ra màn hình.
Bước 3: Viết chương trình Pascal hoàn chỉnh
Program hinh_tron;
Uses crt;
Var R, S, P: real;
Const pi=3.14;
Begin
Clrscr;
Writeln(‘Dien tich va chu vi hinh tron:’);
Write(‘nhap ban kinh:’); Readln(R);
S:=pi*R*R;
P:=2*pi*R;
Writeln(‘dien tich cua hinh tron la:’,S);
Writeln(‘chu vi cua hinh tron la:’,P);
Readln;
End.
Bài 5: Viết chương trình “Tìm phần tử lớn nhất của dãy số nguyên”. [1]
Ý tưởng:
- Nhập N và dãy A1, … AN ;
- Max  A1 ; i 2 ;
- Xét nếu i>N thì đưa ra giá trị Max rồi kết thúc ;
9


- Xét nếu Ai > Max thì Max  Ai ;

ii+1 ; rồi quay lại xét tiếp
Bước 1: Xác định bài toán
- Input : Số nguyên dương N (<=250) và dãy N số nguyên dương A 1, …
AN. mỗi số đều không vượt quá 500.
- Output : Chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho (nếu
có nhiều phần tử lớn nhất chỉ cần đưa ra một trong số chúng)
Bước 2: Xây dựng thuật toán
- Bước 1: Nhập N và dãy A1, … AN ;
- Bước 2: Max  A1 ; i 2 ;
- Bước 3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc ;
- Bước 4: Nếu Ai > Max thì Max  Ai ;
ii+1 ; rồi quay lại bước 3.
Bước 3 : Viết chương trình
Program TimMax ;
Uses crt ;
Const Nmax = 250 ;
Type arrInt = array[1 .. Nmax] of integer ;
Var N, i , Max , csmax : integer ;
A : arrInt ;
Begin
Clrscr ;
Write (‘Nhap so luong phan tu cua day so, N =’) ;
Readln (N) ;
For i:= 1 to N do
Begin
Write (‘phan tu thu ‘, i,’=’) ;
Readln(A[i]) ;
End ;
Max:= A[1] ;
Csmax := 1 ;

For i:=2 to N do
If A[i] > Max then
Begin
Max:= A[i] ;
Csmax:=i ;
End;
Writeln (‘gia tri cua phan tu Max:’ , Max) ;
Writeln (‘chi so cua phan tu Max:’ , csmax) ;
Readln
End.

10


Bài 6: Giải phương trình bậc nhất dạng tổng quát bx + c =0. [1]
Ý tưởng:
-Nhập b, c bất kỳ.
- Xét 3 trường hợp:
+ Nếu b ≠ 0 thì kết luận phương trình đã cho có 1 nghiệm x = - c/b
+ Nếu b = 0 và c = 0 thì kết luận phương trình đã cho có vô số nghiệm.
+ Nếu b = 0 và c ≠ 0 thì kết luận phương trình vô nghiệm.

Các bước xác định cho bài toán:
+ Input
: Các số b, c
+ Output
: Nghiệm của phương trình bậc nhất
+ Các dữ liệu cần xử lý để chế biến thông tin như:
Lần lượt đưa giá trị b, c vào
( b = 3 ; c= - 6)

Áp dụng công thức :
- Nếu b = 0 và c = 0 thì phương trình có vô số nghiệm
- Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm
- Nếu b ≠ 0 thì phương trình có nghiệm x = -c/b;
Kết quả in ra là x = 2
+ Chương trình:
Program GIAI_PHUONG_TRINH_BAC_NHAT;
Uses crt;
Var c,b,x:real;
Begin
Clrscr;
Writeln(‘giai phuong trinh bac nhat:bx+c=0’);
Write(‘nhap b=’); Readln(b);
Write(‘nhapc=’); Readln(c);
If (b=0)then
If (c=0) then
Writeln(‘phuong trinh co vo so nghiem’);
Else
Writeln(‘phuong trinh vo nghiem’);
Else
Writeln(‘phuong trinh co nghiem x=’,-c/b);
Readln;
End.
Bài 7: Viết chương trình nhập ba số dương a, b và 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ác cạnh tam giác hay
không. [1]
- Ý tưởng:
- Nhập a,b,c
- Xét nếu a+b>c và b+c>a và c+a>b thì ba số dương a,b,c là độ dài các cạnh
của một tam giác.

11


- Bước 1: Xác định bài toán
Input : Nhập ba số a,b,c
Output: Kiểm tra ba số đó có thể là độ dài các cạnh tam giác hay không
Bước 2: Xây dựng thuật toán
- Bước 1: Nhập a,b,c
- Bước 2: Nếu a+b>c và b+c>a và c+a>b thì ba số dương a,b,c là độ dài các
cạnh của một tam giác.
- Bước 3: Đưa ra kết quả rồi kết thúc.
Bước 3: Viết chương trình
Program ba-canh-tam-giac;
Uses crt;
Var a,b,c: Real;
Begin
Clrscr;
Write (‘nhap ba so a,b va c:’);readln(a,b,c);
If (a+b>c) and (b+c>a) and (a+c>b) then
Writeln ( ‘a,b va c la ba canh cua mot tam giac’)
Else writeln (‘ a,b,c khong la ba canh cua mot tam giac’);
Readln;
End.
2.5 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt dộng giáo dục, với
bản thân , đồng nghiệp và nhà trường
Với kinh nghiệm trên qua học kỳ 2 năm học 2016-2017 tôi đã vận dụng so
với học kỳ 1 năm học2016-2017 tôi đã đạt được kết quả đáng mừng. Qua một
cuộc điều tra nhỏ về tính hứng thú học tập của học sinh, số liệu được thể hiện
như sau:
- Khối lớp 7 của năm học 2016-2017 khi lên lớp 8 của năm học 20162017 số lượng học sinh hứng thú, thích học tin học tăng vượt bậc, kỹ năng lập

trình trở nên chuyên nghiệp và chính xác hơn.
- Khối lớp 8 của năm học 2015-2016 khi lên lớp 9 của năm học 20162017 đã mạnh dạn đăng ký thi học sinh giỏi khối 9 cho bộ môn tin học về việc
lập trình bằng ngôn ngữ Pascal (thi thực hành trên máy tính). Ngoài ra các em
còn tham gia các kì thi được tổ chức trên Internet và đăng kí dự thi tin học trẻ
không chuyên dành khối trung học cơ sở.
Qua thời gian triển khai và áp dụng phương pháp, tôi nhận thấy giờ học
lập trình bằng ngôn ngữ lập trình Pascal thực sự thu hút các đối tượng học sinh
hơn chứ không còn là giờ học của các đối tượng học sinh khá giỏi. Học sinh
hoạt động tích cực hơn, khả năng phân tích, tư duy toán học trở nên nhạy bén
phát huy tính tích cực, sáng tạo và tạo niềm đam mê bộ môn Tin học. Các đối
tượng học sinh hỗ trợ được cho nhau để cùng học, cùng tiến bộ. Học sinh mạnh
dạn đăng kí tham gia các kì thi về lập trình. Đặc biệt là học sinh ở trường đã tiến
bộ rõ rệch ở bộ môn toán và hứng thú học toán hơn nhiều. Kỹ năng lập trình của
12


các em không còn lúng túng mà trở nên chuyên nghiệp hơn. Qua đó nhiều em đã
định hướng cho công việc của mình trong tương lai và có tác động tích cực đến
nhận thức của các em. Tạo cho các em ngày càng yêu, đam mê công nghệ phần
mềm và giúp các em có được nền tảng cơ bản nhất để tiếp cận bất kỳ ngôn ngữ
lập trình khác.
Kết quả kiểm tra học kì II lớp 8 năm học 2016-2017(lập trình)
TT

Lớ
p


số


1
8A 20
2
8B 22
Tổng cộng

Giỏi
SL %
5
25
7
31
12 29

Khá
SL %
9
45
10 46
19 45

Kết quả kiểm tra
TB
Yếu
SL %
SL
%
6
30
0

5
23
0
11
26
0

Kém
SL %

3.KẾT LUẬN, KIẾN NGHỊ
Tin học là môn học mới đối với học sinh phổ thông. Để tạo hứng thú học
tập cho học sinh và từng bước nâng cao chất lượng bộ môn đòi hỏi người giáo
viên phải tìm tòi, đổi mới phương pháp dạy học phù hợp, hiệu quả.
Trong quá trình dạy học sinh lập trình, vận dụng những kỹ năng cơ bản để
giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal tôi đã tạo cho học
sinh niềm đam mê, hứng thú, sáng tạo và đặc biệt các giờ học không còn là nỗi
ám ảnh của học sinh nữa và các em ở trường đã tiến bộ rõ rệch về kỹ năng lập
trình từ những bài toán đơn giản đến nâng cao.
Trên đây là một số kinh nghiệm của bản thân rút ra được trong quá trình
hướng dẫn dạy học sinh những kỹ năng cơ bản về lập trình. Rất mong nhận
được sự góp ý của quý thầy cô, bạn bè đồng nghiệp để tôi có thể hoàn chỉnh hơn
kinh nghiệm này, góp phần nâng cao kỹ năng và chất lượng dạy học lập trình
cho học sinh lớp 8.
XÁC NHẬN CUA THỦ TRƯỞNG ĐƠN VỊ

Nga sơn, ngày 25 tháng 3 năm 2017
Tôi xin cam đoan đây là SKKN của mình
viết ,không sao chép nội dung của người khác .
Người viết


Mai Thị Hiền

13


TÀI LIỆU THAM KHẢO
1. Sách giáo khoa tin học quyển 3 của Bộ giáo dục và đào tạo.
2. Ngôn ngữ lập trình Pascal của Quách Tuấn Ngọc, Nxb thống kê-2001.
3. Bài tập tin học trung học cơ sở quyển 3 của Bộ giáo dục và đào tạo.
4. Bài tập Turbo Pascal của Phạm Quang Trình- Nguyễn Nhụy, Đại học
Vinh,2003.
5. Truongchinhtrina.gov.vn.

14



×