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

Giáo an tin học 11 đầy đủ

167 184 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 167
Dung lượng 4,6 MB
File đính kèm GiaoanTINHOC11.rar (486 KB)

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

Nội dung

1. Kiến thức: Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. 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. II. PHƯƠNG TIỆN DẠY HỌC: 1. Giáo viên: Một số ví dụ về ngôn ngữ lập trình. 2. Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng 1. Kiến thức: Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. 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. II. PHƯƠNG TIỆN DẠY HỌC: 1. Giáo viên: Một số ví dụ về ngôn ngữ lập trình. 2. Học sinh: Tìm hiểu một số loại ngôn ngữ giao tiếp thông dụng

Trang 1

Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

I MỤC TIÊU:

1 Kiến thức:

- Học sinh nhận biết được có ba lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình : ngôn ngữmáy, hợp ngữ và ngôn ngữ bậc cao

- 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

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

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

2 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:

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ì?

HS : Đó là chương trình dịch

GV : - Cho ví dụ từ thực tế : “ Người phóng

viên chỉ biết một ngôn ngữ là tiếng việt phóng

vấn một chính khách nước ngoài ” thông qua

người phiên dịch

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áy tí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ựchiện lệnh trên thanh ghi

Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngôn ngữ

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ứcnăng chuyển đổi chương trình đợc viết bằng ngô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

Kết luận :

Biên dịch (Compiler): được thực hiện qua hai bước

- Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của cáccâu lệnh trong chương trình nguồn

- Dịch toàn bộ chương trình nguồn thành một chơng

CHƯƠNG TRÌNH NGUỒN

CHƯƠNG TRÌNH DỊCH

CHƯƠNG TRÌNH ĐÍCH

Trang 2

sử dụng lại khi cần thiết

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 theo trongchương trình nguồn

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

- Thực hiện câu lệnh vừa chuyển đổi được4) 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 Lớp:

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ập trì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

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

1 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ó)

2 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: Gọi HS trả lời ý nghĩa của việc đặt tên?

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

GV: Nhận xét và đưa ra kết luận

HS: Chú ý và ghi bài

GV: Mọi đối tượng trong chương trình đều

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

GV: Lấy ví dụ khi giải phương trình bậc

hai thì cần dùng các biến nào?

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

a Tên

- Ý nghĩa của việc đặt tên và khai báo tên cho các đối tượng:+ Để quản lý và phân biệt các đối tượng trong 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ự bao gồm cácchữ cái, chữ số và dấu gạch dưới nhưng phải bắt đầu bằngchữ 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á

Trang 4

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

Trong Pascal: abs, sqr, sqrt, cos, sin,…

Trong C++: cin, cout, getchar

+ Hằng lôgic: Là giá trị đúng (True)hoặc sai (False)

+ Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, đặt trongcặ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ực hiện chương trình

c Chú thích

- Các chú thích không làm ảnh hưởng đến chương trình

- Trong Pascal chú thích được đặt trong {} hoặc (*và*)

- 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 5

+ 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 độ:

+ 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.

+ 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ằng máy tính điện tử

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

1 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ó)

2 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ũ ( 7 ‘)

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ở

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

Câu1: 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ên hơ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

- Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệuchì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 cho việc mô

- Để 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ình dịchdịch sang ngôn ngữ máy

Trang 6

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, bổ

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

- 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 và cóthể lưu trữ được

- Trình thông dịch lần lượt dịch từng câu ra ngôn ngữ máyrồi thực hiện và không lưu lại trên máy

Câu4: Hãy cho biết điểm khác nhau giữa tên dành riêng

và tên chuẩn? - Tên dành riêng không được dùng khác với

ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác

Câu5: Hãy tự viết ra ba tên đúng theo quy tắc của Pascal.

3 tên đúng trong Pascal:

abc; vidu3; _15a

Câu6: 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ỗi trong từngtrườ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 7

+ 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

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

1 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ó)

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

III HOẠT ĐỘNG DẠY HỌ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:

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 tắc

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>;

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

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

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

Trang 8

