1. Trang chủ
  2. » Công Nghệ Thông Tin

sách giáo viên tin học thcs tham khảo

105 808 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 105
Dung lượng 1,93 MB

Nội dung

 Viết được chương trình đơn giản, khai báo đúng biến, câu lệnh vào/ra đểnhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình; Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ;

Trang 1

o Biết cách sử dụng được các phần mềm học tập trình bày trong SGK.

o Hiểu được ý nghĩa của các phần mềm máy tính ứng dụng trong các lĩnhvực khác nhau của cuộc sống

 Kĩ năng:

o Giải được một số bài toán đơn giản trên máy tính bằng cách vận dụngthuật toán đơn giản, dữ liệu chuẩn trên ngôn ngữ lập trình bậc cao cụ thể

o Sử dụng và khai thác thành thạo các phần mềm học tập được giới thiệu

o Rèn luyện khả năng thao tác nhanh với bàn phím và chuột máy tính

o Nâng cao ý thức và lòng say mê học tập các môn học

2 Nội dung chương trình

Lập trình đơn giản

Trang 2

- Thuật toán và ngôn ngữ lập trình;

- Chương trình Turbo Pascal (TP) đơn giản;

Biết được một chương trình là mô

tả của một thuật toán trên một ngônngữ cụ thể

Kĩ năng

Mô tả được thuật toán đơn giảnbằng liệt kê các bước

- Nên chọn thuậttoán của bài toángần gũi, quenthuộc với họcsinh

Biết các thành phần cơ sở củangôn ngữ Pascal

Hiểu được một số kiểu dữ liệuchuẩn

Hiểu được cách khai báo biến

- Có thể sử dụngngôn ngữ lậptrình khác theohướng dẫn thựchiện chươngtrình

- Minh hoạ các

Trang 3

CHủ Đề MứC Độ CầN ĐạT GHI CHú

Biết được các khái niệm: phéptoán, biểu thức số học, hàm số họcchuẩn, biểu thức quan hệ

Hiểu được lệnh gán

Biết các câu lệnh vào/ra đơn giản

để nhập thông tin từ bàn phím vàđưa thông tin ra màn hình

Kĩ năng

Viết được chương trình TP đơngiản, khai báo đúng biến, câu lệnhvào/ra để nhập thông tin từ bànphím hoặc đưa thông tin ra mànhình

khái niệm bằngmột chươngtrình TP đơngiản

- Cần xây dựngcác bài thựchành và tổ chứcthực hiện tạiphòng máy đểhọc sinh đạtđược những kỹnăng theo yêucầu

Biết sử dụng đúng và có hiệu quảcâu lệnh rẽ nhánh

- Nhấn mạnh 3cấu trúc điềukhiển là tuần tự,

rẽ nhánh và lặp

- Trình bày đượcthuật toán củamột số bài toán

rẽ nhánh thườnggặp, chẳng hạngiải phươngtrình bậc nhất

Biết được các tình huống sử dụngtừng loại lệnh lặp

Kĩ năng

Viết đúng lệnh lặp với số lần địnhtrước

- Kĩ năng chỉyêu cầu sử dụnglệnh lặp với sốlần định trước

Trang 4

- Yêu cầu họcsinh viết đượcchương trình củamột số bài toánsau: nhập giá trịphần tử củamảng, in, tínhtổng các phần tử

Kĩ năng

Thực hiện được các công việckhởi động/ra khỏi, sử dụng bảngchọn, các thao tác tương tác vớiphần mềm

- Lựa chọn phầnmềm học tậptheo hướng dẫn

chương trình

II Giới thiệu sách giáo khoa tin học dành cho trung học cơ sở - quyển 3

1 Cấu trúc, nội dung và phân bổ thời lượng

Sách giáo khoa Tin học dành cho THCS Q3 được biên soạn theo một sốđịnh hướng cụ thể sau:

 Thể hiện đúng các nội dung, yêu cầu của chương trình đã được Bộ Giáodục và Đào tạo phê duyệt là cung cấp cho học sinh những kiến thức, kĩnăng cơ bản, thiết thực và có hệ thống ban đầu về thuật toán và kĩ thuật lậptrình

Trang 5

 Tiếp cận được trình độ giáo dục phổ thông của các nước tiên tiến trongkhu vực và trên thế giới

 Nội dung sách giáo khoa tập trung vào những kiến thức định hướng để từ

đó học sinh có thể phát huy những yếu tố tích cực của các thành tựu côngnghệ thông tin và tăng cường khả năng tự học

 Nội dung, cách trình bày và diễn đạt ngắn gọn, dễ hiểu thông qua mô tả vàcác ví dụ minh hoạ cụ thể

Cấu trúc

Tương ứng với Chương trình giáo dục phổ thông môn Tin học, cấp Trunghọc Cơ sở (THCS), phần III, sách giáo khoa (SGK) gồm hai phần:

Phần 1- Lập trình đơn giản: gồm 9 bài lí thuyết, 7 bài thực hành;

Phần 2 - Phần mềm học tập: gồm 4 bài lí thuyết kết hợp với thực hành

Nội dung

TIN học dành cho THCS - quyển 3

Phần 1- Lập trình đơn giản

Bài 1 Máy tính và chương trình máy tính

Bài 2 Làm quen với Chương trình và Ngôn ngữ lập trình

Bài thực hành 1 Làm quen với Turbo Pascal

Bài 3 Chương trình máy tính và dữ liệu

Bài thực hành 2 Viết chương trình để tính toán

Bài 4 Sử dụng biến trong chương trình

Bài thực hành 3 Khai báo và sử dụng biến

Bài 5 Từ bài toán đến chương trình

Bài 6 Câu lệnh điều kiện

Bài thực hành 4 Sử dụng lệnh điều kiện if then

Bài 7 Câu lệnh lặp

Bài thực hành 5 Sử dụng lệnh lặp for do

Bài 8 Lặp với số lần chưa biết trước

Bài thực hành 6 Sử dụng lệnh lặp while do

Bài 9 Làm việc với dãy số

Bài thực hành 7 Xử lí dãy số trong chương trình

Trang 6

Phần 2 - Phần mềm học tập

Luyện gõ phím nhanh với Finger Break Out

Tìm hiểu thời gian với phần mềm Sun Times

Học vẽ hình với phần mềm Geogebra

Quan sát hình không gian với phần mềm Yenka

Đề xuất phân bổ thời lượng:

Nội dung Bài lí thuyết hoặc lí

thuyết kết hợp thực

hành

Bài thực hành

Tổng số tiết

b) Phần 1 gồm 9 bài lí thuyết, mỗi bài dạy trong 02 tiết lí thuyết và 01 tiếtbài tập, riêng bài 5 dạy trong 04 tiết lí thuyết và và 02 tiết bài tập; các Bài

Trang 7

1 và 2 không có tiết bài tập riêng Có 7 bài thực hành, mỗi bài dạy trong

02 tiết Phần 2 gồm 4 bài lí thuyết kết hợp thực hành Mỗi bài được dạytrong trọn vẹn 04 tiết Về cơ bản 8 tiết bài tập dành cho việc làm bài tậpphần 1 (Lập trình đơn giản), phần 2 (Phần mềm học tập) không cần tiếtbài tập

c) Thời lượng dành cho ôn tập cuối kì là 04 tiết, mỗi học kì 02 tiết Thờilượng dành cho các bài kiểm tra định kì là 8 tiết, mỗi học kì 04 tiết

Việc phân bổ thời lượng trên đây chỉ là tương đối, trong quá trình dạy học giáoviên (GV) có thể điều chỉnh để phù hợp với tình hình thực tiễn

d) Trong phân bổ thời lượng, số tiết bài tập là khá nhiều (8 tiết) Điều nàythể hiện câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếpthu kiến thức, rèn luyện kĩ năng

e) Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả

HS phải đọc, hiểu, gây quá tải GV có thể chọn lựa, giới thiệu, giải thíchđôi chút để gây hứng thú cho các em ham thích, đọc thêm

3 Gợi ý về cách tiến hành giảng dạy

a) Về cơ bản SGK lựa chọn phương án trình bày kiến thức, kĩ năng chung vềlập trình và sử dụng ngôn ngữ Pascal để minh hoạ Cách tiếp cận này thểhiện rõ việc dạy lập trình nói chung mà không phải là dạy ngôn ngữ lậptrình cụ thể Pascal Tuy nhiên, khi giảng dạy GV không nhất thiết phảitrình bày theo cách tiếp cận này Có thể tiếp cận bằng cách đi từ ngôn ngữlập trình cụ thể Pascal rồi khái quát thành những kiến thức, kĩ năng củalập trình nói chung Cách tiếp cận từ cụ thể đến khái quát có thể sẽ phùhợp hơn với phần lớn HS THCS Trong SGV, ở nội dung của từng bài cụthể được gợi ý về cách dạy học theo hướng từ cụ thể để khái quát

b) Do sử dụng ngôn ngữ Pascal để minh hoạ, thời lượng làm việc với các câulệnh, chương trình, phần mềm TP là khá nhiều nên dễ cảm nhận là đanghọc ngôn ngữ Pascal Vì vậy, trong quá trình dạy học GV cần lưu ý tiếnhành khái quát đúng lúc, đúng chỗ để HS vượt ra khỏi một ngôn ngữ cụthể, rút ra được những kiến thức, kĩ năng, nguyên lí của lập trình nóichung Trong SGV có hướng dẫn thời điểm khái quát hoá kiến thức, kĩnăng ở một số bài học cụ thể

c) Các chương trình được viết khi học ở tiết lí thuyết, tiết bài tập cần để HSchạy thử ở bài thực hành ngay sau đó Làm như vậy sẽ giúp HS củng cố,hiểu rõ hơn về nội dung lí thuyết vừa học Hơn nữa, việc này sẽ giúp tạo

Trang 8

hứng thú, củng cố niềm tin cho HS, gắn kết tốt hơn giữa học với hành Đểtránh HS mất nhiều thời gian vào việc gõ chương trình, GV nên gõ sẵncác chương trình được viết trong giờ lí thuyết, giờ bài tập để HS chỉnhsửa, chạy thử, tìm hiểu trong giờ thực hành, không nên yêu cầu HS gõ cácchương trình này trong tiết thực hành.

d) Trong phân bổ thời lượng dành 8 tiết để làm bài tập, 4 tiết để ôn tập Cáctiết này chưa được định nội dung cụ thể, GV hoàn toàn chủ động đưa ranội dung cho tiết bài tập, ôn tập Tuy nhiên, tiết bài tập nên dành thời gian

để hướng dẫn học sinh làm một số bài tập trong SGK (nếu trong tiết líthuyết chưa làm hết), chuẩn bị cho những bài thực hành sau đó Tuỳ mức

độ tiếp thu của HS, GV có thể ra thêm các bài tập, bổ sung bài thực hànhtrên máy tính để HS ôn luyện kiến thức, kĩ năng Các tiết ôn tập nên được

bố trí vào cuối kì (ngay trước hoặc ngay sau bài kiểm tra cuối học kì),trong tiết ôn tập cần tổng kết, khái quát những kiến thức, kĩ năng trọngtâm của chương trình để HS khắc sâu, ghi nhớ Đặc biệt tiết ôn tập cầnkhái quát hoá để thể hiện được tư tưởng dạy lập trình mà không dạy ngônngữ lập trình cụ thể

e) Trong SGV có gợi ý mô tả một số thuật toán theo cách biểu diễn gần vớicâu lệnh mà học sinh cần viết hoặc cần tìm hiểu trong chương trình tươngứng GV có thể tham khảo, lựa chọn cách mô tả này để giảng dạy phù hợpvới đối tượng HS của mình

