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

Skkn hướng dẫn học sinh giỏi lớp 8 giải bài tập mảng một chiều trong pascal

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 (401.49 KB, 20 trang )

MỤC LỤC
Trang
1. MỞ ĐẦU
2
1.1. Lý do chọn đề tài
2
1.2. Mục đích nghiên cứu
2
1.3. Đối tượng nghiên cứu
2
1.4. Phương pháp nghiên cứu
2
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
3
2.3. Các sáng kiến kinh nghiệm hoặc giải pháp đã sử dụng để giải
4
quyết vấn đề
2.3.1 Các giải pháp
4
2.3.2. Các biện pháp tổ chức thực hiện các giải pháp
5
2.3.2.1. Dãy số và biến mảng
5
2.3.2.2. Khai báo trực tiếp mảng một chiều
7
2.3.2.3. Các dạng bài tập
7


2.4. Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục,
17
với bản thân, đồng nghiệp và nhà trường
3. KẾT LUẬN, KIẾN NGHỊ
18
3.1. Kết luận
18
3.2. Kiến nghị
18
TÀI LIỆU THAM KHẢO
19

skkn

1


1. MỞ ĐẦU
1.1. Lý do chọn đề tài
Pascal là một ngơn ngữ lập trình cấp cao. Đây là một ngơn ngữ lập trình có
cấu trúc chặt chẽ, rõ ràng và là nền tảng để học các ngơn ngữ lập trình cao hơn. 
Do đó Pascal được nhiều quốc gia trong đó có Việt Nam đưa vào chương trình
giảng dạy Tin học ở các trường THCS.
Thực tế trong quá trình giảng dạy tơi nhận thấy nhiều em học sinh ln cảm
thấy khó khăn trong việc học lập trình Pascal. Đặc biệt với học sinh lớp 8 thì
lại càng cảm thấy việc học lập trình Pascal là mới, lạ và khó. Nếu các em học
theo cách chỉ cần học thuộc và nhớ thao tác thì khơng có tác dụng. Như khi học
xong câu lệnh rẽ nhánh nếu yêu cầu học sinh làm một bài tập nào đó thì phần
lớn học sinh rất lúng túng và mất nhiều thời gian để cố nhớ xem bài này đã được
thầy, cô giáo làm như thế nào, học sinh rất khó hình dung ra thuật tốn và cách

viết chương trình. Trong khi đó đặc thù của dạng bài tập mảng một chiều đòi
hỏi các em cần phải học cách tư duy logic, mơ tả thuật tốn và viết những dịng
lệnh máy tính chính xác đến từng đấu chấm, dấu phẩy.
Mặc khác, với tâm lí thơng thường các em học sinh coi Tin học là môn phụ
không quan trọng nên nhiều em chủ quan không dành nhiều thời gian để học
dẫn đến khó hiểu bài và khơng làm được bài tập. Đây cũng là lí do mà nhiều
em khi vào đội tuyển HS giỏi lại xin ra vì khó bắt nhịp được với lượng lớn kiến
thức hoặc đi thi HS giỏi Tin học trẻ kết quả chưa cao.
Với những lý do trên khiến tôi quyết định chọn đề tài: “Hướng dẫn HS lớp 8
giải bài tập mảng một chiều trong Pascal” nhằm nâng cao chất lượng mơn Tin
học nói chung và chất lượng đội tuyển HS giỏi các cấp nói riêng.
1. 2. Mục đích nghiên cứu
Nhằm giúp HS nắm chắc cấu trúc câu lệnh về mảng một chiều, cách hoạt
động của câu lệnh, từ đó nâng cao về mặt kiến thức cũng như mơ tả được thuật
tốn và viết chương trình cho bài tốn. Đảm bảo cho HS vững kiến thức để có
đủ khả năng dự thi các kỳ thì Tin học trẻ cấp Huyện, cấp Tỉnh và cấp Quốc gia.
1.3. Đối tượng nghiên cứu
Đề tài này nghiên cứu các giải pháp để hướng dẫn HS lớp 8 giải bài tập
mảng một chiều trong Pascal .
Từ việc nghiên cứu vận dụng đề tài, rút ra bài học kinh nghiệm góp phần
nâng cao chất lượng trong cơng tác dạy học mơn Tin học tại Trường THCS Lý
Thường Kiệt nói riêng và chất lượng đội tuyển HS giỏi của huyện Hà Trung.
1.4. Phương pháp nghiên cứu
1.4.1. Phương pháp phân tích tổng kết kinh nghiệm
Từ thực tiễn dạy học bồi dưỡng HS giỏi nhiều năm, tôi đúc rút thành cẩm
nang cho riêng mình trong quá trình giảng dạy về cách luyện cho HS cách tự
học để nắm vững một chuyên đề, luyện cho HS cách làm bài thi trên máy tính.
1.4.2. Phương pháp thực nghiệm khoa học
Đưa kinh nghiệm của bản thân về phương pháp hướng dẫn HS giỏi lớp 8
giải bài tập mảng một chiều để đánh giá, rút kinh nghiệm trong thời gian tiếp theo.


skkn

2


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

1.4.3. Phương pháp phân tích và tổng hợp lý thuyết
Nghiên cứu nhiều tài liệu tham khảo có liên quan đến phương pháp giải bài
tập mảng một chiều giúp tơi tìm hiểu sâu sắc về vấn đề này. Qua đó tổng hợp để
tạo ra phương pháp giải quyết các dạng bài tập về câu lệnh này một cách khoa
học, hiệu quả nhất cho học sinh.
1.4.4. Phương pháp phân loại và hệ thống hóa lý thuyết
Sau khi phân tích và tổng hợp lý thuyết tôi đã dùng phương pháp phân loại,
hệ thống nhằm khái quát lên thành các loại, dạng bài tập theo mỗi chuyên đề để
hướng dẫn học sinh học.
1.4.5. Phương pháp điều tra
Bản thân đã tiến hành khảo sát bằng cách cho HS làm bài kiểm tra chủ yếu
tập trung các việc giải bài tập mảng một chiều. Từ đó điều tra được khả năng
của HS đối với việc tiếp cách giải bài tập một cách tối ưu nhất.
1.4.6. Phương pháp thực nghiệm sư phạm:
Đề tài này cũng được áp dụng cho khóa học này. Từ đó tơi tổng kết và rút
kinh nghiệm cho khóa học sau.
2. NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1. Cơ sở lý luận của sáng kiến kinh nghiệm
Ở trường THCS chúng ta không chú trọng học chun sâu về ngơn ngữ
lập trình. Trong khi đó chúng ta thấy học lập trình là tập trung rèn luyện cho
HS kĩ năng tư duy logic, tư duy hệ thống và sáng tạo để giải quyết những vấn
đề trong Tin học mà đây cịn là những kĩ năng vơ cùng quan trọng để giải

quyết nhiều vấn đề trong cuộc sống.
Học Pascal giúp cho ta hiểu được cách làm việc của máy tính, cách giao
tiếp để ra lệnh cho máy tính làm việc theo sự điều khiển của con người thông
qua ngơn ngữ lập trình. Các em có thể tạo ra các chương trình thú vị bằng cách
sử dụng các câu lệnh Pascal. Cũng giống như những môn học khác như: Tốn
học, Vật lý, Hóa học … khi các em đã thực sự hiểu và u thích bộ mơn Tin
học các em sẽ tìm thấy nhiều niềm vui, sự đam mê khi tìm hiểu và khám phá
những điều mới mẻ nhưng đầy hấp dẫn trong bộ môn tưởng chừng như khô
khan này.
Vì vậy, tơi chọn đề tài: “Hướng dẫn HS lớp 8 giải bài mảng một chiều
trong Pascal” với mong muốn đóng góp một phần nhỏ vào việc nâng cao chất
lượng Tin học trong nhà trường và hơn nữa và nâng cao chất lượng HS giỏi
trong kỳ thi Tin học trẻ cấp Tỉnh, cấp Quốc gia.
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm:
Lập trình là mơn học hướng dẫn học sinh cách giải các bài toán bằng cách
viết chương trình trên máy tính. Đây là mơn học mới đối với học sinh nên phần
đông các em không nắm bắt được kiến thức để vận dụng vào giải bài tập
Mặt khác, theo kinh nghiệm giảng dạy tôi thấy học sinh khi học đến mảng
một chiều các em đều thấy rất khó: khó hình dung, khó khơng hiểu cách thực
hiện của lệnh, học cứ cảm giác mơ mơ màng màng dẫn đến ngại học và ngại
thực hành (do không biết vận dụng lệnh vào giải các bài tập nên khi test chương
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

3


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal


trình là máy báo lỗi, khơng chạy được và đặc biệt là không biết sửa lỗi). Với
nhiều năm giảng dạy tôi đã rút ra được một số kinh nghiệm nho nhỏ khi dạy
xong mảng một chiều trong Turbo Pascal mà tôi cảm thấy học sinh tiếp thu bài
rất tốt, biết vận dụng vào giải bài tập một cách linh hoạt và đạt kết quả cao trong
các kỳ thi.
2.3. Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải
quyết vấn đề
2.3.1. Các giải pháp:
Để nâng cao chất lượng HS tôi phải trăn trở, học hỏi và nghiên cứu rất nhiều.
Cụ thể: Đổi mới phương pháp dạy học khi học sinh học mảng một chiều là:
* Giải pháp 1: Cung cấp cho HS những kiến thức cơ bản của mảng một chiều
Tôi chú trọng rèn luyện cho học sinh biết khai thác sách giáo khoa và các tài
liệu học tập, biết cách tự tìm lại những kiến thức đã có, suy luận để tìm tịi và
phát hiện kiến thức mới. Định hướng cho HS cách tư duy như phân tích, tổng
hợp, đặc biệt hố, khái qt hố, tương tự, quy lạ về quen… để dần hình thành
và phát triển tiềm năng sáng tạo. Mảng một chiều tôi nhấn mạnh cho HS những
kiến thức cơ bản như sau:
- Dãy số và biến mảng
- Khai báo trực tiếp mảng một chiều
* Giải pháp 2: Rèn luyện cho học sinh khả năng tư duy, sáng tạo và phân tích
thuật tốn
- Với giải pháp 2 tôi hướng dẫn học sinh cách giải các bài tập như Tốn học
bằng cách nói và viết. Từ đó yêu cầu học sinh đưa ra nhiều thuật toán ứng với
mỗi bài tập. Rồi chọn thuật toán tối ưu nhất cho bài tập đó.
* Giải pháp3: Phân dạng bài tập, phương pháp giải
+ Với mỗi dạng bài tập tơi đưa ra rất nhiều ví dụ để học sinh hiểu và nắm
chắc về cú pháp câu lệnh, học sinh làm quen với rất nhiều dạng bài tập có sử
dụng mảng một chiều. Các bài tập cho học sinh tôi hướng dẫn học sinh cách giải
như Toán học bằng cách nói và viết. Sau đó mới áp dụng ngơn ngữ lập trình vào
giải bài tập. Ngồi ra, tơi cịn ra rất nhiều bài tập về nhà để cho học sinh luyện

thêm về mảng một chiều.
* Giải pháp 4: Rèn kĩ năng giải bài tập trên máy tính
- Thực hành là mức độ cao nhất của tư duy đòi hỏi mỗi học sinh phải biết
huy động gần hết vốn kiến thức của mình khi làm việc với máy tính. Mỗi khi
thực hành nhất là khi thi lập trình giải tốn địi hỏi học sinh phải biết vận dụng
toàn bộ những hiểu biết, huy động sức nhớ của bộ não để tìm ra cách giải nhanh
nhất, tối ưu nhất. Để học sinh có được tâm thế bình tĩnh trong khi thi thì đòi hỏi
học sinh phải nắm vững các kiến thức cơ bản về cú pháp lệnh, khi học phải được
làm quen với nhiều dạng bài tốn về mảng một chiều. Có thế thì khi gặp phải
dạng bài tốn nào đó học sinh sẽ khơng bị lúng túng và có thể hình dung ra cách
giải một cách nhanh chóng.
- Với mỗi bài tập sau khi đã đưa ra được thuật toán tối ưu. Tôi yêu cầu học
sinh áp dụng ngôn ngữ lập trình vào giải bài tập và thực hành ngay trên máy.
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

4


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Trong quá trình thực hành nếu gặp lỗi thì học sinh phải tự sửa các lỗi đó, trường
hợp sửa lỗi khơng được có thể nhờ bạn hoặc cơ giáo giúp. Khi chương trình
chạy hồn chỉnh tơi u cầu các em ghi các bài tập đã chạy được trên máy ra
một quyển vở riêng nhằm giúp các em khắc sâu thêm thuật tốn cũng như cách
viết chương trình.
- Với mỗi dạng bài tập tôi ra nhiều bài tập tương tự, bài tập nâng cao để
giao bài về nhà cho học sinh để học sinh khắc sâu hơn kiến thức đã được học.
- Sau mỗi bài tập thực hành tôi đều nhận xét, củng cố và phát triển bài tốn

để có bài tốn mới. Như vậy học sinh sẽ có tư duy linh hoạt và sáng tạo.
* Giải pháp 5: Cho HS tiếp cận với đề thi học sinh giỏi cấp Tỉnh qua các năm
- Phân dạng bài tập qua các đề thi.
- Cho học sinh làm các bài tập của các đề thi những năm trước để các em tập
làm quen và khơng cịn bỡ ngỡ khi thi. Với mỗi bài tập tôi chấm điểm cho học
sinh sau khi học sinh hồn thành việc chạy chương trình trên máy và chỉ ra sai
lầm cũng như nguyên nhân dẫn đến sai lầm đó (nếu có) -> biện pháp khắc phục
để học sinh nắm chắc từng phần kiến thức và làm chặt chẽ từng dạng bài tập.
* Giải pháp 6: Cho học sinh làm bài kiểm tra thử
- Ra đề kiểm tra cho học sinh làm bài tập trên máy tính, tơi bấm giờ và
chấm điểm. Đề có các mức độ nhận thức: nhận biết - thông hiểu - vận dụng vận dụng cao. Từ đó HS rèn được kỹ năng: phân tích - tổng hợp - đánh giá thực hành.
Với phương pháp này tôi đã nâng cao được chất lượng môn Tin học và qua
đó nâng cao được chất lượng HS giỏi qua các kỳ thi Tin học trẻ . Do vậy, qua
sáng kiến kinh nghiệm này tôi mạnh dạn đưa ra một phương pháp nhỏ để các
bạn đồng nghiệp tham khảo góp phần đưa chất lượng mơn Tin học của Huyện –
Tỉnh ngày càng nâng lên.
2.3.2. Các biện pháp tổ chức thực hiện các giải pháp
2.3.2.1. Dãy số và biến mảng
Để khảo sát mức độ phân hóa giàu nghèo của một địa phương, người ta đã
tiến hành thu thập thông tin về thu nhập của từng hộ gia đình trong địa phương
đó. Cần viết chương trình tính mức thu nhập trung bình của các hộ gia đình
trong địa phương và độ chênh lệnh giữa mức thu nhập của từng hộ gia đình so
với mức thu nhập trung bình.
Việc giải bài tốn trên gồm 2 bước cơ bản:
- Tính thu nhập trung bình bằng cách tính tổng thu nhập của tất cả các hộ gia
đình rồi chia cho tổng số hộ.
- Lần lượt lấy thu nhập của từng hộ trừ đi giá trị trung bình ở bước 1 để tính
độ lệch giữa mức thu nhập của hộ đó so với mức thu nhập trung bình.
Giả sử số hộ gia đình được khảo sát là 50. Đoạn chương trình sau có thể giúp
chúng ta giải quyết bài toán trên:

Var a, thunhaptb: Real; i:integer;
Begin
thunhaptb:=0;
For i:=1 to 50 do
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

5


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Begin
Write(‘Thu nhap cu gia dinh thu ‘,i); readln(a);
thunhaptb:=thunhaptb+a;
end;
thunhaptb:=thunhaptb/50;
For i:=1 to 50 do
Begin
Write(‘Thu nhap cu gia dinh thu ‘,i); readln(a);
Writeln(‘Do lech so voi thu nhap tb la:’,a-thunhaptb);
End;
Readln;
End.
Qua đoạn chương trình này ta thấy tại mỗi thời điểm một biến chỉ lưu
được một giá trị duy nhất nên trong đoạn chương trình trên, mỗi khi cần tới thu
nhập của hộ gia đình nào ta lại phải thực hiện câu lệnh Readln(a) để nhập mức
thu nhập của hộ đó vào biến a. Mà thao tác nhập mức thu nhập của các hộ gia
đình từ bàn phím chiếm phần lớn thời gian trong quá trình thực hiện đoạn

chương trình trên, mà ta lại phải thực hiện cơng việc đó hai lần.
Để chỉ phải nhập dữ liệu một lần, ta có phải khai báo nhiều biến, mỗi biến
để lưu trữ thu nhập của một hộ gia đình.
Ví dụ: Var
thunhap1, thunhap2, thunhap3,….: real;
Readln(thunhap1); Readln(thunhap2); Readln(thunhap3);…
Như vậy địa phương cần khảo sát bao nhiêu hộ gia đình thì phải khai báo bấy
nhiêu biến và câu lệnh nhập mức thu nhập - một công việc không hề thú vị.
Để tránh phải thực hiện điều tương tự như vậy, ngơn ngữ lập trình Pascal đã
đưa ra một kiểu dữ liệu đặc biệt - kiểu mảng để lưu trữ nhiều dữ liệu liên quan
đến nhau (như thunhap1, thunhap2,….ở trên) bằng một biến duy nhất và đánh
“số thứ tự” cho các dữ liệu đó giúp việc xử lý dữ liệu ấy đơn giản hơn.
Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều
có chung một kiểu dữ liệu, gọi là kiểu của phần tử. Việc sắp xếp thứ tự được
thực hiện bằng cách gán cho mỗi phần tử một chỉ số.

Mảng =>
Chỉ số=>

thunhap1

thunhap2

Thunhap3

thunhapk

8

9


7

….

10

1

2

3



k

Các phần tử có thể có cùng kiểu dữ liệu bất kì (như: integer, real, char,…)
Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi là biến
mảng. Khi sử dụng biến mảng thực chất chúng ta sắp xếp theo chỉ số các biến có
cùng kiểu dưới một tên duy nhất.
Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, số thực) có
thứ tự, mỗi số là một giá trị của biến thành phần tương đương.
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

6



Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

2.3.2.2. Khai báo trực tiếp mảng một chiều
a. Cú pháp:
Var tên_biến_mảng: array[<chỉ số đầu>…<chỉ số cuối>] of kiểu dữ liệu;
Trong đó: - Chỉ số đầu, chỉ số cuối là hai số nguyên thỏa mãn chỉ số
đầu ≤chỉ số cuối.
- Kiểu dữ liệu là một kiểu bất kỳ (trừ kiểu File) như: kiểu số
thực, số nguyên,…
VD: M: array[1..50] of Integer;
A: array[1..100] of Integer;
ten: array[1..60] of string[20];
b. Cách truy cập đến thành phần của mảng:
Tên_biến_mảng[chỉ số của mảng]
Trong đó: Chỉ số của mảng là vị trí của số đó của mảng. Các phần tử phân biệt
với nhau thông qua biến chỉ số.
VD:
M 10 20 3 0 -4 5 8 14 -9 8 45 12 -8 -3 7 8
1

A

2

3

4

5


6

7

8

9

10

11

12

13

14

15

16

0

2

10

20


6

14

20

0

-9

8

1

2

3

4

5

6

7

8

9


10

Để truy cập đến phần tử thứ 5: M[5]:=-4; A[4]:=20;
Có thể gán 1 biến mảng này cho một biến mảng khác cùng kiểu dữ liệu:
VD: M[5]:=A[4];
2.3.2.3. Các dạng bài tập
2.3.2.3.1. Dạng 1: Nhập xuất và tính tổng các phần tử trong mảng.
Ví dụ: A:        1   5   6   7   4  
Kết quả:          Tong S = 23
Hướng dẫn: Để giải quyết bài toán cần phải đảm bảo các vấn đề:
- Nhập mảng. Các thao tác theo yêu cầu:
(1) Nhập số n.
(2) Tiến hành lặp (từ 1 đến n) và nhập cho các giá trị Ai trong mảng.
-  Tính tổng các phần tử cho một mảng A:
(1) Khai báo và khởi tạo tổng S là 0.
(2) Sử dụng một vòng lặp (từ 1 đến n để duyệt qua tất cả các giá trị A i) để
tính cộng dồn giá trị của Ai vào tổng S.
- Xuất mảng. Công việc đơn giản là sử dụng vòng lặp từ 1 đến N để in ra các
giá trị Ai cho mảng.
VD1: Nhập n số nguyên từ bàn phím vào mảng.
a. Tính tổng các số trong mảng.
b. Đưa các phần tử của mảng ra màn hình.

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

7



Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Chương trình:
i, n, S: integer;
A: array[1..50] of Integer;
Begin {nhập các phần tử vào mảng}
Write(‘Nhap so phan tu cua mang n=’); Readln(n);
For i:=1 to n do
Begin write(‘Nhap phan tu thu ‘, i,’ =’); Readln(A[i]); End;
S:=0; {tính tổng}
For i:=1 to n do S:=S+A[i];
Writeln(‘Tong cua cac phan tu trong mang la:’,S);
Writeln(‘Cac phan tu cua mang la:’); {Đưa cac phần tử ra màn hình}
For i:=1 to n do Write(A[i], ‘ ‘);
Readln;
End.
VD2 : Lập trình nhập một dãy n số thực.
a. Tính TBC các số trong dãy
b. Đếm xem có bao nhiêu số dương, tính tổng của chúng.
Hướng dẫn: Để giải quyết bài toán cần phải đảm bảo các vấn đề:
a- Nhập mảng. Các thao tác theo yêu cầu:
(1) Nhập số n.
(2) Tiến hành lặp (từ 1 đến n) và nhập cho các giá trị Ai trong mảng.
b-  Tính trung bình cộng các phần tử cho một mảng A:
(1) Khai báo và khởi tạo tổng S là 0.
(2) Sử dụng một vòng lặp (từ 1 đến n để duyệt qua tất cả các giá trị A i) để
tính cộng dồn giá trị của Ai vào tổng S.
(3) Tính trung bình cộng TBC =S/n (lấy tổng S chia cho n phần tử)
(4) Thông báo kết quả TBC
c- Đếm xem có bao nhiêu số dương, tính tổng của chúng:

(1) Khai báo và khởi tạo biến đếm d=0
(2) Sử dụng một vòng lặp (từ 1 đến n để duyệt qua tất cả các giá trị Ai)
Nếu phần tử Ai >0 thì tăng biến đếm d lên 1 đơn vị
(3) Thông báo kết quả biến đếm d
Chương trình:
Var i, n,d: integer; S, TBC:real;
A: array[1..50] of Real;
Begin {nhập các phần tử vào mảng}
Write(‘Nhap so phan tu cua mang n=’); Readln(n);
For i:=1 to n do
Begin write(‘Nhap phan tu thu ‘, i,’ =’); Readln(A[i]); End;
S:=0; {tính tổng}
For i:=1 to n do S:=S+A[i];
TBC:=S/n;
Writeln(‘Trung binh cong cua cac phan tu trong mang la:’,TBC:3:1);
Var

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

8


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

d:=0; {đếm số phần tử dương trong dãy số}
For i:=1 to n do
If A[i]>0 then d:=d+1;
Writeln(‘Day tren so so phan tu duong la:’,d);

Readln;
End.
Bài tập:
Bài 1: Đọc vào n số nguyên từ bàn phím.
a. Tính tổng và trung bình cộng các số đã cho
b. Tính tổng các số lẻ và trung bình cộng các số chẵn.
c. Tính trung bình cộng các số thuộc đoạn [20,200]
Bài 2: Lập trình đọc từ bàn phím dãy n số ngun.
a. Đếm xem trong dãy có bao nhiêu số lẻ.
b. Đưa ra màn hình các số lẻ có trong dãy.

Bài 3:

Đếm số lần xuất hiện của giá trị X trong mảng A.

Ví dụ: A:        1   5   6   7   4   1   5   5   1   1
           
X:        1
Kết quả:    So lan xuat hien X la 4
2.3.2.3.2. Dạng 2: Sắp xếp các phần tử trong mảng theo chiều tăng hoặc
giảm dần
VD: Lập trình sắp xếp dãy số nguyên theo chiều tăng dần. Đưa dãy số đã
sắp xếp ra màn hình.
Ý tưởng: - Nhập n, nhập các phần tử cho mảng a.
- Dùng 2 vòng For lồng nhau:
Vòng For 1:Dùng biến i chạy từ 1 đến n-1
Vòng For 2: Dùng biến j chạy từ i+1 đến n
Nếu a[i]>a[j] thì đổi chỗ a[i] cho a[j]
- Đưa ra màn hình dãy số đã sắp xếp.
Chương trình:

Var i, n, j, tg: integer;
A: array[1..50] of Integer;
Begin
Write(‘Nhap so phan tu cua mang n=’); Readln(n);
For i:=1 to n do
Begin write(‘Nhap phan tu thu ‘, i,’ =’); Readln(A[i]); End;
For i:=1 to n-1 do
For j:=i+1 to n do
If a[i]>a[j] then
Begin tg:=a[i]; a[i]:=a[j]; a[j]:=tg; end;
Writeln(‘Day da sap xep la:’);
For i:=1 to n do Write(a[i],’ ‘);
Readln;
End.
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

