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

De tai NVSP mang hai chieu 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 (191.41 KB, 36 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>MỤC LỤC</b>



<b>Phần 1. Mở đầu...5</b>


1. Lí do chọn đề tài...5


2. Yêu cầu của một đề tài...5


2.1 Phạm vi của đề tài...5


2.2 Tính chất của một đề tài...6


2.3 Giả thiết khoa học...6


3. Phương pháp nghiên cứu...6


<b>Phần 2. Nội dung đề tài...7</b>


Chương I. Những căn cứ về mặt lý luận, phục vụ cho việc
nghiên cứu đề...7


I. Nghiên cứu về mặt lí luận...7


1. Nghiên cứu về mặt lí luận...8


2. Cơ sở phương pháp luận...9


II. Những cơ sở của nhương pháp dạy học...11


Chương II. Phân bậc hoạt động . ...12



I. Phân bậc hoạt động...13


1. Phân bậc hoạt động là gì...13


2. Những căn cứ của phân bậc hoạt động ...15


3. Căn cứ vào độ phức tạp của đối tượng hoạt động...17


4. Sự trừu tượng hóa, khái quát hóa của đối tượng...18


5. Nội dung hoạt động của đối tượng ở mảng hai chiều...20


6. Căn cứ vào sự phức hợp hoạt động của đối tượng
ở mảng hai chiều...23


7. Chất lượng của hoạt động...25


8. Phối hợp nhiều phương diện là
căn cứ phân bậc hoạt động...27


II. Điều khiển quá trình học tập dựa vào
sự phân bậc của hoạt động...29


<b>1.</b> Chính xác hóa mục tiêu...29


<b>2.</b> Tuần tự nâng cao yêu cầu...30


<b>3.</b> Tạm thời hạ thấp yêu cầu khi cần thiết...33


<b>4.</b> Tiến hành dạy học phân hóa...35



<b>Phần 3. Kết luận...38</b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

LỜI CẢM ƠN


Ngày nay, cơng nghệ thơng tin có ảnh hưởng sâu rộng tới toàn bộ các
lĩnh vực trong cuộc sống và trên tồn thế giới. Dù muốn hay khơng thì tất cả
chúng ta đều phải cơng nhận là như vậy. Đó là một ngành ra đời muộn
nhưng lại phát triển vô cùng mạnh mẽ hơn tất cả các ngành khác và ảnh
hưởng đến tất cả các lĩnh vực còn lại. Trong đó khơng loại trừ ngành giáo
dục.


Cùng với q trình hội nhập của đất nước, giáo dục cũng đòi hỏi phải
có những bước tiến, bước phát triển vượt bậc. Cơng nghệ thông tin là một
trong hai lĩnh vực đi đầu trong nền kinh tế tri thức của thời kì hội nhập. Việc
ứng dụng công nghệ thông tin vào tất cả các ngành nghề đang phát triển một
cách mạnh mẽ, giáo dục cũng khơng nằm ngồi trào lưu đó của xã hội. Phải
nói rằng để có được một người xuất sắc trong lĩnh vực tin học người đó phải
được đào tạo từ khi cịn ở trên ghế nhà trường. Và mơn tin học đã được đưa
vào trường học ở nước ta như là điều tất yếu.


Nhưng làm thế nào để dạy và học cho tốt ở môn học mới mẽ nhưng
đầy lý thú này? trong khi điều kiện trang thiết bị và giáo viên ở nước ta còn
thiếu thốn và non trẻ. Điều đó cần phải có một đội ngũ giáo viên nhiệt tình
và năng động. Là một sinh viên đang học ngành sư phạm tin học em ln có
mong muốn đem hết sức mình để có thể học tốt và dạy tốt, góp một phần bé
nhỏ vào cơng cuộc xây dựng tương lai của đất nước, đó là các em học sinh
tương lai. Trước hết emvô cùng cảm ơn các thầy cô giáo Khoa công nghệ
thông tin trường đại học sư phạm Hà Nội đã nhiệt tình giảng dạy chúng em
tiếp cận với bộ môn mới này. Đã dạy chúng em trở thành là thầy giáo, cô


giáo. Đặc biệt là cơ giáo Trần Dỗn Vinh người đã hướng dẫn em môn bài
tập nghiệp vụ sư phạm và cũng là người chỉ dạy em cả về kiến thức lẫn kỹ
năng để trở thành một cô giáo tốt trong tương lai. Cảm ơn các bạn đông
nghiệp đã cung cấp thông tin tài liệu để đề tài hoàn thành đầy đủ nội dung và
đúng kỳ hạn.


Tuy nhiên, do điều kiện thời gian, kiến thức còn hạn chế nên bài tập
nghiệp vụ sư phạm của em cịn nhiều thiếu sót. Mong các thầy cơ và các bạn
góp ý để đề tài có thể hồn thiện hơn.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Phần 1 Mở đầu</b>


1.

<b>Lý do chọn đề tài</b>



Sự phát triển của công nghệ thông tin được xem là lĩnh vực then chốt
trong nền kinh tế của mỗi quốc gia và được ứng dụng rộng rãi trên nhiều
lĩnh vực của đời sống khoa học kỹ thuật. Việc áp dụng công nghệ thông tin
có thể giúp các tổ chức các doanh nghiệp, cá nhân tiết kiệm được chi phí,
thời gian làm việc khoa học và đem lại hiệu quả kinh tế cao.


Hiện nay bộ GD-ĐT đã và đang triển khai đưa việc giảng dạy tin học
vào nhà trường phổ thông và xem tin học như là mơn học chính khố trong
nhà trường. Nhưng do điều kiện khách quan nên việc áp dụng tin học vào
nhà trường phổ thơng cịn gặp nhiều hạn chế:


- Do kinh phí cịn hạn hẹp nên việc trang bị máy móc cịn thiếu.
- Đội ngũ giáo viên cịn thiếu về số lượng và yếu về chất lượng.


- Tin học là một mơn khoa học địi hỏi sự tư duy của học sinh tốt nên
việc tiếp thu kiến thức tin học của học sinh cịn gặp nhiều khó khăn(đặc biệt
là trong việc học tập ngơn ngữ lập trình)



Trong q trình dạy học có nhiều vấn đề giáo viên chưa khai thác hết
cũng như những khó khăn mà học sinh mắc phải trong quá trình tiếp thu
kiến thức mới. Với thực trạng như vậy đề tài này đưa ra những vấn đề mới,
những yếu tố cịn hồi nghi, chưa biết, nhằm qua đó giúp cho học sinh có thể
tiếp thu tốt kiến thức tin học ở nhà trường phổ thông.


Đề tài hứa hẹn phát hiện ra những cái mới có tính quy luật, giúp giáo
viên có thể thực hiện tốt những phương pháp giảng dạy của mình cũng nhưn
giúp học sinh lĩnh hội tốt kiến thức tin học trong nhà trường phổ thông.


<b>2. Yêu cầu của một đề tài</b>
<b>2.1</b> <b>Phạm vi của đề tài</b>


Đề tài: “phân bậc hoạt động hoạt động trong việc giảng dạy dữ liệu có
cấu trúc mảng hai chiều”


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>2.2. Tính chất của một đề tài</b>


Đề tài với mục đích nghiên cứu và áp dụng rộng rãi tong việc giảng dạy
tin học trong nhà trường phổ thông.


<b>2.3. Giả thiết khoa học</b>


+ Đề tài dự kiến là một vấn đề cần nghiên cứu và đã có nhiều người
cần nghiên cứu.


+ Mặc dù đã có nhiều người tham gia nghiên cứu nhưng còn nhiều
vấn đề chưa được giải quyết thoả đáng. Học sinh tiếp thu cấu trúc mảng cịn
gặp khó khăn.



+ Từ những yếu tố trên dể dàng thấy rằng đề tài hứa hẹn tìm ra những
cái mới có tính quy luật.


+ Đề tài đi sâu vào nghiên cứu áp dụng vào phương pháp dạy học tin
học ở trường phổ thơng.


+ Để hướng tới việc tìm ra những phương pháp dạy học tích cực giúp
việc tiếp thu kiến thức tin học của học sinh được tốt đề tài này đi sâu vào
nghiên cứu việc gợi động học tập mảng một chiều.


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Phần 2 Nội dung đề tài</b>
<b>Chương I</b>.


<b> NHỮNG CĂN CỨ VỀ MẶT LÝ LUẬN, PHỤC VỤ </b>
<b>CHO VIỆC NGHIÊN CỨU ĐỀ TÀI</b>


Các phương pháp nghiên cứu thường dùng trong khoa học và giáo dục
nói chung và phương pháp dạy mơn tin học nói riêng là: Nghiên cứu lý luận,
Quan sát - điều tra, Tổng kết kinh nghiệm và Thực nghiệm giáo dục.


<b>I.</b> <b>Nghiên cứu về mặt lý luận</b>


Trong nghiên cứu lý luận người ta dựa vào những tài liệu sẵn có,
những lý thuyết đã được khẳng định, những thành tựu của nhân loại trên
những lĩnh vực khác nhau như Tâm lý học, Giáo dục học, Tin học, ... để xem
xét vấn đề, tìm ra giải pháp hợp lý có sức thuyết phục vận dụng vào PPDH
Tin học.


Người ta cũng nghiên cứu cả những kết quả của bản thân chuyên


ngành PPDH Tin học để kế thừa những cái hay, phê phán và gạt bỏ những
cái dở, bổ xung và hoàn chỉnh những nhận thức đã đạt được.


Những hình thức thường dùng trong nghiên cứu lý luận là:


<i>- Phân tích tài liệu lý luận: Giúp chúng ta chọn đề tài, đề ra mục đích nghiên</i>
cứu, hình thành giả thuyết khoa học, xác định tư tưởng chủ đạo và đánh giá
sự kiện. Khi nghiên cứu lý luận, ta cần phân tích, tổng hợp, so sánh, khái
quát để tìm ra ý mới. Cái mới ở đây có thể là một lý thuyết hồn tồn mới,
nhưng cũng có thể là một cái mới đan kết với những cái cũ, có thể là một sự
tổng hợp những nét riêng lẻ đã chứa trong cái cũ, nêu bật cái bản chất từ
những cái cũ, bổ xung, cụ thể hóa lý thuyết cũ.


- So sánh quốc tế: Giúp chúng ta lựa chọn, xây dựng phương án tác động
giáo dục trên cơ sở đánh giá, so sánh tài liệu, cách làm của những nước khác
nhau.


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

kiến thức Tin học. Nó cũng được dùng để kiểm nghiệm một hiện tượng, một
q trình có thỏa mãn những tiêu chuẩn, yêu cầu, điều kiện đặt ra hay
không.


<i><b>1. Nghiên cứu về mặt lý luận</b></i>


Quan sát điều tra được sử dụng rộng rãi trong nghiên cứu giáo dục.
Đó là phương pháp tri giác có mục đích một hiện tượng giáo dục nào đó để
thu lượm những số liệu, tài liệu, sự kiện cụ thể đặc trưng cho quá trình diễn
biến của hiện tượng mà ta dự định khảo sát. Chúng ta quan tâm đến chất
lượng của các mối quan hệ, của các hoạt động, của tình huống. Điều tra
giống quan sát ở chỗ cùng dựa vào và khai thác những hiện tượng có sẵn,
khơng chủ động gây nên những tác động sư phạm, nhưng quan sát thiên về


xuất phát từ những dấu hiệu bên ngồi, cịn điều tra có thể khai thác những
thơng tin sâu kín từ bên trong, chẳng hạn cho làm những bài kiểm tra rồi
đánh giá.


Quan sát - điều tra giúp chúng ta theo dõi hiện tượng giáo dục theo
trình tự thời gian, phát hiện những biến đổi số lượng, chất lượng gây ra do
tác động giáo dục. Nó giúp ta thấy được những vấn đề thời sự cấp bách địi
hỏi phải nghiên cứu hoặc góp phần giải quyết nhiệm vụ nghiên cứu. Môi
trường tự nhiên là nguồn cung cấp dữ liệu trực tiếp cho ta. Người nghiên
cứu đến trực tiếp một nơi nào đó mà họ quan tâm để quan sát và thu thập dữ
liệu, bởi vì các hoạt động chỉ có thể hiểu tốt nhất là trong môi trường tự
nhiên, trong ngữ cảnh mà chúng xuất hiện.


Quan sát - điều tra thực tiễn sư phạm, chẳng hạn thăm lớp dự giờ sẽ
giúp chúng ta nhận thức được thực trạng dạy học Tin, phát hiện được những
vấn đề thời sự cấp bách cần nghiên cứu, giúp ta thu được những tài liệu sinh
động và bổ ích cho nhiệm vụ nghiên cứu.


Theo mối quan hệ giữa đối tượng quan sát - điều tra với người nghiên
cứu thì có các dạng quan sát - điều tra trực tiếp, gián tiếp, cơng khai, kín
đáo. Theo dấu hiệu về thời gian thì có quan sát - điều tra liên tục, gián đoạn.


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

(chẳng hạn một giờ như thế nào được đánh giá là học sinh hoạt động rất tích
cực, khá tích cực, kém tích cực). Các loại dữ liệu thu thập được trong nghiên
cứu bao gồm văn bản ghi chép các cuộc phỏng vấn, các sổ ghi chép, ảnh,
băng hình, ghi âm, phiếu điều tra, nhật ký, ... giúp ta dựng lại một cách đầy
đủ những gì mà ta đã quan sát được, giúp ta lý giải được vì sao họ lại nghĩ
như thế, tại sao họ lại làm như vậy?, ...


Trong khi quan sát - điều tra diễn biến thực của những hiện tượng sư


phạm, có khi người ta tình cờ phát hiện ra những sự kiện, hiện tượng sư
phạm mới ngoài dự kiến ban đầu.


<i><b>2. Cơ sở phương pháp luận</b></i>


Tổng kết kinh nghiệm thực chất là đánh giá và khái quát hóa những
kinh nghiệm đã thu thập được trong hoạt động thực tiễn, từ đó phát hiện ra
những vấn đề cần khẳng định để đưa ra áp dụng rộng rãi hoặc cần tiếp tục
nghiên cứu hay loại bỏ. Nó có nguồn gốc từ kinh nghiệm, mang tính khoa
học, được lĩnh hội, kiểm chứng từ quá trình hoạt động thực tiễn sinh động.
Bài học kinh nghiệm là sự cụ thể hóa một cách sáng tạo tư tưởng, luận điểm,
lý luận giáo dục đã đi vào cuộc sống. Trong quá trình nghiên cứu tổng kết
kinh nghiệm, có khi người ta khám phá ra những mối liên hệ có tính quy luật
của những hiện tượng giáo dục.


Những kinh nghiệm cần được đặc biệt chú ý là kinh nghiệm tiên tiến, kinh
nghiệm thành công và kinh nghiệm lặp lại nhiều lần. Kinh nghiệm giáo dục
ở những đơn vị tiên tiến có thể được coi là dạng lý luận giáo dục đã được
kiểm chứng trong thực tiễn, trong những tình huống, điều kiện cụ thể của
môi trường giáo dục. Những bài học của sự thành công cần được đề cập với
tư cách là cứ liệu đối chiếu, so sánh làm rõ kinh nghiệm thành công. Chúng
cần được xem xét một cách khách quan, khoa học, biện chứng theo tính lịch
sử của vấn đề rút ra những kết luận có tính thuyết phục, có độ Tin cậy cao.
Qua tổng kết kinh nghiệm, chúng ta có được những bài học kinh nghiệm
hàm chứa những tri thức, thông Tin, kỹ năng, những giải pháp, biện pháp về
hướng đi và cách làm mới có giá trị, đem lại hiệu quả, chất lượng cao hơn
trong điều kiện đổi mới giáo dục của đất nước hiện nay.


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

hổ biến, mới loại bỏ được những yếu tố ngẫu nhiên, đi sâu vào bản chất của
sự vật, hiện tượng, đạt tới những kinh nghiệm có giá trị khoa học đích thực.


Chỉ khi đó tổng kết kinh nghiệm mới thật sự là một phương pháp nghiên cứu
khoa học hữu hiệu. Những bài học kinh nghiệm, những kết luận về lý
luậngiáo dục góp phần bổ xung, làm cho lý luận giáo dục được hồn thiện
hơn, mang tính thực tiễn cao hơn, tránh được tình trạng lý luận sng. Bài
học kinh nghiệm giáo dục phải bảo đảm có được một sự khái quát nhất định,
mang tính khoa học với tính lý luận cụ thể và đặc biệt phải mang tính thực
tiễn cao.


Bài học kinh nghiệm cần trình bày theo trình tự sau:
- Tên bài học kinh nghiệm


- Nêu bối cảnh xuất hiện vấn đề mà khi giải quyết dẫn đến bài học kinh
nghiệm.


- Những kết quả đạt được gắn với nhiệm vụ nghiên cứu.
- Hệ thống biện pháp đã vận dụng đạt kết quả cao.


- Đánh giá tác dụng, hiệu quả của bài học kinh nghiệm, đưa ra nhận định
có tính khái qt về bài học mang tính lý luận.


Tổng kết kinh nghiệm khơng chỉ đơn giản là trình bày lại những cơng việc
đã làm và những kết quả đã đạt được. Là một phương thức nghiên cứu khoa
học, nó phải được tiến hành theo một quy trình nghiêm túc, thường là như
sau:


Phát hiện cần đảm bảo cả về mặt định tính và phần nào về mặt định
lượng, tức là phải thu thập đủ về dữ liệu, tư liệu về sự kiện, việc làm, các


Liệt kê sự kiện, mơ tả q
trình



Tước bỏ những yếu tố ngẫu
nhiên làm bộc lộ cái bản chất


Phát hiện mối quan hệ nhân
quả


Dùng lý luận soi sáng


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

hoạt động đã tiến hành đạt kết quả cao nhất. Trong đó cần chú trọng đến
những dữ liệu, tư liệu, thông tin mà nội dung của chúng phản ánh mối quan
hệ giữa kết quả với nguyên nhân và biện pháp. Những bước của q trình
phát hiện có thể là:


- Nêu mục đích yêu cầu phát hiện.
- Triển khai những hình thức phát hiện.
- Thẩm định, bổ sung thông tin.


- Tiến hành xử lý thông tin.


Khi tiến hành xử lý thơng tin phải căn cứ vào cái có thực thu được qua
quá trình khảo sát, phát hiện thu thập được. Dùng lý luận để phân tích các tư
liệu, số liệu rút ra được từ thực tiễn. Rút ra bài học kinh nghiệm dưới dạng
khái quát mang tính lý luận hay khẳng định về mặt lý luận và thực tiễn.
Trong quá trình xử lý, cần áp dụng những thao tác tư duy khoa học, trừu
tượng hóa các yếu tố ngẫu nhiên, tìm ra tính đặc thù, tất yếu mà chúng đã
thể hiện trong bối cảnh, hoàn cảnh cụ thể.


Phần cuối của sơ đồ cho thấy rõ mối liên hệ giữa tổng kết kinh
nghiệm với nghiên cứu lý luận và thực nghiệm giáo dục.



<b>II.</b> <b>Những cơ sở của phương pháp dạy học</b>


Cho phép ta tạo nên những tác động sư phạm vào quá trình dạy học và
giáo dục. Những tác động này xảy ra trong những điều kiện có thể khống
chế, điều chỉnh, thay đổi được, ít chịu ảnh hưởng của những yếu tố ngẫu
nhiên khác, từ đó xác định và đánh giá kết quả của những tác động đó.


Đặc trưng của thực nghiệm giáo dục là nó khơng diễn ra một cách tự
phát mà là dưới sự điều khiển của nhà nghiên cứu. Nhà nghiên cứu tổ chức
quá trình giáo dục một cách có ý thức, có mục đích, có kế hoạch, tự giác
thiết lập và thay đổi những điều kiện thực nghiệm cho phù hợp với ý đồ
nghiên cứu của mình.


Trong những điều kiện nhất định, thực nghiệm giáo dục cho phép ta
khẳng định hoặc bác bỏ một giả thuyết khoa học đã đề ra.


Trong thực nghiệm giáo dục ta cần giải thích rõ kết quả, làm rõ
nguyên nhân bằng lý luận hoặc bằng sự phân tích q trình thực nghiệm.


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

vào nhiều yếu tố tâm lý. Những kết quả thực nghiệm thường chỉ có ý nghĩa
xác suất, phải xử lý bằng phương pháp thống kê. Để thống kê cho kết quả
Tin cậy, cần phải đo lường, định lượng được các dấu hiệu, đó là việc làm
khơng dễ. Vì thế ta khơng nên lạm dụng phương pháp thực nghiệm giáo dục.
Khi nghiên cứu một hiện tượng giáo dục, trước hết có thể dùng những
phương pháp khơng địi hỏi q nhiều cơng sức, ví dụ như nghiên cứu lý
luận, quan sát, tổng kết kinh nghiệm. Chỉ ở những chỗ các phương pháp này
chưa đủ sức thuyết phục, chỉ ở một số khâu mấu chốt, ta mới dùng thực
nghiệm giáo dục.



Thông thường những phương pháp được sử dụng kết hợp với nhau,
làm cho kết quả thu được vừa có tính lý luận, vừa có tính thực tiễn. Chẳng
hạn, qua nghiên cứu lý luận, quan sát, tổng kết kinh nghiệm, người ta đề
xuất một giả thuyết khoa học rồi đem thực nghiệm giáo dục để kiểm nghiệm.
Sau đó, lại dùng lý luận để phân tích kết quả, xác định nguyên nhân và khái
quát hóa lên một trình độ cao hơn, tổng quát hơn những điều đã đạt được.
Trong phạm vi đề tài này chúng ta sẽ đưa ra nội dung giảng dạy cấu
trúc mảng một chiều bằng phương pháp phân bậc hoạt động cho học sinh
bằng cách phân tích một số ví dụ cụ thể.


<b>Chương II</b>


<b>XÂY DỰNG HỆ THỐNG BÀI TẬP CHO MẢNG HAI CHIỀU</b>
Việc học tập tự giác, tích cực, chủ động và sáng tạo địi hỏi học sinh
phải có ý thức về những mục tiêu đặt ra và tạo được động lực bên trong thúc
đẩy bản thân học sinh hoạt động để đạt được các mục tiêu đó. Điều này được
thực hiện trong dạy học không chỉ đơn giản bằng việc nêu rõ mục tiêu mà
quan trọng hơn còn do gợi động cơ.


Phân bậc hoạt động là làm cho học sinh có ý thức về ý nghĩa của
những hoạt động và của đối tượng hoạt động. Phân bậc hoạt động nhằm làm
cho những mục tiêu sư phạm biến thành những mục tiêu của cá nhân học
sinh chứ không phải chỉ là sự vào bài, đặt vấn đề một cách hình thức.


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>I.</b> <b>PHÂN BẬC HOẠT ĐỘNG</b>


Có thể phân bậc hoạt động xuất phát từ thực tế hoặc từ nội bộ Tin học.
Khi phân bậc hoạt động xuất phát từ thực tế, có thể nêu lên thực tế gần
gũi xung quanh học sinh, thực tế từ những môn học trong nhà trường và
trong xã hội. Những bài tốn có nội dung thực tế, hoặc gắn ý nghĩa thực tế


vào tình huống công việc để tập trung chú ý cho học sinh. Tuy nhiên việc
gợi đông cơ xuất phát từ thực tế cần phải đảm bảo tính chân thực, đơn giản,
nêu vấn đề khơng địi hỏi q nhiều tri thức bổ sung, khi giải quyết vấn đề
càng ngắn càng tốt.


Việc phân bậc hoạt động xuất phát từ thực tế góp phần hình thành thế
giới quan duy vật biện chứng. Nhờ đó học sinh nhận thức rõ việc cải tạo thế
giới đòi hỏi phải suy nghĩ và giải quyết những vấn đề tin học như thế nào,
tức là nhận rõ Tin học bắt nguồn từ những nhu cầu của đới sống thực tế. Vì
vậy cần khai thác triệt để mọi khả năng để phân bậc hoạt động xuất phát từ
thực tế.


Tin học phản ánh thực tế một cách toàn bộ và nhiều tầng, do đó khơng
phải bất cứ nội dung nào, hoạt động nào cũng có thể được phân bậc hoạt
động xuất phát từ thực tế. Vì vậy ta cịn tận dụng cả những khả năng phân
bậc hoạt động xuất phát từ bộ môn Tin học.


Phân bậc hoạt động từ bộ môn Tin học là nêu một vấn đề tin học xuất
phát từ nhu cầu tin học, từ những phương thức tư duy và hoạt động tin học.
Nhờ phân bậc hoạt động từ bộ mơn Tin học, học sinh hình dung đúng sự
hình thành và phát triển của Tin học cùng với đặc điểm của nó và có thể dần
dần tiến tới hoạt động tin học một cách độc lập.


<b>1. Phân bậc hoạt động là gì?</b>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

khi nhận xong điểm cho m thí sinh đó thì cho biết những thí sinh nào được
vào vịng trong? Có bao nhiêu điểm thành phấn cao nhất?


Học sinh vừa học xong mảng một chiều nên biết mảng một chiều chỉ lưu
một dãy số hoặc là n điểm của thí sinh, hoăc là m số báo danh của học sinh


vì thế khơng thể dùng mảng một chiều để lưu n điểm của m thí sinh. Ta cũng
không thể dùng hai mảng một chiều; một để lưu n điểm và một để lưu số báo
danh được vì như thế khi tính điểm trung bình, khi đếm điểm thành phần cao
nhất sẽ rất thủ công, phức tạp và dài dịng khơng khoa học.


Do u cầu lưu n điểm cho m thí sinh, tính điểm trung bình, đếm điểm
thành phần cao nhất nên ta cần tổ chức dữ liệu là mảng hai chiều để duyệt đi
duyệt lại.Những kiến thức cần là khai báo mảng hai chiều có m dịng cho m
thí sinh, và có n+1 cột để lưu n điểm thành phần và một cột điểm trung bình
cho một thí sinh. Nhận vào điểm của mỗi thí sinh trên một dòng và điểm của
giám khảo trên một cột.Khi vào xong cho một thí sinh máy tính điểm trung
bình và in lên màn hình cùng dịng với điểm thành phần. Vào xong dữ liệu
cho m thí sinh máy thơng báo kết quả lên màn hình theo yêu cầu của đề bài.


Sau đây là chương trình:
program saomai;


uses crt;


const m=4; n=3; dc=7.5;
var a:array[1..m,1..n+1]of real;
i,j,dem:byte;


t,cn:real;
BEGIN clrscr;


write('Nhap diem cua tung giam khao cho moi thi sinh: ');
writeln;


for i:=1 to m do


begin


write(' Giam khao thu ',i);
writeln;


end;
cn:=0;
dem:=0;


writeln('Diem trung binh');
writeln;


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

write('Thi sinh ',i,': ');
writeln;


t:=0;


for j:=1 to n do
begin


readln(a[i,j]);
t:=t+a[i,j];


if cn<a[i,j] then cn:=a[i,j];
end;


a[i,n+1]:=t/n;


writeln(a[i,n+1]:0:1);
end;



writeln('Nhung thi sinh vao vong trong co so bao danh ');
for i:=1 to m do


begin


if a[i,n+1]>=dc then write(i:5);
for j:=1 to n do


if a[i,j]=cn then inc(dem);


end;


writeln(#10);


writeln(dem,' diem cao nhat(',cn:5:1,')da duoc cho');
readln;


END.


<b>2. Căn cứ của những phân bậc hoạt động</b>


<i><b>Ví dụ:</b></i> Nhận vào một mảng vng gồm n dịng, n cột. Tìm xem số lớn
nhất trong mảng nằm ở vị trí nào?


Ở những ví dụ trước học sinh đã biết tìm số lớn nhất, giờ ta lấy lại ví dụ
đó và hướng dẫn học sinh chỉnh sửa một chút ta sẽ được chương trình mới
đúng như yêu cầu.



Từ chương trình củ ta khai báo thêm biến vị trí để xác định vị trí của số
lớn nhất đó, dù là mảng hai chiều nhưng ta cũng biết chính xác số đó ở cột
thứ mấy và ở dòng nào.


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

Chương trình như sau:
program min_max;


uses crt;
const n=3;


var a:array[1..n,1..n]of integer;


i,j,max,min,vtx1,vtx2,vtn1,vtn2:integer;
BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;




end;


max:=a[1,1]; vtx1:=1; vtx2:=1;
for i:=1 to n do


for j:=1 to n do
begin


if max < a[i,j] then
begin


max:=a[i,j];
vtx1:=i;
vtx2:=j;
end;


end;


min:=a[1,1]; vtn1:=1; vtn2:=1;
for i:=1 to n do


for j:=1 to n do
begin


if min > a[i,j] then
begin


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

vtn2:=j;


end;


end;


writeln('Max cua mang la: ',max:2,' ','o dong ',vtx1:2,' ','cot',vtx2:2);
writeln('Min cua mang la: ',min:2,' ','o dong ',vtn1:2,' ','cot',vtn2:2);
readln;


END.


<b>2.1. căn cứ vào độ phức tạp của đối tượng hoạt động</b>


<i><b>Bài tập: </b></i>Nhập vào một mảng hai chiều. Tìm những số nguyên tố cùng
nhau với phần tử đầu tiên của mảng đó?


Khi học về mảng hai chiều học sinh đã được học cách khai báo cũng như
cách truy nhập đến các phần tử của mảng.Khi hướng dẫn học sinh làm bài
tập này giáo viên có thể nhắc lại để giúp học sinh khắc sâu hơn các khái
niệm này.


Khai báo: var <tên mảng>:array[chỉ số dòng,chỉ số cột]of kiểu phần tử.
Truy nhập: Để truy nhập đến một phần tử của mảng hai chiều ta viết tên
mảng và đặt giữa hai dấu ngoặc vng đóng mỡ là chỉ số dòng và chỉ số cột,
lưu ý là chỉ số dòng trước và chỉ số cột sau cách nhau bởi dấu phẩy.


Truy nhập đến các phần tử của mảng là truy nhập đến địa chỉ của ô nhớ
để lấy nội dung lưu giá trị của phần tử đó. Khi truy nhập đến phần tử đầu
tiên của mảng tức là chỉ số dịng i=1, cơt j=1(a[1,1]) thì giá trị của phần tử
đó là một số cụ thể. Cho vịng FOR duyệt từng phần tử của mảng dể tìm số
nguyên tố cùng nhau với phần tử đầu tiên của mảng(a[i,j],a[1,1]).



for i:=1 to n do
for j:=1 to n do


if ntcn(a[i,j],a[1,1]) then write(a[i,j]:6);
Chương trình chính là:


program nguyento;
uses crt;


const n=3;


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

function ntcn(x,y:word):boolean;
begin


while x<>y do
if x>y then x:=x-y
else y:=y-x;


ntcn:=x=1;
end;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');


readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do



begin


for j:=1 to n do
write(a[i,j]:3);
writeln;


end;


writeln('Cac nguyen to cung nhau voi a[1,1] la: ');
for i:=1 to n do


for j:=1 to n do


if ntcn(a[i,j],a[1,1]) then write(a[i,j]:6);
readln;


END.


<b>2.2. Sự trừu tượng hóa, khái quát hóa của đồi tượng</b>
<i><b>Ví dụ: </b></i>Tính tổng ba số nguyên được nhập từ bàn phím.


Học sinh sẽ rất dể dàng khi tính được tổng ba số nguyên nhập từ bàn


phím.


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

Học sinh đã biết cách tính tổng của ba số, từ đó ta khái qt lên thành bài
tốn tính tổng của tất cả các phần tử có trong mảng .


Ta dùng hai vòng lặp FOR để duyệt dòng và cột, sau khi duyệt xong một
phần tử thì phần tử đó được cộng dồn và lưu vào một biến tổng S cho đến
phần tử cuối cùng trong mảng.


for i:=1 to n do
for j:=1 to n do
s:=s+a[i,j];


Chương trình tính tổng ba số ngun:


program tongbaso;
uses crt;


var a,b,c,s:integer;
begin clrscr;


writeln('Nhap so a: '); readln(a);
writeln('Nhap so b: '); readln(b);
writeln('Nhap so c: '); readln(c);
s:=a+b+c;


writeln('Tong cua ba so a, b, c la: ',s:6);
readln;


end.



Chương trình tính tổng của mảng:
program tong;


uses crt;
const n=4;


var a:array[1..n,1..n]of integer;
i,j,s:integer;


begin clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;
end;


s:=0;



for i:=1 to n do
for j:=1 to n do
s:=s+a[i,j];


writeln('Tong cua ma tran: ',s:6);
readln;


end.


<b>2.3. Nội dung hoạt động của đối tượng của mảng hai chiều</b>
Thường dùng trong những tiết ôn tập, hệ thống những kiến thức đã học.
<i><b>Bài tập:</b></i> Viết chương trình thực hiện những cơng việc sau:


1.Nhập một mảng vng n dịng, n cột.
2.In ra mảng vừa nhập.


3.Tính đường chéo chính.
4.Tính đường chéo phụ.


Thực ra từng mục con trong bài tập này là những bài tập riêng lẽ mà học
sinh đã quen làm từ trước. Vì vậy khi hướng dẫn học sinh làm bài tập này
giáo viên cần hệ thống lại kiến thức đã học, sắp xếp những cơng việc cần
làm một cách có khoa học, để học sinh dễ hình dung và có cái nhìn tổng
quan hệ thống những công việc mà học sinh sắp làm:


Công việc đầu tiên là nhập một mảng vng n dịng và n cột.
Tiếp đến là in ra mảng vừa nhập.


Tiếp theo là tính đường chéo chính và đường chéo phụ và cuối cùng là in
ra màn hình kết quả vừa tính được.



Hướng dẫn cho học sinh thực hiện từng công việc là một chương trình
con riêng biệt, sau đó sử dụng vịng lặp REPEAT để đưa ra các lựa chọn
cơng việc,dùng câu lệnh CASE để lựa chọn cơng việc mà mình muồn thực
hiện.


Đây cũng là sự tiện lợi và hợp lí hóa trong khi làm việc với mảng hai
chiều.


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

program mang2chieu;
uses ctr;


const n=4;


type mg=array[1..n,1..n] of word;
mgg=array[1..n,1..n] of word;
var a,b,c:mg;i,j:byte;


e:array[1 .. n*n]of word ; tl:integer;
procedure nhap(var a:mg);


begin


writeln('Nhap mang ');
for i:=1 to n do


for j:=1 to n do
repeat


write('a[',i,',',j,']='); readln(a[i,j]);



if (a[i,j]<3) or (a[i,j]>1999) then writeln('Vao lai');
until (a[i,j]>2) and (a[i,j]<2000);


readln;
end;


procedure inmang( var a:mg);
begin


writeln('---');
writeln('Day la mang thu ');


for i:=1 to n do
begin


for j:= 1 to n do write(a[i,j]:6);
writeln;


end;
end;


procedure dcc ( var a:mg);
var tdcc:integer;


begin


writeln('---');
tdcc:=0;



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

write(' Tong duong cheo chinh ',tdcc);
writeln;


end;


procedure dcp( var a:mg);
var tdcp:integer;


begin


writeln('---');
tdcp:=0;


for i:=1 to n do
for j:=1 to n do


tdcp:=tdcp+a[i,n-i+1];


write('Tong duong cheo phu ',tdcp);
writeln;


end;


BEGIN clrscr;
repeat


writeln('***************************************');
write('Lam viec voi mang');


writeln;



writeln('1.Nhap mang');
writeln('2.In mang');


writeln('3.Tinh tong duong cheo chinh');
writeln('4.Tinh tong duong cheo phu');


writeln('Ban chon viec nao(1/2/3/4)?, chon 0 la thoat');
repeat


readln(tl);


if(tl<0) or (tl>4) then write('chon lai');
until (tl>=0) and (tl<=4);


case tl of
1:begin


writeln('---');
nhap(a);


end;
2:begin


writeln('---');
inmang(a);


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

3:begin


writeln('---');


dcc(a);


end;
4:begin


writeln('---');
dcp(a);


end;
end;
until tl=0;
END.


<b>2.4. Căn cứ vào sự phức hợp hoạt động của đối tượng ở mảng </b>
<b>hai chiều</b>


<i><b>Ví dụ:</b></i> Nhập hai mảng A, B, in ra ba mảng A,B,C=2*A-B.


Muốn in ra được mảng C ta phải nhập hai mảng A, B trước. Khi biết các
phần tử của hai mảng A, B ta tính được các phần tử trong mảng C.


Ở đây mảng C phải liên hệ và phụ thuộc vào hai mảng A,B.
C[i,j] = 2*A[i,j] - B[i,j]


Ta có chương trình chính:
program mang2chieu;


uses crt;


const m=3; n=4;



type mg=array[1..m,1..n] of integer;
var a,b,c:mg;i,j:integer;


procedure nhap(t:char;var x:mg);
begin


writeln('Nhap mang ',t);
for i:=1 to m do


for j:=1 to n do
repeat


write('x[',i,',',j,']= ');
readln(x[i,j]);


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

until (x[i,j]<10) and (x[i,j]>0) ;
end;


procedure mangc;
Begin


For i:=1 to m do
For j:=1 to n do


c[i,j]:= (2*a[i,j]) - b[i,j];
end;


procedure inmang(t:char;x:mg);
begin



writeln('---');


writeln('Day la mang ',t,':');
for i:=1 to m do


begin


for j:= 1 to n do write(x[i,j]:10);
writeln;


end;
end;
BEGIN clrscr;
nhap('a',a);
nhap('b',b);
inmang('a',a);
inmang('b',b);
mangc;


inmang('c',c);
readln;


END.


<b>2.5. Chất lượng của hoạt động</b>


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

Khi đưa ra ví dụ này giáo viên cần hướng dẫn học sinh dùng hai vòng lặp
FOR để duyệt dịng và cột, nếu gặp hàng chẵn thì tính tổng của hàng đó và


tiếp tục duyệt hàng tiếp theo. Dùng một biến SC để lưu kết quả của việc
cộng dồn tất cả các hàng chẳn.


for i:=1 to n do
for j:=1 to n do


if i mod 2 =0 then
sc:=sc+a[i,j];
Chương trình như sau:




program tonghangchan;
uses crt;


const n=6;


var a:array[1..n,1..n]of integer;
i,j,sc:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);




end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;
end;


sc:=0;


for i:=1 to n do
for j:=1 to n do
if i mod 2 =0 then
sc:=sc+a[i,j];


writeln('Tong cac hang chan la: ',sc:4);
readln;


END.


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

duyệt dòng và cột, dùng một biến SL để lưu kết quả tính tổng. Nhưng khi
tính tổng các hàng lẻ thì điều kiện đưa ra ngược lại với khi tính tổng các
hàng chẵn đó là:




for i:=1 to n do
for j:=1 to n do



if j mod 2 <> 0 then
sl:=sl+a[i,j];


Sau đây là chương trình:
program tongcotle;


uses crt;
const n=4;


var a:array[1..n,1..n]of integer;
i,j,sl:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);



