Tiết  1-2-3

 

 

KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

I. MỤC TIÊU

- Biết được khái niệm lập trình và ngôn ngữ lập trình.

- Biết được khái niệm chương trình dịch.

- Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch.

II. ĐỒ DÙNG DẠY HỌC

1-Chuẩn bị của giáo viên

- Bảng viết, sách giáo khoa, sách giáo viên, phiếu học tập.

2-Chuẩn bị của học sinh

- Sách giáo khoa.

III. HOẠT ĐỘNG DẠY-HỌC

1. Hoạt động 1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình.

HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Chiếu nội dung bài toán đặt vấn đề: Kết luận nghiệm của phương trình ax+b=0

- Hãy xác định các yếu tố Input và Output của bài toán?

 

- Hãy xác định các bước để tìm output?

 

 

 

 

 

 

- Diễn giải; Hệ thống các bước này được gọi là thuật toán.

- Nếu trình bày thuật toán với một người nước ngoài, em sẽ dùng ngôn ngữ nào để diễn đạt?

- Nếu diễn đạt thuật toán này cho máy hiểu, em sẽ dùng ngôn ngữ nào?

- Diễn giải: Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập tr

1. Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên.

- Input :  a,  b

- Output :  x=-b/a, Vô nghiệm, Vô số nghiệm.

Bước 1 : Nhập a,b.

Bước 2 : Nếu a<>0 kết luận có nghiệm x=-b/a.

Bước 3 : Nếu a=0 và b<>0, kết luận Vô nghiệm.

Bước 4 : Nếu a=0 và b=0, kết luận Vô số nghiệm.

 

 

- Ngôn ngữ Tiếng Anh.

 

 

- Em dùng ngôn ngữ lập trình.

 

 

1

 


ình.

- Yêu cầu học sinh đọc sách giáo khoa và cho biết khái niệm lập trình.

 

 

- Hỏi: kết quả của hoạt động lập trình?

2. Phát phiếu học tập. Yêu cầu các em ghi các loại ngôn ngữ lập trình mà em biết (Sử dụng kỹ thuật động não viết)

 

 

 

- Đọc nội dung một số phiếu học tập cho cả lớp cùng nghe.

- Hỏi: Em hiểu như thế nào về ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao?

 

 

 

 

 

 

 

 

 

- Hỏi: Làm thế nào để chuyển một chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy?

- Hỏi: Vì sao không lập trình trên ngôn ngữ máy để khỏi phải mất công chuyển đổi mà người ta thường lập trình bằng ngôn ngữ bậc cao?

 

 

 

-Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.

- Ta được một chương trình.

2. Tham khảo sách giáo khoa và sử dụng vốn hiểu biết về tin học để điền phiếu học tập.

- Ngôn ngữ máy

- Hợp ngữ.

- Ngôn ngữ bậc cao.

 

 

- Ngôn ngữ máy : các lệnh được mã hóa bằng các ký hiệu 0-1. Chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện ngay.

- Ngôn ngữ bậc cao : Các lệnh được mã hóa bằng một ngôn ngữ gần với ngôn ngữ tiếng Anh. Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.

- Phải sử dụng một chương trình dịch để chuyển đổi.

 

- Lập trình bằng ngôn ngữ bậc cao dẽ viết hơn vì các lệnh được mã hóa gần với ngôn ngữ tự nhiên. Lập trình trên ngôn ngữ máy rất khó, thường các chuyên gia lập trình mới lập trình được.

2. Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch.

1

 


HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Nêu vấn đề: 

Em muốn giới thiệu về trường mình cho một người khách du lịch quốc tế biết tiếng Anh, có hai cách để thực hiện:

Cách 1: Cần một người biết tiếng Anh, dịch từng câu nói của em sang tiếng Anh cho người khách.

Cách 2: Em soạn nội dung cần giới thiệu ra giấy và  người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc cho người khách.

- Hãy lấy ví dụ tương tự trong thực tế về biên dịch và thông dịch từ tiếng Anh sang tiếng Việt.

 

 

 

 

 

2. Yêu cầu học sinh nghiên cứu sách giáo khoa và sử dụng các ví dụ trên để cho biết các bước trong tiến trình thông dịch và biên dịch.

 

 

 

1. Chú ý lắng nghe ví dụ của giáo viên và thảo luận để tìm ví dụ tương tự.

 

 

 

 

 

 

 

 

 

- Khi thủ tướng một chính phủ trả lời phỏng vấn trước một nhà báo quốc tế, họ thường cần một người thông dịch để dịch từng câu tiếng Việt sang tiếng Anh.

- Khi thủ tướng đọc một bài diễn văn tiếng Anh trước Hội nghị, họ cần một người biên dịch để chuyển văn bản tiếng Việt thành tiếng Anh.

2. Nghiên cứu sách giáo khoa và suy nghĩ để trả lời.

- Biên dịch:

Bước 1 : Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình nguồn.

Bước 2 : Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy.

(thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần)

- Thông dịch:

Bước 1 : Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương trình nguồn.

Bước 2 : Chuyển lệnh đó thành ngôn ngữ máy.

1

 


 

Bước 3 : Thực hiện các câu lệnh vừa được chuyển đổi.

(phù hợp với môi trường đối thoại giữa người và máy)

IV. ĐÁNH GIÁ CUỐI BÀI

1. Những nội dung đã học

- Khái niệm lập trình và ngôn ngữ lập trình.

- Có ba loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao

 

- Khái niệm chương trình dịch.

- Có hai loại chương trình dịch là biên dịch và thông dịch.

2. Câu hỏi và bài tập về nhà

- Mỗi loại ngôn ngữ lập trình phù hợp với những người lập trình có trình độ như thế nào?

- Kể tên một số ngôn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch và một số ngôn ngữ lập trình có sử dụng kĩ thuật thông dịch.

- Trả lời các câu hỏi 1, 2, 3, sác giáo khoa, trang 13.

- Xem bài đọc thêm 1: Em biết gì về các ngôn ngữ lập trình?, sách giáo khoa, trang 6.

- Xem trước bài học: Các thành phần của ngôn ngữ lập trình.

 

 

 

 

 

CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH

1

 


I. MỤC TIÊU

1. Kiến thức

- Nắm được các thành phần của một ngôn ngữ lập trình nói chung. Một ngôn ngữ lập trình có ba thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa.

- Biết được một số khái niệm như: tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến và chú thích.

2. Kĩ năng

 - Phân biệt được tên chuẩn với tên dành riêng và tên tự đặt.

- Nhớ các quy định về tên, hằng và biến.

 - Biết đặt tên đúng và nhận biết được tên sai quy định.

- Sử dụng đúng chú thích.

II. ĐỒ DÙNG DẠY HỌC

1. Chuẩn bị của giáo viên

 - Tranh chứa bảng chữ cái, tranh chứa các tên đúng-sai để học sinh chọn, phiếu học tập, máy chiếu qua đầu, bìa trong, bút dạ.

2. Chuẩn bị của học sinh

 - Sách giáo khoa.

III. HOẠT ĐỘNG DẠY-HỌC

HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Đặt vấn đề: Có những yếu tố nào dùng để xây dựng nên ngôn ngữ tiếng Việt?

 

 

2. Diễn giảng: Trong ngôn ngữ lập trình cũng tương tự như vậy, nó gồm có các thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa.

3. Chia lớp làm 3 nhóm, phát bìa trong và bút cho mỗi nhóm và yêu cầu mỗi nhóm thực hiện một nhiệm vụ:

1. Độc lập suy nghĩ và trả lời

- Bảng chữ cái tiếng Việt, số, dấu..

- Cách ghép các ký tự thành từ, ghép từ thành câu.

- Ngữ nghĩa của từ và câu.

2. Lắng nghe và ghi nhớ.

 

 

 

3. Nghiên cứu sách giáo khoa, thảo luận theo nhóm và điền phiếu học tập:

 

1

 


- Hãy nêu các chữ cái của bảng chữ cái tiếng Anh.

 

 

- Nêu các ký số trong hệ đếm thập phân.

- Nêu một số ký hiệu đặc biệt khác.

 

 

- Thu phiếu trả lời, chiếu kết quả lên bảng, gọi đại diện nhóm khác nhận xét, bổ sung.

- Treo tranh giáo viên đã chuẩn bị để tiểu kết cho hoạt động này.

Bảng chữ cái: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

Hệ đếm: 0 1 2 3 4 5 6 7 8 9

Ký hiệu đặc biệt:

+  -  *  /  =  <  >  [  ]  .  ,  _ ;  #  ^  $  &  (  )  {  } :  ‘

- Theo dõi kết quả của các nhóm khác và bổ sung những thiếu sót.

 

- Tập trung xem tranh và ghi nhớ.

2. Hoạt động 2: Tìm hiểu khái niệm tên trong thành phần của ngôn ngữ lập trình.

HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Đặt vấn đề: Mọi đối tượng trong chương trình đều phải được đặt tên.

- Hãy nghiên cứu sách giáo khoa, trang 10, để nêu quy cách đặt tên trong Turbo Pasacl?

 

2. Treo tranh chứa các tên đúng-sai, yêu cầu học sinh chọn tên đúng.

A

A  BC

6Pq

R12

X#y

_45

- Tiểu kết cho vấn đề này bằng việc khẳng định lại các tên đúng.

3. Yêu cầu học sinh nghiên cứu sách giáo khoa, (trang 10-11) để biết các khái niệm về tên dành riêng, tên chuẩn và tên do người lập trình đặt.

1. Nghiên cứu sách giáo khoa và trả lời

 

- Gồm chữ số, chữ cái, dấu gạch dưới.

- Bắt đầu bằng chữ cái hoặc dấu gạch dưới.

- Độ dài không quá 127.

2. Quan sát tranh và trả lời.

 

A

R12

_45

 

 

 

 

 

3. Nghiên cứu sách giáo khoa để trả lời

 

 

 

1

 


- Chia lớp làm 3 nhóm, mỗi nhóm trình bày hiểu biết của mình về một loại tên và cho ví dụ

 

 

 

 

 

 

 

 

 

 

 

 

 

- Treo tranh chứa một số tên trong ngôn ngữ lập trình Pascal đã được chuẩn bị sẵn:

Program    Abs   Interger   Type

Xyx   Byte  Tong

- Phát bìa trong và bút cho mỗi nhóm và yêu cầu học sinh mỗi nhóm thực hiện:

+ Xác định tên dành riêng.

+ Xác định tên chuẩn.

+ Xác định tên tự đặt.

- Thu phiếu học tập của ba nhóm, chiếu kết quả lên bảng, gọi học sinh nhóm khác nhận xét bổ sung.

- Tiểu kết cho vấn đề này bằng cách bổ sung thêm cho mỗi nhóm để đưa ra trả lời đúng.

-Thảo luận theo nhóm và điền phiếu học tập.

+ Tên dành riêng: là những tên được ngôn ngữ lập trình quy định dùng với ý nghĩa xác định, người lập trình không được dùng với ý nghĩa khác.

+ Tên chuẩn: là những tên được ngôn ngữ lập trình quy định dùng với một ý nghĩa nào đó, người lập trình có thể định nghĩa lại để dùng nó với ý nghĩa khác.

+ Tên do người lập trình đặt: là tên được dùng theo ý nghĩa riêng của từng người lập trình, tên này được khai báo trước khi sử dụng. Các tên không được trùng với tên dành riêng.

-Quan sát tranh và điền phiếu học tập.

 

 

 

 

 

 

Tên dành riêng: Program    type  

Tên chuẩn: Abs   Interger   Byte 

Tên tự đặt: Xyx   Tong

- Quan sát kết quả của nhóm khác và nhận xét, đánh giá và bổ sung.

 

- Theo dõi bổ sung của giáo viên để hoàn thiện kiến thức.

3. Hoạt động 3: Tìm hiểu hằng, biến và chú thích.

HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Yêu cầu học sinh cho một số ví dụ về hằng số, hằng xâu và hằng logic.

1. Độc lập suy nghĩ và trả lời.

1

 


 

 

- Trình bày khái niệm về hằng số, hằng xâu và hằng logic.

 

 

 

 

2. Ghi bảng: Xác định hằng số và hằng xâu trong các hằng sau:

-32767

‘QB’

‘50’

1.5E+2

3. Yêu cầu học sinh nghiên cứu sách giáo khoa, cho biết khái niệm biến.

 

 

 

 

- Cho ví dụ một số biến.

4. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết chức năng của chú thích trong chương trình.

 

 

- Cho một ví dụ về một dòng chú thích

- Hỏi: Tên biến và tên hằng là tên dành riêng hay tên chuẩn hay tên do người lập trình đặt?

- Hỏi: Các lệnh được viết trong cặp dấu { } có được TP thực hiện không? vì sao?

- Hằng số:      50     60.5

- Hằng xâu:   ‘Ha Noi’   ‘A’

- Hằng logic:  False

- Hằng số học là các số nguyên và số thực, có dấu hoặc không dấu.

- Hằng xâu: là chuỗi ký tự trong bộ mã ASCII, được đặt trong cặp dấu nháy.

- Hằng logic: là giá trị đúng (True) hoặc sai (False).

2. Quan sát bảng và trả lời:

 

- Hằng số: -32767, 1.5E+2

- Hằng xâu: ‘QB’  ‘50’

 

 

3. Nghiên cứu sách giáo khoa và trả lời.

- Biến là đại lượng được đặt tên dùng để lưu trữ giá trị. Giá trị này có thể được thay đổi trong quá trình thực hiện chương trình. Các biến dùng trong chương trình đều phải được khai báo.

- Ví dụ hai tên biến là: Tong, xyz

4. Độc lập tham khảo sách giáo khoa để trả lời.

