1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Giáo án c++ tin học 11 đầy đủ soạn theo công văn 5512 và 4040 mới nhất

161 59 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 161
Dung lượng 323,48 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giáo án C++ tin học 11 soạn theo công văn 5512 Bạn đang chuẩn bị bước chân vào con đường lập trình CNTT. Đứng trước vô vàn sự lựa chọn về ngôn ngữ lập trình cần học. Có những ngôn ngữ tuy rất cơ bản dễ học nhưng nó lại là một ngôn ngữ khá cũ. Cũng có những ngôn ngữ mới được phát triển, hệ bậc cao, rất tối ưu nhưng không phải ai cũng học được. Hôm nay chúng tôi sẽ giới thiệu đến bạn ngôn ngữ lập trình C++ cùng với tài liệu học tập, bộ giáo trình kỹ thuật C++ vô cùng hữu ích.

Trang 1

Bạn đang chuẩn bị bước chân vào con đường lập trình CNTT Đứng trước vô vàn sự lựachọn về ngôn ngữ lập trình cần học Có những ngôn ngữ tuy rất cơ bản dễ học nhưng nólại là một ngôn ngữ khá cũ Cũng có những ngôn ngữ mới được phát triển, hệ bậc cao, rấttối ưu nhưng không phải ai cũng học được Hôm nay chúng tôi –CodeGym sẽ giới thiệu

đến bạn ngôn ngữ lập trình C++ cùng với tài liệu học tập, bộ giáo trình kỹ thuật C++ vôcùng hữu ích

Ngày soạn:

Tiết theo KHDH: 1

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

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

I Mục tiêu bài học

1 Kiến thức

- Biết khái niệm lập trình, ngôn ngữ lập trình và 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

- Biết các thành phần cơ bản của ngôn ngữ lập trình

2 Kỹ năng

- Nhận diện các thành phần cơ bản trong một ngôn ngữ lập trình

3 Thái độ

- Thấy được sự cần thiết và tiện lợi khi sử dụng các ngôn ngữ lập trình bậc cao

- Có thái độ nghiêm túc khi học về lập trình

4 Năng lực, phẩm chất

- NL giải quyết vấn đề NL nhận biết các thành phần của NNLT

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, giải quyết vấn đề

- Phương tiện: SGK, giáo án

2 Học sinh

- Vở ghi, SGK

III Tiến trình bài học

A Hoạt động khởi động

 Mục tiêu: Giới thiệu nội dung chương trình tin học lớp 11

 Phương pháp/ Kĩ thuật: Đàm thoại, vấn đáp

 Hình thức tổ chức hoạt động: cá nhân

 Phương tiện dạy học: SGK, máy chiếu, máy tính

 Sản phẩm: Học sinh nắm được nội dung chương tin học 11

B Hoạt động hình thành kiến thức

 Mục tiêu: Giới thiệu nội dung bài 1

 Phương pháp/ Kĩ thuật: Đàm thoại, vấn đáp

 Hình thức tổ chức hoạt động: cá nhân

 Phương tiện dạy học: SGK, máy chiếu, máy tính

 Sản phẩm: Học sinh nắm được nội dung bài 1

Trang 2

HOẠT ĐỘNG DẠY HỌC NỘI DUNG

HĐ1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình – Phát triển NL sử dụng

ngôn ngữ, NL làm việc nhóm

GV: Yêu cầu học sinh xác định Input,

Output của bài toán giải phương trình

GV: Hệ thống các bước giải trên đượ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?

HS: Ngôn ngữ tiếng Anh

GV: Nếu diễn đạt thuật toán này cho

máy hiểu, em sẽ dùng ngôn ngữ gì?

HS: Ngôn ngữ máy

GV: Ngôn ngữ máy là một trong các loại

NNLT Hoạt động để diễn đạt một thuật

toán thông qua một ngôn ngữ lập trình

+ 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

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

a) Khái niệm lập trình

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áccủa thuật toán

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

- Ngôn ngữ máy :

Trang 3

+ Chương trình được viết bằng hợp ngữ

cần được dịch ra ngôn ngữ máy bằng

chương trình hợp dịch

- Nhóm 3: Trình bày đặc điểm của

NNLT 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

GV: Hãy rút ra khái niệm NNLT?

HS: 3 nhóm thảo luận và trình bày

- Ngôn ngữ bậc cao :

b) Khái niệm ngôn ngữ lập trình

NNLT là ngôn ngữ được dùng để diễn tảthuật toán sao cho máy tính có thể hiểu vàthực hiện được

HĐ2: Tìm hiểu chương trình dịch: thông dịch và biên dịch – Phát triển NL giải quyết

vấn đề

GV: Cần phải có một chương trình để

chuyển đổi chương trình viết bằng ngôn

ngữ lập trình bậc cao sang ngôn ngữ máy

để máy có thể thi hành được

HS: Rút ra khái niệm CT dịch

GV: 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 → Thông dị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

2 Chương trình dịch

a) Khái niệm

Chương trình dịch là chương trình đặc biệt

có chức năng chuyển đổi chương trìnhđược viết bằng ngôn ngữ lập trình bậc caothành chương trình thực hiện được trênmáy tính