end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin for j:=1 to n do


write(a[i,j]:3); writeln;
end;


sl:=0;


for i:=1 to n do
for j:=1 to n do
if j mod 2 <> 0 then
sl:=sl+a[i,j];


writeln('Tong cac hang le la: ',sl:6);
readln;


END.


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

<i><b>Ví dụ:</b></i> Nhập một mảng vng gồm n dịng, n cột và tìm phần tử lớn nhất
của mảng đó.


Trong khi học mảng một chiều học sinh đã biết tìm max của một dãy số
bằng cách gán phần tử đầu tiên của dãy là số lớn nhất, sau đó dùng vòng
FOR để duyệt từng phần tử của dãy đồng thời so sánh các phần tử vừa duyệt
đó với số lớn nhất của dãy nếu nhỏ hơn thì bỏ qua và duyệt tiếp nếu lớn hơn
thì gán số lớn nhất cho phần tử đó. Tương tự như mảng một chiều ta tìm
max của mảng hai chiều cũng như vậy, chỉ có điều ta phải dùng hai vòng lặp
FOR để duyệt dòng và duyệt cột:


max:=a[1,1];
for i:=1 to n do
for j:=1 to n do
begin



if a[1,1]< a[i,j] then max:=a[i,j];
end;


Chương trình như sau:
program tim_max;
uses crt;