f) Các bài toán được giới thiệu trong SGK nói chung là đơn giản, có thể viếtchương trình mà không gặp nhiều khó khăn Đối với một bài toán cụ thể,nhiệm vụ của HS là viết được chương trình Tuy nhiên, qua các bài toán

HS cần hiểu và thực hiện được các bước giải bài toán trên máy tính: Xácđịnh bài toán, xây dựng (lựa chọn) thuật toán và viết chương trình Dovậy, cần thực hiện đầy đủ các bước đi từ bài toán đến chương trình: Xácđịnh input, output của bài toán, xây dựng, mô tả thuật toán bằng cách liệt

kê và viết chương trình

g) Có một thực tế là một số câu lệnh (nhất là câu lệnh có cấu trúc) thì hayđược giới thiệu gắn liền với một số bài toán, thuật toán điển hình nào đó.Cách làm này có thuận lợi là HS vừa học được câu lệnh mới vừa họcđược bài toán, thuật toán mới Tuy nhiên, đối với một số HS việc cùng lúcphải học cả hai nội dung mới không phải lúc nào cũng dễ dàng Để giảmbớt khó khăn cho HS, nên tách việc dạy câu lệnh mới với việc dạy thuậttoán mới, nghĩa là dạy xong câu lệnh rồi đến thuật toán hoặc ngược lại

Trang 9

Trong SGV có giới thiệu một số cách làm như vậy, bài toán sử dụng đểgiới thiệu hoặc áp dụng câu lệnh mới thường dễ hoặc HS đã biết bài toán,thuật toán từ trước Khi đó, HS chỉ còn duy nhất nhiệm vụ tìm hiểu câulệnh, không phải mất thời gian để hiểu bài toán, thuật toán HS chỉ cần tậptrung tìm hiểu câu lệnh mới Ngược lại, khi giới thiệu thuật toán mới thìcần sử dụng câu lệnh HS đã biết sử dụng, lúc đó HS cũng chỉ tập trungvào tìm hiểu thuật toán mới Hi vọng cách làm như vậy sẽ tạo thuận lợi đểhọc sinh tiếp thu kiến thức nhẹ nhàng hơn.

h) SGK là tài liệu mà HS nào cũng có SGK được in màu, hình thức đẹp, cáctranh, ảnh cách trình bày trong SGK đã được chọn lọc, cân nhắc kĩ lưỡng

Vì vậy, cần khai thác tối đa SGK trong quá trình dạy học Một trongnhững việc có thể thực hiện ngay trong lớp học đó là hướng dẫn HS vàdành thời gian cho HS tự nghiên cứu nội dung SGK Ban đầu việc giaobài cho HS đọc có thể mất thời gian, nhưng khi kĩ năng đọc hiểu của HSđược cải thiện thì việc dành thời gian để các em tự đọc có thể sẽ khôngnhững không mất thời gian mà ngược lại sẽ tiết kiệm thời gian

i) Việc dạy học các phần mềm dạy học sẽ hiệu quả hơn nếu tiến hành tạiphòng máy tính Nhưng khi dạy lập trình không nên lạm dụng phòng máytính Tiết thực hành cơ bản là để HS chạy thử chương trình, rèn luyện kĩnăng làm việc với môi trường lập trình Không để tình trạng vào tiết thựchành HS mới biết bài toán và viết chương trình ngay trên máy tính màchưa chuẩn bị trước

j) Việc giới thiệu phần mềm học tập nhằm mục đích chính là cung cấp kiếnthức, rèn luyện kĩ năng khai thác phần mềm cho HS Bên cạnh đó, việckhai thác phần mềm học tập còn nhằm mục đích tạo sự thay đổi, gây thêmhứng thú học tập Do vậy, mặc dù SGK trình bày hai phần tách biệt nhưngkhông có nghĩa là phải dạy theo đúng tuần tự trình bày các bài trong SGK.Nội dung của Phần 2 (Phần mềm học tập) cần được dạy xen kẽ với Phần 1(Lập trình đơn giản) Cũng chính vì lí do này mà trong SGK không đánh

số thứ tự bài ở phần Phần mềm học tập

4 Ôn tập và kiểm tra

a) Thời lượng dành cho ôn tập là 04 tiết (02 tiết/học kì) Căn cứ vào tìnhhình thực tế của lớp học, giáo viên tự xác định nội dung các tiết ôn tập.Tuy nhiên, nên dành các tiết ôn tập để ôn luyện, tổng kết kiến thức, kĩnăng trọng tâm của chương trình Trong các tiết ôn tập GV cần khái quát

Trang 10

kiến thức, kĩ năng lập trình nói chung thể hiện rõ mục tiêu, trọng tâm củachương trình.

b) Thời lượng để kiểm tra, đánh giá là 8 tiết, mỗi học kì 04 tiết Có thể dành

2 tiết cho bài kiểm tra cuối học kì, 2 tiết còn lại dành cho các bài kiểm trađịnh kì trong học kì Nếu tiến hành hai bài kiểm tra định kì (mỗi bài 1 tiết)trong một học kì, thì nên có một bài kiểm tra trên giấy, 1 bài kiểm tra thựchành trên máy Hướng dẫn cụ thể hơn về kiểm tra, đánh giá có trong cuốnHướng dẫn thực hiện chương trình, sách giáo khoa môn Tin học lớp 8 vàphân phối chương trình môn học

c) Nội dung kiểm tra phải đảm bảo cả lí thuyết và thực hành Cần lựa chọnnội dung kiểm tra để đảm bảo bao quát hết kiến thức, kĩ năng trọng tâmcủa chương trình

d) Một số nội dung trong phần lập trình đơn giản thuận lợi cho việc áp dụngphương pháp trắc nghiệm khách quan trong kiểm tra, đánh giá Vì vậy,cần lưu ý tăng cường sử dụng trắc nghiệm khách quan trong kiểm tra,đánh giá nội dung này

e) Việc kiểm tra, đánh giá có tác động đến quá trình dạy học Để định hướnghọc tập đúng cho HS, bên cạnh việc kiểm tra những kiến thức, kĩ nănggắn liền với ngôn ngữ lập trình cụ thể, cần dành một tỉ lệ thích đáng chocâu hỏi, bài tập về kiến thức, kĩ năng lập trình nói chung Những câu hỏi,bài tập này sẽ giúp HS có ý thức chú trọng đến kiến thức, kĩ năng lập trìnhnói chung, tránh HS chỉ chú trọng đến đến chi tiết cụ thể của ngôn ngữ lậptrình Pascal

f) Cần tiến hành đánh giá học sinh trong giờ thực hành, điểm này là điểmkiểm tra thường xuyên (hệ số 1) Trong tiết thực hành có thể đánh giá, chođiểm cả lớp một nhóm hoặc một vài học sinh Tuy nhiên, cần lưu ý mụctiêu của giờ thực hành là để học sinh thực hành, không phải là giờ kiểmtra Kiểm tra trong giờ thực hành là để học sinh tập trung, chăm chỉ,nghiêm túc học tập

g) Việc kiểm tra, đánh giá môn Tin học cấp THCS được thực hiện theo Quychế Đánh giá, xếp loại học sinh trung học cơ sở và học sinh trung học phổthông (Ban hành kèm theo Quyết định số: 40/2006/QĐ-BGDĐT ngày 05tháng 10 năm 2006 của Bộ trưởng Bộ Giáo dục và Đào tạo)

5 Thiết bị dạy học

Trang 11

a) Bộ Giáo dục và Đào tạo đang tiến hành xây dựng, ban hành danh mụcthiết bị dạy học tối thiểu môn Tin học cấp THCS Theo đó, các trườngTHCS phải đáp ứng được danh mục thiết bị dạy học tối thiểu này thì mới

có thể tổ chức dạy học môn Tin học Dự kiến danh mục thiết bị dạy họctối thiểu quy định mỗi trường THCS phải có tối thiểu một phòng máy với

ít nhất 25 máy vi tính nối mạng và kết nối Internet Ngoài máy tính, danhmục còn có các tranh, ảnh được phóng to để dạy học

b) Phần lớn các nội dung dạy học Tin học THCS sẽ rất hiệu quả khi sử dụngcác thiết bị trình chiếu, do vậy máy chiếu projector, máy chiếu overhead,máy chiếu vật thể, là các thiết bị được khuyến khích trang bị để dạy họccho môn Tin học

c) Trong SGK sử dụng phần mềm Turbo Pascal để minh hoạ Phần mềm TPchạy trên các máy tính có tốc độ cao hiện nay có thể bị lỗi Division byzero (khi sử dụng thư viện crt - uses crt) GV có thể tải phần mềm TP đãđược chỉnh sửa lỗi này trên website www.vnschool.net Với các nội dungdạy học trong SGK thì hoàn toàn có thể thay thế TP (for Dos) bằng Pascalfor Windows hoặc Free Pascal Các phần mềm phục vụ dạy học theo SGK(kể cả các phần mềm học tập) đều có thể được tải về từ website nêu trên

và có sẵn trong đĩa CD của GV tham dự lớp bồi dưỡng GV cốt cán

d) Những trường được trang bị hệ thống Hishare (một CPU kết nối với nhiềumàn hình) có thể gặp khó khăn khi sử dụng TP (for DOS), do tốc độ rấtchậm Trong trường hợp đó nên thay thế TP (for DOS) bằng Pascal forWindows hoặc Free Pascal

e) Hiện nay ở một số trường THCS có thể còn có những máy tính cấu hìnhthấp đã được trang bị từ trước Những máy tính này hoàn toàn có thể được

sử dụng để thực hành với phần mềm TP (for DOS) Do vậy, cần rà soát,tận dụng các máy tính cũ để phục vụ cho các tiết thực hành với TP

f) Hiện nay có một số phần mềm hỗ trợ cho việc quản lí dạy học trên phòngmáy tính Hơn thế nữa các phần mềm này còn giúp khai thác phòng thựchành môn Tin học như một phòng đa phương tiện để dạy học môn họckhác Dưới đây giới thiệu một số phần mềm để giáo viên tham khảo:

o XClass: www.hungphat.com.vn.

o Magic Class: www.anhkiet.com.vn.

o NetOPSchool (Đề nghị sử dụng www.google.com để tìm kiếm).

Trang 12

o E-Learning Class (Đề nghị sử dụng www.google.com để tìm kiếm).

Trang 13

B những vấn đề cụ thể phần 1 lập trình đơn giản

 Biết cấu trúc của một chương trình, một số thành phần cơ sở của ngônngữ;

 Hiểu một số kiểu dữ liệu chuẩn, đơn giản, cách khai báo biến;

 Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểuthức quan hệ;

 Biết được các tình huống sử dụng từng loại lệnh lặp;

 Biết được khái niệm mảng một chiều, cách khai báo mảng, truy cập cácphần tử của mảng

Kĩ năng

 Mô tả được thuật toán đơn giản bằng liệt kê các bước;

Trang 14

 Viết được chương trình đơn giản, khai báo đúng biến, câu lệnh vào/ra đểnhập thông tin từ bàn phím hoặc đưa thông tin ra màn hình;

 Viết đúng các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ;

 Biết sử dụng đúng và có hiệu quả câu lệnh điều kiện;

 Viết đúng lệnh lặp với số lần định trước;

 Thực hiện được khai báo mảng, truy cập phần tử mảng, sử dụng cácphần tử của mảng trong biểu thức tính toán

Thái độ

 Nghiêm túc trong học tập, ham thích lập trình trên máy tính để giải cácbài tập

2 Nội dung

Bài 1 Máy tính và chương trình máy tính (2 tiết)

Bài 2 Làm quen với chương trình và ngôn ngữ lập trình (2 tiết)

Bài thực hành 1 Làm quen với Turbo Pascal (2 tiết)

Bài 3 Chương trình máy tính và dữ liệu (2 tiết)

Bài thực hành 2 Viết chương trình để tính toán (2 tiết)

Bài 4 Sử dụng biến trong chương trình (2 tiết)

Bài thực hành 3 Khai báo và sử dụng biến (2 tiết)

Bài 5 Từ bài toán đến chương trình (4 tiết)

Bài 6 Câu lệnh điều kiện (2 tiết)

Bài thực hành 4 Sử dụng lệnh điều kiện if then (2 tiết)

Bài 7 Câu lệnh lặp (2 tiết)

Bài thực hành 5 Sử dụng lệnh lặp for do (2 tiết)

Bài 8 Lặp với số lần chưa biết trước (2 tiết)

Bài thực hành 6 Sử dụng lệnh lặp while do (2 tiết)

Bài 9 Làm việc với dãy số (2 tiết)

Bài thực hành 7 Xử lí dãy số trong chương trình (2 tiết)Như đã nói ở trên,

việc phân bố thời lượng như trên chỉ là tương đối, trong quá trình giảng dạy, nhàtrường, giáo viên có thể phân bố thời lượng cho các bài sao cho phù hợp hơn vớitình hình cụ thể của nhà trường và trình độ nhận thức của học sinh

3 Những điểm cần lưu ý và gợi ý dạy học

Trang 15

a Nội dung của phần này là cung cấp cho học sinh một số kiến thức và kĩ năng

ban đầu về lập trình Sau phần này, học sinh sẽ có một số hiểu biết cơ bản về lậptrình, viết được một số chương trình đơn giản bằng một ngôn ngữ lập trình cụthể là ngôn ngữ Pascal Các chương trình đơn giản này một mặt gây sự hứng thúcho học sinh trong việc tìm hiểu các bài toán phức tạp hơn và viết chương trình

để giải quyết các bài toán đó, mặt khác chúng có thể phục vụ cho việc học tập vàtìm hiểu sâu hơn các môn học khác, nhất là môn Toán

Phần này được chia thành 9 bài lí thuyết và 7 bài thực hành, nội dung mỗi bàiđược biên soạn để trình bày trọn vẹn trong 02 tiết và 01 tiết bài tập Riêng vớiBài 5 thời lượng được tăng gấp đôi, tức 04 tiết lí thuyết và 02 tiết câu hỏi và bàitập Mỗi bài thực hành được trình bày ngay sau bài lý thyết nhằm mục đích đểhọc sinh ghi nhớ và rèn luyện những kiến thức và kĩ năng học sinh đã học trongbài lí thuyết trước đó

b Về cơ bản SGK trình bày theo cách tiếp cận các kiến thức, khái niệm cơ

bản về lập trình từ khái quát đến cụ thể Mục tiêu của SGK là trình bày các kháiniệm ban đầu về lập trình nói chung, với cố gắng không gắn với một ngôn ngữlập trình cụ thể Cách tiếp cận này thể hiện rõ mục tiêu chính của chương trình

là dạy kiến thức, kĩ năng về lập trình, ngôn ngữ lập trình nói chung, không phảidạy một ngôn ngữ lập trình nhất định

Đối với HS THCS, để HS dễ tiếp thu, việc trình bày về ngôn ngữ lập trình cầnthông qua một ngôn ngữ lập trình cụ thể để minh hoạ, giải thích Hơn nữa, các kĩnăng lập trình như viết, chỉnh sửa, dịch, chạy và kiểm thử chương trình đòi hỏiphải sử dụng một ngôn ngữ lập trình bậc cao cụ thể Khó có thể lựa chọn mộtngôn ngữ lập trình cụ thể nào đó đáp ứng cùng lúc được các tiêu chí như: hiệnđại, cập nhật, dễ hiểu, dễ dùng, giá thành rẻ (hoặc miễn phí) và tính sư phạmcao Cho nên cách sử dụng Pascal để minh hoạ trong SGK chỉ là một phương án.Giáo viên có thể thay thế ngôn ngữ Pascal bằng một ngôn ngữ lập trình khácphù hợp hơn với thực tế của lớp học miễn là truyền đạt được kiến thức, kĩ năngtheo yêu cầu của chương trình

Việc lựa chọn ngôn ngữ Pascal để minh hoạ trong SGK cũng được cân nhắc

kĩ lưỡng bởi một số lí do chính sau đây: (1) Ngôn ngữ Pascal là ngôn ngữ lậptrình cấu trúc, trong sáng, có tính sư phạm cao; (2) Phần lớn GV Tin học ở cấpTHCS hiện nay đã được học và thực hành ngôn ngữ lập trình Pascal là chính; (3)Ngôn ngữ Pascal có nhiều phiên bản chạy được trên hệ điều hành khác nhauhiện có trong trường THCS; (4) Ngôn ngữ lập trình Pascal chạy được trên hầu

Trang 16

hết tất cả các máy đã được trang bị ở các trường THCS từ trước đến nay; (5)Việc cài đặt Pascal là dễ dàng và ngôn ngữ Pascal có thể được sử dụng miễn phí.Cũng có thể có ý kiến cho rằng có thể chọn một ngôn ngữ lập trình khác đểminh họa, chẳng hạn như Logo, Basic, VB, C hoặc Java, nhất là VB, C và Java

do chúng là những ngôn ngữ hiện đại và hiện được sử dụng để phát triển hầu hếtcác ứng dụng Hai ngôn ngữ đầu là những ngôn ngữ ít được phổ biến, hoặc đãkhông còn được sử dụng rộng rãi Những ngôn ngữ sau lại là những ngôn ngữkhá nặng nề và phức tạp trong việc cài đặt và sử dụng, nhất là trong điều kiệnhiện nay về cơ sở vật chất của các trường phổ thông Do đó các tác giả thấy rằnghiện tại Pascal vẫn là lựa chọn hợp lí và khả thi nhất

Tuy sử dụng Pascal để minh họa, khi giảng dạy giáo viên cần lưu ý truyền đạtkiến thức về lập trình là chính, tránh việc sa đà trình bày quá nhiều chi tiết vềcác thủ thuật với ngôn ngữ Pascal

c Do chỉ là một ngôn ngữ đóng vai trò minh họa cho các kiến thức bắt đầu về

lập trình nên các nội dung cụ thể gắn liền với Pascal trong SGK đã được cố gắngtrình bày một cách cô đọng, tăng tính trực quan và giảm tối đa tính hình thứctheo nguyên tắc cần đến đâu thì giới thiệu đến đó SGK không nhằm mục đíchgiới thiệu các thành phần, kiểu dữ liệu, cú pháp, ngữ nghĩa của các câu lệnh và

các đặc trưng khác của Pascal một cách đầy đủ như là cẩm nang về lập trình Chẳng hạn, rất nhiều kiểu dữ liệu, câu lệnh điều kiện case, các câu lệnh lặp

khác, không được giới thiệu trong SGK, nhiều câu lệnh chỉ được giới thiệungắn gọn mà không đi sâu vào giải thích cú pháp và ngữ nghĩa, v.v

Các ví dụ và chương trình Pascal cũng được lựa chọn và trình bày theonguyên tắc trên Xét về mặt nào đấy, chúng có thể chưa phải là những chươngtrình đã được viết một cách gọn nhất hoặc tối ưu nhất Tuy nhiên chúng được

mô tả và trình bày một cách phù hợp với sự phát triển tư duy của học sinh saukhi đã được giới thiệu phần kiến thức tương ứng về ngôn ngữ lập trình Trongquá trình học tập, với sự hướng dẫn của giáo viên, học sinh có thể chỉnh sửa để

có các chương trình tốt hơn, qua đó phát triển tốt hơn các kĩ năng lập trình

d Về thứ tự trình bày các nội dung trong Phần 1, giáo viên cần lưu ý một vài

điểm sau đây Trước hết, cần nhấn mạnh rằng việc xác định bài toán và xây dựng thuật toán là bước quan trọng nhất trong việc viết chương trình Chương

trình chỉ là thể hiện một thuật toán cụ thể bằng ngôn ngữ lập trình Chương trìnhchỉ hoạt động có hiệu quả khi có thuật toán đúng và tối ưu và do vậy chỉ có thểviết được chương trình sau khi đã xây dựng và mô tả thuật toán Xét theo thứ tự

Trang 17

thời gian và tư duy logic thì nội dung giới thiệu về bài toán và thuật toán cầnđược giới thiệu ngay từ Bài 1

Tuy nhiên, các tác giả cho rằng nội dung về thuật toán và mô tả thuật toán làvấn đề khó nhất trong toàn bộ nội dung của SGK Trước hết, thuật toán luônluôn gắn liền với tư duy toán học, việc mô tả thuật toán lại gắn liền với tư duycông nghệ Không phải ngẫu nhiên mà đa phần học sinh thường khó hiểu nội

dung phép gán giá trị cho một biến, đặc biệt là dưới dạng X = X + 1 Nếu trình

bày về thuật toán ngay trong Bài 1, khi học sinh mới bắt đầu một năm học mới,

sẽ gây cảm giác quá tải cho học sinh, nhất là đối với phần lớn học sinh không cónhiều năng khiếu về toán Hơn thế nữa, việc giới thiệu như thế sẽ làm cho họcsinh hiểu nhầm rằng lập trình chính là giải toán (mặc dù việc giải quyết các bàitoán nhỏ đúng là như thế)

Mặt khác, với tâm sinh lí học sinh THCS, trước khi giới thiệu những nội dungkhó cần bắt đầu dẫn dắt từ những nội dung nhẹ nhàng hơn và dễ gây hứng thúcho học sinh Nội dung của các bài từ 1 đến 4 phục vụ mục đích này

Có một lý do khác là nếu chưa được giới thiệu và chưa hiểu được bản chấtcủa phép gán, học sinh sẽ rất khó hiểu các nội dung về thuật toán Trong khi đó,

để học sinh có được khái niệm về phép gán thì cách tốt nhất là giới thiệu các nộidung liên quan đến biến trong lập trình

Cuối cùng, để học sinh hiểu được nội dung của các bài từ 1 đến 4 không cầnthiết phải có những kiến thức về thuật toán Các vấn đề giới thiệu trong các bài

đó và trong các bài thực hành có thể giải quyết được với những “thuật toán hiểnnhiên”, hầu như học sinh nào cũng có thể nhận biết và áp dụng Tuy nhiên, trướckhi đề cập tới các cấu trúc điều khiển trong chương trình thì lại cần thiết phảigiới thiệu trước về khái niệm thuật toán và mô tả thuật toán

Đó chính là lí do nội dung về bài toán và thuật toán được trình bày trong Bài5

e Mỗi phần nội dung trong SGK được trình bày trong một bài lí thuyết và

một bài thực hành Bài lí thuyết giới thiệu các kiến thức ban đầu về nội dungtương ứng Ngay sau bài lí thuyết (trừ bài 1 và bài 5) là bài thực hành nhữngkiến thức lí thuyết đã học Mục đích chính của các bài thực hành là cung cấp kĩnăng cho HS, qua đó hiểu sâu hơn về các nội dung vừa học ở bài lí thuyết Cácbài thực hành này về cơ bản là để HS thực hành, sử dụng những nội dung vừahọc ở phần lí thuyết Tuy nhiên, càng về sau các bài thực hành không chỉ phục

Trang 18