đã đượ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: 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: Khi cần viết chương trình quản lí học sinh ta

cần xử lí thông tin ở những dạng nào?

HS: Suy nghỉ và 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 và đưa ra

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

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

bản và dạng kí tự

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

- Số thứ tự của học sinh là thông tin ở dạng số

nguyên

Program vidu;

Program tinhtong;

* 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 đồ hoạ}

- Để xoá những gì trên màn hình sau khi khai báo crt thì dùng lệnh clrscr.

* Khai báo biến: - Trong Pascal:

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

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

- Trong Pascal, được bắt đầu và kết thúc bởi Begin…End

Begin[<Dãy lệnh>];

Trang 11

Tiết PPCT : 5 Lớp:

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

§5 KHAI BÁO BIẾN

I MỤC TIÊU

1 Kiến thức:

+ Biết một số kiểu dữ liệu chuẩn: kiểu nguyên, thực, kí tự, logic và miền con

+ Hiểu được các khai báo biến

2 Kĩ năng:

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

+ Khai báo biến đúng, nhận biết khai báo sai

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êm ngặt trong lậptrình

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

1 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ó)

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

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

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

3) Giảng bài mới:

GV: Phân tích câu đưa ra một vài thông tin ở

dạng như sau:

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

bản và dạng kí tự

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

- Số thứ tự của học sinh là thông tin ở dạng số

nguyên

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

đúng hay sai

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

- Ngông 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 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 cao

- Tuỳ 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 cũng khác nhau

I Kiểu dữ liệu chuẩn

1 Kiểu nguyên Kiểu Số Byte Miền gi trị

Double 8 5.4e- 325 1.7e- 308

Extended 10 3.4e- 4932 1.2e4932

3 Kiểu kí tự

- Tn kiểu: Char

- Miền gi trị l cc gi trị trong bảng m ASCII gịm 256 kí

tự Mỗi kí tự cĩ 1 m tương ứng trong phạm vi từ 0 đến

Trang 12

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

giá trị thuộc kiểu đó

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

tập kí tự trong bảng mã kí tự, mỗi kí tự có một mã

thập phân tương ứng Để lưu các giá trị thì phải

lưu các mã thập phân tương ứng của chúng

GV: Khai báo biến là chương trình báo cho máy

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

chương trình

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

- Ví dụ 1: Để giải phương trình bặc nhất ax+b=0

ta cần khai báo như sau:

Var a, b, x: Real

- Ví dụ 2: Để tính chu vi và diện tích của 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 của 3 cạnh

tam giác;

P: là nữa chu vi;

CV, S: là chu vi và diện tích tam giác

GV: Khi khai báo biến cần chú ý những điểm gì?

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

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

- Cc kí tự cĩ quan hệ so snh, việc so snh dựa trn m củatừng kí tự

4 Kiểu Logic

- Tn kiểu: Boolean

- Miền giá trị: Chỉ có 2 giá trị là True (đúng) hoặcFalse (sai)

II) Khai báo biến

- Trong NLT Pascal biến đơn được khai báo như sau.Var <danh sách biến>: <kiểu dữ liệu>;

Trong đó:

- Var: Là từ khoá 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 là có thể khai báo nhiều danh sách biến có những kiểu dữ liệu khác nhau

- 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, rễ dẫn đến mắc lỗi hay hiểu nhầm

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

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À: SGK

Trang 14

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

1 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

2 Học sinh: Cấu trúc chương trì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 :

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>;

m,n:integer;

3) Giảng bài mới:

Trang 15

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 trong

toán học

GV: Chúng có được sử dụng trong ngôn ngữ lập

trình không?

- Chỉ có một số phép toán dùng được, một số

phép toán phải xây dựng từ các phép toán khác

- 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 trình

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

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

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

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

- Với số thực: +, - , *, /

- Các phép toán quan hệ: <, <=, >, >=, <> cho kết quả

là một giá trị Logic (true hoặc false)

- Các phép toán logic: NOT, OR, AND thường dùng

để kết hợp nhiều biểu thức quan hệ với nhau