const n=4;


var a:array[1..n,1..n]of integer;
i,j,max:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;


end;


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

for i:=1 to n do
for j:=1 to n do
begin


if a[1,1]< a[i,j] then max:=a[i,j];
end;


writeln('Phan lon nhat cua mang la: ',max:3);
readln;


END.


Ra bài tập cho học sinh về nhà làm: Nhập một mảng gồm m dịng n
cột, và tìm min của mảng?


Hướng dẫn cho học sinh làm tương tự như tìm max, chỉ có điều kiện
là khác thơi.


program tim_min;
uses crt;


const n=4; m=5;


var a:array[1..n,1..m]of integer;
i,j,min:integer;


BEGIN clrscr;



writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin


write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin


for j:=1 to n do


write(a[i,j]:3); writeln;
end;


min:=a[1,1];
for i:=1 to n do
for j:=1 to n do
begin


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

end;



writeln('Phan be nhat cua mang la: ',min:3);
readln;


END.


<b>II.</b> <b>ĐIỀU KHIỂN QUÁ TRÌNH HỌC TẬP DỰA VÀO</b>


<b>SỰ PHÂN BẬC CỦA HOẠT ĐỘNG</b>


Phân bậc hoạt động là phân bậc hoạt động cho những hoạt động tiến
hành trong những bước đó đạt được mục tiêu. Phân bậc hoạt động trung gian
có ý nghĩa to lớn đối với sự phát triển năng lực độc lập giải quyết vấn đề.