vụ cho việc củng cố, thực hành nội dung lí thuyết của bài học tương ứng mà còngiúp ôn luyện những kiến thức, kĩ năng đã được học ở các bài trước đó.

f Cấu trúc của mỗi bài lí thuyết được xây dựng một cách nhất quán như sau:

Mỗi bài lí thuyết đêu cố gắng bắt đầu bằng những ví dụ trong cuộc sống hàngngày, từ đó dẫn dắt đến cách thức giải quyết các vấn đề đời thường đó bằng cáchviết chương trình Quan điểm của các tác giả là chương trình máy tính được viếtchính là để giải quyết các bài toán đời thường như thế Bằng cách đó học sinh sẽ

dễ thấy hơn mối liên hệ chặt chẽ giữa việc lập trình và cuộc sống, cũng lợi íchcủa việc lập trình để giải quyết các bài toán bằng máy tính

Phần nội dung tiếp theo trình bày các thành phần cơ bản hoặc cấu trúc tươngứng của ngôn ngữ lập trình nói chung Các nội dung này được cố gắng trình bày

ở mức tổng quát nhất có thể, nhưng vẫn đảm bảo học sinh có thể hiểu được Do

đó, khi sử dụng Pascal để minh họa trong các mục tiếp theo, SGK không cốgắng trình bày cú pháp và ngữ nghĩa của các câu lệnh Pascal một cách đầy đủ vàchi tiết Giáo viên cần lưu ý điều này để bổ sung cho học sinh trong các bài thựchành tiếp ngay sau đó

Cuối cùng là một số ví dụ về chương trình để minh họa tình huống sử dụng

Về các ví dụ, các tác giả đã cố gắng hạn chế đến mức tối đa việc lập trình giảiquyết các bài toán có nội dung toán học, tránh gây quá tải cho học sinh hoặc dẫnđến sự hiểu nhầm là lập trình gắn liền với toán học Tuy nhiên, do hạn chế vềnội dung của chương trình, những minh họa gây hứng thú hơn như thiết kế giaodiện, màu sắc, phông chữ hoặc mô phỏng chuyển động của các đối tượng trênmàn hình đã không được đưa vào Do vậy các ví dụ về toán học vẫn chiếm một

tỷ lệ đáng kể

Cuối mỗi bài lí thuyết đều có mục Ghi nhớ liệt kê một số điểm chính của bài

học để HS dễ dàng ghi nhớ Mục ghi nhớ là căn cứ để GV xác định nội dungkiến thức, kĩ năng trọng tâm của mỗi bài

Mỗi bài lí thuyết đều có phần Câu hỏi và bài tập nhằm mục đích cho học sinh

ôn luyện các kiến thức, kĩ năng của bài học lí thuyết và chuẩn bị cho bài thựchành ngay sau đó Một phần của các câu hỏi, bài tập này chỉ là nhắc lại các kiếnthức của bài học lí thuyết, vì vậy cần hướng dẫn HS làm ngay trên lớp Mộtphần khác dành để giúp học sinh nắm vững hơn cú pháp và ngữ nghĩa của cáccâu lệnh Pascal Với những câu hỏi và bài tập này giáo viên nên hướng dẫn họcsinh giải và trả lời trong tiết bài tập

Trang 19

Trong phân bổ thời lượng, số tiết bài tập là khá nhiều (8 tiết) Điều này thểhiện câu hỏi, bài tập là một phần quan trọng trong việc giúp HS tiếp thu kiếnthức, rèn luyện kĩ năng Hệ thống câu hỏi, bài tập đa dạng, phù hợp với HSTHCS, phù hợp với đổi mới dạy học và đổi mới kiểm tra, đánh giá Tốt nhất lànên tổ chức tiết bài tập sau khi học sinh đã thực hiện các tiết thực hành.

Số lượng các câu hỏi và bài tập tương đối nhiều Tuy nhiên, đa số các bài đóchỉ là các câu hỏi và bài tập dễ, học sinh chỉ cần hiểu các kiến thức trong bài lýthuyết trước đó là có thể trả lời và giải được Một số bài tập khác, mặc dù khôngvượt quá kiến thức đã trình bày trong phần lí thuyết, nhưng đòi hỏi học sinh vậndụng kiến thức một cách linh hoạt hơn Việc đưa ra nhiều câu hỏi và bài tập mộtmặt giúp cho việc sử dụng SGK một cách hiệu quả và linh hoạt hơn trong nhữngđiều kiện học sinh khác nhau về trình độ, mặt khác giúp cho học sinh có thể cóđiều kiện đào sâu suy nghĩ hơn kiến thức lí thuyết và giúp giáo viên phân biệttrình độ của học sinh rõ hơn Cũng có thể, ngay tại một trường, một số bài tậpđối với học sinh trong một lớp là hơi khó, nhưng các học sinh trong một lớpkhác lại có thể tự giải tất cả các bài tập đó một cách không khó khăn lắm Dovậy, tuỳ tình hình tiếp thu kiến thức của HS, giáo viên có thể lựa chọn chỉ làmmột số bài hoặc chủ động ra thêm các câu hỏi, bài tập phù hợp với trình độ họcsinh, không nhất thiết phải làm hết các câu hỏi, bài tập trong SGK

g Các bài thực hành cũng được xây dựng một cách nhất quán với việc đề ra

mục tiêu, các bước cần thực hiện, thông thường ở mức khá chi tiết Ngoài ra còn

có các ví dụ để học sinh tìm hiểu tác dụng của các câu lệnh trong chương trình

Do thời lượng có hạn, giáo viên nên khuyến khích học sinh viết và chạy cácchương trình đó khi tự học ở nhà

Khác với các bài thực hành trong các Quyển 1 và 2, trong SGK quyển 3 nộidung các bài thực hành không chỉ ôn luyện, củng cố, thực hành các kiến thức đãhọc mà còn giới thiệu kiến thức mới, cụ thể là những kiến thức lí thuyết, nhưnggắn liền với ngôn ngữ lập trình Pascal Một số kiến thức này không được trìnhbày trong bài lí thuyết với chủ đích tránh làm dàn trải các nội dung lí thuyết vềlập trình nói chung Một số câu lệnh, thủ tục, hàm Pascal được giới thiệu trongbài thực hành Kiến thức về câu lệnh được đúc rút sau khi HS đã được thực hành

về câu lệnh Giáo viên cần nhận rõ sự khác biệt này, dành thời gian giới thiệu,hướng dẫn cho học sinh để tăng hiệu quả của các giờ thực hành

Mục Tổng kết cuối mỗi bài thực hành tóm tắt các kiến thức, kĩ năng cơ bản

học sinh cần tiếp thu được của bài thực hành, chủ yếu là các bước đã thực hiện,

cú pháp, ngữ nghĩa cũng như cách sử dụng của Pascal Phần này giúp HS hệ

Trang 20

thống lại những kiến thức, kĩ năng của bài thực hành và là nội dung giúp HS tracứu nhanh trong quá trình học tập Tuy nhiên, không nên yêu cầu học sinh họcthuộc lòng phần nội dung này Trong quá trình thực hành, học sinh sẽ từng bướcghi nhớ cú pháp và ngữ nghĩa các câu lệnh.

h Nội dung về bài toán và thuật toán (Bài 5) được phân bố thời lượng gấp đôi

(04 tiết lí thuyết và 02 tiết bài tập) Theo đánh giá của các tác giả, đây là mộtphần nội dung quan trọng, nếu không nói là quan trọng nhất Nếu đã nắm vữngcách thức mô tả thuật toán để giải quyết bài toán, học sinh sẽ dễ dàng tiếp thuđược các kiến thức trình bày trong những bài tiếp theo

Có thể biểu diễn thuật toán bằng sơ đồ khối hoặc bằng cách liệt kê Tuy nhiên,SGK lựa chọn giới thiệu cách biểu diễn thuật toán bằng cách liệt kê Về cơ bảncách liệt kê gần gũi với cách tư duy của HS THCS hơn và đặc biệt là mô tả bằngcách liệt kê thuận lợi hơn cho viết chương trình ở một vài chỗ, SGK chỉ sử dụng

sơ đồ khối để biểu diễn hoạt động của cấu trúc điều khiển (rẽ nhánh, lặp) GVkhông giới thiệu thêm về cách biểu diễn thuật toán bằng sơ đồ khối hoặc yêu cầuhọc sinh mô tả thuật toán bằng cách vẽ sơ đồ khối

Bên cạnh các kiến thức, kĩ năng theo yêu cầu của Chương trình, SGK còn giớithiệu thêm một số nội dung, ví dụ một số công cụ lập trình (câu lệnh, hàmchuẩn, thủ tục chuẩn) nhằm tạo thêm hứng thú cho HS; một số bài toán, thuậttoán phổ thông, đơn giản để HS mở rộng thêm kiến thức, kĩ năng; một số câuhỏi, bài tập, bài thực hành có yêu cầu cao hơn dành cho HS khá, giỏi

Một số kiến thức như cú pháp câu lệnh, cú pháp khai báo biến, kiểu dữ liệu, được giới thiệu dần dần Do cách giới thiệu như vậy nên ban đầu có thể chưa đủ,chưa bao quát hết nhưng đảm bảo không sai Khai báo biến, cú pháp câu lệnh rẽnhánh, câu lệnh lặp được đúc rút, khái quát hoá sau tiết thực hành

i Các nội dung đọc thêm ở cuối bài là không bắt buộc, tránh yêu cầu tất cả

HS phải đọc, hiểu, gây quá tải GV có thể chọn lựa, giới thiệu, giải thích đôichút để gây hứng thú cho các em ham thích, đọc thêm

Việc phân bổ thời lượng cho các bài lí thuyết, thực hành là tương đối, GV cóthể phối hợp với các tiết bài tập, ôn tập để tự cân đối thời lượng cho phù hợp vớitình hình giảng dạy thực tiễn Điều quan trọng là đảm bảo truyền đạt đúng, đủkiến thức, kĩ năng theo yêu cầu của Chương trình

Trang 21

II Hướng dẫn chi tiết

Bài 1 Máy tính và chương trình máy tính

1 Mục đích, yêu cầu

 Biết con người chỉ dẫn cho máy tính thực hiện công việc thông qua lệnh

 Biết chương trình là cách để con người chỉ dẫn cho máy tính thực hiệnnhiều công việc liên tiếp một cách tự động

 Biết rằng viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiệncác công việc hay giải một bài toán cụ thể

 Biết ngôn ngữ dùng để viết chương trình máy tính gọi là ngôn ngữ lậptrình

 Biết vai trò của chương trình dịch

2 Những điểm cần lưu ý và gợi ý dạy học

Khái niệm về lệnh, nút lệnh HS đã được biết đến ở lớp 6 và lớp 7 Dựa trênhiểu biết có sẵn của HS về lệnh, GV cần nhắc để HS nhớ lại và hình dung vềlệnh một cách đơn giản, phổ thông

HS đã thực hiện các thao tác khởi động/thoát khỏi phần mềm, sao chép,cắt, dán và thực hiện các bước để tắt máy tính (theo đúng quy cách) Đặc biệt

HS vẫn thường xuyên sử dụng các nút lệnh trên thanh công cụ hoặc các lệnhtrong bảng chọn để làm việc với chương trình soạn thảo văn bản, chương trìnhbảng tính Khi thực hiện các thao tác này chính là HS ra lệnh cho máy tính thực

hiện một công việc nào đó Ví dụ, khi thực hiện thao tác nháy vào nút lệnh Cut

trên thanh công cụ của Word là đã ra lệnh cho máy tính thực hiện công việc cắtvăn bản