b) Phân loại

- Thông dịch:

+ Bước 1 : Kiểm tra tính đúng đắn củalệnh tiếp theo trong chương trình nguồn + Bước 2 : Chuyển lệnh đó thành ngônngữ máy

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

Trang 4

toàn bộ nội dung đó sang tiếng Anh rồi

đọc cho người khách → Biên dịch

GV:Ngôn ngữ lập trình C++ mà chúng ta

sẽ được học có rất nhiều trình biên dịch:

Dev C++, Turbo C++, Codeblock,

GV: Nêu 2 tình huống, yêu cầu HS xác

định đâu là thông dịch, đâu là biên dịch?

- Tình huống 1: 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

- Tình huống 2: 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

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

HĐ3: Tìm hiểu các thành phần cơ bản của ngôn ngữ lập trình – Phát triển NL nhận

HS: Cú pháp là quy tắc để viết chương

trình, dễ phát hiện lỗi khi tổ hợp kí tự

Trang 5

ý nghĩa tổ hợp kí tự trong chương trình.

GV: Lấy ví dụ giải thích ngữ nghĩa:

Nếu chỉ cho 2 phép tính cộng A + B và C

+ D, thì về ngữ nghĩa, chúng không có gì

khác nhau, chỉ là phép cộng các số

Nhưng nếu cho 2 phép tính cộng A + B

và C + D, trong đó A, B là các số nguyên

và C, D là các số thực thì lúc này, ngữ

nghĩa của của dấu “+” trong 2 phép tính

trên là khác nhau A + B là phép cộng hai

số nguyên, còn C + D là phép cộng hai

- Lỗi ngữ nghĩa được phát hiện khi chạychương trình

- Trả lời các câu hỏi 1; 2 và 3 trang 14 SGK

- Đọc trước phần 2 và phần 3 của bài: “Các thành phần của ngôn ngữ lập trình”

- Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, hằng và biến

- Nắmđược các quy định về tên, hằng và biến trong một ngôn ngữ lập trình

- Phân biệt được tên, hằng và biến

Trang 6

- NL làm việc nhóm - NL xác định các đối tượng trong NNLT

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan, làm việc nhóm

- Phương tiện: SGK, giáo án

HĐ1: Tìm hiểu khái niệm tên trong ngôn ngữ lập trình – Phát triển NL tự học

GV: Mọi đối tượng, sự vật xung quanh chúng ta đều có một cái tên

cụ thể Và ngôn ngữ lập trình cũng vậy, mỗi đối tượng trong một

chương trình đều phải được đặt tên Vậy thì theo em, việc đặt tên

cho các đối tượng trong chương trình nhằm mục đích gì?

HS: Trả lời câu hỏi

GV: Em hãy cho biết tên được đặt theo quy tắc nào?

HS: Trả lời câu hỏi

GV: Ngôn ngữ lập trình mà chúng ta sẽ được làm quen trong

chương trình Tin học 11 là ngôn ngữ lập trình C++ Chính vì vậy,

trong tiết học này, chúng ta chỉ đi sâu tìm hiểu về ngôn ngữ lập trình

C++

GV: Theo dõi sách giáo khoa, và cho biết tên trong C++phải tuân

thủ những quy tắc nào?

HS: Trả lời câu hỏi

GV: Cho các tên sau: A, A BC, 6Pq, R12, X#y, _45 Hãy xác định các

tên đúng và tên sai

HS: Các tên đúng: A, R12, _45 Các tên sai: A BC, 6Pq, X#y

2 Một số khái niệm

a) Tên

- Tên dùng để phânbiệt và xác định cácđối tượng trongchương trình

- Tên được đặt theoquy tắc của ngôn ngữlập trình và từngchương trình dịch cụthể

- Quy tắc đặt têntrong C++:

Trang 7

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

+ Không đượcchứa các kí tự đặcbiệt: dấu cách, dấuchấm,

- Ví dụ: A, A BC,6Pq, R12, X#y, _45

Chú ý: Tên trong C+

+ phân biệt chữ hoavới chữ thường

- Phân loại:

+ Tên dành riêng (từkhóa):

 Được ngônngữ lập trình dùngvới ý nghĩa riêng xácđịnh

 Người lậptrình không đượcdùng lại với ý nghĩakhác

 VD: main, if,while, include, void + Tên chuẩn:

 Được NNLTdùng với ý nghĩanhất định nào đóđược quy định trongcác thư viện củangôn ngữ lập trình

 Người lập

Trang 8

trình có thể khai báo

và dùng với ý nghĩakhác

 VD: cout,min, max

+ Tên do người lậptrình đặt

 Được ngườilập trình sử dụngtheo ý nghĩa riêngPhải khai báotrước khi sửdụng

 VD: Bai_tap,Giai_phuong_trinh,

HĐ2: Tìm hiểu hằng, biến, chú thích – Phát triển NL làm việc nhóm, NL sử dụng ngôn

ngữ, NL xác định các đối tượng trong chương trình

GV: Đưa ra bài toán:

Tính chu vi P và diện tích S của hình tròn có bán kính R với R được