- 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ến hoặchằng có miền giá trị lớn nhất trong biểu thức

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

- Các ngôn ngữ lập trình thường cung cấp sẵn một sốhàm số học để tính một số giá trị thông dụ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ột toán hạng bấtkỳ

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

Học sinh xem SGK

4 Biểu thức quan hệ

* Có dạng như sau:

<Biểu thức 1> <phép toán quan hệ> <Biểu thức 2>

- Trong đó: Biểu thức 1 và biểu thức 2 phải cùng kiểu

- Kết quả của biểu thức quan hệ là True hoặc False

- Ví dụ: a>b hoặc 2*c<3*a

5 Biểu thức Logic

Trang 16

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ểu thứcsau đó ghi giá trị đó vào tên biến

- Xem trước bài:

Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

Trang 18

Tiết PPCT : 7 Lớp:

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

§8 SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH

I MỤC TIÊU

1 Về Kiến thức:

- Biết các lệnh vào ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình

- 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 và tính hợp lýcủa kết quả thu được

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

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

1 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

2 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ũ

2HS 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:

Trang 19

đư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ó 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

* Chú ý: khi nhập giá trị cho nhiều biến thì 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’);

+ 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?

Trang 20

5) BÀI TẬP VỀ NHÀ: So sánh sự giống nhau và khác nhau của các cặp lệnh write()/writeln() và

read()/readln()

- Làm bài tập 9, 10 sgk trang36

* Xem phụ lục B sgk: Trang 122: Môi trường Turbo Pascal Trang 136: Một số thông báo lỗi

Trang 22

Ngày soạn : Tuần dạy:

BÀI TẬP 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

2 Kĩ năng

- Soạn thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh

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

3 Thái độ: Tự giác, tích cực và chủ động trong thực hành

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

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

2 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 Hoạt động 1: (8 phút) 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

2 Hoạt động 2: (30phút)Tìm hiểu một chtrình hoàn chỉnh

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

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

- Soạn chtrình vào máy

Trang 23

- Thực hiện chtrình

- 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

D:= b*b-4*a*c;

X1:= (-b-sqrt(d))/(2*a);

X2:= (-b+sqrt(d))/(2*a);

Writeln(’x1=’,x1:6:2,’ x2=’, x2:6:2);Readln

2 Câu hỏi, 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ủa tam giác đó

BÀI TẬP 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

2 Kĩ năng

- Soạn thảo được chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu

chỉnh

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

3 Thái độ: Tự giác, tích cực và chủ động trong thực hành

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

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

2 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

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

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

Trang 24

1 Phân tích theo yêu cầu của gv

- Dữ liệu vào: a b

- Dữ liệu ra: tb

- tb =(a2+b2)/2

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

- 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

- Với a=5, b=7

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

2 Câu hỏi, 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ủa tam giác đó

Ngày soạn : Tuần dạy:

BÀI TẬP

I MỤC TIÊU

1 Kiến thức: Biết phânbiệt các loại biểu thức trong NNLT

2 Kĩ năng: 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.

a Mục tiêu: Xây dựng được biểu thức logic làm điều kiện để giải một số bài toán đơn giản

b Nội dung: Viết biểu thức lôgic cho kết quả True khi tọa độ (x, y) là điểm nằm trong vùng gạch

chéo kể cả biên của hình 2.a và 2.b (trang 36/sgk)

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

Tóm tắt lí thuyết

Nhắc lại một số Nội dung trong phần chương II

Tại sao phải khai báo biến?

Trong Pascal, nếu một biến chỉ nhận giá trị trong phạm vi từ 5

đến 25252 thì biến đó có thể nhận khai báo bằng các kiểu dữ

liệu nào?

1 Hình 2.a:

Y/cầu hs quan sát hình và trả lời các câu hỏi:

- Giá trị của y trong vùng gạch chéo?

- Giá trị của x trong vùng gạch chéo? HS: Quan sát hình và trả

- Một chương trình thường gồm có 2phần: Phần khai báo và phần thânchương trình, phần khi báo có thể cóhoặc không