9


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Bài tập:
Bài 1: Lập trình sắp xếp dãy số nguyên theo chiều giảm dần. Đưa dãy số đã sắp
xếp ra màn hình.
Ý tưởng: - Nhập n, nhập các phần tử cho mảng a.
- Dùng 2 vòng For lồng nhau:
Vòng For 1:Dùng biến i chạy từ 1 đến n-1
Vòng For 2: Dùng biến j chạy từ i+1 đến n

Nếu a[i]- Đưa ra màn hình dãy số đã sắp xếp.
Bài 2: Lập trình đọc dãy n số nguyên, sau đó làm các việc sau:
a. Sắp xếp các số chẵn lên đầu dãy.
b. Sắp xếp các số chia hết cho 5 lên đầu dãy.
c. Sắp xếp các số lẻ và nhỏ hơn 10 xuống cuối dãy.
2.3.2.3.3. Dạng 3: Tìm giá trị lớn nhất và nhỏ nhất của dãy số.
VD: Viết chương trình tìm giá trị lớn nhất và nhỏ nhất của một mảng chứa
các số nguyên gồm N phần tử.
Ý tưởng:
- Cho số lớn nhất và số nhỏ nhất là số đầu tiên: Max:=a[1]; Min:=a[1];
- Duyệt qua các phần tử a[i], với i chạy từ 2 tới N:
Nếu a[i]>Max thì thay Max:=a[i];
Nếu a[i]Var

Chương trình:
i, n, Max,Min: integer;
A: array[1..50] of Integer;

Begin
Write(‘Nhap so phan tu cua mang n=’); Readln(n);
For i:=1 to n do
Begin write(‘Nhap phan tu thu ‘, i,’ =’); Readln(A[i]); End;
Max:=a[1]; Min:=a[1];
For i:=2 to n do
Begin
If MaxIf Min>a[i] then Min:=a[i];
End;

Writeln(‘So lon nhat la:’,Max);
Writeln(‘So nho nhat la:’,Min);
Readln;
End.
Bài tập:
Bài 1: Nhập vào một mảng gồm n số nguyên và số nguyên k. Tìm và đưa ra
màn hình:  
   
a.Giá trị lớn nhất của mảng, vị trí lớn nhất đó
   
b. Gía trị nhỏ nhất của màng, vị trí
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

10


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

   
c. Tính tổng bình phương các giá trị ở vị trí chẵn
   
d. Sắp xếp mảng theo thứ tự tăng dần
  
e. Đếm xem trong mang có bao nhiêu giá trị bằng k.
Bài 2: Đọc vào k số nguyên từ bàn phím
a. Tìm giá trị chẵn nhỏ nhất trong k số đã cho
b. Tìm giá trị âm nhỏ nhất trong k số đã cho.
2.3.2.4. Bài tập nâng cao

Bài 1: Nhập số tự nhiên N . Viết chương trình chuyển đổi số N sang hệ cơ số
2 (hệ nhị phân)
VD: 16
2
8 (dư 0) 2
4 (dư 0) 2
2 (dư 0) 2
1(dư 1) 2
0
Vậy 16(2)=1000
19
2
9 (dư 1) 2
4 (dư 1) 2
2 (dư 0) 2
1(dư 1) 2
0
Vậy 19(2)=1011
Ý tưởng: Lấy số N chia cho 2 ghi lấy phần dư. Lấy thương chia tiếp cho 2
rồi ghi lấy phần dư. Quá trình lấy thương chia cho 2 cho đến khi thương bằng 0
thì dừng. Kết quả số nhị phân thu được là dãy số dư ghi từ dưới lên.
Chương trình:

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

11



Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Bài 2: Viết chương trình thực hiện phân tích ra N ra thành các thừa số
nguyên tố.
            Ví dụ: N = 1260 = 2 . 2 . 3 . 3 . 5 . 7
 
Ý tưởng: Thuật tốn phân tích một số ra thừa số nguyên tố tương tự như
thuật toán kiểm tra số nguyên tố. Điểm khác ở đây là khi kiểm tra số nguyên tố
ta phải lần lượt kiểm tra các số nhỏ hơn sqrt(n) (căn bậc hai của n) có phải là
ước của n hay khơng, cịn khi phân tích ta chỉ việc chia n cho các số nguyên bắt
đầu từ số nguyên tố nhỏ nhất là 2. Khi khơng chia được nữa thì ta tăng số chia
lên 1 đơn vị, q trình phân tích kết thúc khi n bằng 1.
Chương trình:

Bài 3: Tìm dãy con tăng dài nhất của một dãy số có n phần tử cho trước.
Ý tưởng:
– Dãy con là dãy các phần tử liên tục thuộc một dãy có trước (dãy mẹ)
thỏa mãn một tính chất nào đó.
– Để quản lí một dãy con cần chỉ số đầu và chỉ số cuối (hoặc một chỉ số
(nơi bắt đầu dãy con) và độ dài của dãy).
– Để xây dựng một dãy con cần:
+ Xây dựng giá trị ban đầu.
+ Duyệt qua các phần tử của dãy bắt đầu từ phần tử thứ 2. Nếu:
* Thỏa điều kiện a[i]>a[i-1], tăng độ dài thêm 1 ngược lại:
* Nếu dãy con đang xét cần lưu thì: Lưu lại độ dài, chỉ số
đầu dãy, Xác định lại độ dài, chỉ số đầu của dãy mới.
        
* Nếu dãy con đang xét khơng cần lưu thì: Xác định lại độ
dài, chỉ số đầu của dãy mới.
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal


skkn

12


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Chương trình:

* Kết quả chương trình:

- Dãy số: 0 4 5 6 7 là dãy con tăng dài nhất có trong dãy số.

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

13


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Bài 4: Sắp xếp các sổ chẵn lên đầu dãy theo chiều giảm dần, số lẻ cuối dãy theo
chiều tăng dần.
Chương trình:

Kết quả chương trình:

Bài tập làm thêm: Đọc vào n số nguyên từ bàn phím.

a. Sắp xếp các số chẵn và lớn hơn 10 lên đầu dãy, tiếp theo là các số lẻ,
cuối cùng là các số còn lại.
b. Đọc vào 2 số a, b. Xếp các số thuộc đoạn [a,b] lên đầu dãy, tiếp theo là
các số nhỏ hơn a, cuối cùng là các số còn lại.

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

14


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Bài 5: Viết chương trình chèn phần tử X vào vị trí k trong mảng A có N phần tử.
Xố phần tử ở vị trí h trong mảng A.
Ví dụ: A :        12    2   3     6     5     17
X = 20 ,           k = 3                h = 2
Kết quả chèn:  12    2   3     20   6     5    17
Kết quả xoá:    12    2   20   6     5    17
* Ý tưởng:
a. Chèn một phần tử X vào vị trí k nào đó cho mảng A (có N phần tử). Ý
tưởng thuật toán:
+ Dịch chuyển các phần tử từ vị trí k đến N-1 lùi một vị trí, trở thành các
phần tử từ vị trí k+1 đến N. Lưu ý, để tránh trường hợp các phần tử đè lên nhau,
giải thuật phải tiến hành di dời các phần tử sau trước….đến các phần tử k sau.
+ Gán giá trị cho A[k] là x.
+ Tăng số lượng phần tử của A lên 1 tức là Sau khi chèn xong thì số phần
tử trong mảng là N+1 phần tử.
b. Xố một phần tử ở vị trí k trên mảng A (có N phần tử). Ý tưởng thuật

tốn:
+ Dịch chuyển các phần tử từ vị trí k đến N-1 tiến về trước một vị trí, trở
thành các phần tử từ vị trí k-1 đến N-2.
+ Giảm số lượng phần tử của A xuống 1 tức là Sau khi chèn xong thì số
phần tử trong mảng là N+1 phần tử.
Bài 6: Tìm kiếm và thay thế. Tìm kiếm vị trí xuất hiện của x trên mảng A.
Thay thế những giá trị Ai là x thành y.
Ví dụ: A:        1   5   6   7   4   1   5   5   1   1
            X=5     Y=15
Kết quả:          Vi tri xuat hien X la 1
Ket qua thay the: 1   15   6   7   4   1   15   15   1   1
* Mở rộng:  
+ Tìm kiếm các cặp 2 phần tử gần nhau có tổng chia hết cho 10. Thay thế
các phần tử đó bằng tổng của chúng.
Ví dụ: A:  1   19   62   7      8   32   12
Kết quả:
20   20   62   7    40   40   12
Hướng dẫn mở rộng:
Var i,k:Integer;
Begin
For i:=0 to N do
If( (A[i-1]+A[i]) mod 10 = 0) then
Begin
k := (A[i-1]+A[i]);

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

15



Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

A[i-1] := k;
A[i] := k;
End;
End.
Bài 7: Loại người ra khỏi vịng trịn:
Một nhóm gồm N học sinh thực hiện trị chơi loại người ra khỏi vòng tròn. Luật
chơi như sau: N học sinh được đánh số hiệu từ 1 đến N xếp thành vòng tròn và học
sinh thứ M bị loại ra khỏi vịng trịn tính theo chiều kim đồng hồ. Khi một học sinh bị
loại khỏi vịng trịn, thì vòng tròn thu hẹp lại và đếm thứ tự từ học sinh còn lại bên
cạnh để xác định học sinh bị loại tiếp theo, cứ như vậy cho đến khi nào trên vòng tròn
chỉ còn một học sinh. Nhập hai số tự nhiên N, M hãy chỉ ra số hiệu của học sinh còn
lại trên vòng tròn.
Dữ liệu vào từ file: bailam4.inp
Dòng 1: Số tự nhiên N, M
Dữ liệu ra file: bailam4.out
Dòng 1: Số hiệu của học sinh còn lại trên vịng trịn
Ví dụ: Dữ liệu vào từ file: bailam4.inp
10 5
Dữ liệu ra file: bailam4.out
3