nhập từ bàn phím Hãy cho biết trong bài toán trên có những đại

lượng nào có giá trị không đổi và đại lượng nào có giá trị thay đổi

HS: Nếu nhập R = 3 thì C = 6π và S = 9π

Nếu nhập R = 4 thì C = 8π và S = 16π

Vậy đại lượng có giá trị thay đổi là R, C, S và đại lượng có giá trị

không thay đổi là π

GV: Em hãy cho biết, trong ngôn ngữ lập trình C++có mấy loại

- Phân loại:

+ Hằng số học:

 Số nguyên: -5,+18, 3

 Số thực: 1.5,-22.3, 1.0E-6, -2.3E5 + Hằng logic:

Trang 9

GV: Biến khác hằng như thế nào?

HS: TL

GV: Thực hiện việc thêm chú thích trực tiếp vào chương trình, dịch

và chạy chương trình Chú thích có ý nghĩa như thế nào?

kí tự trong bộ mãASCII, được đặttrong cặp dấu nháykép

Ví dụ: “Lop 11A3”;

“Trương THPT TranVan Lan”

+ Hằng kí tự: là một

kí tự bất kì trongbảng mã ASCII nằmtrong cặp dấu nháyđơn

Ví dụ: ‘0’, ‘a’

* Biến:

- Biến là đại lượng

có giá trị thay đổitrong quá trình thựchiện chương trình

- Các biến dùngtrong chương trìnhđều phải được khaibáo

c) Chú thích:

- Giúp người đọcchương trình dễ dàngnhận biết ý nghĩa củachương trình đó

- Chú thích khônglàm ảnh hưởng đếnchương trình nguồn

và được chương trìnhdịch bỏ qua

- Trong C++, chú

Trang 10

thích được đặt giữacặp dấu /* và */ hoặcđặt sau dấu //

Trang 11

Ngày soạn:

Tiết theo KHDH:5

§3: KHAI BÁO BIẾN

§4: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

- Khai báo biến trong chương trình

- Chuyển đổi biểu thức toán học sang C++

3 Thái độ

- HS hiểu bài và hứng thú với bài học;

- HS được rèn luyện tính cẩn thận khi khai báo biến, chuyển đổi các phép toán và biểuthức giữa hai dạng biểu thị trong toán học và trong lập trình

4 Năng lực, phẩm chất

- NL sử dụng ngôn ngữ - NL hợp tác và làm việc nhóm

- NL tính toán - NL chuyển đổi biểu thức toán học sang C++

- NL sử dụng kí hiệu tin học

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan, làm việc nhóm

- Phương tiện: SGK, giáo án

HĐ1: Tìm hiểu cách khai báo biến – Phát triển NL sử dụng ngôn ngữ tin học và NL

GV: Em hãy cho cô biết cú pháp

của khai báo biến?

HS: Trả lời câu hỏi

1 Khai báo biến

a) Cú pháp khai báo biến

- Cú pháp

<kiểu dữ liệu><danh sách biến> ;

trong đó:

Trang 12

GV: Diễn giải về danh sách biến và

kiểu dữ liệu

GV:Giả sử trong chương trình cần

các biến thực A, B, C, D, X1, X2 và

các biến nguyên M, N Hãy khai báo

biến cho chương trình

HS: Viết khai báo

GV: Hãy khai báo các biến sau đây:

GV: Đưa ra một số chú ý khi khai

báo biến cho HS biết

GV: Chiếu các chương trình và chạy

Ví dụ : đặt tên biến biểu diễn cho điểm toán và

điểm tin là dtoan, dtin.

- Khai báo biến cần chú ý tới phạm vi giá trịcủa nó

b) Phạm vi biến

- Phạm vi :+ Biến cục bộ: khai báo trong cặp dấu {}, chỉsử dụng trong hàm khai báo nó

+ Biến toàn cục: khai báo ngoài cặp dấu {}, sửdụng trong cả chương trình

+ Khi sử dụng biến cục bộ và biến toàn cụctrong một hàm, biến cục bộ sẽ được ưu tiên

- Khởi tạo biến toàn cục và biến cục bộ :+ Biến cục bộ: người dùng tự khởi tạo giá trịban đầu

+ Biến toàn cục: chương trình tự động khởi tạo

Trang 13

giá trị ban đầu :Kiểu dữ liệu Khởi tạo biến toàn

HĐ2: Tìm hiểu phép toán – Phát triển NL sử dụng kí hiệu tin học

GV: Xác định kết quả của phép toán

sau?

26 / 7 = ? và 26 % 7 = ?

HS: TL

GV: Phép toán quan hệ dùng để so

sánh giá trị 2 đại lượng và kết quả

trả về là true hoặc false

Chia lấy phầnnguyên

<=

Lớn hơn hoặcbằng (≥)

>=

d) Phép toán logic

Trang 14

GV: Biểu thức logic dùng để tạo ra

những biểu thức phức tạp từ các

biểu thức quan hệ đơn giản

Và ˄ && Hai dấu &

HĐ3: Tìm hiểu biểu thức số học – Phát triển NL chuyển đổi biểu thức toán học sang

GV: Nêu quy tắc viết biểu thức

GV: Em hãy cho biết thứ tự thực

hiện các phép toán trong biểu thức

toán học?

HS: TL

GV: Hãy chuyển đổi các biểu thức

toán học sau sang biểu thức trong

+ Không được bỏ qua dấu nhân (*) trong tích

- Thứ tự thực hiện phép toán:

+ Trong ngoặc trước, ngoài ngoặc sau+ Không có ngoặc thì thực hiện từ trái sangphải theo thứ tự: nhân (*), chia (/), lấy phần dư(%) trước, cộng (+), trừ (-) sau

Trang 15

3) a*(b*(c+d)-b*c)

HĐ4: Tìm hiểu một số hàm số học chuẩn– Phát triển NL sử dụng ngôn ngữ tin học và

NL chuyển đổi biểu thức toán học sang C++

GV:Để thuận lợi cho lập trình, các

ngôn ngữ cung cấp một số chương

trình tính giá trị cho một số hàm

toán học thông thường Các chương

trình như vậy được gọi là hàm số

học chuẩn.Cách biểu thị một hàm

chuẩn trong một ngôn ngữ lập trình

cũng tương tự với cách biểu thị hàm

trong toán học, gồm tên hàm, đối số

và kiểu của hàm

4 Hàm số học chuẩn

- Mỗi hàm chuẩn có tên chuẩn riêng;

- Các đối số của hàm là một hay vài biểu thức

số học, viết trong ngoặc tròn sau tên hàm;

- Bản thân hàm chuẩn cũng được coi là mộtbiểu thức số học, nên nó có thể tham gia vàomột biểu thức số học như một toán hạng;

- Kết quả của hàm có thể là kiểu nguyên hoặcthực hay phụ thuộc vào kiểu của đối số

- Một số hàm chuẩn trong C++:

trả về

Chức năng

phầnthậpphân

trònxuống

tròn lên

tròn

Trang 16

GV: Hãy thực hiện bảng sau:

Value roun

d

floor

Ceil

Trunc6.2

Ceil

Trunc

Trang 17

Ngày soạn:

Tiết theo KHDH:4

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

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

I Mục tiêu bài học

1 Kiến thức

- Hiểu chương trình là sự mô tả thuật toán bằng một ngôn ngữ lập trình;

- Biết cấu trúc của một chương trình đơn giản: cấu trúc chung và các thành phần

- Biết một số kiểu dữ liệu chuẩn: Kiểu nguyên, kiểu thực, kiểu kí tự, kiểu logic

- Hiểu cách khai báo biến;

2 Kỹ năng

- Nhận biết được các thành phần của một chương trình đơn giản

- Xác định được kiểu cần khai báo của dữ liệu đơn giản

- Khai báo biến đúng;

3 Thái độ

- HS ham muốn tìm hiểu cách viết một chương trình giải bài toán trên máy tính, bắt đầuhình dung ra cách viết một chương trình, từ đó có tư duy để viết được những chươngtrình khó hơn;

- Có thái độ nghiêm túc, tính cẩn thận khi làm quen với những quy định nghiêm ngặttrong lập trình

- HS thấy được sự cần thiết phải tuân thủ các quy định chuẩn trong chương trình và khilập trình

4 Năng lực, phẩm chất

- NL quan sát và nhận biết - NL sử dụng kí hiệu và ngôn ngữ tin học

- Phương pháp: Thuyết trình, vấn đáp, trực quan, gợi mở, thực hành

- Phương tiện: SGK, giáo án, máy chiếu

Câu 1: Đưa ra ví dụ về 3 tên đúng, 3 tên sai, hãy chỉ ra lỗi sai

Câu 2: Hãy cho các ví dụ về hằng số nguyên, số thực, logic, xâu và kí tự? (tương ứng mỗiloại 2 ví dụ)

B Hoạt động hình thành kiến thức

HĐ1: Tìm hiểu cấu trúc chung của chương trình– Phát triển NL sử dụng ngôn ngữ và

kí hiệu tin học, NL tư duy

Trang 18

GV: Theo dõi SGK và cho cô

biết, cấu trúc của một chương

trình được viết bằng ngôn ngữ

bậc cao gồm mấy phần? Phần

nào bắt buộc phải có?

HS: Trong tin học, chương trình

được viết bằng một ngôn ngữ lập

trình bậc cao thường gồm 2 phần:

phần khai báo và phần thân.

Phần thân là phần bắt buộc phải

GV: Diễn giải:

Thành phần có thể có hoặc không

có được đặt trong cặp dấu [ và ]

Các diễn giải bằng ngôn ngữ tự

nhiên được đặt trong cặp dấu <

và >

HS: Nắm bắt cách sử dụng các kí

hiệu

- Cấu trúc chung + Phần khai báo: có thể có hoặc không+ Phần thân: bắt buộc phải có

Phần khai báo sẽ báo cho máy

biết chương trình sẽ sử dụng

những tài nguyên nào của máy

Trang 19

thường có sẵn một số thư viện

cung cấp một số chương trình

thông dụng đã được lập sẵn Để

sử dụng các chương trình đó cần

khai báo thư viện chứa nó

GV: Nêu cú pháp

HS: Xác định các thành phần

trong khai báo thư viện

GV: Thư viện iostream trong C+

+ chứa các chương trình thực

hiện nhiệm vụ vào ra dữ liệu

chuẩn

GV: Khai báo hằng là việc đặt

tên cho hằng để tiện khi sử dụng

và tránh việc phải viết lại nhiều

lần cùng một hằng trong chương

trình

HS: Xác định các thành phần

trong cú pháp khai báo hằng

GV: Khai báo biến là là xin máy

tính cấp cho chương trình một

vùng nhớ để lưu trữ và xử lý

thông tin trong bộ nhớ trong

Chúng ta sẽ tìm hiểu sâu hơn vấn

đề này trong mục 5

GV: Khai báo và sử dụng chương

trình con được trình bày trong

chương VI

GV:Thân chương trình thường là

nơi chứa toàn bộ các câu lệnh của

chương trình hoặc lời gọi của

chương trình con Trong ngôn

ngữ lập trình C++, phần thân

nằm trong cặp dấu { và }, thể

hiện dấu hiệu mở đầu và kết thúc

- Cú pháp: #include<tên thư viện>

- Ví dụ: #include <iostream>

* Khai báo hằng

- Cú pháp: const<tên kiểu dữ liệu><tên hằng> =

<giá trị>;

- Ví dụ: const long x = 100;

* Khai báo biến

- Tất cả các biến trong chương trình đều phải đượcđặt tên và phải khai báo cho chương trình dịchbiết để khai báo và xử lý

- Biến chỉ được nhận một giá trị tại mỗi thời điểm

thực hiện chương trình gọi là biến đơn.

b) Phần thân chương trình

- Cú pháp:

intmain(){ [khai báo biến]

Trang 20

GV: Yêu cầu theo dõi SGK để

giải thích các từ khóa int, main,

return

HS: Theo dõi và trả lời

HĐ3: Tìm hiểu ví dụ về các chương trình đơn giản– Phát triển NL quan sát và nhận

biết, NL sử dụng CNTT, NL xác định cấu trúc chương trình

GV: Chiếu ví dụ 1, yêu cầu HS

khai báo thư viện iostream chứa

các chương trình vào ra chuẩn

- std:cout là viết tắt của standard

character output device

- Toán tử << biểu thị những gì sẽ

được đưa ra sau câu lệnh std:cout

- Dòng 2 sử dụng không gian tên

3 Ví dụ chương trình đơn giản

a) Ví dụ 1

// my first program in C++

# include <iostream>

int main (){

Std ::cout <<“Hello World !”;

}

b) Ví dụ 2

# include <iostream> //1using namespace std ; //2long x, y ; //3

int main () //4{ cin>> x >> y ; //5 cout << x+y ; //6 return 0 ; //7} //8

* Chú ý :

Trang 21

std (chứa các lệnh cin, cout,…)

- Dòng 3 là khai báo 2 biến toàn

cục x và y

- Dòng 5 là câu lệnh nhập vào giá

trị cho 2 biến x và y từ màn hình

- Toán tử >> thể hiện sẽ nhập dữ

liệu cho biến nào ngay sau nó

- Dòng 6 là câu lệnh đưa giá trị

GV: Giá trị hằng và biến trong

các chương trình phải gắn với

một kiểu dữ liệu để chương trình

dịch biết được và phân phối bộ

nhớ cho chúng lúc dịch chương

trình Các kiểu dữ liệu chuẩn

thường gặp là kiểu số nguyên, số

thực, kí tự và logic

GV: Em thấy kiểu nguyên có hạn

chế gì?

HS: Miền giá trị bị hạn chế, tập

số nguyên là vô hạn, nhưng kiểu

nguyên trong máy tính là hữu

Phạm vi giátrị

Xấ

p xỉtheođơnvịmũ10Số

nguyê

n códấu

signed char 1

byte-128 to 127 102

signed short

int

2byte

-32768 to32767

104

signed int 4

byte

214748364

2147483647

109

signed long

int

4byte

214748364

2147483647

109

signed long longint

8byte

-9.2e+18

to 9.2e+18

1018

Trang 22

GV: Có những đối tượng nhận

giá trị kiểu nguyên nhưng vẫn

cần khai báo kiểu thực nếu như

giá trị nguyên của nó vượt quá

phạm vi biểu diễn của kiểu long

long, ví dụ như tính giá trị biểu

thức T = 13 + 23 + … + n3 với n

đủ lớn Khi đó cần sử dụng T như

một biến kiểu double

GV: Em thấy kiểu số thực có đặc

điểm gì?

HS: Kiểu số thực chỉ cho biết kết

quả gần đúng, số thực sử dụng

trong máy tính cũng là rời rạc và

hữu hạn Nhưng miền giá trị

được mở rộng hơn so với kiểu

nguyên

GV: Em hãy cho biết kiểu kí tự

được dùng khi nào? Hãy cho ví

dụ về kiểu kí tự

HS: Kiểu kí tự dùng khi thông tin

là các kí tự, xâu, hầu hết các

ngôn ngữ lập trình đểu có kiểu kí

tự để làm việc với văn bản Ví dụ

kiểu kí tự A có mã ASCII là 65

Sốnguyênkhôngdấu

unsigned char

1byte

0 to 255 (28-1) 10

2

unsignedshor

t int

2byte

0 to 65535 (216-1) 10

4

unsigned int 4

byte

4294967295

4294967295

(232-1)

109

signed long longint

8byte

Phạm vi giá trị

char 1 byte 256 kí tự trong

bộ mã ACSII

c) Kiểu logic

Trang 23

GV: Logic là một kiểu dữ liệu

được thể hiện rất rõ trong lập

trình, rất có ý nghĩa trong việc

biểu thị các biểu thức logic và

các điều kiện có giá trị đúng hay

sai trong chương trình

GV: Lấy thêm ví dụ minh họa

cho biến ok trong ví dụ 3

Phạm vi giá trị

Boolean 1 byte true hoặc false

C Hoạt động củng cố

- Cấu trúc của một chương trình:

[khai báo thư viện]

[khai báo hằng]

[khai báo biến toàn cục]

[khai báo chương trình con (hàm)]

- Các kiểu dữ liệu: nguyên, thực, kí tự, logic

- Khai báo biến

D Hoạt động luyện tập, mở rộng

- Đọc trước nội dung §6 Phép toán, biểu thức, câu lệnh gán

Trang 24

- HS hiểu bài và hứng thú với bài học;

- HS được rèn luyện tính cẩn thận và làm việc nghiêm túc khi viết câu lệnh gán; khichuyển đổi các phép toán và biểu thức giữa hai dạng biểu thị trong toán học và trong lậptrình

4 Năng lực, phẩm chất

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan

- Phương tiện: SGK, giáo án

HĐ1: Tìm hiểu biểu thức quan hệ– Phát triển NL sử dụng ngôn ngữ và NL chuyển đổi

biểu thức toán học sang C++

GV: Hai biểu thức cùng kiểu liên kết với

nhau bởi phép toán quan hệ cho ta một

trong đó, biểu thức 1 và biểu thức 2 cùng

là xâu hoặc cùng là biểu thức số học

Ví dụ :

Trang 25

GV: Hãy đưa ra điều kiện để điểm M có

tọa độ (x,y) thuộc hình tròn tâm I(a,b),

- Trình tự thực hiện:

+ Tính giá trịbiểu thức ở 2 vế

+ Thực hiện phép toán quan hệ

- Kết quả của biểu thức quan hệ: true (đúng) hoặc false (sai).

Ví dụ: Với x<3 nếu x =5 thì biểu thức x<5 có giá trịfalse Nếu x =1 thì biểu thức x<5 có giá trịtrue

HĐ2: Tìm hiểu biểu thức logic – Phát triển NL tư duy

GV: Nêu các phép toán logic?

HS: Trả lời

GV: Để biểu thị phủ định của điều kiện x

là một số khác 0 ta viết trong C++ là:

! (x = 0)

Để biểu thị điều kiện x là một số nằm

ngoài đoạn [5, 10] trong C++ ta viết:

+ Các biểu thức quan hệ thường đặt trongdấu ngoặc tròn ( và )

- Giá trị của biểu thức logic là true hoặc false.

- Phép toán ! được viết trước biểu thức

cần phủ định

Ví dụ:! (x<1) tương đương với biểu thức

Trang 26

GV: Đặc điểm của phép toán hoặc, và?

- Các phép toán || và && dùng để kết hợp

nhiều biểu thức logic hoặc quan hệ thànhmột biểu thức, thường được dùng để diễn

tả các điều kiện phức tạp

Ví dụ: Để thể hiện điều kiện 5 ≤ x ≤ 11,trong C++ cần phải tách thành phát biểudưới dạng 5 ≤ x và x ≤ 11 :

(5 <= x) &&(x <= 11)

HĐ3: Tìm hiểu câu lệnh gán – Phát triển NL tư duy

GV: Câu lệnh gán là một trong những câu

lệnh cơ bản nhất của các ngôn ngữ lập

trình

HS: Theo dõi

GV: Nhấn mạnh và nêu một số điểm chú

ý khi sử dụng lệnh gán

- Bên trái lệnh gán là tên biến, bên phải là

biểu thức đã xác định

- Biểu thức bên phải cẩn được xác định

giá trị trước khi gán, nghĩa là mọi biến

trong biểu thức đã được xác định giá trị

và các phép toán trong biểu thức có thể

thực hiện được trong miền giá trị của

- Hoạt động của câu lệnh gán:

+ Tính giá trị của biểu thức vế phải;+ Gán giá trị của biểu thức đã tính chobiến ở vế trái

- Ví dụ

x1 = (-b – sqrt (b*b- 4*a*c))/(2*a); x2 = -b/a – x1;

z = z – 1;

i = i + 1;

Trong ví dụ trên, ý nghĩa của lệnh gán thứ

3 là giảm giá trị của biến z một đơn vị Ýnghĩa của lệnh gán thứ tư là tăng giá trịcủa biến i lên một đơn vị