<b>1. Chính xác hóa mục tiêu</b>


<i><b>Ví dụ:</b></i> Hãy viết chương trình nhập và in ra một ma trận vng với điều
kiện: các phần tử trên đường chéo chính đều bằng 1, còn lại các phần tử ở
các vị trí khác đều bằng 0.


Từ trước học sinh đã quen với khái niệm mảng, nhập mảng, nhập mảng
có điều kiện, in mảng và đường chéo. Giờ ta nói cho học sinh biết khái niệm
ma trận chỉ là một cách gọi khác của mảng, và nhập ma trận với đường chéo
chính bằng 1, các phần tử ở vị trí khác bằng 0 nghĩa là nhập mảng với điều
kiện:


IF i=j THEN a[i,j]=1;
IF i<>j THEN a[i.j]=0


Ta quy bài tốn về dạng nhập và in mảng có điều kiện, chương trình như


sau:


program matran;
uses crt;


var a:array[1..n,1..n]of integer;
i,j,n:integer;


BEGIN clrscr;


</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

for i:=1 to n do
for j:=1 to n do
repeat


write('a[',i,',',j,']= ');
readln(a[i,j]);


if ((i=j) and (a[i,j]<>1)) or ((i<>j) and (a[i,j]<>0))
then writeln('Moi vao lai ');