Chương trình:
Var M,N,i,j,d,loai:Byte;
a:array[1..100] of 0..1;
Begin
Write(' Nhap so hoc sinh:'); Readln(N);

Write(' Hoc sinh bi loai dau tien: '); Readln(M);
For i:=1 to N do a[i]:=1;
loai:=0; i:=0; d:=0;
Repeat
i:=i mod N + 1;
If (a[i]<>0) and (dBegin inc(d);
if d=M then
Begin a[i]:=0;
d:=0; Inc(loai); End;
End;
Until loai >= N-1;
Writeln(' CON NGUOI THU:');
d:=0;
For i:=1 to N do
If a[i]=1 then
Begin
write(i:5);
Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

16


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Inc(d);
End;
If d=0 then write('0');

Readln;
End.
2.4. Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với
bạn bạn thân, đồng nghiệp và nhà trường
Trong những năm bồi dưỡng học sinh giỏi dự thi Tin học trẻ cấp Tỉnh và cấp
tôi nhận thấy rằng: Tuy điều kiện về cơ sở vật chất rất khó khăn (17 máy); tài
liệu bồi dưỡng có liên quan đến lập trình Pascal của trường ít ỏi; Nhưng với
những kinh nghiệm trên khi các em học đến mảng một chiều đã gây hứng thú
học tập cho học sinh, phát huy được năng lực học tập độc lập, tự mình tìm ra
kiến thức mới, sáng tạo trong các bài tập thực hành và khơng cịn cảm thấy bỡ
ngỡ, sợ sai và ngại khi thực hành lập trình mà thay vào đó là niềm đam mê, sự
hứng thú, u thích mơn học, bình tĩnh, tự tin vào bản thân khi dự thi.
Cụ thể về kết quả thi Tin học trẻ cấp tỉnh vào tháng 11/2021 của tôi như
sau:
Số giải cấp tỉnh
Năm học

Giải nhất

Giải nhì

2021-2022

Giải ba

Giải KK

01

01


Ghi chú

Với kết quả như trên tôi hy vọng rằng khi áp dụng phương pháp này vào dạy
cho học sinh khi học mảng một chiều sẽ ngày càng nâng cao được chất lượng
cho học sinh giỏi Tin học cho nhà trường, cho Huyện và cho Tỉnh nhà.
Cịn với đồng nghiệp tơi tin rằng khi các bạn áp dụng phương pháp này vào
dạy câu lệnh rẽ nhánh thì các bạn khơng phải mất nhiều thời gian dạy cho các
em từ những kiến thức cơ bản nữa. Mà qua kinh nghiệm này các bạn còn khắc
sâu được kiến thức cho các em thông qua các bài tập nâng cao và luyện cho các
em cách làm bài thi thực hành trên máy. Từ đó nâng cao được chất lượng học
sinh giỏi các cấp cho nhà trường.

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

17


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

3. KẾT LUẬN VÀ KIẾN NGHỊ
3.1. Kết luận:
Trên đây là một số kinh nghiệm mà bản thân tơi tự tích luỹ được qua những
năm được phân công bồi dưỡng đội tuyển học sinh giỏi. Rất mong được các bạn
đồng nghiệp và lãnh đạo phụ trách chun mơn Phịng giáo dục và đào tạo - Sở
giáo dục và đào tạo xây dựng, góp ý để bản thân tơi ngày càng được nâng cao
tay nghề, để công tác bồi dưỡng học sinh giỏi Tin học trẻ của trường tôi đạt kết
quả cao hơn.

3.2. Kiến nghị:
Để phương pháp dạy ngày một thực thi hơn. Là giáo viên trực tiếp giảng dạy
môn Tin học tơi đề nghị:
- Với BGH trường, Phịng giáo dục và đào tạo, UBND Huyện: Tôi đề nghị
cấp trên trang bị thêm máy tính, tài liệu tham khảo về các kiến thức về máy tính,
lập trình Turbo Pascal để các em được thực hành nhiều hơn trong mỗi tiết học,
buổi học bồi dưỡng; phát huy được tinh thần tự học, tự nghiên cứu.
- Với Phòng giáo dục và đào tạo – Sở giáo dục và đào tạo: Khi tổ chức kỳ thi
học sinh giỏi cấp Huyện – cấp Tỉnh cho các mơn văn hóa nên đưa thêm cả mơn
Tin học để các em được cọ sát, làm quen với các kỳ thi góp phần nâng cao chất
lượng học sinh giỏi mơn Tin học./.
Xác nhận của thủ trưởng đơn vị

Thanh Hóa, ngày 15 tháng 03 năm 2022
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 làm sáng kiến

Nguyễn Thị Tâm
 

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

18


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal


TÀI LIỆU THAM KHẢO
1. Tin học dành cho học sinh THCS quyển 3 của nhà xuất bản Giáo dục - Phạm
Thế Long (chủ biên)
2. Turbo pascal 7.0 của PGS-PTS Bùi Thế Tâm
3. Lập trình Turbo pascal 7.0 của Hồng Hồng
4. Em tập lập trình của Đỗ Trần Hùng

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

skkn

19


Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal

Skkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascalSkkn.huong.dan.hoc.sinh.gioi.lop.8.giai.bai.tap.mang.mot.chieu.trong.pascal



×