C Hoạt động củng cố

- Phép toán quan hệ, phép toán logic

- Câu lệnh gán

D Hoạt động luyện tập, mở rộng

Trang 27

- Chuẩn bị §7 Các hàm chuẩn vào/ra đơn giản

Trang 28

- HS hiểu bài và hứng thú với bài học;

- Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính

4 Năng lực, phẩm chất

- NL quan sát và thực hành - NL lập trình

- NL sử dụng CNTT - NL tư duy

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan, thao tác mẫu

- Phương tiện: SGK, giáo án

HĐ1: Tìm hiểu hàm nhập dữ liệu vào từ bàn phím – Phát triển NL quan sát và thực

hành

GV: Khi giải quyết một bài toán, ta phải đưa

dữ liệu vào máy tính xữ lí Ví dụ:

- Khi viết chương trình giải phương trình

1 Nhập dữ liệu vào từ bàn phím

Trang 29

HS: Quan sát máy chiếu

GV: Khi viết chương trình tính diện tích

hình chữ nhật có chiều rộng là a, chiều dài

là b, ta nhập như thế nào?

HS: Rút ra cú pháp nhập

GV: Minh họa việc nhập giá trị không tương

thích với kiểu dữ liệu → Chương trình báo

+ Các giá trị nhập vào cho biến phảitương ứng với kiểu dữ liệu

HĐ2: Tìm hiểu hàm đưa dữ liệu ra màn hình – Phát triển NL tư duy

GV: Sau khi xử lí xong, để nhìn thấy được

kết quả ta phải dùng thủ tục xuất dữ liệu.Ví

dụ: ta phải đưa ra màn hình giá trị 2 nghiệm

Trang 30

GV: Chạy chương trình sử dụng câu lệnh in

ra màn hình theo cả 3 cách

HS: Quan sát chương trình, phân biệt các

cách làm và ghi nhớ cú pháp

GV: Chạy chương trình có sử dụng các hàm

chuẩn vào và ra sau:

GV: Chạy chương trình sau theo 2 trường

hợp có quy cách in và không có quy cách in

sẽ chuyển xuống đầu dòng tiếp theo

- Ví dụ:

cout<< “Nhap so nguyen duong n = ”;cin>>n;

hoặc cout<< “Nhap so nguyen duong n =

”<<endl;

cin>>n;

Trang 31

+ fixed là cố định số chữ số phần thậpphân phải đủ n kí tự, nếu không đủ phảithêm 0

§8 SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH

CHƯƠNG TRÌNH

I Mục tiêu bài học

1 Kiến thức

- Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

- Biết một số công cụ của môi trường CodeBlocks

2 Kỹ năng

- Soạn, dịch, sửa lỗi, chạy và hiệu chỉnh chương trình

- Chỉnh sửa chương trình dựa vào thông báo lỗi của chương trình dịch và kết quả thuđược

3 Thái độ

- HS hiểu bài và hứng thú với bài học;

- Bước đầu rèn luyện tư duy giải quyết các vấn đề đơn giản và hoàn chỉnh trên máy tính

4 Năng lực, phẩm chất

- NL quan sát và thực hành - NL lập trình

- NL sử dụng CNTT - NL tư duy

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Thuyết trình, vấn đáp, trực quan, thao tác mẫu

- Phương tiện: SGK, giáo án

HĐ1: Tìm hiểu môi trường làm việc với CodeBlocks – Phát triển NL quan sát và thực

hành, NL sử dụng CNTT, NL tư duy, NL lập trình

Trang 32

GV: Hướng dẫn học sinh các thao tác

- Thoát khỏi phần mềm (Alt+F4)

HS: Quan sát quy trình soạn thảo của

một chương trình, rút ra các phím tắt

thường sử dụng

1 Làm việc với CodeBlocks

- Tạo thư mục mới trong C++

+ B1: Khởi động CodeBlocks+ B2: Create a new project+ B3: Console Aplication → Go+ B4: C++ → Next

+ B5: Đặt tên và chọn đường dẫn → Next+ B6: Finish

- Tạo chương trình, viết và chạy+ B1: Source

+ B2: Nháy đúp main.cpp+ B3: Soạn thảo chương trình+ B4: Biên dịch ( )

+ B5: Run ( )

- Tạo một chương trình mới sau khi vừa viếtmột chương trình

+ B1: Nháy đúp main.cpp+ B2: Soạn thảo chương trình+ B3: Build and Run ( )

- Đặt tên chương trình: File → Save file as

HĐ2:Soạn thảo các chương trình ví dụ – Phát triển NL quan sát và thực hành, NL sử

dụng CNTT, NL tư duy, NL lập trình

GV: Chiếu ví dụ

HS: Thực hiện chương trình theo các

bước giáo viên vừa hướng dẫn

2 Ví dụ

Viết chương trình nhập vào bán kính R củahình tròn Tính chu vi C và diện tích S củahình tròn đó

- Tạo thư mục mới + B1: Khởi động CodeBlocks+ B2: Create a new project+ B3: Console Aplication → Go+ B4: C++ → Next