- Chú thích được đặt giữa cặp dấu { } hoặc (*  *) dùng để giải thích cho chương trình rõ ràng dễ hiểu.

- {Lenh xuat du lieu}

- Là tên do người lập trình đặt.

 

 

- Không. Vì đó là dòng chú thích.

IV. ĐÁNH GIÁ CUỐI BÀI

1. Những nội dung đã học

1

 


- Thành phần của ngôn ngữ lập trình: bảng chữ, cú pháp và nghữ nghĩa.

- Khái niệm: tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến và chú thích.

 

 

 

 

 

 

 

 

1

 


CHƯƠNG 2. CHƯƠNG TRÌNH ĐƠN GIẢN

 

Tiết  4-5

 

 

CẤU TRÚC CHƯƠNG TRÌNH

MỘT SỐ KIỂU DỮ LIỆU CHUẨN

KHAI BÁO BIẾN

I. MỤC TIÊU

1. Kiến thức

 - Biết được cấu trúc chung của một chương trình.

 - Biết được một số kiểu dữ liệu chuẩn: nguyên, thực, ký tự, logic.

 - Biết được cấu trúc chung của khai báo biến.

2. Kĩ năng

 - Sử dụng được kiểu dữ liệu và khai báo biến để viết được một chương trình đơn giản.

II. ĐỒ DÙNG DẠY HỌC

1. Chuẩn bị của giáo viên

 - Máy vi tính và máy chiếu projector dùng để chiếu các ví dụ.

 - Tranh có chứa một số khai báo biến để học sinh chọn đúng-sai.

 - Một số chương trình mẫu viết sẵn.

2. Chuẩn bị của học sinh

 - Sách giáo khoa.

III. HOẠT ĐỘNG DẠY-HỌC

1. Hoạt động 1: Tìm hiểu cấu trúc chung và các thành phần của chương trình.

HOẠT ĐỘNG CỦA GIÁO VIÊN

HOẠT ĐỘNG CỦA HỌC SINH

1. Phát vấn gợi ý: Một bài tập làm văn em thường viết có mấy phần? Các phần có thứ tự không? Vì sao phải chia ra như vậy?

2. Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời các câu hỏi sau:

1. Lắng nghe và suy nghĩ trả lời:

- Có ba phần.

- Có thứ tự : Mở bài, thân bài, kết luận.

- Dễ viết, dễ đọc, dễ hiểu nội dung.

2. Nghiên cứu sách giáo khoa, thảo luận và trả lời

1

 


- Một chương trình có cấu trúc mấy phần?

 

- Trong phần khai báo, có những khai báo nào?

 

 

- Yêu cầu học sinh lấy ví dụ khai báo tên chương trình trong ngôn ngữ Pascal.

- Yêu cầu học sinh lấy ví dụ khai báo thư viện chương trình con trong ngôn ngữ Pascal.

- Yêu cầu học sinh lấy ví dụ khai báo hằng trong ngôn ngữ Pascal.

- Yêu cầu học sinh lấy ví dụ khai báo biến trong ngôn ngữ Pascal.

-Yêu cầu học sinh cho biết cấu trúc chung của phần thân chương trình trong ngôn ngữ lập trình Pascal.

3. Tìm hiểu một chương trình đơn giản.

- Chiếu lên bảng một chương trình đơn giản trong ngôn ngữ C++.

# Include 

void main()

{

Printf(“Xin chao cac ban”);

}

- Hỏi: Phần khai báo của chương trình?

 

- Hỏi: Phần thân của chương trình, lệnh printf có chức năng gì?

- Chiếu lên bảng một chương trình đơn giản trong ngôn ngữ Pascal.

Program  VD1;

Var   x,y:byte; t:word;

+ Hai phần:

          [

    

- Khai báo tên chương trình, khai báo thư viện chương trình con, khai báo hằng, khai báo biến và khai báo chương trình con.

- Cấu trúc: Program   ten_chuong_trinh;

- Ví dụ:  Program   tinh_tong;

- Cấu trúc: Uses  tên_thư_viện;

- Ví dụ:  Uses  crt ;  

 

- Cấu trúc: Const    tên_hằng = giá_trị;

- Ví dụ:      Const   maxn=100;

- Cấu trúc: Var tên_biến=Kiểu_dữ_liệu;

- Ví dụ:      Var    a,b,c : integer;

   Begin

         Dãy các lệnh;

   End.

3. Quan sát tranh và trả lời

 

 

 

 

 

 

- Phần khai báo chỉ có một khai báo thư viện stdio.h

- Phần thân {}

- Lệnh Printf dùng để đưa thông báo ra màn hình.

 

 

 

 

 

1

 

nguon VI OLET