- Kiểu dữ liệu chuẩn: Kiểu nguyên, kiểuthực, kiểu kí tự và kiểu logic

- Các biến trong chương trình đều phảiđược khai báo và mỗi biến chỉ khai báomột lần

Trang 25

- Phân tích các giá trị x, y để đơn giản biểu thức

(y<=1) and (abs(x)<=y)

Chú ý lắng nghe, để ý cách xác định giá trị đúng.Tự làm

2 Hình 2.b Y/cầu hs tự làm, tương tự hình 2.a

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

a 2x2 - 5x + 1 = 0; b (1+x3)( x1);

c (4 3x2 1)(| x- 3|); c

2 3 2

2

21

)252(

x x

x x

- Các phép toán: Số học, quan hệ vàlogic

- Các loại biểu thức: Số học, quan hệ vàlogic

- Các ngôn ngữ lập trình có:

+ Lệnh gán dùng để gán giá trịcủa biểu thức cho biến

+ Các thủ tục chuẩn dùng để đưa

dữ liệu vào và ra

Câu hỏi và bài tậpBài tập 8/sgk/36

ĐS: (y<=1) and (abs(x)<=y) Bài tập làm thêm

Trang 26

Tiết PPCT :11

KIỂM TRA 1 TIẾT

I MỤC TIÊU

1 Kiến thức: Củng cố các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến,

các biểu thức trong Pascal, các câu lệnh vào ra đơn giản

2 Kĩ năng: Viết được các biểu thức số học trong Toán học sang dạng tương ứng trong Pascal và

ngược lại, viết được chương trình đơn giản

3 Thái độ: Nghiêm túc trong khi làm bài

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

1 Giáo viên: Đề kiểm tra, đáp án, biểu điểm cho các lớp

2 Học sinh: ôn lại các kiến thức đã học.

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

ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM

Câu 1 :

Biến là đại lượng được đặt tên dùng để lưu trữ giá trị và giá trị của nó có thể

thay đổi trong quá trình thực hiện chương trình

Cấu trúc khai báo biến :

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

Ví dụ : Var a: integer;

1,5 điểm

1,0 điểm 0,5 điểm Câu 2:

a) x + y*z;

b) -1 <= cos(x) and cos(x) <= 1

c) Abs(x*x*x + sqrt(x+sqrt(x)))

1,0 điểm 1,0 điểm 1,0 điểm Câu 3:

Trang 27

Ngày soạn : Tuần dạy:

CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP

§9: CẤU TRÚC RẼ NHÁNH I.MỤC ĐÍCH YÊU CẦU:

1 Kiến thức:Giới thiệu tổ chức rẽ nhánh, cú pháp và chức năng các câu lệnh rẽ nhánh (dạnh

thiếu và dạng đầy đủ)

2 Kỹ năng: Rèn luyện kỹ năng sử dụng câu lệnh rẽ nhánh để viết các chương trình có sử dụng

các câu lệnh này

3 Thái độ: Học tập tích cực, nghiêm túc

II.PHƯƠNG TIỆN DẠY HỌC CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Đồ dùng dạy học: Máy tính điện tử

2 Phương pháp dạy học: Giải quyết vấn đề

3 Sự chuẩn bị ở nhà: Các kiến thức học sinh đã học trong các bài học trước

III.TIẾN HÀNH BÀI DẠY:

1 Ổn định lớp:

2 Dạy bài mới:

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

GV nhận xét

Câu hỏi: trong cú pháp của hai câu lệnh, em hãy giải thích

các thành phần trong câu lệnh

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ị T

Một trong hai việc cụ thể chắc chắn sẽ xảy

ra, còn việc một hay việc hai sẽ được thựchiện thì tuỳ thuộc vào điều kiện cụ thể cóthảo mãn hay không

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: 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ó 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ở

Câu lệnh, câu lệnh 1, câu lệnh 2 (Câu lệnhsau từ khoá THEN và ELSE là một câu lệnhduy nhất

2.Sự thực hiện:

a)Dạng thiếu:

Bước 1: Tính giá trị của biểu thức điều kiện.Bước 2: Kiểm tra giá trị cảu biểu thức điềukiện

-Nếu biểu thức đk có giá trị đúng thì thựchiện câu lệnh sau từ khoá THEN, rồi thoát rakhỏi câu lệnh IF

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

b)Dạng đủ

Bước 1: Tính giá trị của biểu thức điều kiện.Bước 2: Kiểm tra giá trị cảu biểu thức điềukiện

-Nếu biểu thức đk có giá trị đúng thì thựchiện câu lệnh sau từ khoá THEN, rồi thoát rakhỏi câu lệnh IF

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

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

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

1.Cú pháp:

BEGINCL1;

CL2;

CLnEND;

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

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

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ở

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 songhiem’)

Else writeln(‘phuong trinh vo nghiem’)

ReadlnEND

3.Hoạt động củng cố:(1-3’) Nhắc lại cú pháp và chức năng của câu lệnh rẽ nhánh dạng khuyết và

câu lệnh rẽ nhánh dạng đủ

4.Hướng dẫn học sinh về nhà:(2-3’)

- Học các nội dung: Cú pháp và chức năng cảu các câu lệnh rẽ nhánh

- Bài tập: 1/SGK

- 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

Ngày soạn : Tuần dạy:

§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

2 Kiểm tra bài cũ

1 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)

2 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.(HS2)

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

3 Hoạt động 3: (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 lệnh For?

Trang 31

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

Trong btoán 1:<giá trị đầu>, <giá trị cuối> có giá trị bằng bao

nhiêu?

-<giá trị đầu> là 1

<giá trị cuối> là 100

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?

- Hãy so sánh giá trị của <giá trị đầu> và <giá trị cuố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

b.Dạng lùi

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

Sơ đồ:

IV ĐÁNH GIÁ CUỐI BÀI (3phút)

1 Nội dung đã họ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

2 Câu hỏi, 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

Ngày soạn : Tuần dạy:

§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

Câu lệnh lặp bđếm :=bđếm + 1

Đ

S

bđếm>=gtrị đầu

Câu lệnh lặp bđếm :=bđếm - 1

Đ

S

Trang 32

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

1 Hoạt động 1: (15 phút) 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

N

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 đó

2 Hoạt động 2: (25 phút) 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 lệnh

- Đ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.

-Nhận xét đúng sai và bổ sung

* Chú ý lắng nghe và ghi nhớ

- Gọi hs khác nhận xét

* Treo sơ đồ mẫu và giải thích

3 Câu lệnh While …Do

Cấu trúc:

While <điều kiện> Do <lệnh cần lặp>;

Sơ đồ thực hiện:

* Trong <lệnh cần lặp> phải có lệnh thay

đổi biến chỉ số (để thay đổi giá trị <điều

kiện>)

điều kiện

lệnh cần lặp

S Đ

Trang 33

IV ĐÁNH GIÁ CUỐI BÀI (5p)

1 Nội dung đã học :

- Nhắc lại cấu trúc câu lệnh lặp While

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

- 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ực hành

Ngày soạn : Tuần dạy:

§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

2 Học sinh : Lặp với số lần biết trước

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

1 Ổn định lớp :

2 Kiểm tra bài cũ(5 phút)

Trình bày cấu trúc lặp While Do? Lấy ví dụ?

3 Bài mới :

Hoạt động 1: (35 phút) 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

1hs lên bảng trình bày, hs khác N/xét Đúng–Sai, bổ sung

* 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>

Trang 34

Hỏi:

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

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

- Y/cầu hs viết chương trình hoàn thiện bài toán ở nhà

Củng cố: Hãy nêu 2 câu hỏi cần đặt ra khi gặp bài toán dạng

này?

IV ĐÁNH GIÁ CUỐI BÀI (5phút)

1 Nội dung đã học : - Nhắc lại cấu trúc câu lệnh lặp While

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

- 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ực hành

Ngày soạn : Tuần dạy:

3 Tư duy, Thái độ:

Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiểu, chủ động trong giải quyết cácbài tập.Rèn luyện tư duy khoa học, tư duy logic

II Chuẩn bị của giáo viên và học sinh:

GV: - Soạn giáo án.

HS: - Học bài cũ và chuẩn bị bài tập.

III Tiến trình bài dạy:

1 Ổn định lớp :

2 Kiểm tra bài cũ (7phút)

Câu hỏi 1(H1): Viết cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp trong Pascal và giải thíchcác thành phần?

Trả lời : -Rẽ nhánh

If <btđk > then <lệnh 1> else <lệnh 2>;

If <btđk > then <lệnh 1>;

- Lặp For

Trang 35

For <biến đếm>:= <giá trị đầu> To <giá rị cuối> Do <lệnh>;

For <biến đếm>:= <giá trị đầu> Downto <giá trị cuối> Do <lệnh>;

- Lặp While : While<điềukiện>Do<lệnh>;

3 Bài mới :

Hoạt động 1: (15 phút)Giải bài tập 4

Câu hỏi 1(H1): Sử dụng lệnh If này gồm mấy nhánh ?

Câu hỏi 2(H2): Hàm lấy giá trị tuyệt đối của biểu thức hay biến ?

HĐTP1:

- GV gọi 1 HS lên bảng giải câu 4a)