Thực ra khái niệm về “lệnh” đối với máy tính khá phức tạp, có thể hiểu và

mô tả lệnh với các mức độ chi tiết khác nhau Xét đến cùng thì mỗi kiến trúc

máy tính đều có một tập hợp (không nhiều) các lệnh cơ bản hay vi lệnh hoặc chỉ lệnh (micro-instruction), các lệnh dùng để chỉ dẫn máy tính đều là một dãy các

lệnh cơ bản này (với một thứ tự nhất định) Từ đó thường nảy sinh câu hỏi đây

đã phải là lệnh chưa hay là một tập hợp các lệnh Tuy nhiên người ta thườnghiểu lệnh máy tính là một chỉ dẫn của con người để máy tính thực hiện một côngviệc cụ thể nào đó Giáo viên cũng chỉ nên giới thiệu về lệnh cho HS ở mức độnày

Trang 22

Kết thúc mục 1, học sinh cần biết được rằng con người điều khiển máy tínhthông qua lệnh.

Cần cho HS nhận thấy sự khác biệt giữa việc ra lệnh cho máy tính với ralệnh cho con người Qua ví dụ điều khiển rô-bốt nhặt rác, GV cần cho HS nhậnthấy một công việc rất đơn giản với con người, nhưng khi muốn máy tính thựchiện thì cần phải chia thành nhiều thao tác nhỏ, đơn giản, cụ thể mà rô-bốt có thểthực hiện được Có sự khác biệt đó chính là bởi vì, khác với con người, máy tính

là vật vô tri, vô giác

Có hai cách có thể để điều khiển rô-bốt thực hiện công việc trên: Cách thứnhất là ra từng lệnh một và rô-bốt thực hiện từng thao tác một; Cách thứ hai làchỉ dẫn để rô-bốt tự động thực hiện lần lượt các thao tác trên Việc viết các lệnh

để điều khiển, chỉ dẫn rô-bốt (hay máy tính) thực hiện tự động một loạt các thaotác liên tiếp chính là viết Chương trình máy tính, hay còn gọi tắt là Chươngtrình

Kết thúc mục 2 và mục 3 học sinh cần biết chương trình là cách để conngười chỉ dẫn cho máy tính thực hiện nhiều công việc liên tiếp một cách tự động

và viết chương trình là viết các lệnh để chỉ dẫn máy tính thực hiện các công việchay giải một bài toán cụ thể

Có thể dẫn dắt HS tiếp cận khái niệm ngôn ngữ lập trình như sau: Chươngtrình mà con người viết ra phải đảm bảo máy tính có thể "hiểu" được HS đã biếtmáy tính chỉ có thể hiểu được ngôn ngữ nhị phân, tức là dãy số 0 và 1 Vì vậy,

về nguyên tắc để máy tính "hiểu" được phải viết chương trình bằng ngôn ngữmáy

Vấn đề là ngôn ngữ máy lại rất khó sử dụng, khó nhớ đối với con người Vìvậy, rất khó cho con người nếu sử dụng ngôn ngữ này để viết chương trình

Do đó cần phải tìm ra một ngôn ngữ trung gian giữa con người và ngônngữ máy để con người dễ dàng sử dụng khi viết chương trình và sau đó chuyểnđổi sang dạng ngôn ngữ máy sao cho máy tính có thể hiểu được Ngôn ngữ lậptrình bậc cao là giải pháp như vậy Có thể liệt kê ra một số ngôn ngữ lập trìnhbậc cao như Pascal, Free Pascal, C, Java Để tránh quá tải cho học sinh về mặt

thuật ngữ, trong SGK các tác giả chỉ sử dụng thuật ngữ ngôn ngữ lập trình nói

chung với hàm ý ngôn ngữ lập trình bậc cao

Tuy nhiên, như đã nêu ở trên, chương trình viết bằng ngôn ngữ lập trìnhphải được chuyển sang thành chương trình ở ngôn ngữ nhị phân Điều này cũnggiống như việc phiên dịch khi trao đổi với người nước ngoài vậy Chương trình

Trang 23

đóng vai trò dịch từ ngôn ngữ lập trình bậc cao sang ngôn ngữ máy gọi là

"chương trình dịch"

Như vậy, để có được một chương trình mà máy tính có thể thực hiện đượccần qua hai bước:

(1) Viết chương trình theo ngôn ngữ lập trình;

(2) Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được.

Cần lưu ý rằng, các bước nêu trên chỉ là hai trong số rất nhiều bước (giaiđoạn) để tạo ra một chương trình cụ thể có thể “chạy” trên máy tính Để có mộtchương trình hoạt động hiệu quả trên máy tính và phục vụ đúng mục tiêu, người

ta còn phải thực hiện nhiều công việc khác, bắt đầu từ việc khảo sát nhu cầu củangười sử dụng (xác định mục tiêu, yêu cầu; khảo sát các qui trình nghiệp vụ, ),phân tích, thiết kế, lập trình, kiểm thử, triển khai cài đặt, đào tạo, hỗ trợ, v.v Haibước nói trên chỉ là một phần của công việc lập trình, sau khi thuật toán đã đượcxây dựng Tuy nhiên, đối với học sinh mới bắt đầu làm quen với lập trình vàngôn ngữ lập trình, cách giới thiệu như trong SGK là đủ và nhằm để học sinhphân biệt được hai công việc viết chương trình và dịch chương trình Trong cácbài thực hành với Pascal, học sinh sẽ phân biệt rõ hơn hai bước này

Ngôn ngữ lập trình là các đối tượng được định nghĩa một cách trừu tượng

và hình thức, còn nhiệm vụ chính của chương trình dịch là dịch chương trình đãđược soạn thảo bằng ngôn ngữ lập trình sang ngôn ngữ máy Tuy nhiên, người

ta thường cung cấp chương trình dịch cho một ngôn ngữ lập trình cụ thể kèmtheo một số công cụ hỗ trợ người lập trình như: phần mềm soạn thảo; công cụphát hiện và thông báo lỗi; công cụ theo dõi, gỡ rối chương trình; các thư việnchương trình chuẩn và các dịch vụ khác Tất cả tạo nên môi trường lập trình củangôn ngữ lập trình đó GV không cần giải thích kĩ về môi trường lập trình vớiHS

Qua mục 4 học sinh cần ghi nhớ được ngôn ngữ lập trình là công cụ để viếtchương trình máy tính và chương trình dịch đóng vai trò dịch chương trình viếtbằng ngôn ngữ lập trình sang ngôn ngữ máy

Nội dung của bài 1 được xem như là một cầu nối cho học sinh từ người sửdụng sang người xây dựng chương trình máy tính Qua bài này học sinh cần biết

phía sau những thao tác như nháy nút lệnh Cut, Copy mà các em đã quen sử

dụng là những đoạn chương trình máy tính tương ứng Khi nháy một nút lệnh làcác em đã yêu cầu máy tính thực hiện đoạn chương trình tương ứng đã được viếtsẵn

Trang 24

3 Hướng dẫn trả lời câu hỏi và bài tập

Bµi 1 Khi soạn thảo văn bản trên máy tính, ta yêu cầu chương trình tìm kiếm

một cụm từ và thay thế bằng một cụm từ khác, thực chất ta đã yêu cầu máytính thực hiện rất nhiều lệnh Có thể mô tả các lệnh với những mức độ chitiết khác nhau

Dưới đây chỉ mô tả những lệnh cơ bản nhất theo trật tự thực hiện:

1 Sao chép cụm từ cần tìm vào bộ nhớ (gọi là cụm từ 1)

2 Sao chép cụm từ sẽ thay thế vào bộ nhớ (cụm từ 2)

Lưu ý đối với giáo viên Việc mô tả các lệnh có thể thực hiện với nhiều

mức chi tiết khác nhau Tuy chưa đầy đủ ở mức có thể lập trình được (chưa tínhđến điều kiện kết thúc, tức khi con trỏ được di chuyển đến cuối văn bản), nhưngdưới đây là một mô tả chi tiết hơn:

1 Sao chép dãy kí tự cần tìm vào bộ nhớ (dãy 1)

2 Sao chép dãy kí tự sẽ thay thế vào bộ nhớ (dãy 2)

3 Đặt con trỏ trước kí tự đầu tiên của văn bản

4 Sao chép dãy kí tự (tính từ vị trí con trỏ sang phải) có độ dài bằng dãy 1vào bộ nhớ (dãy 3)

5 So sánh dãy 1 và dãy 3 Nếu dãy 3 không trùng với dãy 1, chuyển đếnlệnh 8

6 Xóa dãy 3 trong văn bản

7 Dán dãy 2 vào vị trí cũ của dãy 3 và chuyển con trỏ đến cuối dãy 2 này

8 Di chuyển con trỏ sang phải một kí tự và quay lại lệnh 4

Học sinh chỉ cần có đáp án mô tả những lệnh cơ bản nhất là đạt yêu cầu.Giáo viên chỉ nên giới thiệu mô tả chi tiết như trên khi học sinh có yêu cầu

Bµi 2 Nếu thay đổi thứ tự của hai lệnh nào đó trong chương trình điều khiển

rô-bốt, có thể rô-bốt sẽ không thực hiện được công việc nhặt rác vì nó sẽ đi

Trang 25

không đúng hướng và có thể không tới được vị trí có rác dẫn đến khôngnhặt được rác, Ví dụ, nếu thay đổi thứ tự của lệnh 1 "Tiến 2 bước" vàlệnh 2 "Quay trái, tiến 1 bước" Khi đó, sau hai lệnh trên rô-bốt sẽ "Quaytrái và tiến 3 bước" và nó sẽ đi tới vị trí không có rác Nói chung, các lệnhtrong chương trình cần được đưa ra theo một thứ tự xác định sao cho ta đạtkết quả mong muốn

Vị trí mới của rô-bốt sau khi thực hiện xong lệnh "Hãy nhặt rác" là vị trí cóthùng rác (ở góc đối diện)

Có nhiều cách khác nhau để đưa ra hai lệnh để rô-bốt trở lại vị trí ban đầucủa mình, một trong các cách đó là hai lệnh "Quay trái, tiến 5 bước" và

"Quay trái, tiến 3 bước"

Lưu ý đối với giáo viên Trong một nhiều trường hợp, ta có thể đưa ra các

lệnh khác nhau, nhưng vẫn đạt kết quả Chẳng hạn, trong ví dụ về rô-bốt,thay cho hai câu lệnh đầu tiên, ta có thể điều khiển rô-bốt đến đúng vị trí córác bằng các lệnh sau: "Quay trái, tiến 1 bước" và "Quay phải, tiến 2 bước"hoặc "Quay phải, tiến 2 bước", "Quay trái, tiến 2 bước" và "Quay trái, tiến

4 bước" Trong một số trường hợp khác, việc thay đổi thứ tự của một vàicâu lệnh vẫn cho kết quả đúng như yêu cầu Tuy nhiên, như là một nguyêntắc chung, việc thay đổi thứ tự các câu lệnh sẽ không cho kết quả đúng Cóthể liên hệ với thứ tự các bước của thuật toán trong Bài 5

Bµi 3 Lí do: Điều khiển máy tính tự động thực hiện các công việc đa dạng và

phức tạp mà một lệnh đơn giản không đủ để chỉ dẫn

Bµi 4 Các ngôn ngữ lập trình bậc cao được phát triển để khắc phục các yếu

điểm trên của ngôn ngữ máy: khó sử dụng, khó nhớ Ngôn ngữ lập trình sửdụng các cụm từ tự nhiên nên dễ nhớ, dễ học

