1. Trang chủ
  2. » Giáo án - Bài giảng

giáo án tin học 11 năm học 2018 2019

77 366 2

Đ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 77
Dung lượng 3,77 MB

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

Nội dung

Năng lực hướng tới: Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của Tin học nhằm giải các bài toán thực tiễn ngàycàng phức tạp.. ch-Thông

Trang 1

- Biết dược vai trò của chương thình dịch.

2 Kĩ năng: Phân biệt được hai khái niệm biên dịch và thông dịch, phân biệt được các

loại 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 Liên hệ được với quá trình giao tiếp trong đời sống

4 Năng lực hướng tới: Nhận thức được quá trình phát triển của ngôn ngữ lập trình

gắn liền với quá trình phát triển của Tin học nhằm giải các bài toán thực tiễn ngàycàng phức tạp

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện:

- Giáo viên: Một số ví dụ về ngôn ngữ lập trình

- Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng

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

1 Ổn định tổ chức: Kiểm tra sĩ số lớp.

2 Kiểm tra bài cũ: Nếu chỉ có thuật toán thì máy đã thực hiện được các bài toán mà

chúng ta đã giải hay chưa?

3 Giảng bài mới:

TTTTT TTTTTTT TTTT T T TTT T TT T TTT T TT T TT T TTTTT T TT T T TTT T T TTT TT 10

TTT T T TTT TTTTTTTTTTTTTT TTTTT T TTTTTTTTTTTTT T TT TTT TTTTTTTTTT TTTTTTTTT : , ;

TTT TTTTTTTT TTTT TT TTTTTTTTTT TTTTTTTTT TTT TTTTT TTT

GV: Gọi một học sinh nhắc lại các khái

niệm: ngôn ngữ máy, hợp ngữ và ngôn

ngư bậc cao

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

GV: Để 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 cần phải có gì?

GV: Như vậy có hai cách để người

phóng viên có thể thực hiện công việc

của mình : biên dịch và thông dịch

Ngôn ngữ máy: Là ngôn ngữ duy nhất mà máytính có thể trực tiếp hiểu và xử lý đựơc

Hợp ngữ: Là loại ngôn ngữ sử dụng một số từ đểthực hiện lệnh trên thanh ghi

Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngônngữ tự nhiên, ít phụ thuộc vào loại máy

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ằngngôn ngữ lập trình bậc cao sang ngôn ngữ máy

 Dùng máy chiếu diễn giải hai tình huống này

CHƯƠNG TRÌNH NGUỒN

CHƯƠNG TRÌNH DỊCH

CHƯƠNG TRÌNH ĐÍCH

Trang 2

ch-Thông dịch (Interpreter) đợc thực hiện bằng cách

lặp lại dãy các bước sau

- Kiểm tra tính đúng đắn của câu lệnh tiếp theotrong chương trình nguồn

- Chuyển đổi câu lệnh đó thành một hay nhiều câulệnh tương ứng trong ngôn ngữ máy

- Thực hiện câu lệnh vừa chuyển đổi được

4 Củng cố: Khái niệm lập trình? Chương trình dịch là gì? Khái niệm ngôn ngữ lập

trình?

5 Bài tập về nhà:

Trang 3

Tiết PPCT: 2

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

I MỤC TIÊU

1 Kiến thức:

- 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

- Học sinh ghi nhớ được các quy định về tên, hằng và biến trong một ngôn ngữ lậptrình

2 Kĩ năng:

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

- Biết cách đặt tên chúng và nhận biết được tên viết sai quy tắc

3 Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ trong lập trình

4 Năng lực hướng tới:

- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải quyết các bài toántrên máy tính điện tử

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện:

- Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo.Máy tính cá nhân và máy chiếu (nếu có)

- Học sinh: Đọc trước ở nhà Sách giáo khoa

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

1 Ổn định tổ chức: Kiểm tra sĩ số lớp.

2 Kiểm tra bài cũ:

Câu hỏi:

1 Chương trình dịch là gì?

2 Biên dịch và thông dịch khác nhau như thế nào?

3 Giảng bài mới:

GV: Có những yếu tố nào xây dựng nên

ngôn ngữ Tiếng Việt

HS: Bảng chữ cái tiếng Việt; cách ghép kí tự

thành từ, ghép từ thành câu; ngữ nghĩa của từ

và câu

 NNLT cũng vậy nó gồm các thành phần:

bảng chữ cái, cú pháp và ngữ nghĩa

GV: Hãy đọc sách giáo khoa và cho biết

trong Pascal bảng chữ cái bao gồm kí tự nào?

HS: Trả lời

 Bảng chữ cái của các ngôn ngữ lập trình

không khác nhau nhiều

VD: Trong C++ khác với Pascal còn có sử

trình Không được dùng bất cứ kí tự nào ngoài cácquy định trong bảng chữ cái

VD: Trong Pascal bảng chữ cái bao gồm: chữcái thường, chữ cái in hoa tiếng Anh; chữ số thậpphân; kí tự đặc biệt,

b) Cú pháp:

Là bộ quy tắc để viết chương trình

c) Ngữ nghĩa:

Xác định ý nghĩa các thao tác cần phải thực

hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó

Trang 4

phải được đặt tên theo quy tắc của ngôn ngữ

GV: Ngôn ngữ lập trình thường có ba loại

tên cơ bản: tên dành riêng, tên chuẩn và tên

do người lập trình đặt

HS: Đọc SGK và trình bày về tên dành riêng

GV: Trong Pascal, khi soạn thảo, tên dành

riêng có màu trắng phân biệt với các tên khác

GV: Gọi HS phát biểu về tên chuẩn

HS: Khi giải PTBH ta cần dùng các biến:

a,b,c, x1, x2, Delta để biểu diễn nội dung của

hệ số của phương trình; các nghiệm của

phương trình và biệt số delta

GV: Vậy các tên đó là tên do người lập trình

hằng cho học sinh nhận biết

HS: Nhận biết tên hằng đúng và tên hằng sai

Ví dụ: 123, ‘123’, ‘TRUE, 2+3,…

GV: Các biến được dùng trong chương trình

phải được khai báo

GV: Khi viết chương trình người lập trình có

nhu cầu giải thích cho những câu lệnh mình

viết để khi đọc lại được thuận tiện hoặc

người khác đọc có thể hiểu được chương

trình mình viết, do vậy các ngôn ngữ lập

trình thường cung cấp cho chúng ta cách đưa

vào các đoạn chú thích trong chương trình

HS: Chú ý lắng nghe và ghi bài

GV: Ví dụ một chương trình Pascal đơn giản

minh họa

chương trình

+ Để gợi nhớ nội dung của đối tượng

- Qui tắc đặt tên trong Pascal:

Tên là một dãy liên tiếp không quá 127 kí tự baogồm các chữ cái, chữ số và dấu gạch dưới nhưngphải bắt đầu bằng chữ cái hoặc dấu gạch dưới

* Tên dành riêng:

- Là tên được dùng với ý nghĩa riêng xác định

- Tên dành riêng còn được gọi là từ khoá

+ Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, đặttrong cặp dấu nháy

Biến

- Là đại lượng được đặt tên, dùng để lưu trữ giá trị

và giá trị có thể được thay đổi trong quá trình thựchiện chương trình

Trang 5

- Trong C++ chú thích đặt trong /* và */ hoặc //.

4 Củng cố: Nhắc lại quy tắc đặt tên trong Pascal và khái niệm tên dành riêng, tên