until (i=j) and (a[i,j]=1) or (i<>j) and (a[i,j]=0);
writeln('Cac phan tu cua ma tran la: ');


for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;
end;


readln;


END.


<b>2. Tuần tự nâng cao u cầu</b>


<i><b>Ví dụ: </b></i>Viết chương trình tính tổng nữa phía trên và nữa phía dưới đường
chéo chính.


1 5 3 5


6 2 0 3
1 3 4 4
2 5 1 3


Nữa trên gồm các phần tử: 5,3,5,0,3,4
Nữa dưới gơmg các phần tử: 6,1,2,3,5,1


Cách tính tổng thì học sinh đã biết, vấn đề còn lại là dùng vòng lặp FOR
như thế nào để duyệt từng phần tử của nữa trên hoặc nữa dưới của đường
chéo chính từ đó cộng dồn các phần tử đó để được tổng.


Giáo viên hướng dẫn để học sinh xác định được vòng FOR i bắt đầu
duyệt từ phần tử nào đến phần tử nào, vòng FOR j bắt đầu duyệt từ phần tử
nào đến phần tử nào.Vì nếu khơng xác định đúng thì khi tính tổng cho ra kết
quả sai:


Nữa trên đường chéo chinh:
FOR i:=1 TO n-1 DO


FOR j:=i+1 TO n DO