- 1 HS lên bảng giải câu 4a)

- GV gọi 1 HS lên bảng giải câu 4b)

- 1 HS lên bảng giải câu 4b)

Hoạt động 2: (20 phút) Giải bài tập 5

Câu hỏi 1(H1): Hãy khai triển biểu thức Y =

Câu hỏi 3(H3): Em hãy thử đưa ra phương pháp tính Y ?

Câu hỏi 4(H4): Sử sụng cấu trúc điều khiển lặp nào là phù hợp ?

- GV gọi 1 HS lên bảng giải bài 5a)

- 1 HS lên bảng giải bài 5a

- GV yêu cầu các HS còn lại theo dõi và nhận xét

- Các HS còn lại theo dõi và nhận xét bổ sung (nếu có)

- GV nhận xét, hoàn chỉnh bài làm và đánh giá

Y =

51

504

33

22

Var y: real;

n: byte;

Begin Clrscr;

y:=0;

for n:=1 to 50 do y:= y + n/(n+1);

Trang 36

 Lặp While: Số lần lặp chưa xác định

1 Làm các bài tập còn lại trong SGK trang 51.

V RÚT KINH NGHIỆM, BỔ SUNG:

Trang 37

Ngày soạn : Tuần dạy:

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

- Máy chiếu qua đầu, bìa trong, sách giáo khoa

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

- Sách giáo khoa, một số chương trình bài tập

III Hoạt động dạy – học

1 Hoạt động 1: Nhắc lại kiến thức cũ đã học.

a Mục tiêu:

- Học sinh nhớ lại được các kiến thức lí thuyết đã học

b Nội dung:

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

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

- Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa

- Các khái niệm: Tên, hằng và biến, chú thích

- Cấu trúc của chương trình Pascal: Phần khai báo và phần thân

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

Hoạt động của Giáo viên và Học sinh Nội Dung

Đặt câu hỏi gợi ý để học sinh tự nhắc lại

kiến thức đã học

HS Chú ý, theo dõi trả lời các câu hỏi

- Em hiểu như thế nào về lập trình và

- Khái niệm tên, hằng và biến, chú thích

- Gồm hai phần: Phần khai báo và phần thân

Trang 38

Viết chương tình nhập từ bàn phím một số nguyên dương N (1<=N<=100) và một dãy số A gồm

N số nguyên A1, A2, AN Các số A1 có giá trị tuyệt đối lớn hơn 1000 Hãy đưa ra màn hình số lượng các số dương và số lượng các số âm trong dãy

Nhóm 1: Nêu câu hỏi phân tích

Nhóm 2: Trả lời câu hỏi phân tích của nhóm 1

- Giáo viên góp ý bổ sung cho cả hai nhóm

2 rèn luyện kĩ năng lập trình

- Chia lớp thành hai nhóm