Lưu ý đối với giáo viên Tuy ngôn ngữ máy cũng là một loại ngôn ngữ lập

trình, nhưng ở đây chúng ta hiểu ngôn ngữ lập trình là ngôn ngữ lập trìnhbậc cao Trong ngôn ngữ máy, mọi chỉ thị đều được biểu diễn bằng các con

số nhị phân 0 và 1 Ngôn ngữ máy tuy khó đọc và khó sử dụng, nhưng làngôn ngữ duy nhất mà bộ vi xử lí có thể nhận biết và thực hiện các lệnhmột cách trực tiếp Ngoài ra yếu điểm của các chương trình viết bằng ngônngữ máy là phụ thuộc vào phần cứng máy tính

Bµi 5 Chương trình dịch là chương trình có chức năng chuyển đổi chương

trình được viết bằng ngôn ngữ lập trình thành chương trình thực hiện được

Trang 26

trên máy tính Như vậy, chương trình dịch chuyển đổi các dòng lệnh đượcsoạn thảo thành tệp có thể chạy trên máy tính

Bµi 6 Hai bước cơ bản để tạo ra các chương trình máy tính là:

(1) Viết chương trình theo ngôn ngữ lập trình;

(2) Dịch chương trình thành ngôn ngữ máy để máy tính hiểu được Kết quả

là tệp tin có thể thực hiện được trên máy tính

Lưu ý đối với giáo viên Đây chỉ là hai bước cơ bản trong lập trình và chỉ là

một phần của công việc giải quyết bài toán bằng máy tính

Bài 2 Làm quen với chương trình và ngôn ngữ lập trình

 Biết cấu trúc chương trình bao gồm phần khai báo và phần thânchương trình

2 Những điểm cần lưu ý và gợi ý dạy học

Mục tiêu của bài 2 là giới thiệu cho học sinh về một số thành phần cơ bảncủa ngôn ngữ lập trình nói chung, làm quen với một chương trình đơn giản, làmquen với TP để chuẩn bị cho bài thực hành 1

Để giới thiệu các thành phần của ngôn ngữ lập trình, SGK sử dụng cáchtiếp cận xuất phát từ một chương trình Pascal cụ thể, sau đó khái quát hóa vàtổng kết Cần lưu ý không giải thích ngay tất cả những gì có trong chương trình

ví dụ, tránh sa đà giới thiệu chi tiết cú pháp và ngữ nghĩa của các câu lệnhPascal mà chỉ nên tập trung khai thác những điểm cần thiết phục vụ cho mụctiêu của bài học Cần đến thành phần, câu lệnh nào thì tập trung vào đó, phântích, giải thích vừa đủ, biết điểm dừng để luôn hướng đến mục tiêu của mục, củabài

Trang 27

HS đã biết viết chương trình cần sử dụng một ngôn ngữ lập trình cụ thể ởbài 1 Do vậy, GV có thể đặt câu hỏi tại sao lại phải viết chương trình theo mộtngôn ngữ lập trình cụ thể nào đó để HS thảo luận, trả lời nhằm ôn lại bài cũ Cần cho HS quan sát hình 6 để thấy trực quan một chương trình cụ thể.Cách làm này nhằm gây hứng thú cho học sinh ngay khi vào bài học Từ việcquan sát ví dụ này GV khái quát lên thành những kiến thức chung về ngôn ngữlập trình.

Ngôn ngữ lập trình Pascal đã được nhắc đến ở bài 1, do vậy giáo viên cóthể giới thiệu cho các em biết ví dụ trong hình 6 là một chương trình viết bằngngôn ngữ lập trình Pascal

Để dạy mục 2, SGK dựa trên những gì học sinh quan sát được như chữ cái,

kí hiệu để khái quát nên thành phần thứ nhất: bảng chữ cái, các kí hiệu Dựa trên

ví dụ về câu lệnh writeln('Chao Cac Ban'); để khái quát thành phần thứ hai: quytắc viết

Với mục 2, có thể xuất phát từ ngôn ngữ tiếng Việt, nếu HS được học ngoạingữ thì dùng ngôn ngữ tự nhiên là chính ngoại ngữ các em đang học để lấy ví dụ

sẽ thuận tiện hơn HS biết một ngôn ngữ bao gồm các chữ cái, các từ và quy tắcngữ pháp Muốn người khác hiểu được và hiểu đúng thì cần dùng các chữ cái,những từ cho phép và phải được ghép theo đúng quy tắc ngữ pháp

Ngôn ngữ lập trình cũng vậy (quan sát hình 6), có bảng chữ cái và các quytắc viết Khi viết chương trình phải sử dụng các chữ cái, các từ và tuân thủ quytắc tắc viết mà ngôn ngữ lập trình đặt ra Có như vậy chương trình mới có thểđược dịch sang ngôn ngữ máy mà máy tính có thể hiểu và thực hiện được Cụthể, để ra lệnh cho máy tính hiển thị dòng chữ chào các bạn thì trong chương

trình trên phải viết là: writeln('Chao cac ban');.

Giáo viên có thể sử dụng cách so sánh với ngôn ngữ tự nhiên để học sinh

dễ dàng hiểu được nội dung này Chẳng hạn, trong tiếng Việt, không phải chúng

ta cứ ghép các chữ cái bất kì là được một từ có nghĩa, hoặc cứ ghép các từ (cónghĩa) là có một câu có nghĩa Như vậy có thể xem quy tắc viết các câu lệnhtrong một ngôn ngữ lập trình (cú pháp và ngữ nghĩa) là quy tắc “chính tả” và

“ngữ pháp” của ngôn ngữ lập trình đó

Trên thực tế, một chương trình có thể được viết không phải chỉ bằng mộtngôn ngữ lập trình cụ thể mà có thể là hai hoặc nhiều ngôn ngữ lập trình cùngđược sử dụng trong một chương trình Ví dụ, như trong một chương trình đượcsoạn thảo và dịch với TP có thể có một số lệnh được viết bằng ngôn ngữ

Trang 28

Assembly (hợp ngữ) Tuy nhiên, ở đây ta không đề cập đến vấn đề này mà mặcđịnh những chương trình mà ta đề cập đến chỉ sử dụng một ngôn ngữ lập trình.

Mục 3, GV sử dụng ví dụ ở hình 6, SGK (CT_Dau_Tien) để minh hoạ cho

HS về các thành phần của ngôn ngữ lập trình

Các từ như program, uses, begin, end được gọi là từ khoá (nhiều tài liệu

chuyên môn gọi là từ dành riêng), đó là các từ mà ngôn ngữ lập trình đã quyđịnh dùng với ý nghĩa, chức năng cố định Từ khoá là khái niệm mới với HS, vìvậy để HS hiểu về quy định từ khoá trong ngôn ngữ lập trình, có thể lấy ví dụ về

cụm từ Lớp trưởng Lớp trưởng là một cụm từ dành riêng để gọi một HS trong

lớp đảm nhiệm chức vụ lớp trưởng của lớp, không thể có một HS nào khác tronglớp cũng được gọi là lớp trưởng (trong cùng thời điểm)

Tên là do người lập trình tự đặt ra và sử dụng những kí tự mà ngôn ngữ lậptrình cho phép, tất nhiên là tên không được trùng với từ khoá

Câu lệnh writeln('Chao cac ban') là một câu lệnh chỉ dẫn máy tính hiển thị dòng chữ "Chao cac ban" trên màn hình.

GV không cần giải thích sâu về chương trình này, cũng không nên giảithích quá kĩ về từ khoá, tên, câu lệnh ở đây HS sẽ còn tiếp cận dần với nhữngkiến thức này ở các bài học sau

GV có thể giới thiệu thêm về việc thay cụm từ Chao cac ban thành cụm từ

khác để HS có thể thực hiện ở bài thực hành sắp tới, tạo hứng thú cho HS trongtiết thực hành

Mục 4, dựa vào hình 7 (CT_Dau_Tien), chỉ cần cho HS nhận biết đượcchương trình gồm hai phần:

Phần khai báo: Khai báo tên và một số khai báo khác (các em sẽ học sau) Phần thân: Bắt đầu bằng từ khoá Begin và kết thúc bằng từ khoá End và

dấu chấm (End.) Giữa từ khoá Begin và End là các câu lệnh

Lưu ý: phần thân là phần quan trọng, bắt buộc phải có ở mọi chương trình,còn phần khai báo có thể có hoặc không

Đến đây có thể cho HS phát hiện về từ khoá và chức năng của từ khoá quachương trình trong hình 7 SGK: Program là từ khoá dùng để khai báo tênchương trình; Từ khoá Begin dùng để khai báo bắt đầu chương trình, từ khoáEnd dùng để khai báo kết thúc chương trình

Cách tiếp cận từ cụ thể đến khái quát có ưu điểm là phù hợp với lứa tuổihọc sinh THCS Tuy nhiên, hạn chế của cách tiếp cận này là HS dễ bị dẫn đến

Trang 29

nhận thức rằng đang học ngôn ngữ Pascal Như đã biết, mục tiêu là dạy học lậptrình, ngôn ngữ Pascal là một minh hoạ cụ thể Do vậy, GV cần lưu ý trước khichuyển sang mục 5, cần nhấn mạnh để học sinh ghi nhớ, với tất cả ngôn ngữ lậptrình đều có tập hợp các kí hiệu (bảng chữ cái) và quy tắc riêng để viết chươngtrình.

Có thể giới thiệu nội dung Mục 5 trên lớp hoặc yêu cầu các em đọc nộidung này ở nhà chuẩn bị cho bài thực hành 1 Mục tiêu là để HS nhận biết giaodiện của phần mềm Turbo Pascal và biết các bước soạn thảo, dịch chương trìnhphục vụ trực tiếp cho bài thực hành 1 Nếu giới thiệu trên lớp, giáo viên nênchuẩn bị sẵn một số hình ảnh về giao diện của Turbo Pascal trên giấy khổ rộng

và tận dung kênh hình trong SGK Trong cả hai trường hợp, khi tiến hành Bàithực hành 1 giáo viên cần tổng kết lại nội dung này ngay trước khi học sinh bắtđầu sử dụng máy tính để thực hành

Cần nhấn mạnh cho HS về việc tạo chương trình chạy được trên máy tínhgồm hai bước: bước một, soạn thảo chương trình trên máy tính theo một ngônngữ lập trình cụ thể; bước hai, dịch chương trình vừa soạn thảo sang ngôn ngữmáy

Việc soạn thảo chương trình về cơ bản giống với soạn thảo văn bản mà các

em đã học Việc dịch chương trình cũng rất đơn giản, ví dụ với ngôn ngữ lập

trình Turbo Pascal, sau khi soạn thảo xong chỉ cần nhấn Alt+F9 là máy tính tự động dịch chương trình Để dịch và chạy chương trình, nhấn Ctrl + F9.

Trong phần này cần cho HS biết có nhiều ngôn ngữ lập trình, trong chươngtrình học các em sẽ làm việc với một ngôn ngữ lập trình Pascal

3 Hướng dẫn trả lời câu hỏi và bài tập

Bµi 1 Các thành phần cơ bản ngôn ngữ lập trình gồm bảng chữ cái và các quy

tắc để viết các câu lệnh (cú pháp) có ý nghĩa xác định, cách bố trí các câu

lệnh, sao cho có thể tạo thành một chương trình hoàn chỉnh và chạy đượctrên máy tính

Lưu ý đối với giáo viên Các quy tắc nhắc đến ở đây bao gồm các thuật ngữ chuyên môn là cú pháp và ngữ nghĩa Xem SGK, mục 2, bài 2.

Bµi 2 Không Các cụm từ sử dụng trong chương trình (từ khoá, tên) phải được