nữa trên


</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

Nữa dưới đường chéo chinh:
FOR j:=1 TO n-1 DO


FOR i:=j+1 TO n DO


Chương trình được viết như sau:
program tongnuadcc;


uses crt;
const n=4;


var a:array[1..n,1..n]of integer;
i,j,sct,scd:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');


readln(a[i,j]);
end;


writeln('Cac phan tu cua mang la: ');


for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;
end;


sct:=0;


for i:=1 to n-1 do
for j:=i+1 to n do
sct:=sct+a[i,j];


writeln('Tong duong cheo chinh nua tren la: ',sct:3);
scd:=0;


for j:=1 to n-1 do
begin


for i:=j+1 to n do
scd:=scd+a[i,j];
end;


writeln('Tong duong cheo chinh nua duoi la: ',scd:3);
readln;


END.


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30>

uses crt;
const n=4;



var a:array[1..n,1..n]of integer;
i,j,spt,spd:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin for j:=1 to n do
write(a[i,j]:3); writeln;


end;
spt:=0;


for i:=1 to n-1 do
for j:=1 to n-i do
spt:=spt+a[i,j];



writeln('Tong duong cheo phu nua tren la: ',spt:3);
spd:=0;


for i:=2 to n do
for j:=n-i+2 to n do
spd:=spd+a[i,j];