chuẩn, tên do người lập trình đặt Khái niệm hằng, biến và sự khác nhau giữa hằng vàbiến

5 Bài tập về nhà:

Hướng dẫn làm bài tập 5 và bài tập 6

- Bài 6: Các hằng số: a, b, f, g; Các hằng xâu: d, i

Trang 6

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

- Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể

3 Thái độ:

- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằngmáy tính điện tử

4 Năng lực hướng tới:

- Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình

phát triển của tin học

II PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp

- Kết hợp các phương pháp giảng dạy như thuyết trình, vấn đáp, lấy ví dụ minh họa,

mở rộng và củng cố vấn đề bằng kiểm tra, đánh giá

2 Phương tiện

- Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo.Máy tính cá nhân và máy chiếu (nếu có)

- Học sinh: Làm bài tập trước ở nhà

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

1 Ổn định tổ chức: Kiểm tra sĩ số lớp.

2 Kiểm tra bài cũ:

Câu hỏi:

1 Nêu các thành phần cơ bản của ngôn ngữ lập trình?

2 Nêu quy tắc đặt tên trong Turbo Pascal?

Đáp án:

1 Ngôn ngữ lập trình có ba thành phần cơ bản: bảng chữ cái, cú pháp và ngữnghĩa

- Bảng chữ cái: Là tập các kí tự được dùng để viết chương trình

- Cú pháp: Là bộ quy tắc để viết chương trình

- Ngữ nghĩa: Xác định ý nghĩa của các tổ hợp kí tự

2 Quy tắc đặt tên trong Pascal:

- Đối tượng HS kiểm tra: HS trung bình

3 Giảng bài mới:

GV: Gọi HS đọc câu hỏi 1, cả lớp suy

nghĩ trả lời

HS: Đọc câu hỏi

GV: Gọi HS đứng tại chổ trả lời

GV: Gọi HS khác bổ sung Sau đó GV

nhận xét câu trả lời và ghi đáp án

HS: Chữa bài tập vào vở

Câu 1: Tại sao người ta phải xây dựng các ngôn ngữ lập trình bậc cao?

Người ta phải xây dựng các ngôn ngữ lập trình bậc cao,vì:

- Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiênhơn, thuận tiện cho đông đảo người lập trình

- Chương trình viết bằng ngôn ngữ lập trình bậc cao nóichung không phụ thuộc vào phần cứng máy tính

Trang 7

GV: Gọi HS đọc câu hỏi 2 và trả lời câu

hỏi 2

HS: Tại chỗ trả lời và nêu khái niệm

chương trình dịch

GV: Nêu Input và Output của chương

trình dịch để gợi ý cho HS vai trò của

chương trình dịch

HS: Tại chỗ trả lời

GV: Gọi HS trả lời câu hỏi 3

HS: Tại chỗ đọc câu hỏi

GV: Gọi HS khác nhận xét câu trả lời,

GV: Gọi HS đọc câu hỏi 5

GV: Gợi ý cho HS bằng cách gọi 1 HS

nêu quy tắc đặt tên trong Pascal và tên

được đặt không quá ngắn, hay quá dài

mà nên đặt sao cho gợi nhớ ý nghĩa đối

tượng mang tên đó

HS: Tại chỗ đọc câu hỏi

HS: Lên bảng làm

GV: Chữa bài

GV: Gọi HS đọc câu hỏi 6

GV: Từng câu a,b,…, i gọi lần lượt từng

HS: Trả lời:

c) không phải là hằng vì dấu phẩy phải

thay bằng dấu chấm

e) là tên chưa rõ giá trị

h) thiếu dấu nháy đơn ơ cuối

- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễhiệu chình và nâng cấp

- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu

dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện choviệc mô tả thuật toán

Câu 2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch

- Chương trình dịch là chương trình đặc biệt, có chứcnăng chuyển đổi chương trình được viết trên ngôn ngữbậc cao thành một chương trình đích có thể thực hiệntrên máy

- Để một chương trình viết bằng ngôn ngữ bậc cao máy

có thể hiểu và thực hiện được thì phải có chương trìnhdịch dịch sang ngôn ngữ máy

Câu 3: Biên dịch và thông dịch khác nhau như thế nào?

- Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác địnhchương trình nguồn có dịch được không và dịch toàn bộthành một chương trình đích có thể thực hiện trên máy

3 tên đúng trong Pascal:

abc; vidu3; _15a

Câu 6: Hãy cho biết những biểu diễn nào dưới đây

không phải là biểu diễn hằng trong Pascal và chỉ rõ lỗitrong từng trường hợp

a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20;f)1.06E-15

g) 4+6 ; h) ‘c ; i) ‘True’

- Các biểu diễn không phải là hằng: c), e), h)

4 Củng cố:

- Rèn luyện kĩ năng đặt tên, biến

- Hiểu và nắm vững khái niệm chương trình dịch, hằng và biến, …

5 Bài tập về nhà:

- Hướng dẫn HS làm các bài tập trong SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12

Trang 8

- Hiểu chương trình là sự mô tả của 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

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 kiểu cần khai báo của dữ liệu đơn giản

3 Thái độ:

- Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui định nghiêmngặt trong lập trình

4 Năng lực hướng tới:

- Học sinh có thể hiểu và phân biệt các thành phần trong cấu trúc của một chương trìnhphức tạp

II PHƯƠNG TIỆN DẠY HỌC:

- Học sinh: tham khảo trước tài liệu ở nhà

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

- Qui tắc đặt tên trong Pascal: Trong Pascal, tên là một dãy liên tiếp không quá 127 kí

tự bao gồm chữ số, chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạchdưới

- Tên dành riêng không được sử dụng với ý nghĩa khác, cong với tên chuẩn, ngườidùng có thể dùng chúng với ý nghĩa và mục đích khác

Đối tượng kiểm tra: HS trung bình

3 Giảng bài mới:

GV: Một ngôn ngữ lập trình bậc cao thường

có hai phần

GV: Với quy ước: Các diễn giải bằng ngôn

ngữ tự nhiên được đặt trong cặp < và >

[ ]: Biểu diễn có thể có hoặc không

HS: Phần thân chương trình nhất thiết phải có,

phần khai báo có thể có hoặc không tuỳ theo

từng chương trình dịch cụ thể

GV: Nêu cấu trúc chung của một chương trình

Pascal đơn giản:

Program < tên chương trình>;

Uses < tên các thư viện>;

Const <tên hằng>=<giá trị của hằng>;

Trang 9

HS: Lắng nghe và ghi bài.

GV: Chúng ta tìm hiểu từng thành phần của

chương trình

GV: Phần này có thể có hoặc không Với

Pascal, nếu có phải khai báo theo đúng quy

GV: Mỗi ngôn ngữ lập trình 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

GV: Trong Pascal, khai báo thư viện phải luôn

đặt đầu tiên, ngay sau dòng khai báo program.

GV: Những gía trị xuất hiện nhiều lần trong

chương trình thì thường được khai báo hằng

HS: Lắng nghe

GV: Khai báo hằng sẽ tạo điều kiện thuận lợi

cho việc chỉnh sửa lại giá trị của hằng trong

toàn bộ chương trình

GV: Lấy ví dụ

GV: - Biến chỉ nhận một giá trị tại mỗi thời

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

đơn

GV: Trong chương trình này chúng ta cần

Var < tên biến>: <kiểu dữ liệu>;

Procedure …; <khai báo thủ tục>

Function …; <khai báo hàm>…

* Khai báo thư viện.

- Khai báo thư viện trong Pascal:

Uses crt; {Thư viện crt chứa các hàm vào/ra

chuẩn làm việc với màn hình và bàn phím}

Uses graph; {Thư viện graph chứa các hàm đồ

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

Ví dụ: Giải phương trình bậc hai:

End

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

Viết chương trình đưa ra màn hình dòng thôngbáo “ Xin chao cac ban!”

Program vi_du_don_gian;

Uses crt;

Trang 10

khai báo gì? Begin

Clrscr;

Writeln(‘Xin chao cac ban!’);

Write(‘Moi cac ban lam quen voi Pascal!’);Readln End

4 Củng cố: Nhắc lại các khái niệm mới về cấu trúc chương trình gồm phần khai báo

và phần thân

5 Bài tập về nhà:

Cho một chương trình mẫu về nhà yêu cầu học sinh chỉ rõ từng thành phần của chươngtrình đó

Trang 11

Tiết PPCT: 5

BÀI 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN

BÀI 5: KHAI BÁO BIẾN

I MỤC ĐÍCH YÊU CẦ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, ký tự, logic, thưc

- 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

- Hiểu được khai báo biến Khai báo đúng, nhận biết được khai báo sai

3 Thái độ

- Ý thức được tầm quan trọng của môn học và có thái độ học tập nghiêm túc, luôn tự

tìm hiểu học tập

4 Năng lực hướng tới

- Giúp HS phát huy được năng lực tư duy độc lập, logic, sáng tạo

- Viết được các câu lệnh rẽ nhánh dạng thiếu và dạng đủ áp dụng để thể hiện được

thuật toán của một số bài toán đơn giản

- Năng lực rèn luyện cho HS cách khai báo biến trong bài toán lập trình đơn giản

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

- Giáo viên: Giáo án, máy chiếu, máy tính, phòng chiếu hoặc bảng

- Học sinh: Học bài cũ, đọc trước SGK bài mới

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

1 Ổn định lớp: Kiểm tra sĩ số

2 Kiểm tra bài cũ

Câu 1: Nêu cấu trúc chung của chương trình? Cách khai báo các thành phần của

chương trình?

3 Bài mới

Hoạt động 1: Một số kiểu dữ liệu chuẩn GV: Vấn đáp: Khi cần viết chương trình quản

lý học sinh ta cần sử lý thông tin ở những dạng

nào?

HS: Suy nghĩ, trả lời câu hỏi của GV

GV: Phân tích câu trả lời của học sinh, đưa ra

một vài dạng thông tin như sau:

- Họ tên học sinh là những thông tin dạng văn

bản hay là dạng ký tự

- Điểm của học sinh là các thông tin các số thực

- Số thứ tự của học sinh là các số nguyên

- Một số thông tin khác lại chỉ cần biết chúng là

Trang 12

GV: Thuyết trình đưa ra một số bổ sung như

sau:

- Ngôn ngữ lập trình nào cũng đưa ra một số kiểu

dữ liệu chuẩn đơn giản, từ những kiểu đơn giản

này ta có thể xây dựng thành những kiểu dữ

liệu phức tạp hơn

- Kiểu dữ liệu nào cũng có miền giới hạn của nó,

máy tính không thể lưu trữ tất cả các số trên

trục số nhưng nó có thể lưu trữ với độ chính

xác cực cao

- Tùy thuộc vào ngôn ngữ lập trình mà tên của

các kiểu dữ liệu khác nhau và miền giá trị của

các kiểu dữ liệu này cũng khác nhau

- Với mỗi kiểu dữ liệu người lập trình cần ghi

nhớ tên kiểu, miền giá trị và số lượng ô nhớ để

lưu một giá trị thuộc kiểu đó

- Trong lập trình nói chung thì kiểu kí tự thường

là tập các kí tự trong các bảng mã kí tự, trong

các bảng mã hóa kí tự người ta quy định có bao

nhiêu kí tự khác nhau và mỗi kí tự có một mã

thập phân tương ứng Để lưu các giá trị là kí tự

thì phải lưu mã thập phân tương ứng của nó

GV: Đặt câu hỏi: Em biết những bảng mã nào?

HS: HS sẽ đưa ra một số bảng mã nhưng GV

chú ý các em NNLT Pascal chỉ sử dụng bảng

mã ASCII cho kiểu kí tự

- Kiểu logic là kiểu thường chỉ có 2 giá trị đúng –

sai Mỗi ngôn ngữ khác nhau lại có cách mô tả

kiểu logic khác nhau, Pascal dùng True – False

nhưng một số ngôn ngữ khác lại mô tả bằng 0 –

1, Có ngôn ngữ lại không có kiểu logic mà

người lập trình phải tự tìm cách để thể hên

- Tên kiểu: CHAR

- Miền giá trị: Là các kí tự trong bảng mãASCII gồm 256 ký tự

- Mỗi ký tự có 1 mã tương ứng từ 0 đến 255

- Các kí tự có quan hệ so sánh, việc so sánhdựa trên mã của từng kí tự

Ví dụ: Trong bảng mã ASCII, các kí tự

trong bảng chữ cái tiếng Anh xếp liên tiếpvối nhau, các chữ số cũng xếp liên tiếp, cụthể: A mã 65; a mã 97, 0 mã 48

4 Kiểu logic

- Tên kiểu : Boolean

- Miền giá trị : Chỉ có 2 giá trị là TRUE(Đúng) hoặc FALSE (Sai)

- Một số ngôn ngữ có cách mô tả các giá trịlogic bằng những cách khác nhau

- Khi viết chương trình bằng ngôn ngữ lậptrình nào thì cần tìm hiểu đặc trưng của cáckiểu dữ liệu của ngôn ngữ đó

Hoạt động 2: Khai báo biến GV: Khai báo biến là chương trình báo cho máy

Trang 13

biết phải dùng những tên nào trong chương trình.

HS: Lắng nghe và ghi chép

Ví dụ :

- Để giải phương trình bậc hai

ax2 + bx + c = 0

cần khai báo các biến như sau:

Var a, b, c, x1, x2, delta : real;

- Để tính chu vi và diện tích tam giác cần khai báo

các biến sau:

Var a, b, c, p, s, cv: Real;

Trong đó:

a, b, c: dùng để lưu độ dài 2 cạnh của tam giác

p: nửa chu vi tam giác

cv, s: chu vi và diện tích tam giác

GV: Đặt câu hỏi: Khi khai báo biến cần chú ý

những điều gì?

HS: Suy nghĩ trả lời câu hỏi

GV: Phân tích câu trả lời của học sinh.

GV: Lấy ví dụ về khai báo biến giải phương trình

bậc 2, giải hệ phương trình bậc nhất, tính diên tích

tam giác khi biết 3 cạnh

GV: Phân tích ví dụ đầu, 2 ví du sau cho học sinh

phân tích và tự khai báo

GV: Phân tích và chữa lại

- Trong ngôn ngữ Pascal, biến đơn đượckhai báo như sau :

Var <danh sách biến> : <kiểu số liệu>

Trong đó:

+ Var : là từ khóa dùng để khai báo biến

+ Danh sách biến : tên các biến cách

nhau bởi dấu phẩy+ Kiểu dữ liệu : là một kiểu dữ liệu nào

đó của ngôn ngữ Pascal+ Sau Var có thể khai báo nhiều danh

sách biến có những kiểu dữ liệu khácnhau

+ Cần đặt tên biến sao cho gợi nhớ đến ýnghĩa của nó

+ Không nên đặt tên quá ngắn hay quádài, dễ dẫn tới mắc lỗi hoặc hiểu nhầm.Khai báo biến cần quan tâm đến phạm vigiá trị của nó

Ví dụ 1:

Khai báo biến giải phương trình

ax2+bx+c=0(a<>0)

Var a, b, c, x1, x2, Delta :Real;

Ví du 2: Khai báo biến giải hệ phương

trình bậc nhất

a1x+b1y=c1

a2x+b2y=c2{Phương pháp thông thường}

Ví du 3: khai báo biến tính diện tích tam

giác biết độ dài 3 cạnh

Var a, b, c, p, S: Real;

4 Củng cố:

- Nhắc lại các kiểu dữ liệu đơn giản hay dùng

- Cho về nhà một số ví dụ về việc lưu trữ trong cuộc sống và yêu cầu học sinh tìm kiểu

dữ liệu tương ứng

Trang 14

5 Bài tập về nhà:

Làm bài tập 1, 2, 3, 4, 5 SGK trang 35

Trang 15

4 Năng lực hướng tới:

- Từ những kiến thức đạt được sau bài học, kết hợp với thái độ học tập nghiêm túc, HS

có thể tự giải quyết được các bài toán liên quan đến biểu thức và câu lệnh gán

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện:

- Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo.Máy tính cá nhân và máy chiếu (nếu có)

- Học sinh: Tham khảo trước tài liệu ở nhà

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

- Qui tắc đặt tên trong Pascal: Trong Pascal, tên là một dãy liên tiếp không quá 127 kí

tự bao gồm chữ số, chữ cái hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạchdưới

- Tên dành riêng không được sử dụng với ý nghĩa khác, cong với tên chuẩn, ngườidùng có thể dùng chúng với ý nghĩa và mục đích khác

Đối tượng kiểm tra: HS trung bình

H1: Cấu trúc khai báo biến như thế nào? Lấy ví dụ?

H2: Những lưu ý khi đặt tên cho biến?

Đáp án: H1: VAR <Danh sách biến>:<Kiểu dữ liệu>;

VD: VAR a,b,c: Real; m,n:integer;

3 Giảng bài mới:

Trang 16

Hoạt động của GV và Học sinh Nội dung

GV: Trong khi viết chương trình ta thường

phải thực hiện tính toán, thực hiện các so

sánh để đưa ra quyết định xem làm việc gì?

Trong khi viết chương trình có giống với

ngôn ngữ tự nhiên không?

GV: Toán học có những phép toán nào?

HS: Đưa ra một số phép toán thường dùng

- Ví dụ phép luỹ thừa không phải ngôn ngữ

nào cũng viết được

- Mỗi ngôn ngữ khác nhau lại có cách kí

hiệu phép toán khác nhau

GV: Trong toán học, biểu thức là gì?

HS: Đưa ra khái niệm

GV: Đưa ra khái niệm của biểu thức lập

trình

GV: Cách viết các biểu thức này trong lập

trình có giống với cách viết trong toán học

hay không?

HS: Đưa ra ý kiến của mình

GV: Phân tích ý kiến của học sinh.

GV: Đưa ra cách viết biểu thức và thứ tự

thực hiện phép toán trong lập trình

GV: Cách viết biểu thức phụ thuộc vào từng

ngôn ngữ lập trình

- Đưa ra một số biểu thức toán học và yêu

cầu các em viết chúng trong ngôn ngữ lập

GV: Để tính giá trị đó được đơn giản, người

ta xây dựng sẵn một bộ chương trình trong

thư viện chương trình giúp người lập trình

tính toán nhanh các giá trị thông dụng

1 Phép Toán

* NLT Pascal sử dụng một số phép toán sau:

- Với số nguyên: +, - , *, Div, Mod

- Trong ngoặc trước, ngoài ngoặc sau

- Nhân chia trước, cộng trừ sau

- Giá trị của biểu thức có kiểu là kiểu của biếnhoặc hằng có miền giá trị lớn nhất trong biểuthức

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

- Các ngôn ngữ lập trình thường cung cấp sẵnmột số hàm số học để tính một số giá trị thôngdụng

- Cách viết: Tên_hàm (đối số)

- Kết quả của hàm phụ thuộc vào kiểu của đối số

- Đối số của hàm là một hay nhiều biểu thức sốhọc đặt trong dấu ngoặc () sau tên hàm

- Bản thân hàm cũng có thể coi là biểu thức sốhọc và có thể tham gia vào biểu thức như mộttoán hạng bất kỳ

* Bảng một số hàm chuẩn:

Học sinh xem SGK

Trang 17

GV: Với các hàm chuẩn cần quan tâm đến

giá trị của đối số và kiểu của giá trị trả về

Ví dụ: Sinx thì đo bằng độ hay radian?

GV: Trong lập trình thường ta phải so sánh

hai giá trị nào đó trước khi thực hiện lệnh

nào đó Biểu thức quan hệ còn được coi là

biểu thức so sánh 2 giá trị cho kết quả là

True hoặc False

Ví dụ: 3>5 cho kết quả False

GV: Muốn so sánh nhiều giá trị cùng một

lúc thì làm thế nào?

HS: đưa ra ý kiến của mình (dùng biểu thức

quan hệ and, or )

- Đưa ra ví dụ cách viết đúng trong NLT

Pascal

- Mỗi NLT có cách viết lệnh gán khác nhau

GV: Cần chú ý đến điều gì khi viết lệnh

gán?

HS: Đưa ra ý kiến.

GV: phân tích câu trả lời của học sinh sau

đó tổng hợp lại: Cần chú ý đến kiểu của biến

và kiểu của biểu thức

GV: Minh hoạ một vài lệnh gán bằng một ví

dụ trực quan trên bảng hoặc trên màn hình

- Cấu trúc: Tên biến:=biểu thức;

- Trong đó biểu thức phải phù hợp với tên biến, nghĩa là kiểu của tên biến phải cùng với kiểu của biểu thức hoặc phải bao hàm kiểu của biểu thức.

- Hoạt động của lệnh gán: Tính giá trị của biểuthức sau đó ghi giá trị đó vào tên biến

Trang 18

- Xác định được kiểu dữ liệu cần dùng cho 1 bài toán

- 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

- Cách để khai báo các biến

3 Thái độ:

- Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằngmáy tính điện tử

4 Năng lực hướng tới:

- Năng lực giải quyết bài toán với những bộ dữ liệu khác nhau, cách viết các phép

toán, các biểu thức, câu lệnh trong pascal

II PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp

- Kết hợp các phương pháp giảng dạy như thuyết trình, vấn đáp, lấy ví dụ minh họa,

mở rộng và củng cố vấn đề bằng kiểm tra, đánh giá

2 Phương tiện

- Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo.Máy tính cá nhân và máy chiếu (nếu có)

- Học sinh: Làm bài tập trước ở nhà

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

Bài 2 (trang 35 sgk Tin học lớp 11): Tại sao phải khai báo biến?

Đáp án:

- Khai báo biến nhằm tạo ra cho trình biên dịch biết kiểu biến để cấp phát bộnhớ cho phù hợp

- Ví dụ: nếu ta khai báo biến a kiểu integer trình biên dịch sẽ cấp phát 2 byte

bộ nhớ để lưu trữ giá trị Còn nếu a kiểu real thì trình biên dịch sẽ cấp phát

6 byte bộ nhớ

Trang 19

- Trình dịch sẽ biết cách tổ chức ô nhớ chứa giá trị của biến Đưa tên biếnvào danh sách các đối tượng được chương trình quản lí.

- Đưa tên biến vào danh sách các đối tượng được chương trình quản lí

- Trình dịch biết cách truy cập giá trị của biến và áp dụng thao tác thích hợpcho biến

3 Giảng bài mới:

GV: Gọi HS đọc bài 3, cả lớp suy nghĩ

trả lời

HS: Nhắc lại phạm vi của các biến

GV: Gọi HS đọc bài 4 và trả lời bài 4

HS: Tại chỗ trả lời và phân tích các đáp

án

GV: Gọi HS Tại chỗ đọc câu hỏi Bài 5

HS: Tại chỗ đọc câu hỏi

GV: Gọi HS trả lời và phân tích các đáp

án

GV: Gọi HS khác nhận xét câu trả lời,

bổ sung và đưa ra đáp án

Bài 3 (trang 35 sgk Tin học lớp 11): Trong Pascal nếu

một biến chỉ nhận giá trị nguyên trong phạm vi từ 10đến 25532 thì biến đó có thể được khai báo hằng trongcác kiểu dữ liệu nào?

Đáp án:

Dựa vào bảng trên ta thấy biến đó có thể sử dụng cáckiểu dữ liệu: integer, word, longint, Real, Extended

Vì biến thực có thể chứa giá trị nguyên

Bài 4 (trang 35 sgk Tin học lớp 11): Biến P có thể

nhận các giá trị 5; 10; 15; 20; 30; 60; 90 và biến X cóthể nhận các giá trị 0,1; 0.2; 0,3; 0.4; 0.5 Khai báo nàotrong các khai báo sau là đúng?

Bài 5 (trang 35 sgk Tin học lớp 11): Để tính diện tích

S của hình vuông có cạnh A với giá trị nguyên nằmtrong phạm vi từ 100 đến 200, cách khai báo S nào dướiđây là đúng và tốn ít bộ nhớ nhất?

Đáp án:

a) Var S:integer; Tốn 2 byte bộ nhớ.

b) Var S:real; Tốn 6 byte bộ nhớ.

c) Var S:word; Tốn 2 byte bộ nhớ.

d) Var S:longint; Tốn 4 byte bộ nhớ.

e) Var S:boolean; Tốn 1 byte bộ nhớ tuy nhiên không

lưu trữ được hết khoảng giá trị cần thiết

Vậy dùng kiểu integer và word vẫn đảm bảo đúng màtốn ít bộ nhớ nhất

Trang 20

GV: Gọi HS lên làm bài tập 6

GV: Nhận xét và nêu đáp án

Bài tập làm thêm :Hãy chuyển các

biểu thức toán học dưới đây sang Pascal

- Rèn luyện kĩ năng lựa chọn kiểu dữ liệu, khai báo biến

- Hiểu và nắm vững cách viết phép toán, biểu thức, câu lệnh

5 Bài tập về nhà:

- Hướng dẫn HS làm các bài tập trong SBT

Trang 21

- 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 Turbo Pascal

2 Về Kỹ năng:

- Viết một số lệnh vào ra đơn giản

- Bước đầu sử dụng được chương trình dịch để phát hiện lỗi

- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch

3 Về Thái độ:

- Thấy được sự cần thiết của các thủ tục vào ra, sáng tạo trong vận dụng vào các bài

toán đơn giản

4 Năng lực hướng tới:

- Diễn tả cấu trúc của thủ tục chuẩn vào ra đơn giản trong ngôn ngữ Pascal

- Rèn luyện một số kĩ năng giải bài toán trong Tin học bằng máy tính

- Học sinh biết sử dụng Turbo Pascal thành thạo và tự chỉnh sửa các bài code củamình

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện:

- Giáo viên: Soạn giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính

- Học sinh: Các kiến thức đã học trong các bài trước

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

1 Ổn định tổ chức: Kiểm tra sĩ số lớp.

2 Kiểm tra bài cũ

2 HS làm độc lập: Cho M, N là 2 biến nguyên Điều kiện xác định M, N đồng thời là

số chẵn hoặc đồng thời là số lẻ được thể hiện trong Pascal như thế nào?

Đ/a: ((M mod 2 = 0) and (N mod 2 = 0)) Or ((M mod 2 =1) and (N mod 2 = 1))

3 Giảng bài mới:

1 Nêu vđ: 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í Để

chtrình giải quyết được nhiều bài toán hơn, ta

phải sử dụng thủ tục nhập dữ liệu

- Y/cầu Hs n/cứu Sgk cho biết cấu trúc chung

của thủ tục nhập dữ liệu trong NNLT Pascal:

- HS : N/cứu Sgk và trả lời:

Ví dụ: khi viết chtrình giải ptrình: Ax2 + Bx +

C = 0, ta phải nhập vào các đại lượng nào?

viết lệnh nhập?

Suy nghĩ, trả lời: phải nhập giá trị vào 3 biến

A, B, C Lệnhnhập:Readln(A,B,C);

Treo bảng chứa chtrình Pascal đơn giản có

§7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN

Trang 22

lệnh nhập giá trị cho 3 biến.

Hỏi: Khi nhập giá trị cho nhiều biến, ta phải

thực hiện như thế nào?

HS : Các giá trị phải được cách nhau ít nhất

một dấu cách (Space) hoặc kí tự xuống dòng

(Enter)

Hỏi: Lệnh Read và Readln khác nhau như thế

nào?

- Suy nghĩ, trả lời: Read: …… Readln: ……

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

Y/cầu hs n/cứu Sgk cho biết cấu trúc chung

của thủ tục xuất dữ liệu trong NNLT Pascal

Để nhập giá trị cho 1 biến từ bàn phím, ta

thường đưa thêm câu dẫn dắt sau đó mới đến

câu lệnh nhập Bằng cách dùng cặp thủ tục

write và read

Ví dụ: Write(‘Moi ban nhap 3 so:’);

Hỏi: chức năng câu lệnh writeln();

Viết ra màn hình dòng chữ và đưa con trỏ

xuống dòng

Giới thiệu một số tập tin cần thiết để Turbo

pascal có thể chạy được, hướng dẫn học sinh

khởi động Pascal trên máy tính Học sinh chú

ý lắng nghe và theo dõi hình minh họa

Giới thiệu các thành phần cơ bản của màn

hình soạn thảo (màn hình làm việc)

Giới thiệu một số thao tác thường dùng khi

soạn thảo, dịch, hiểu chỉnh, chương trình

những giá trị này gõ cách nhau một dấu cách hoặc kí tự xuống dòng (phím Enter).

Write(‘Moi ban nhap 3 so:’);readln(a,b,c) Write(‘Ban vua nhap 3 so:’,a,b,c);

Write(‘Ban go ENTER de ket thuc’); Readln;

+ Lưu chương trình: F2 + Mở file đã có: F3 + Biên dịch chương trình: Alt+F9

+ Chạy chương trình: Ctrl+F9

+ Đóng cửa sổ chương trình: Alt+F3

+ Thoát khỏi TP: Alt+X

4 Củng cố :

- Trình bài một số thao tác thường dùng khi soạn thảo chương trình? Khi viết

read(x,y,z); write(‘x’,y,z); nó có ý nghĩa như thế nào?

Trang 23

Tiết PPCT: 9

BÀI TẬP VÀ THỰC HÀNH SỐ 1

I MỤC TIÊU

1 Kiến thức:

- Biết được một chtrình Pascal hoàn chỉnh

- Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu, dịch, thực hiện chtrình

4 Năng lực hướng tới:

- Học sinh có thể tự lưu chương trình trên đĩa, thực hiện chương trình và nhập giá trị các biến và có thể dịch, sửa lỗi một số chương trình

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

- Giáo viên: Phong máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng dẫn

- Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà

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

1 Ổn định lớp

2 Kiểm tra bài cũ

Viết chtrình nhập vào một số và tính bình phương

của số đó.

Cho 2 hs xung phong lên bảng

Nhận xét, đánh giá, cho điểm

Tìm hiểu một chtrình hoàn chỉnh

a Nội dung: Cho chương trình sau:

Program Giai_pt;

Uses crt;

Trang 24

1 Chiếu chtrình lên bảng Y/cầu hs thực hiện các nhiệm

- Nhập dữ liệu 1 0 2 Thông báo kết quả

- Vì sao có lỗi xuất hiện?

Thông báo lỗi

Do căn bậc hai của một số âm

End.

4 Củng cố:

- Các bước để hoàn thành một chương trình:

- Phân tích bài toán để xác định dữ liệu vào/ra; xác định thuật toán; soạn thảo chtrìnhvào máy; lưu trữ chtrình; biên dịch ch.trình; thực hiện và hiệu chỉnh chtrình

5 Bài tập về nhà:

- Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu vi, diện tích củatam giác đó

Trang 25

Tiết PPCT: 10

BÀI TẬP VÀ THỰC HÀNH SỐ 1

I MỤC TIÊU

1 Kiến thức:

- Biết được một chtrình Pascal hoàn chỉnh

- Làm quen các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu, dịch, thực hiện chtrình

4 Về năng lực hướng tới

- HS có thể tự lưu chương trình trên đĩa, thực hiện chương trình và nhập giá trị các

biến và có thể dịch, sửa lỗi một số chương trình

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

- Giáo viên: Phòng máy vi tính được cài đầy đủ Turbo Pascal, projector để hướng dẫn

- Học sinh: Sgk, sách bài tập và bài tập đã viết ở nhà

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

1 Ổn định lớp: Kiểm tra sĩ số

2 Kiểm tra bài cũ

3 Giảng bài mới:

Hoạt động 1: Rèn luyện kĩ năng lập chương trình.

a Mục tiêu: Hs soạn, lưu, dịch và thực hiện được chương trình

b Nội dung: Viết chương trình nhập từ bàn phím 2 số thực a và b, tính và đưa ra màn

hình trung bình cộng các bình phương của hai số đó

c Các bước tiến hành:

1 Định hướng để hs phân tích bài toán

GV: 2 Y/cầu hs tự sọan chtrình và lưu lên máy.

HS: 2 Thực hiện các y/cầu của gv

- Soạn chtrình

- F2, gõ tên file để lưu

Bài toán: Viết chương trình nhập từ

bàn phím 2 số thực a và b, tính vàđưa ra màn hình trung bình cộng cácbình phương của hai số đó

- nhập dữ liệu và thông báo kết quả

- Với a=5, b=7

- Với a=7, b=-5-Nhập dữ liệu theo y/cầu

- Với a=5, b=7 thì tb=37

- Với a=7, b=-5thì tb=37

Trang 26

- Alt+F9 : biên dịch lỗi

- Ctrl+F9: t/hiện chtrình

Quan sát hướng dẫn từng nhóm hs trong lúc thực hành

4 Củng cố

Các bước để hoàn thành một chương trình:

- Phân tích bài toán để xác định dữ liệu vào/ra; xác định thuật toán; soạn thảo chtrìnhvào máy; lưu trữ chtrình; biên dịch ch.trình; thực hiện và hiệu chỉnh chtrình

5 Bài tập về nhà:

- Viết chương trình nhập vào độ dài 3 cạnh của một tam giác, tính chu vi, diện tích củatam giác đó

Trang 27

4 Về năng lực hướng tới

- Học sinh áp dụng các câu lệnh rẽ nhánh dạng thiếu và dạng đủ để thể hiện thuật toáncủa một số bài toán

II.PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng

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

1 Ổn định lớp: Kiểm tra sĩ số

2 Kiểm tra bài cũ: Giới thiệu nội dung chương 3, nội dung bài học

3 Giảng bài mới:

Gợi động cơ

Chúng ta đã làm quen với cấu trúc chương trình, các kiểu dữ liệu, phép tonas,câu lệnh gán, tổ chức vào/ra đơn giản và cách thực hiện chương trình trong môi trườngPascal Bài học hôm nay chúng ta sẽ nghiên cứu cấu trúc của một chương trình, đó là “Cấu trúc rẽ nhánh”

Câu hỏi: Những câu nói sau đây có dạng của mệnh

đề gì?

Trả lời:

-Chiều mai nếu trời không mưa thì Châu đến nhà

Ngọc chơi

Câu nói trên có dạng: Nếu Thì

-Chiều mai nếu trời không mưa thì Châu đến nhà

Ngọc soạn bài, nếu trời mưa thì Châu gọi điện cho

Ngọc để trao đổi

Câu nói trên có dạng: Nếu Thì , Ngược lại thì

Câu hỏi: Em hãy vẽ sơ đồ khối của bài toán trên.

Trả lời: HS lên bảng vã sơ đồ khối của bài toán

Bước 3: Nếu b<>0 thì thông báo phươngtrình vô nghiệm

Ngược lại thông báo phương trình vô sốnghiệm

Bước 4: Đưa x ra màn hình

II.CÂU LỆNH IF THEN 1.Cú pháp:

Trang 28

Trả lời:

IF, THEN, ELSE: Từ khoá

Điều kiện là biểu thức logic hoặc biểu thức quan hệ

khi tính giá trị của điều kiện thì trả lại một trong 2 giá

Trả lời: Chỉ một câu lệnh duy nhất.

GV: Trong trường hợp sau THEN và ELSE ta có từ 2

câu lệnh trở lên thì ta phải ghép chúng lại thành một

nhóm nằm giữa 2 từ khoá Begin và end được gọi là