viết bằng các chữ cái trong bảng chữ cái của ngôn ngữ lập trình Các ngônngữ lập trình phổ biến hiện nay đều có bảng chữ cái là bảng chữ cái tiếngAnh và các kí hiệu khác, trong đó không có các chữ có dấu của tiếng Việt

Trang 30

Lưu ý đối với giáo viên Câu hỏi trong bài là "viết chương trình có các câu

lệnh bằng tiếng Việt" Điều này không có nghĩa là trong chương trình không thể

có các chữ cái có dấu của tiếng Việt (hay của một ngôn ngữ khác) như là dữ liệu dạng văn bản cần xử lí Các chữ có dấu đó sẽ được ngôn ngữ lập trình xử lí mã

kí tự tương ứng trong các bảng mã ASCII mở rộng Ví dụ chương trình Pascalsau đây hoàn toàn hợp lệ:

begin program CT_thu;

writeln(' Chào các bạn');

end.

Bµi 3 Tên trong chương trình là dãy các chữ cái hợp lệ được lấy từ bảng chữ

cái của ngôn ngữ lập trình

Từ khoá của một ngôn ngữ lập trình (còn được gọi là từ dành riêng) là tên

được dùng cho các mục đích nhất định do ngôn ngữ lập trình quy định,không được dùng cho bất kì mục đích nào khác

Người lập trình có thể đặt tên một cách tuỳ ý nhưng phải tuân thủ các quytắc của ngôn ngữ lập trình cũng như của chương trình dịch, trong đó (1)Hai đại lượng khác nhau phải có tên khác nhau; (2) Tên không được trùngvới các từ khoá

Bµi 4 Các tên hợp lệ: a, Tamgiac, beginprogram, b1, abc; tên không hợp lệ: 8a

(bắt đầu bằng số), Tam giac (có dấu cách), end(trùng với từ khoá)

Bµi 5 Xem SGK, mục 4, bài 2.

Bµi 6 Chương trình 1 là chương trình Pascal đầy đủ và hoàn toàn hợp lệ, mặc

dù chương trình này chẳng thực hiện điều gì cả Phần nhất thiết phải có

trong chương trình là phần thân được xác định bởi hai từ khoá begin và end (có dấu chấm)

Chương trình 2 là chương trình Pascal không hợp lệ vì câu lệnh khai báo

tên chương trình program CT_thu nằm ở phần thân chương trình.

Bài thực hành 1 Làm quen với Turbo Pascal

1 Mục đích, yêu cầu

 Thực hiện được thao tác khởi động/kết thúc TP, làm quen với mànhình soạn thảo TP

Trang 31

 Thực hiện được các thao tác mở các bảng chọn và chọn lệnh.

 Soạn thảo được một chương trình Pascal đơn giản

 Biết cách dịch, sửa lỗi trong chương trình, chạy chương trình và xemkết quả

 Biết sự cần thiết phải tuân thủ quy định của ngôn ngữ lập trình

2 Những điểm cần lưu ý và gợi ý dạy học

Để chạy được chương trình Turbo Pascal cần có tối thiểu hai tệp:

TURBO.exe và TURBO.TPL Lưu ý rằng nếu sử dụng Turbo Pascal for DOS,

trong chương trình có sử dụng thư viện crt (khai báo uses crt) thì khi dịch

chương trình có thể sẽ có thể gặp thông báo lỗi Error 200: Division by zero nhưhình dưới đây

Lỗi này không phải chương trình được viết có lỗi mà do phần mềm TurboPascal đang sử dụng không phù hợp với máy tính hiện tại có tốc độ cao Để khắcphục lỗi này, GV có thể tải phần mềm Turbo Pascal đã được sửa lỗi này ở

website www.vnschool.net hoặc có thể sử dụng phần mềm Pascal for Windows

hoặc Free Pascal Tất cả các phần mềm này có sẵn trong đĩa CD phát cho GVtham gia tập huấn cốt cán

Vì HS đã được học, thực hành về khởi động chương trình ở các năm họctrước nên việc khởi động TP là dễ dàng với các em Mặc dù vậy, GV nên tạobiểu tượng của chương trình TP trên màn hình nền (Shortcut) để thuận tiện cho

HS khởi động trong tiết thực hành

Khi khởi động TP, màn hình hiện lên như hình dưới đây Rất có thể HS bỡngỡ, lúng túng vì có một thông báo giữa màn hình vì điều này không được nhắc

đến trong SGK GV lưu ý nhắc HS nháy nút OK để bắt đầu làm việc với TP.

Trang 32

Một lưu ý nữa, có thể màn hình làm việc của TP chỉ là một cửa sổ nhỏ,không chiếm hết toàn bộ màn hình như minh hoạ dưới đây

Để HS tiện theo dõi thì nên mở rộng cửa sổ TP ra toàn bộ màn hình Cáchlàm như sau:

- Chọn biểu tượng tắt của TP trên màn hình nền;

- Nháy nút phải chuột để mở bảng chọn tắt như hình dưới đây:

- Trong bảng chọn tắt, chọn mục Properties, cửa sổ Shortcut to Turbo

Pascal Properties hiện lên.

Trang 33

- Trong cửa sổ Shortcut to Turbo Pascal Properties, chọn mục Screen,

sau đó nháy chuột chọn Full-screen như hình dưới đây.

Với bài 2, cần nhắc HS gõ chính xác chương trình vào máy tính

Mặc dù việc soạn thảo một chương trình ngắn như ví dụ đưa ra chưa cần sửdụng nhiều đến các công cụ soạn thảo Tuy nhiên, GV cần lưu ý cho HS một sốđiểm: Soạn thảo trong TP có một số điểm khác với soạn thảo văn bản mà các em

đã được học, cần hướng dẫn học sinh sử dụng phím Delete, Backspace khi soạn

thảo trong TP Các công cụ soạn thảo như: sao chép, cắt, dán trong TP cũngkhác, cần hướng dẫn HS cách tra cứu các lệnh này trong bảng chọn khi cần thiết

Trang 34

Có thể HS muốn gõ tiếng Việt có dấu ở những câu tiếng Việt (do đã quen với gõtiếng Việt có dấu khi làm việc với phần mềm bảng tính, phần mềm soạn thảovăn bản ở các lớp trước), cần lưu ý các em chỉ gõ tiếng Việt không dấu, TPkhông hỗ trợ gõ tiếng Việt có dấu.

Trọng tâm của bài 2 này là HS thực hiện được việc soạn thảo, lưu, dịch vàchạy được chương trình

Khi dịch chương trình rất có thể máy tính sẽ báo lỗi do HS soạn thảochương trình còn lỗi chính tả, không hoàn toàn chính xác GV yêu cầu HS tự đốichiếu chương trình vừa gõ với chương trình trong SGK để chỉnh sửa theo đúngchương trình mẫu Việc làm này là cần thiết để HS thấy được tính nghiêm ngặtcủa ngôn ngữ lập trình và rèn luyện thái độ nghiêm túc trong học tập, làm việcvới ngôn ngữ lập trình

Khi nhấn Ctrl+F9 để dịch và chạy chương trình, có thể HS không xem

được kết quả hiển thị trên màn hình Để dừng màn hình lại cho HS quan sát kết

quả cần thêm lệnh Readln ngay trước từ khoá End Khi đó, màn hình sẽ dừng lại

để HS quan sát kết quả, quan sát kết quả xong nhấn phím Enter để trở về màn

hình soạn thảo của TP

GV có thể hướng dẫn các em thay các cụm từ Chao cac ban và Minh la Turbo Pascal bằng các cụm từ khác để tạo hứng thú trong học tập.

Bài 3 nhằm mục đích để HS làm quen với việc sử dụng TP và sửa lỗi cúpháp trong chương trình Có thể căn cứ vào thông báo lỗi của TP để sửa chươngtrình

Cùng với việc cung cấp chương trình soạn thảo, việc dịch, phát hiện vàthông báo lỗi là các yếu tố quan trọng của một môi trường lập trình Một môitrường lập trình tốt là một môi trường có nhiều công cụ hỗ trợ cho người lậptrình trong việc soạn thảo, dịch, phát hiện và sửa lỗi Hiện nay, có nhiều môitrường lập trình cung cấp các tiện tích hỗ trợ tốt cho người lập trình như Java,Visual C, Visual Basic

Nếu còn thời gian, GV có thể yêu cầu HS thay đổi giữa cách viết thường vàcách viết hoa của từ khoá để thấy được PASCAL không phân biệt chữ hoa vàchữ thường Cho HS thay lệnh write() bằng writeln() (hoặc ngược lại) và quansát để nhận thấy sự khác biệt giữa lệnh write() và writeln() Ví dụ, ban đầu trong

chương trình có hai dòng lệnh writeln('Chao cac ban'); và writeln('Minh la Turbo Pascal'); thì kết quả đưa ra màn hình trên hai dòng Sau đó sửa lệnh đầu tiên thành write('Chao cac ban') và giữ nguyên lệnh thứ hai thì kết quả in ra trên

Trang 35

một dòng So sánh hai kết quả để rút ra sự khác nhau giữa lệnh write là writeln.Cách làm này là một phương pháp hướng dẫn HS tự khám phá, tìm hiểu câulệnh của ngôn ngữ lập trình.

Bài 3 Chương trình máy tính và dữ liệu

1 Mục đích, yêu cầu

 Biết khái niệm kiểu dữ liệu;

 Biết một số phép toán cơ bản với dữ liệu số;

 Biết khái niệm điều khiển tương tác giữa người với máy tính

2 Những điểm cần lưu ý và gợi ý dạy học

HS đã được làm quen với khái niệm dữ liệu ở các lớp trước, không cầnthiết phải giải thích sâu thêm về khái niệm dữ liệu ở đây

Kiểu dữ liệu là một khái niệm mới và tương đối khó với HS Vì vậy, khôngyêu cầu truyền đạt hết kiến thức về kiểu dữ liệu ở bài này HS còn được tiếp cậndần về kiểu dữ liệu ở các bài sau

Có thể nêu cho HS thấy, ở môn Văn-Tiếng Việt có thể tiến hành phân tích,phát biểu cảm nghĩ về bài văn, bài thơ nào đó Nhưng ở môn Toán thì ta thườngtính toán bằng các phép cộng trừ, nhân, chia với các con số

Cũng có thể bắt đầu bài học với một ví dụ khác ở lớp trước học sinh đã bướcđầu làm quen với các kiểu dữ liệu số và dữ liệu văn bản khi học sử dụng chươngtrình bảng tính Giáo viên có thể nhắc lại hai kiểu dữ liệu quen thuộc trongExcel và đặt câu hỏi hoặc nêu ví dụ về kết quả nhập công thức tính tổng giá trịlưu trong hai ô tính chứa các dữ liệu số hoặc văn bản, yêu cầu học sinh dự đoánkết quả nhận được (hình dưới)

Từ đó kết luận: Đối với các kiểu dữ liệu khác nhau, người ta thường thựchiện các phép xử lí dữ liệu khác nhau

Tương tự như vậy, ngôn ngữ lập trình thường phân chia dữ liệu thành cáckiểu và định nghĩa các phép xử lí tương ứng trên mỗi kiểu dữ liệu

SGK chỉ hạn chế giới thiệu các kiểu dữ liệu đơn giản và thường được sửdụng nhất: dữ liệu kiểu số nguyên, kiểu số thực, kiểu kí tự và kiểu xâu kí tự.Thậm chí, kiểu số nguyên trong ngôn ngữ minh họa là Pascal, SGK cũng chỉ

Trang 36