writeln('Tong duong cheo phu nua duoi la: ',spd:3);
readln;


END.


<b>3. Tạm thời hạ thấp yêu cầu khi cần thiết</b>


<i><b>Bài tập:</b></i> Nhập một mảng vng gồm n dịng, n cột. Tính đường chéo
chính của mảng.


</div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

Như vậy những phần tử trên đường chéo chính có chỉ số I, J bằng nhau.
Ta dùng vòng lặp FOR để duyệt các phần tử của mảng, dùng một biến
TDCC để lưu kết quả tính tổng .


for i:=1 to n do
tdcc:=tdcc+a[i,i];
Ta có chương trình như sau:
program dcc;


uses crt;
const n=4;


var a:array[1..n,1..n]of integer;


i,j,tdcc:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do


for j:=1 to n do


begin write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin


for j:=1 to n do


write(a[i,j]:3); writeln;
end;


tdcc:=0;


for i:=1 to n do
tdcc:=tdcc+a[i,i];


writeln('Tong duong cheo chinh la: ',tdcc:3);


readln;


END.


Sau khi hướng dẫn học sinh làm bài tính tổng đường chéo chính của
mảng, tương tự như vậy ta cho học sinh tính tổng đường chéo phụ của
mảng?


Đường chéo phụ bắt đầu từ dòng 1 cột n đến dòmg m cột 1.


</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

cũng dùng vòng lặp FOR dể duyệt dòng tuy nhiên chỉ số ở dòng I, cột J của
mảng là khác.


for i:=1 to n do


tdcp:=tdcp+a[i,n-i+1];
Sau đây là chương trình chính:


program dcp;
uses crt;
const n=4;


var a:array[1..n,1..n]of integer;
i,j,tdcp:integer;


BEGIN clrscr;


writeln('Nhap cac phan tu cho mang');
for i:=1 to n do



for j:=1 to n do
begin


write('a[',i,',',j,']= ');
readln(a[i,j]);


end;


writeln('Cac phan tu cua mang la: ');
for i:=1 to n do


begin


for j:=1 to n do


write(a[i,j]:3); writeln;
end;


tdcp:=0;


for i:=1 to n do


tdcp:=tdcp+a[i,n-i+1];


writeln('Tong duong cheo phu la: ',tdcp:3);
readln;


END.



<b>4. Tiến hành hoạt động phân hóa</b>


</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

Khi đưa ra bài tập này cho học sinh làm giáo viên đã đặt mục tiêu
trước và hướng dẫn cho học sinh làm theo ý đồ của mình đó là học sinh phải
làm được công việc sau:


1.Nhập các phần tử có điều kiện vào mảng cụ thể là nhập điểm cho
học sinh với điều kiện là khơng có điểm ai có điểm 1, 2 và 10, nếu chúng ta
nhập những điểm đó thì báo nhập sai và cho phép nhập lại. Từ việc nhập
mảng này ta có thể cũng cố cho học sinh cách khai báo mảng.


if (a[i,j]>=10) or (a[i,j]<=2) then writeln('Moi vao lai ');
until (a[i,j]<10) and (a[i,j]>2) ;


2.Tính điểm trung bình cho từng tổ. Từ việc tính điểm trung bình cho
từng tổ, học sinh nắm chắc kỹ năng truy nhập đến các phần tử của mảng để
lấy giá trị và tính tốn. Hiểu rõ được vịng FOR hoạt động như thế nào từ đó
sử dụng vịng FOR để duyệt dịng và cột, ví dụ khi tính tổng điểm của tổ 1
thì chỉ số dịng I=1, cịn J thì chạy từ 1 đến 9. Điểm trung bình sẽ tổng điểm
của dịng 1 chia cho J phần tử:


for i:=1 to 4 do
for j:=1 to 9 do


if i=1 then
S1:=S1+a[1,j];
tb1:=S1/j;


3.Sử dụng vòng lặp FOR duyệt dòng, cột và sử dụng câu lệnh IF để
đếm những phần tử của mảng theo điều kiện cho trước. Cụ thể là đếm những


bạn dưới điểm 5 và đếm những ban đạt điểm 9:


for i:=1 to 4 do
for j:=1 to 9 do


if a[i,j] = 9 then d1:= d1+1;
for i:=1 to 4 do


for j:=1 to 9 do


if (a[i,j]=3)or(a[i,j]=4)then d2:=d2+1;
Ta có chương trình:


program loptin;
uses crt;


var a:array[1..4,3..9]of integer;
i,j,m,n,d1,d2,S1,S2,S3,S4:integer;
tb1,tb2,tb3,tb4:real;


</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

write('Nhap so to: '); readln(m);
write('Nhap diem: '); readln(n);
for i:=1 to m do


for j:=1 to n do
repeat


write('a[',i,',',j,']= ');
readln(a[i,j]);



if (a[i,j]>=10) or (a[i,j]<=2) then writeln('Moi vao lai ');
until (a[i,j]<10) and (a[i,j]>2) ;


for i:=1 to 4 do
for j:=1 to 9 do
if i=1 then
begin


S1:=S1+a[1,j];
tb1:=S1/j;
end;


for i:=1 to 4 do
for j:=1 to 9 do
if i=2 then


begin


S2:=S2+a[2,j];
tb2:=S2/j ;
end;


for i:=1 to 4 do
for j:=1 to 9 do
if i=3 then
begin


S3:=S3+a[3,j];
tb3:=S3/j;


end;


for i:=1 to 4 do
for j:=1 to 9 do
if i=4 then
begin


S4:=S4+a[4,j];
tb4:=S4/j;
end;


</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

writeln('Diem tb cua to 2 la: ',tb2:6:3);
writeln('Diem tb cua to 3 la: ',tb3:6:3);
writeln('Diem tb cua to 4 la: ',tb4:6:3);
d1:=0;


for i:=1 to 4 do
for j:=1 to 9 do


if a[i,j] = 9 then d1:= d1+1;


writeln('So ban dat diem 9 la: ',d1:3);
d2:=0;


for i:=1 to 4 do
for j:=1 to 9 do


if (a[i,j]=3)or(a[i,j]=4)then d2:=d2+1;
writeln('So ban bi diem duoi 5 la: ',d2:3);
readln;



END.


<b>Phần 3 Kết luận</b>


<b>ĐỀ TÀI CÓ NHỮNG KHÓ KHĂN VÀ THUẬN LỢI</b>


Quá trình nghiên cứu và thực hiện đề tài này, bản thân em đã cố gắng
tìm tịi học hỏi, tham khảo tài liệu để xây dựng những bài tập đảm bảo nội
dung, đồng thời được sự giúp đỡ của thầy, cô giáo và các bạn nên đề tài đã
được hồn thành.


Song bên cạnh đó đề tài cũng có nhiều khó khăn nhất định: Do thời
gian có hạn và điều kiện phạm vi nghiên cứu không cho phép, đồng thời do
chưa được trải nghiệm nên có nhiều bở ngỡ dẫn đến đề tài chưa sâu sắc,
chưa chặt chẽ.... Rất mong được sự giúp đỡ của thầy, cô và các bạn để đề tài
của em được hoàn thiện hơn.


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36></div>

<!--links-->

×