+ B5: Nhập “Vi_du ” vào ô Project Title→Next, chọn vị trí lưu tệp trên ổ đĩa E

+ B6: Finish

- Tạo chương trình, viết và chạy+ B1: Source

+ B2: Nháy đúp main.cpp+ B3: Soạn thảo chương trình

Trang 33

{ cout<< “Nhap vao ban kinh r = ”;

- Đặt tên chương trình: File → Save file as

→ Gõ tên “Duong_tron”

Trang 34

- NL sử dụng CNTT - NL tư duy

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Làm việc nhóm, kiểm tra đánh giá, vấn đáp

- Phương tiện: SGK, giáo án, phòng thực hành

HĐ1:Soạn thảo chương trình: “Giải phương trình bậc hai”– Phát triển NL quan sát

và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình

GV: Hướng dẫn học sinh mở Code Blocks

và gõ chương trình,

HS: Soạn thảo chương trình

1 Chương trình: “Giải phương trình bậc hai”

cout<< “Nhap a, b, c ”;

Trang 35

GV: Nêu câu hỏi phân tích chương trình:

1) Nêu tác dụng của từng biến trong

d) Nhấn phím F9 để chạy chương trình.Nhập các giá trị 1 ; -3 ; 2

e) Nhấn phím F9 rồi nhập các giá trị 1 ;

0 ; -2

f) Sửa lại chương trình trên sao chokhông dùng biến trung gian d Thực hiệnchương trình đã sửa với các bộ dữ liệutrên

#include <bits/stdc++.h>

using namespace std;

Trang 36

trình sẽ có những thay đổi như thế nào?

HS: double a,b,c,x1,x2; x1 =

(-b+sqrt(b*b-4*a*c))/(2*a);

→ Thực hiện sửa lại chương trình, biên

dịch, sửa lỗi và chạy với 2 bộ dữ liệu trên

GV lưu ý: Có thể ghi sang tệp chương

trình mới khi có nhu cầu chỉnh sửa chương

trình bằng cách File → Save file as

cout<< “Nhap a, b, c ”;

cin>>a>>b>>c;

x1 = (-b+sqrt(b*b-4*a*c))/(2*a); x2=-b/a-x1;

g) Sửa lại chương trình nhận được ở câu

c bằng cách thay đổi công thức x2= (-b-sqrt(d))/(2*a);

h) Thực hiện chương trình đã sửa với bộ

dữ liệu 1; -5; 6 Quan sát kết quả trênmàn hình

i) Thực hiện chương trình với bộ dữ liệu1; 1; 1 và quan sát kết quả trên màn hình

Trang 37

- NL sử dụng CNTT - NL tư duy

- Phẩm chất: tích cực tìm tòi, tự giác nghiên cứu, ham học hỏi, kiên trì, yêu thích mônhọc, yêu thích lập trình

II Phương tiện chuẩn bị

1 Giáo viên

- Phương pháp: Làm việc nhóm, kiểm tra đánh giá, vấn đáp

- Phương tiện: SGK, giáo án, phòng thực hành

HĐ1:Soạn thảo chương trình: “Tính diện tích phần gạch chéo” – Phát triển NL quan

sát và thực hành, NL sử dụng CNTT, NL tư duy, NL lập trình

GV: Hãy viết chương trình nhập số a

(a>0) rồi tính và đưa ra diện tích phần

được gạch chéo trong hình 3 (kết quả

làm tròn đến 4 chữ số phần thập phân)

HS: Xây dựng khung chương trình

1 Chương trình: “Tính diện tích phần gạch chéo”

Trang 38

vận tốc v khi chạm đất của một vật rơi tự

do từ độ cao h, biết rằng v = , trong đó g

là gia tốc rơi tự do và g = 9.8 m/s2 Độ

cao h (m) được nhập vào từ bàn phím

HS: Xây dựng khung chương trình

Trang 39

GV: Cho h = 3; h = 10.5; h = 43

HS: Chạy thử các giá trị và so sánh kết

quả giữa các nhóm

int main(){

Trang 40

- Củng cố lại cho HS một số khái niệm: lập trình, ngôn ngữ lập trình, chương trình dịch

- Phân biệt thông dịch và biên dịch, tên dành riêng và tên chuẩn

- Biết phânbiệt các loại biểu thức trong NNLT

2 Kỹ năng

- Xác định được tên đúng, tên sai, tên chuẩn, từ khoá

- Đặt tên cho một đối tượng bất kì

- Viết được các biểu thức số học và logic với các phép toán thông dụng

- Bước dầu biết phân tích và hoàn thành chương trình đơn giản

- Phương pháp: Thuyết trình, vấn đáp, gợi mở

- Phương tiện: SGK, giáo án

HĐ1:Giải quyết các bài tập trang 35/SGK

Câu 1: Cho biết sự khác nhay giữa hằng

- Biến là đại lượng có thể bị thay đổi trong quá trình thực hện chương trình.

- Khai báo biến để cho chương trình dịch biết để lưu trữ và xử lí.

- Biến đó có thể được khai báo bằng các kiểu dữ liệu là: Integer, Word, Longint.

Ngày đăng: 29/10/2021, 06:40

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w