- Yêu cầu: Viết chương trình hoàn thiện lên bìa

trong

- Thu phiếu học tập, chiếu kết quả lên bảng Gọi

học sinh của nhóm khác nhận xét đánh giá và bổ

sung

3 Chuẩn hóa kiến thức bằng chương trình mẫu

của giáo viên Thực hiện chương trình, nhập dữ

liệu để học sinh thấy kết quả của chương trình

1 Quan sát, theo dõi đề bài và định hướng của giáo viên để xác định bài toán

3 Theo dõi và ghi nhớ

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

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

- Giáo viên yêu cầu học sinh nhắc lại một số nội dung chính đã được ôn tập trong tiết học

2 Câu hỏi và bìa tập về nhà: Chuẩn bị kiến thức cho tiết sau kiểm tra học kì 1: Xem lại toàn bộ các kiến thức đã được ôn tập, đặc biệt chú trọng cấu trúc lặp và rẽ nhánh

Trang 39

Ngày soạn : Tuần dạy:

KIỂM TRA HỌC KỲ I I.MỤC ĐÍCH YÊU CẦU:

Kiến thức: Kiểm tra đánh giá kiến thức của HS sau khi hoc xong học kỳ I

Kỹ năng: Nắm được cấu trúc chương trình TP, cách khai báo các thành phần của chương

trình TP, cú pháp và chức năng của các câu lệnh trong TP làm bài kiểm tra trên giấy, các câulệnh có cấu trúc và các kiểu dữ liệu có câu trúc

II.PHƯƠNG TIỆN DẠY HỌC CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Đồ dùng dạy học: Đề kiểm tra GV phôtô

2.Hình thức : Tự luận

3.Sự chuẩn bị ở nhà: Các kiến thức HS đã học trong học kỳ I

III.TIẾN HÀNH BÀI DẠY:

2.Dạy bài mới:(30 - 37’)

Giáo viên phát dề cho HS theo hình thức A, B, C, D

HS làm bài trong giấy HS tự chuẩn bị

Ghi chú: Đề bài kiểm tra và đáp án ở trang sau

HS không cần viết lại đề bàiLàm các phần ngay trên tờ giấy HS đã chuẩn bị, ghi rõlàm đề nào

HS tiến hành làm bài tự luận

Trang 40

Lập trình tính :

60 1

ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM

Bài 1:

(3 điểm)

Chương trình dịch có chức năng chuyển đổi chương trình được viết từ

ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy

tính

Phân biệt Thông dịch và Biên dịch:

- Thông dịch : Thực hiện lăp lại tuần tự các bước : Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; chuyển đổi

câu lệnh vừa kiểm tra sang ngôn ngữ máy và thực hiện

- Biên dịch : Thực hiện qua hai bước : Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn; Dịch toàn

bộ chương trình nguồn thành một chương trình đích có thể thực hiện

trên ngôn ngữ máy

(2 điểm) Câu a) Câu b) if (x < 0 ) then y:= x*x + 2*x + 1 else y:= -2*x + 1 1,0 điểm

if (x*x + y*y < 1 ) then if (y >= x) then z:= x + y else z:= 1.2

Hướng dẫn : Khai báo biến đúng được 0,5đ; gán giá trị ban đầu cho s

đúng được 0,5đ; sử dụng đúng vòng lăp For – do (While – do ) được

1,0đ

0,5 điểm0,5 điểm1,0 điểm

Lưu ý : Trong quá trình làm bài học sinh có thể làm tắt một số bước, đáp án chi tiết là dành cho

những học sinh chưa giải đến kết quả cuối cùng Nếu học sinh có cách giải khác mà vẫn đúng yêu cầu của bài toán thì vẫn cho điểm tối đa

3.Hoạt động củng cố:(1-3’):Giáo viên thu bài, chấm, sữa và đánh giá cho điểm ngay trong bài làm

của HS

4.Hướng dẫn học sinh về nhà:(2-3’)

Học các nội dung:Các nội dung đã ôn tập

Ngày đăng: 17/01/2018, 08:05

TỪ KHÓA LIÊN QUAN

w