Bài học hay

https://baihochay.com

Soạn tin học 8 - Bài 2. Làm quen với chương trình và ngôn ngữ lập trình

Hướng dẫn soạn chi tiết Tin học 8, Bài 2. Làm quen với chương trình và ngôn ngữ lập trình, Hướng dẫn trả lời câu hỏi và bài tập trong bài học
Bài 2. Làm quen với chương trình và ngôn ngữ lập trình
Thời lượng: 2 tiết
1. Mục đích, yêu cầu
- Biết ngôn ngữ lập trình gồm các thành phần cơ bản là bảng chữ cái và các quy tắc để viết chương trình, câu lệnh;
- Biết ngôn ngữ lập trình có tập hợp các từ khoá dành riêng cho mục đích sử dụng nhất định;
- Biết tên trong ngôn ngữ lập trình là do người lập trình đặt ra, tên phải tuân thủ các quy tắc của ngôn ngữ lập trình. Tên không được trùng với các từ khoá;
- Biết cấu trúc chương trình bao gồm phần khai báo và phần thân.

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 HS về một số thành phần cơ bản của ngôn ngữ lập trình nói chung, làm quen với cấu trúc chương trình đơn giản, làm quen với FP để chuẩn bị cho bài thực hành 1.

a) Để giới thiệu về thành phần của ngôn ngữ lập trình SGK sử dụng cách tiếp cận xuất phát từ một chương trình Pascal cụ thể, sau đó khái quát hoá 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ệnh Pascal mà chỉ nên tập trung khai thác những điểm cần thiết phục vụ cho mục tiê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ân tí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, bài.

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ột ngô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 1.6 (SGK) để 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 HS ngay khi vào bài học. Từ việc quan 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 GV có thể giới thiệu cho các em biết ví dụ trong hình 1.6 là một chương trình viết bằng ngôn ngữ lập trình Pascal.

b) Để dạy mục 1, SGK dựa trên những gì HS quan sát được như chữ cái, kí hiệu để khái quát 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 quy tắc viết.

Có thể xuất phát từ ngôn ngữ tiếng Việt, nếu HS được học ngoại ngữ 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ắc ngữ 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 1.6), có bảng chữ cái và các quy tắ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ủ quy 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ữ "Chao cac ban" thì trong chương trình phải viết đúng là: writeln('Chao cac ban');

GV có thể sử dụng cách so sánh với ngôn ngữ tự nhiên để HS dễ dàng hiểu được nội dung này. Chẳng hạn, trong tiếng Việt, không phải 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ệnh trong 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ột ngô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 được soạn thảo và dịch với FP có thể có một số lệnh được viết bằng ngôn ngữ Assembly (hợp ngữ). Tuy nhiên, SGK không đề cập đến vấn đề này mà ngầm định những chương trình đề cập đến chỉ sử dụng một ngôn ngữ lập trình.

c) Mục 2, GV sử dụng ví dụ ở hình 1.7, 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á 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 trong lớ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ập trì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ải thí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ững kiế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 trong tiết thực hành.

d) Mục 3, dựa vào hình 1.7 (CT_Dau_tien), chỉ cần cho HS nhận biết được chươ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á qua chương trình trong hình 1.7 SGK: Program là từ khoá dùng để khai báo tên chươ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ổi HS THCS. Tuy nhiên, hạn chế của cách tiếp cận này là HS dễ bị dẫn đến 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ập trình, ngôn ngữ Pascal là một minh hoạ cụ thể. Do vậy, GV cần lưu ý trước khi chuyển sang mục 4, cần nhấn mạnh để HS ghi nhớ, với tất cả ngôn ngữ lập trì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ương trình.

Có thể giới thiệu nội dung mục 4 trên lớp hoặc yêu cầu các em đọc nội dung này ở nhà chuẩn bị cho bài thực hành 1. Mục tiêu là để HS nhận biết giao diện của phần mềm FP và biết các bước soạn thảo, dịch chương trình phục vụ trực tiếp cho bài thực hành 1. Nếu giới thiệu trên lớp, GV nên chuẩn bị sẵn một số hình ảnh về giao diện của FP trên giấy khổ rộng và tận dụng kênh hình trong SGK. Trong cả hai trường hợp, khi tiến hành bài thực hành 1 GV cần tổng kết lại nội dung này ngay trước khi HS 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ính gồm hai bước: soạn thảo chương trình trên máy tính theo một ngôn ngữ lập trình cụ thể và 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 FP, sau khi soạn thảo xong chỉ cần nhấn tổ hợp phím 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 tổ hợp phím 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ương trình học các em sẽ làm việc với một ngôn ngữ lập trình, đó là 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 được trên máy tính.

Bài 2. Tên trong chương trình là dãy các kí tự 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 quy tắc của ngôn ngữ lập trình cũng như của chương trình dịch, trong đó:
(1) Hai tên khác nhau ứng với những đại lượng khác nhau;
(2) Tên không được trùng với các từ khoá.

Bài 3. 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 4. Xem SGK, mục 3, bài 2.

Bài 5. 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 khô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.
 