Câu lệnh, câu lệnh 1, câu lệnh 2 (Câulệnh sau từ khoá THEN và ELSE là mộtcâu lệnh duy nhất

-Nêu biểu thức đk có giá trị F thì thoát rakhỏi câu lệnh IF

-Nêu biểu thức đk có giá trị F thì thựchiện câu lệnh 2, rồi thoát ra khỏi câu lệnhIF

III.CÂU LỆNH GHÉP:

Khi sau THEN và sau ELSE có từ 2 câulệnh trở lên ta phải ghép chúng lại thànhmột nhóm nằm giữa 2 từ khoá BEGIN vàEND

1.Cú pháp:

BEGINCL1;

CL2;

CLnEND;

Câu lệnh

Sai

Trang 29

GV: Gọi hoc sinh lên bảng viết chương trình của bài

toán trên

Có thể viết ngay trên máy tính để thực hiện thử

GV: Gọi một HS lên chạy chương trình và sữa lỗi.

Cho HS chép bài vào vở

GV: Gọi hoc sinh lên bảng viết chương trình của bài

toán trên

Có thể viết ngay trên máy tính để thực hiện thử

GV: Gọi một HS lên chạy chương trình và sữa lỗi.

Cho HS chép bài vào vở

CL1, CL2, , CLn là các câu lệnh bất kỳ

IV MỘT SỐ VÍ DỤ:

1 Ví dụ 1: Tìm nghiệm của phương trình

bậc 2: ax2 + bx + c = 0 với a<>0PROGRAM vidu1;

VAR a,b,c,x,x1,x2,delta:real;

BEGIN Write(‘nhap a,b,a’); readln(a,b,c); Delta:=b*b-4*a*c;

IF delta <0 THEN writeln(‘phuong trinh vo nghiem’)

ELSE IF delta=0 THEN Begin

X:=-b/2*a;

Writeln(‘phuong trinh co 1 nghiem la:’,x:8:2); End

ELSE Begin X1:=(-b-sqrt(delta))/2*a; X2:=(-b+sqrt(delta))/2*a; End;

ReadlnEND

2 Ví dụ 2: Chương trình tìm nghiệm của

phương trình bậc nhất ax + b = 0PROGRAM vidu2;

VAR a,b,x:real;

BEGIN Write(‘nhap a,b’); readln(a,b);

IF a<>0 THEN Begin

X:=-b/a;

writeln(‘phuongtrinh co nghiem la:’,x:8:2);

End ELSE IF b=0 THEN writeln(‘phuong trinh vo so nghiem’) Else writeln(‘phuong trinh vo nghiem’) Readln

- Chuẩn bị bài mới: Sau Then và ELSE có thể sử dụng từ hai câu lệnh trở lên được

không, nếu được thì làm thế nào?

Trang 30

4 Năng lực hướng tới:

- Năng lực giải quyết bài toán lựa chọn cấu trúc rẽ nhánh dạng thiếu hay dạng đủ.

II PHƯƠNG TIỆN DẠY HỌC:

1 Phương pháp

- Kết hợp các phương pháp giảng dạy như thuyết trình, vấn đáp, lấy ví dụ minh họa,

mở rộng và củng cố vấn đề bằng kiểm tra, đánh giá

2 Phương tiện

- Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo.Máy tính cá nhân và máy chiếu (nếu có)

- Học sinh: Làm bài tập trước ở nhà

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

1 Ổn định tổ chức: Kiểm tra sĩ số lớp.

2 Kiểm tra bài cũ:

Câu hỏi:

Câu 1: Để mô tả cấu trúc rẽ nhánh trong thuật toán, nhiều ngôn ngữ lập trình bậc

cao dùng câu lệnh IF – THEN, sau IF là < điều kiện > Điều kiện là

A Biểu thức lôgic

B Biểu thức số học

C Biểu thức quan hệ

D Một câu lệnh

Câu 2: Với cấu trúc rẽ nhánh IF < điều kiện > THEN < câu lệnh >, câu lệnh đứng

sau THEN được thực hiện khi

A Điều kiện được tính toán xong

B Điều kiện được tính toán và cho giá trị đúng

C Điều kiện không tính được

D Điều kiện được tính toán và cho giá trị sai

Câu 3: Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có

thể dùng cấu trúc rẽ nhánh như sau:

Trang 31

Hoạt động của GV và HS Nội dung

Gv: Cho học sinh đọc bài 1 sgk/50

Bài 1 (trang 50 sgk Tin học lớp 11): Hãy cho biết sự

giống và khác nhau của hai dạng câu lệnh if-then

+ Ở dạng đầy đủ thì nếu điều kiện sai nó sẽ thực hiệnnhánh câu lệnh sau else (<câu lệnh 2> trong dạng đầyđủ) Sau đó mới thoát khỏi rẽ nhánh rồi thực hiện cáccâu lệnh tiếp theo của chương trình

Bài 2 (trang 50 sgk Tin học lớp 11): Câu lệnh ghép là

gì? Tại sao lại phải có câu lệnh ghép?

Trả lời:

- Lý do có câu lệnh ghép: Vì sau một số từ khóa (như

then hoặc else) phải là một câu lệnh Nhưng trong nhiềutrường hợp, các thao tác sau những tên dành riêng phứctạp, đòi hỏi không phải chỉ một mà là nhiều câu lệnh để

mô tả Trong những trường hợp như vậy ta phải sửdụng câu lệnh ghép

Bài 4 (trang 51 sgk Tin học lớp 11):

Trả lời:

Câu lệnh rẽ nhánh như sau:

a,

If (sqr(x)+sqr(y))<=1Then

z:=sqr(x)+sqr(y)else

if y>=xthenz:=x+yelsez:=0.5;

Trang 32

Gv: Nhận xét và bổ sung

Gv: Cho học sinh bài tập viết một

chương trình hoàn chỉnh cho bài toán

Hs: Học sinh viết chương trình hoàn

chỉnh

b,

If sqr(x-a)+sqr(y-b)<=sqr(r)Then

z:=abs(x)+abs(y);

Elsez:=x+y;

Bài tập thêm: Viết chương trình nhập vào tuổi của

một người và cho biết người đó là thiếu niên, thanhniên, trung niên hay lão niên Biết rằng: nếu tuổi nhỏhơn 18 là thiếu niên, từ 18 đến 39 là thanh niên, từ 40đến 60 là trung niên và lớn hơn 60 là lão niên

Trang 33

Tiết PPCT: 14

BÀI 10: CẤU TRÚC LẶP

I MỤC TIÊU

1 Kiến thức

- Hiểu nhu cầu của cấu trúc lặp trong biễu diễn thuật toán.

- Biết cấu trúc chung của lệnh lặp với số lần biết trước For trong NNLT Pascal

- Biết sử dụng đúng 2 dạng lệnh lặp For

2 Kĩ năng:

- Bước đầu sử dụng được lệnh lặp For để lập trình giải quyết 1 số bài toán đơn giản

3 Về thái độ:

- Giúp học sinh hiểu rõ hơn tầm quan trọng của cấu trúc rẽ nhánh

- Làm cho Học sinh thêm yêu thích lập trình, yêu thích môn học hơn

4 Về năng lực hướng tới:

- Hình thành cho Học sinh bước đầu tư duy về lập trình có cấu trúc

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC:

2 Kiểm tra bài cũ:

a Trình bày cấu trúc rẽ nhánh? Sự khác nhau giữa các dạng rẽ nhánh đó? (HS1)

b Viết CT nhập vào 2 số a, b và thực hiện đưa ra màn hình giá trị của số lớn hơn

3 Bài mới:

Hoạt động 1: Tìm hiểu ý nghĩa cấu trúc lặp

1 Nêu bài toán 1 đặt vấn đề

HS: Chú ý quan sát bài toán đặt vấn đề.

GV: Hãy xác định công thức toán học để tính tổng

- Có bao nhiêu lần lặp như vậy?

GY: - Rất khó xác định

- Mỗi lần lặp 1 lượng là bao nhiêu?

- Phải viết bao nhiêu lệnh để thể hiện việc này?

HS: Theo dõi gợi ý

Dẫn dắt: Chương trình được viết như vậy sẽ rất dài,

khó đọc, dễ sai sót cần có một cấu trúc điều khiển việc

lặp lại thực hiện các công việc ở trên

- Trong tất cả mọi NNLT đều có một cấu trúc điều

khiển việc thực hiện lặp lại với số lần đã định trước

Bài toán 1:

Viết CT tính tổng

100

1

2

1 1

1 1

a a S

Hoạt động 2: (15 phút) Tìm hiểu lệnh lặp For trong NNLT Pascal

1 Y/cầu hs n/cứu sgk vàcho biết cấu trúc chung của a Dạng tiến

bđếm:= <gtrị đầu>

bđếm<=gtrị cuối Câu lệnh lặp

Đ

S

Trang 34

- Hỏi: Ý nghĩa của <giá trị đầu>, <giá trị cuối>,

kiẻu dữ liệu của chúng?

- để làm giới hạn cho biến đếm, cùng kiểu với biến

Dẫn dắt: những lệnh nào cần lặp lại ta đặt sau DO.

Khi nhiều lệnh cần đặt sau Do ta phải viết thế nào?

- Hỏi: + Trong bài toán tiết kiệm lệnh nào cần lặp lại?

<giá trị đầu> ≤ <giá trị cuối>

Dẫn dắt: Khi đó câu lệnh For đgl For tiến, NNLT

Pascal còn có dạng ngược lại là For lùi

2 Y/cầu hs trình bày cấu trúc For lùi.

2 N/cứu sgk, suy nghĩ, so sánh với dạng For tiến rồi

trả lời

FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá

trị đầu>

DO <lệnh cần lặp>;

Hãy so sánh giá trị của <giá trị đầu> và <giá trị cuối>?

HS: <giá trị đầu> ≤ <giá trị cuối>

- Hai bài toán trên dùng lệnh For nào là phù hợp?

Sử dụng For tiến

FOR <biến đếm>:= <giá trị đầu>

TO <giá trị cuối> DO <lệnh cần lặp>;

b.Dạng lùi

FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị đầu> DO <lệnh cần lặp>;

4 Củng cố:

- Cấu trúc chung của câu lệnh lặp For Sơ đồ thực hiện của lệnh lặp For

5 Bài tập về nhà:

- Sử dụng câu lệnh For hoàn thành chương trình bài toán 1 và 2 đã nêu ở đầu tiết.

- Giải bài tập 5a, 6 sgk/51

- Xem trước phần ví dụ của nội dung cấu trúc lặp có số lần biết trước

Trang 35

Tiết PPCT: 15

BÀI 10: CẤU TRÚC LẶP

I MỤC TIÊU

1 Kiến thức:

- Biết được ý nghĩa của cấu trúc lặp có số lần lặp chưa biết trước

- Biết được cấu trúc chung của lệnh lặp While trong NNLT Pascal

- Giúp học sinh hiểu rõ hơn tầm quan trọng của cấu trúc rẽ nhánh

- Làm cho HS thêm yêu thích lập trình, yêu thích môn học hơn

4 Về năng lực hướng tới:

- Hình thành cho HS bước đầu tư duy về lập trình có cấu trúc

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC

1 Phương pháp: Thuyết trình, vấn đáp

2 Phương tiện: Máy chiếu, máy tính, phòng chiếu hoặc bảng.

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

1 Ổn định lớp:

2 Kiểm tra bài cũ:

3 Bài mới:

Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa biết trước

GV: -Sự khác nhau của bài toán này với bài toán đã

giải ở tiết trước?

- Lặp bao nhiêu lần?

- Lặp đến khi nào?

HS: -Bài trước: cho giới hạn N

Bài này: cho giới hạn S

- Chưa xác định được ngay

- Cho đến khi điều kiện 1  0 001

Tóm lại, qua 2 ví dụ trên ta thấy có 1 dạng toán có sự

lặp lại của câu lệnh nhưng không biết được số lần lặp.

Cần có 1 cấu trúc điều khiển lặp lại 1 công việc nhất

định khi thõa mãn 1 điều kiện nào đó

Hoạt động 2: Tìm hiểu cấu trúc lệnh lặp While trong NNLT Pascal

1. Y/cầu hs n/cứu sgk và cho biết cấu trúc chung của

Trang 36

<điều kiện>: biểu thức quan hệ hoặc biểu thức logic.

<lệnh cần lặp>: các lệnh cần phải lặp lại

Hỏi:

- Điều kiện để lặp lại trong bài toán 2 là gì?

- Trong bài toán 2 lệnh cần lặp là gì?

Dựa vào cấu trúc, cho biết máy thực hiện tính < điều kiện

> trước hay < lệnh cần lặp > trước?

- Sự khác nhau trong lệnh cần lặp của For và While là gì?

HS Suy nghĩ và trả lời:

Tính điều kiện trước, thực hiện lệnh lặp sau

- Trong While phải có lệnh thay đổi biến chỉ số

2 Y/cầu hs vẽ sơ đồ thực hiện lên bảng

HS Lên bảng vẽ sơ đồ thực hiện của lệnh While.

Hoạt động 3: Rèn luyện kĩ năng vận dụng lệnh lặp While

1 Trở lại bài toán 2

- Đã xác định <điều kiện>, <lệnh cần lặp> hãy viết

câu lệnh While hoàn chỉnh?

1 HS Quan sát, xác định lại các thành phần và trả lời:

* Ghi nhớ những phần sửa chữa của gviên

- Chia lớp theo từng bàn Y/cầu hs từng bàn thảo luận

và viết chương trình hoàn thiện

- Cho 1 hs lên bảng trình bày

- Gọi 1- 2hs khác n/xét, đánh giá

* Chính xác hóa chương trình cho cả lớp (chỉnh sửa

lại chtrình của hs)

2 Nêu nội dung ví dụ 2

Phân tích để xác định <điều kiện> và <lệnh cần lặp>

Hỏi:

- Điều kiện để tiếp tục lặp là gì?

Gợi ý: Điều kiện: M<>N

Trang 37

- Giải bài tập 5b, 7, 8 sgk trang 51.

- Đọc lại bài lệnh rẽ nhánh IF và làm các bài tập liên quan chuẩn bị cho tiết sau thựchành

Trang 38

- Viết đúng lệnh lặp For để mô tả được thuật toán của một số bài toán đơn giản.

3 Về năng lực hướng tới:

- Học sinh có khả năng xây dựng chương trình phức tạp có cấu trúc rẽ nhánh

II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC

1 Phương pháp

- Kết hợp các phương pháp giảng dạy như thuyết trình, vấn đáp, thao tác mẫu cho họcsinh, vừa thao tác thực hành vừa giải thích và cho học sinh tự thực hành trên máy

- Giải đáp những thắc mắc của học sinh về một số vấn đề trên máy tính

2 Phương tiện dạy học

- Giáo viên: Giáo án, sgk, Projector, bảng phụ chứa các chương trình mẫu

- Học sinh: sgk

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

1 Ổn định lớp:

2 Kiểm tra bài cũ

Trình bày các dạng cấu trúc câu lệnh lặp với số lần biết trước?

3 Bài mới:

Hoạt động 1: Rèn luyện kĩ năng vận dụng câu lệnh For và câu lệnh rẽ nhánh If

Dẫn dắt: Từ bài toán KTBC ở trên, nếu ta y/cầu tính và

đưa ra màn hình tổng các số chẵn và tổng các số lẻ trong

phạm vi từ a đến b

- Nội dung (sửa lại nội dung đề bài toán)

Y/cầu hs phân tích đề bài và trả lời câu hỏi

- So sánh với bài toán trước thì có gì khác?

-Lắng nghe, phân tích bài toán và trả lời

Bài 1: Viết CT nhập vào 2 số

nguyên dương a, b (a<b), tính vàđưa ra màn hình tổng các số chẵn

và tổng các số lẻ trong phạm vi

từ a đến b

Var a, b, i , S1, S2 : longint; Begin

Write(‘Nhap a va b (a<b): ‘); Readln(a, b);

S1 := 0; S2 := 0;

For i := a To b Do

If i mod 2 = 0 then S1 := S1 + i else S2 := S2 + i;

Writeln(‘Tong chan: ’, S1,

’ Tong le: ’,S2); Readln

End.

Ngày đăng: 28/03/2019, 20:49

TỪ KHÓA LIÊN QUAN

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

w