bước đầu giới thiệu kiểu integer Trong các bài thực hành tiếp theo, học sinh sẽ

dần dần được giới thiệu thêm một vài kiểu dữ liệu khác Một khi học sinh đãlàm quen và hiểu các khái niệm cơ bản về một vài kiểu dữ liệu, việc giới thiệucác kiểu dữ liệu khác sẽ rất nhẹ nhàng Học sinh sẽ dần biết về tầm quan trọngcủa các kiểu dữ liệu khi học đến bài tiếp theo, sử dụng biến trong chương trình.Tương ứng với mỗi kiểu dữ liệu cụ thể đều có các phép toán xử lí tươngứng, ví dụ với dữ liệu là số thì có thể tiến hành các phép toán cộng, trừ, nhân,

chia với các số đó Phép toán như div, mod lại chỉ có thể thực hiện với kiểu

nguyên mà không thực hiện được với kiểu thực

Về thao tác xử lí dữ liệu kiểu xâu, GV có thể cho HS thấy ví dụ về thựchiện thao tác hiển thị dữ liệu kiểu xâu ra màn hình mà các em đã học ở bài thựchành 1

writeln('Chao Cac Ban');

write('Minh la Turbo Pascal');

Lưu ý rằng dữ liệu kiểu xâu trong Pascal được đặt trong cặp dấu nháy đơn

GV chưa nên giới thiệu về các thao tác xử lí đối với dữ liệu kiểu xâu kí tự gâyquá tải với HS

Mục 2 chỉ nêu các phép toán với dữ liệu kiểu nguyên và kiểu thực Cần lưu

để các em nhớ rằng luôn phải tuân thủ những nguyên tắc, quy định màngôn ngữ lập trình đặt ra, nếu không chương trình dịch sẽ không hiểu

và không thể dịch ra cho máy tính thực hiện được

- Các phép toán được thực hiện theo thứ tự ưu tiên:

 Các phép toán trong ngoặc được thực hiện trước tiên;

Trang 37

 Trong dãy các phép toán không có dấu ngoặc, các phép nhân, phépchia, phép chia lấy phần nguyên (div) và phép chia lấy phần dư(mod) được thực hiện trước;

 Cuối cùng thực hiện phép cộng và phép trừ theo thứ tự từ trái sangphải

Các phép toán lấy phần nguyên (div), lấy phần dư (mod) chỉ giới thiệu cho

HS biết, không nên dành nhiều thời gian vào giới thiệu hai phép toán này

Trong số các quy tắc trên có một quy tắc quan trọng mà học sinh thường bỏqua và có ảnh hưởng tới kết quả tính toán: Trong một biểu thức chỉ có phépcộng và phép trừ, hoặc chỉ có phép nhân hoặc phép chia, các phép tính được

thực hiện theo thứ tự từ trái sang phải Cần đặc biệt lưu ý đến điều này khi

chuyển đổi các biểu thức toán học sang dạng biểu thức trong Pascal Giáo viên

có thể nhiều ví dụ khác nhau để nhắc nhở học sinh lưu ý và sử dụng các cặp dấungoặc đơn để nhóm các phép tính, ví dụ:

 10  5 + 2 = 7, nhưng nếu thực hiện phép cộng trước ta được kết quả 3

 66/22 = 36, nhưng nếu thực hiện các phép nhân trước ta được kếtquả là 9

Chẳng hạn, học sinh thường chuyển nhầm biểu thức 2 2

(2 )

a

b c sang dạngbiểu thức Pascal như sau: a*a/(2*b+c)*(2*b+c)

Mục 3 - các phép so sánh, cũng giống với mục 2, cần cho HS nhận thấy sựkhác biệt về kí hiệu sử dụng trong toán học và trong Pascal Điểm cần nhấnmạnh ở mục này là kết quả của một phép so sánh chỉ có thể là đúng hoặc sai HS

sẽ hiểu rõ hơn về ý nghĩa của phép so sánh khi học đến câu lệnh điều kiện, cấutrúc điều khiển ở bài sau

Cần lưu ý rằng các kí hiệu phép toán, phép so sánh ở trên là của Pascal Có

sự khác nhau về các kí hiệu này ở các ngôn ngữ lập trình khác nhau Khi làmviệc với ngôn ngữ lập trình nào thì phải tuân thủ các quy định về kí hiệu phéptoán của ngôn ngữ lập trình đó Tuy nhiên, các ngôn ngữ lập trình đều cho phépbiểu diễn các phép tính số học, phép so sánh

Nội dung mục 4, Giao tiếp người-máy tính, tốt nhất nên được GV minhhoạ trên máy tính Có thể viết sẵn và cho chạy một chương trình như sau (GV cóthể sử dụng chương trình khác):

Trang 38

Chương trình này sẽ cho phép nhập tên của người sử dụng và tiến hành in

ra màn hình dòng chữ chào với tên mà người sử dụng vừa nhập Chương trình sẽ

lặp đến khi người sử dụng nhấn phím khác với phím C Có thể mời lần lượt một

số em lên nhập tên của chính các em để thấy được sự thay đổi tương ứng với dữliệu nhập vào Từ đó các em thấy được khái niệm tương tác người-máy tính.Một điểm cần lưu ý ở đây là cần cho HS thấy sự tương tác giữa người vàmáy có được là do người lập trình tạo ra Có thể mở chương trình và giải thích

sơ bộ cho các em về một số câu lệnh đơn giản để nhập tên, in dòng chào với têntương ứng Lưu ý, lúc này không phải là thời điểm thích hợp để giải thích tất cảcác câu lệnh trong chương trình Những tương tác người-máy tính mà các em đãthực hiện khi soạn thảo văn bản, sử dụng hệ điều hành do người lập trình tạo

ra là một kiến thức quan trọng mà các em cần rút ra ở đây Điều này thể hiện sựkhác biệt giữa học tin học đơn thuần chỉ để sử dụng và học tin học với tư cách làmột ngành khoa học HS sẽ dần hiểu rõ hơn về việc này ở những bài học sau

Để chuẩn bị cho bài thực hành 2, GV có thể cho HS làm câu a, bài 1 củabài thực hành 2 ngay trên lớp

3 Hướng dẫn trả lời câu hỏi và bài tập

Bµi 1 Vì dữ liệu và các thao tác xử lí dữ liệu rất đa dạng, lí do dễ nhận thấy

nhất là việc phân chia dữ liệu thành các kiểu giúp xác định các phép xử lí(phép toán) có thể thực hiện trên mỗi kiểu dữ liệu Ngoài ra, việc phân chiakiểu dữ liệu còn cho biết các giá trị có thể (phạm vi) của dữ liệu, giúp choviệc quản lí tài nguyên của máy tính (đặc biệt là bộ nhớ trong) một cáchhiệu quả

Bµi 2 Có thể nêu các ví dụ sau đây:

Trang 39

a) Dữ liệu kiểu số và dữ liệu kiểu xâu kí tự Phép cộng được định nghĩatrên dữ liệu số, nhưng không có nghĩa trên dữ liệu kiểu xâu.

b) Dữ liệu kiểu số nguyên và dữ liệu kiểu số thực Phép chia lấy phầnnguyên và phép chia lấy phần dư có nghĩa trên dữ liệu kiểu số nguyên,nhưng không có nghĩa trên dữ liệu kiểu số thực

Bµi 3 Dãy chữ số 2010 có thể là dữ liệu kiểu dữ liệu số nguyên, số thực hoặc

kiểu xâu kí tự Tuy nhiên, để chương trình dịch Turbo Pascal hiểu 2010 là

dữ liệu kiểu xâu, chúng ta phải viết dãy số này trong cặp dấu nháy đơn (')

var a: real; b: integer; c: string;

Bµi 4 Cho hai xâu kí tự "Lớp" và "8A" Có thể định nghĩa nhiều "phép toán"

trên tập hợp các dữ liệu kiểu xâu Chẳng hạn phép ghép: Lớp + 8A = Lớp8A

Bµi 5 Lệnh Writeln('5+20=','20+5') in ra màn hình hai xâu kí tự '5+20' và

'20+5' liền nhau: 5+20 = 20+5, còn lệnh Writeln('5+20=',20+5) in ra màn

hình xâu kí tự '5+20' và tổng 20 + 5 như sau: 5+20=25

Bµi 6 Các biểu thức trong Pascal:

Trang 40

d) Đúng khi x > 2.5; ngược lại, phép so sánh có kết quả sai.

Bµi 9 a) 15-8>=3; b) (20-15)*(20-15)<>25; c) 11*11=121; d) x>10-3*x

Bµi 10.Một số ví dụ về tương tác giữa người và máy tính khi chương trình hoạt

động: thông báo kết quả tính toán hay trạng thái hoạt động của chươngtrình, nhập dữ liệu, tạm ngừng chương trình Xem SGK, mục 4, bài 2

Bài thực hành 2 Viết chương trình để tính toán

1 Mục đích, yêu cầu

 Chuyển được biểu thức toán học sang biểu diễn trong Pascal;

 Biết được kiểu dữ liệu khác nhau thì được xử lý khác nhau

Hiểu phép toán div, mod

 Hiểu thêm về các lệnh in dữ liệu ra màn hình và tạm ngừng chươngtrình

2 Những điểm cần lưu ý và gợi ý dạy học

Câu a của bài 1 nhằm mục đích để HS tập chuyển biểu thức viết ở dạngtoán học sang viết trong Pascal Chỉ cần tập trung vào bốn phép tính đơn giản làcộng, trừ, nhân, chia Mặc dù trong Pascal có hàm sqr, nhưng trong bài này đểbiểu diễn bình phương của một số chỉ dùng phép nhân số đó với chính nó Ví

dụ, 32 = 3*3

Lưu ý, khác với trong toán học, trong Pascal sử dụng kí hiệu * và / tươngứng với phép nhân và phép chia Đây là bài đầu tiên HS tập viết biểu thứctrong Pascal Do vậy, cần đưa ra các ví dụ đơn giản với các phép tính đơn giản,

dễ dàng tính ra kết quả Tránh đưa ra các ví dụ quá phức tạp, số lượng phép tínhnhiều, khó tính toán ra kết quả Làm như vậy để HS chỉ tập trung vào mục tiêuchính của phần này là chuyển biểu thức toán học sang mô tả trong Pascal màkhông mất thời gian vào các tính toán phức tạp

Nội dung của câu a là để HS làm trên lớp, không cần thiết phải sử dụng đếnmáy tính Do vậy, nội dung này có thể được dạy trên lớp ngay sau bài 3

Trong phần b và phần c, HS luyện tập soạn thảo, chỉnh sửa, biên dịch, chạy

và xem kết quả của chương trình Cần lưu ý HS gõ chuẩn xác, dựa vào thôngbáo lỗi của TP khi biên dịch, đối chiếu với nội dung in trong SGK để chỉnh sửachương trình nếu có (do HS gõ nhầm)

Các biểu thức ở câu b chính là biểu diễn của các biểu thức toán học ở câu a

Ngày đăng: 17/10/2014, 15:30

HÌNH ẢNH LIÊN QUAN

Sơ đồ thực hiện hai lệnh trên được mô tả trong hình dưới đây. - sách giáo viên tin học thcs tham khảo
Sơ đồ th ực hiện hai lệnh trên được mô tả trong hình dưới đây (Trang 68)
Sơ đồ hoạt động của câu lệnh câu lệnh lặp với số lần chưa biết trước - sách giáo viên tin học thcs tham khảo
Sơ đồ ho ạt động của câu lệnh câu lệnh lặp với số lần chưa biết trước (Trang 85)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w