Soạn tin học 8 - Bài 3. Chương trình máy tính và dữ liệu

Thứ sáu - 11/10/2019 12:59
Hướng dẫn soạn chi tiết Tin học 8, Bài 3. Chương trình máy tính và dữ liệu, Hướng dẫn trả lời câu hỏi và bài tập trong bài học
 Bài 3. Chương trình máy tính và dữ liệu
Thời lượng: 2 tiết
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
a) Phần khởi động sẽ giúp HS biết và nhận ra rằng không phải có thể thực hiện các phép toán bất kì trên mọi dữ liệu. Vấn đề được nảy sinh của bài học chính là khái niệm Kiểu dữ liệu.

b) HS đã được làm quen với khái niệm dữ liệu ở các lớp trước, không cần thiế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 tương đối khó với HS. Vì vậy, không yê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ận dần về kiểu dữ liệu ở các bài sau.
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 xâu kí tự. Thậm chí, kiểu số nguyên trong ngôn ngữ minh hoạ là Pascal, SGK cũng chỉ bước đầu giới thiệu kiểu integer. Trong các bài thực hành tiếp theo, HS 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 HS đã 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ệu các kiểu dữ liệu khác sẽ rất nhẹ nhàng. HS sẽ dần biết về tầm quan trọng củ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.
Với mỗi kiểu dữ liệu thì 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ực hiệ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ực hành 1.
writeln('Chao Cac Ban');
write('Minh la Free 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ây quá tải với HS.

c) 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 ý một số điểm sau:
- Sự khác nhau giữa kí hiệu phép toán trong toán học và trong Pascal. Có thể cho HS tự xem các bảng 1.2 (SGK) để phát hiện ra sự khác nhau này.
- Trong Pascal chỉ cho phép sử dụng cặp dấu ngoặc đơn () để mô tả thứ tự thực hiện các phép toán. Không dùng cặp dấu ngoặc vuông [] hay cặp dấu ngoặc nhọn {} như trong toán học. GV có thể hỏi HS, giả sử khi viết chương trình một bạn nào đó đã quên quy định này của Pascal mà dùng dấu ngoặc vuông hay dấu ngoặc nhọn để viết biểu thức thì có điều gì xảy ra? Mục tiêu của câu hỏi này là để 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:
1. Các phép toán trong ngoặc được thực hiện trước tiên;
2. Trong dãy các phép toán không có dấu ngoặc, các phép nhân, phép chia, 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;
3. Phép cộng và phép trừ theo thứ tự từ trái sang phả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.
Có một quy tắc quan trọng mà HS thường bỏ qua và làm ảnh hưởng tới kết quả tính toán: Trong một biểu thức chỉ có phép cộ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. GV có thể nêu nhiều ví dụ khác nhau
để nhắc nhở HS lưu ý và sử dụng các cặp dấu ngoặ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.
6x6/2x2 = 36, nhưng nếu thực hiện các phép nhân trước ta được kết quả 9.
Chẳng hạn, HS thường chuyển nhầm biểu thức
 sang dạng biểu thức Pascal như sau: a*a/(2*b+c)*(2*b+c).
 
 
 
d) 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ấn mạ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ấu trú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àm việ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ép toá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ép biểu diễn các phép tính số học, phép so sánh.

e) Mục 4 (Giao tiếp người-máy tính) tốt nhất nên được GV minh hoạ 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):


Chương trình này sẽ cho phép nhập tên của người dùng và tiến hành in ra màn hình dòng chữ có tên mà người dùng vừa nhập. Chương trình sẽ lặp đến khi người dùng nhấn phím khác với phím C. Có thể mời lần lượt một số HS 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.
GV cần lưu ý 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ên tươ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à 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ủa bà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. Có thể nêu các ví dụ sau đây:
a) Dữ liệu kiểu số và dữ liệu kiểu xâu kí tự. Phép nhân được định nghĩa trê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ần nguyê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 2. Biểu diễn số 2017 có thể dùng 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 FP hiểu 2017 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: string; b: integer;
begin writeln('2017'); writeln(2017);
a:='2017';
b:=2017;
end.

Bài 3. Với hai xâu kí tự có thể định nghĩa được phép tính ghép (hoặc phép cộng) 2 xâu. Phép tính này sẽ nối hai xâu vào thành một xâu. Ví dụ:
"Lớp" + " " + "8A" = "Lớp 8A".

Bài 4. Lệnh Writeln('5+20=','20+5') in ra màn hình hai xâu kí tự '5+20' '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 của 20+5 như sau: 5+20=25.
Bài 5. Các biểu thức trong Pascal:
a) a/b+c/d;
b) a*x*x+b*x+c;
c) 1/x-a/5*(b+2);
d) (a*a+b)*(1+c)*(1+c)*(1+c).

Bài 6. Các biểu thức toán tương ứng:
a) (a + b)2 -
b)
c)

d) 1 +
 
Bài 7. Kết quả của các phép so sánh:
a) Đúng;            b) Sai; c) Đúng;
d) Đúng khi x > 2.5; ngược lại, phép so sánh có kết quả sai.

Bài 8.

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

 

  Ý kiến bạn đọc

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây