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

GIÁO ÁN TIN HỌC LỚP 11

101 682 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 101
Dung lượng 0,99 MB

Nội dung

• Đăc điểm của chương trình viết bằng ngôn ngữ máy là có thể nạp trực tiếp vào bộ nhớ thi hành ngay, còn chương trình viết bằng ngôn ngữ bậc cao không phụ thuộc loại máy, muốn thực hiện

Trang 1

Ngày dạy: 18/08/2014 Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH

– Khái niệm lập trình, chương trình dịch, thông dịch và biên dịch

– Biết được Tin học được ứng dụng vào hầu hết các lĩnh vực

Kĩ năng:

– Phân biệt được thông dịch và biên dịch

– Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn

Thái độ:

– Có khái niệm cơ bản về lập trình và yêu thích môn học lập trình

II CHUẨN BỊ:

Giáo viên: Giáo án, máy tính cá nhân, tổ chức nhóm.

Học sinh: Sách giáo khoa, vở ghi.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

3 Nội dung bài mới:

1 Khái niệm lập trình:

Đặt vấn đề: Ở Tin học 10 các em đã tìm hiểu về

các bước để giải bài toán trên máy tính, các loại

ngôn ngữ lập trình cơ bản Vậy em nào hãy nhắc

lại 5 bước giải một bài toán trên máy tính?

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

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

Nhắc lại các bước giải bài toán trên máy tính đã

học ở lớp 10: 1 Xác định bài toán; 2 Lựa chọn

hoặc thiết kế thuật toán; 3 Viết chương trình (lập

trình); 4 Hiệu chỉnh; 5 Viết tài liệu

GV: Sau bước 3 là bước 4 Viết chương trình (lập

trình) Vậy lập trình là gì?

HS: Nhóm thảo luận và cho ra khái niệm.

GV: Theo các em đã học ở Tin học 10 thì có mấy

loại ngôn ngữ lập trình?

HS: Thảo luận và trả lời có 3 loại: Ngôn ngữ máy,

hợp ngữ, ngôn ngữ bậc cao

GV: Vậy hiện tại người ta sử dụng ngôn ngữ nào

để viết chương trình? Vì sao?

HS: Nhóm thảo luận suy nghĩ và trả lời: Ngôn

ngữ bậc cao Vì ngôn ngữ bậc cao là ngôn ngữ tự

nhiên, thuận tiện cho người lập trình và chương

trình của nó có tình độc lập cao và ít phụ thuộc

vào loại máy

GV: Mỗi loại máy có một đặc điểm riêng, chương

1 Khái niệm lập trình:

Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt 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

• Đăc điểm của chương trình viết bằng ngôn ngữ máy là có thể nạp trực tiếp vào

bộ nhớ thi hành ngay, còn chương trình viết bằng ngôn ngữ bậc cao không phụ thuộc loại máy, muốn thực hiện được trên máy tính thì nó phải được dịch sang ngôn ngữ máy

=> Chương trình mà có khả năng 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

tính thực hiện gọi là chương trình dịch.

Trang 2

trình viết bằng ngôn ngữ máy cho loại máy nào

chỉ chạy được trên máy đó

HS: Chú ý nghe giảng và tiếp thu.

GV: Khi viết chương trình bằng ngôn ngữ bậc cao

muốn máy tính hiểu và thực thi được thì sao?

HS: Nhóm suy nghĩ và trả lời: Chuyển thành

ngôn ngữ máy

GV: Đúng Việc đó được thực hiện bởi một

chương trình đặc biệt gọi là chương trình dịch,

dùng để dịch từ chương trình nguồn thành chương

trình đích khi đó máy tính mới thực hiện được

HS: Chú ý nghe giảng và tự ghi bài.

2 Chương trình dịch:

GV: Các em tham khảo một ví dụ: Bạn là người

không biết tiếng Anh vậy làm sao để bạn có thể

nói chuyện với người Anh hay đọc một cuốn sách

tiếng Anh?

HS: Thảo luận và đưa ra ý kiến

- Khi một người làm thông dịch viên trong khi

đàm thoại thì phải dịch như thế nào? (Dịch ngay

từng câu khi 2 người nói chuyện)

GV: Đưa ra khái niệm thông dịch.

- Khi một người muốn dịch 1 cuốn sách sang

tiếng Việt thì làm thế nào? (Dịch toàn bộ cuốn

sách đó sang tiếng Việt để người đó có thể đọc

chương trình viết sẵn để chạy từng lệnh trong

Command promt thông dịch, hoặc Compiler cho

học sinh quan sát

HS: Có thể quan sát và hiểu sâu hơn.

GV: Cho hs phân biệt thông dịch và biên dịch Và

tìm hiểu các chức năng khác trong môi trường làm

việc của ngôn ngữ bậc cao cụ thể

+ Biên dịch (Compiler): Dịch toàn bộ

chương trình nguồn thành chương trình đích rồi mới thực hiện

• Thực hiện các bước sau:

 Duyệt, phát hiện lỗi và 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 máy và có thể lưu trữ để sử dụng lại khi cần thiết

=> Thông dịch không có chương trình đích

để lưu trữ còn biên dịch thì có thể lưu trữ lại cả chương trình nguồn và chương trình đích

IV CỦNG CỐ - DẶN DÒ:

1 Củng cố:

– GV: Cho hs trả lời các câu hỏi.

1 Thế nào là lập trình? Có mấy loại ngôn ngữ lập trình?

2 Máy tính có thể trực tiếp thực hiện chương trình viết bằng ngôn ngữ lập trình bậc cao hay không? Vì sao?

3 Phân biệt giữa thông dịch và biên dịch?

– HS: Lần lượt trả lời câu hỏi và tự củng cố.

2 Dặn dò:

– Xem bài đọc thêm 1 “Bạn biết gì về các ngôn ngữ lập trình” trang 6

– Học bài và chuẩn bị trước bài 2 “Các thành phần của ngôn ngữ lập trình”

Chương trình nguồn

Chương trình dịch

Chương trình đích

Trang 3

V RÚT KINH NGHIỆM.

Ngày dạy: 26/08/2014 Lớp : 11B10→11B14 §2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Tiết : 02

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Biết ngôn ngữ lập trình có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa – Biết một số khái niệm: Tên, tên riêng (từ khóa), tên chuẩn, tên do người lập trình đặt, hằng và biến trong ngôn ngữ lập trình Pascal

Kĩ năng:

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

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

Thái độ:

– Có cái nhìn đầu tiên về NNLT Pascal, kích thích sự đam mê lập trình

II CHUẨN BỊ:

Giáo viên: Giáo án, máy tính cá nhân, phòng máy (nếu có).

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: Khái niệm lập trình? Chương trình dịch?

TL: Khái niệm SGK.

Câu 2: Sự khác nhau cơ bản của thông dịch và biên dịch?

TL: - Thông dịch thì dịch và thực hiện lần lượt từng câu lệnh của chương trình nguồn.

- Biên dịch là dịch toàn bộ chương trình nguồn rồi mới thực hiện và có thể lưu trữ để sử dụng lại khi cần

3 Nội dung bài mới:

1.Các thành phần cơ bản.

Đặt vấn đề: Các thành phần cơ bản để tạo nên một ngôn

ngữ Việt, chẳng hạn như câu “Trung bình cộng của 3 và

5 là: (3+5)/2 = 4”.

Trong câu đó thì gồm thành phần nào? Theo cú pháp nào?

Có ý nghĩa là gì?

HS: Các chữ cái, số và các dấu, kí tự đặc biệt…là câu đơn,

có nghĩa là trung bình cộng của 3 và 5

GV: Trong ngôn ngữ lập trình cũng tương tự, để viết một

chương trình thì người ta cần phải dùng các chữ cái, một

số kí tự đặc biệt… viết theo một cú pháp (quy tắc) với một

ý nghĩa nào đó

HS: Chú ý nghe giảng và tìm hiểu.

GV: Vậy trong ngôn ngữ lập trình thường có các thành

phần nào?

HS: Bảng chữ cái, cú pháp và ngữ nghĩa.

GV: Bảng chữ cái là gì? Trong NN Pascal bảng chữ cái

1 Các thành phần cơ bản.

Mỗi ngôn ngữ lập trình thường có 3 thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa.

a) Bảng chữ cái: Là tập các ký

hiệu dùng để viết chương trình

• Trong ngôn ngữ Pascal bảng chữ cái gồm: Các chữ cái trong bảng chữ cái tiếng Anh, các chữ số 0 

9 và một số ký tự đặc biệt (xem trong SGK).

b) Cú pháp: Là bộ quy tắc dùng

để viết chương trình

c) Ngữ nghĩa: Xác định ý nghĩa

thao tác cần thực hiện ứng với tổ hợp ký tự dựa vào ngữ cảnh của

Trang 4

gồm những gì?

HS: Nghiên cứu SGK và trả lời.

GV: Bảng chữ cái của các ngôn ngữ lập trình khác nhau

có sự khác nhau Chẳng hạn ngôn ngữ Pascal không sử

dụng dấu (“) và (!) nhưng ngôn ngữ C++ lại sử dụng

HS: Nghe giảng và tìm hiểu.

GV: Cú pháp là gì?

HS: Tìm hiểu SGK và trả lời.

GV: Cú pháp các ngôn ngữ lập trình khác nhau cũng khác

nhau, ngôn ngữ Pascal dùng cặp từ Begin – End để gộp

nhiều lệnh thành 1 lệnh nhưng C++ lại dùng cặp kí hiệu {}

GV: Nhấn mạnh chương trình dịch chỉ phát hiện lỗi cú

pháp còn lỗi ngữ nghĩa rất khó phát hiện

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

b) Tên

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

tên Mỗi ngôn ngữ lập trình có một quy tắc đặt tên riêng

GV: Cách đặt tên trong Pascal?

HS: Trả lời và ghi bài.

GV: Lấy ví dụ tên đặt sai và tên đặt đúng và gọi học sinh

GV: Ngôn ngữ lập trình thường có ba loại tên cơ bản,

trong đó có Pascal: 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: Tại chỗ trả lời

GV: Viết một số tên chuẩn

HS: Theo dõi và ghi bài.

dùng các đại lượng là: a, b, c, x1, x2, Delta do người lập

trình đặt

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

HS: Tìm hiểu và ghi bài.

• Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình Chương trình không còn lỗi cú pháp thì mới có thể dịch sang ngôn ngữ máy

• Lỗi ngữ nghĩa khó phát hiện hơn

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

a) Tên.

Quy tắc đặt tên trong Turbo

Pascal: Tên là một dãy liên tiếp

không qúa 127 ký tự bao gồm các chữ cái, chữ số hoặc dấu gạch dưới và bắt đầu bằng chữ cái hoặc dấu gạch dưới

khai báo tên:

+ Để 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

VD: Tên đúng: A6, TinHoc11,

- Là tên được ngôn ngữ lập trình

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

VD: Một số từ khóa

Trong Pascal: Program, Uses,

Const, Type, Var, Begin, End,… Trong ngôn ngữ C++: main, include, while, void,…

• Tên chuẩn:

- Là tên được ngôn ngữ lập trình

dùng với ý nghĩa nhất định nào

đó, dùng với ý nghĩa khác thì phải khai báo.

VD: Trong Pascal: abs, sqr, sqrt,

cos, sin, byte, integer, real, longint…

Trong C++: cin, cout, getchar

• Tên do người lập trình đặt

- Được dùng với ý nghĩa riêng, xác

định bằng cách khai báo trước khi

sử dụng.

Trang 5

b) Hằng và biến

GV: Trong Pascal, khi sử dụng có một số đại lượng có thể

lặp đi lặp lại mang giá trị đó không đổi và một số có thể

thay đổi Nên trong Pascal có đại lượng Hằng và biến

GV: Nêu khái niệm hằng trong ngôn ngữ lập trình.

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

GV: Hằng trong Pascal được phân biệt có các loại hằng

nào? Cho hs trả lời và cho ví dụ từng loại

HS: Nghiên cứu và trả lời và cho ví dụ đúng và sai.

GV: Thế nào gọi là biến? Cho ví dụ.

HS: Nghiên cứu và trả lời.

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

phải được khai báo trước khi sử dụng

c) Chú thích.

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: Cho hs nêu các chú thích trong Pascal được viết như

thế nào?

HS: Tham khảo và trả lời

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

trình

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

VD: Bai_Tap1, GPTB2…

Chú ý: Các tên trong chương trình

không được trùng nhau

b) Hằng và biến

• Hằng

- Hằng là đại lượng có giá trị không thay đổi trong quá trình

thực hiện chương trình

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

+ Hằng số: số nguyên và số thực VD: 2 , - 22.36, 1.0E-6,…

+ 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 trong cặp dấu nháy

VD: ‘Lop 11B12’

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

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

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

IV CỦNG CỐ - DẶN DÒ:

1 Củng cố:

– GV: Cho hs nhắc lại các thành phần cơ bản của ngôn ngữ lập trình?

– Phân biệt tên trong NNLT Pascal: tên dành riêng, tên chuẩn, tên do người lập trình đặt – Hằng và biến, chú thích trong Pascal

– HS: Tự củng cố.

2 Dặn dò:

– Đọc một số bài đọc them sgk

– Học bài và trả lời các câu hỏi, bài tập (SGK – Tr13) chuẩn bị tiết sau làm bài tập

V RÚT KINH NGHIỆM.

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ể

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

II CHUẨN BỊ:

Giáo viên: Giáo án, bài tập, tài liệu, máy tính cá nhân, tổ chức nhóm.

Học sinh: Sách giáo khoa, vở ghi, xem và 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ố:

2 Kiểm tra bài cũ:

Câu 1: Nêu các thành phần cơ bản của ngôn ngữ lập trình? Nêu quy tắc đặt tên trong Turbo

Pascal? Cho ví dụ 2 tên đúng và 2 tên sai?

TL: 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ự

* Quy tắc sgk Hs cho ví dụ

Câu 2: Nêu chi tiết một số loại tên trong Pascal? Cho ví dụ 3 từ khóa trong Pascal?

TL: Trong Pascal phân biệt 3 loại tên sau:

- Tên dành riêng (từ khóa): Dùng với ý nghĩa riêng xác định, không được dùng với ý nghĩa

khác.

- Tên chuẩn: Dùng với ý nghĩa nhất định nào đó, dùng với ý nghĩa khác thì phải khai báo.

- Tên do người lập trình đặt: Dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi

sử dụng

3 Nội dung bài mới:

GV: Đọc câu hỏi cho hs chép và làm

GV: Gọi nhóm khác bổ sung Sau đó GV nhận

xét câu trả lời và đưa ra đáp án hoàn chỉnh

HS: Sửa vào bài tập vào vở.

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

HS: Thực hiện, trả lời.

GV: Nhận xét và hỏi tiếp.

Câu 1: Phát biểu nào sao đây là đúng?

A Chương trình là dãy các lệnh được tổ chức

theo một quy tắc nào đó, được xác định bởi một ngôn ngữ lập trình cụ thể

B Trong chế độ thông dịch mỗi câu lệnh của

chương trình nguồn được dịch thành một câu lệnh của chương trình đích

C Mọi bài toán đều có chương trình để giải

trên máy tính

D Chương trình dịch chỉ phát hiện lỗi ngữ

nghĩa chứ không phát hiện được lỗi cú pháp

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

Tại vì:

Trang 7

HS: Nghe và trả lời

GV: Gọi đại diện nhóm trả lời câu hỏi 4.

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

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

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

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

và đưa ra đáp án

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: Gọi hs sửa câu 6.

HS: Thực hiện

GV: Nhận xét và sửa.

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

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

trả lời

HS: Đại diện nhóm thực hiện.

GV: Nhận xét và đưa ra đáp án đúng

- 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

HS: Hoàn thành các bài tập.

Câu 7: 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ừ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)

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

- Chương trình viết bằng NNLT bậc cao nói chung không phụ thuộc vào loại máy (phần cứng máy tính)

- Chương trình viết bằng NNLT 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 cho việc mô tả thuật toán

Câu 3: Máy tính có thể trực tiếp hiểu và thực hiện được chương trình viết bằng ngôn ngữ bậc cao hay không?

- Không Máy tính chỉ trực tiếp hiểu và thực hiện chương trình viết bằng ngôn ngữ máy

- Máy cần phải làm gì để hiểu và thực hiện trực tiếp được chương trình viết bằng ngôn ngữ bậc cao?

- 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ịch dịch sang ngôn ngữ máy

Câu 4: 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âu 5: Hãy tự viết ra ba tên đúng và 3 tên sai dựa theo quy tắc đặt tên trong Pascal.

- 3 tên đúng: abc; vidu3; _15a

- 3 tên sai: A bc, 2x, Vi&du3

Câu 6: Trong các biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal: A END B Integer C Real D Sqrt E ‘End’ F Var G Program. - Từ khóa là câu: A, F, G IV CỦNG CỐ - DẶN DÒ: 1 Củng cố: – GV: Nhấn mạnh lại các kiến thức còn thiếu sót trong khi làm bài tập – HS: Nghe giảng và tự củng cố. 2 Dặn dò: – Bài tập BT 1.9; BT 1.10; BT 1.11; BT 1.12 trong sách bài tập – Chuẩn bị bài tiếp theo của chương II, bài 3: Cấu trúc chương trình V RÚT KINH NGHIỆM.

Trang 8

Ngày dạy: 09/09/2014 Chương II: CHƯƠNG TRÌNH ĐƠN GIẢN

Lớp : 11B10→11B14 §3: CẤU TRÚC CHƯƠNG TRÌNH

Tiết : 04

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– 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

Giáo viên: Giáo án, máy tính cá nhân, chương trình viết bằng Pascal đơn giản.

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: Hãy chọn những biểu diễn hằng trong những biểu diễn dưới đây

A) Begin B) ‘65c’ C) 1024 D) -46 E) “Bai tap” F) 12.4E-5

Câu 2: Hãy chọn những biểu diễn tên trong những biểu diễn dưới đây.

A) ‘*****’ B) -5+9-0 C) PpPpPp D) +256.512 E)FA33C9 F) (2)

Câu 3: Trong những biểu diễn dưới đây, biểu diễn nào là từ khóa trong Pascal?

A) END B) Ingteger C) Real D) sqrt E) ‘end’ F) var

TL: Câu 1: B, C, D, F Câu 2: C, E Câu 3: A, F

3 Nội dung bài mới:

1 Cấu trúc chung

Đặt vấn đề: Ví dụ một bài tập làm văn các em

thường viết có mấy phần? Các phần đó có thư tự

không? Chia như vậy mục đích để làm gì?

HS: Trả lời

- Có 3 phần theo thứ tự: mở bài, thân bài, kết

luận

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

GV: Thuyết trình đưa ra cấu trúc chung của một

chương trình trong Pascal

HS: Chú ý lắng nghe, ghi chép.

2 Các thành phần của chương trình.

a) Phần khai báo.

GV: Phần khai báo sẽ 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 Mỗi

ngôn ngữ lập trình có cách khai báo khác nhau và

tùy thuộc vào ngôn ngữ mà chương trình cần

khai báo những gì

GV: Đối với Pascal, chương trình gồm có các

khai báo nào?

a) Phần khai báo: Có thể khai báo: Tên

chương trình, thư viện, hằng, biến, chương trình con,…

Khai báo tên chương trình:

- Trong Turbo Pascal:

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

- Tên chương trình do người lập trình tự đặt theo đúng quy tắc đặt tên

VD: Program Bai_1;

Program GPTB2;

Program TinhTong;

Khai báo thư viện:

- Trong Turbo Pascal:

Trang 9

hiểu Khai báo tên chương trình trong Pascal như

thế nào?

HS: Tìm hiểu và trả lời.

GV: Cho một số ví dụ; nêu lên quy tắc và ý

nghĩa của cách đặt tên

HS: Tìm hiểu và ghi nhớ.

GV: Thư viện chương trình thường chứa những

đoạn chương trình lập sẵn giúp người lập trình

thực hiện một số công việc thường dùng, các

đoạn chương trình này cực kỳ hữu ích cho người

lập trình, nhất là trong những ngôn ngữ lập trình

tiên tiến hiện nay

HS: Nghe giảng.

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

đặt ngay sau dòng khai báo tên chương trình

GV: Ví dụ khai báo thư viện trong Pascal và một

số ngôn ngữ khác

HS: Tìm hiểu và ghi bài.

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 viết nhiều lần cùng

một giá trị Khai báo hằng còn tiện lợi hơn khi

cần thay đổi giá trị của nó trong chương trình

HS: Nghe giảng và tìm hiểu.

GV: Cho ví dụ khai báo hằng.

GV:Chương trình cần có khai báo biến để

chương trình dịch biết phân bố tài nguyên, xử lý

và lưu trữ Giá trị của biến có thể thay đồi nhưng

tại một thời điểm biến chỉ nhận 1 giá trị gọi là

biến đơn

HS: Nghe giảng và tìm hiểu.

GV: Nêu cách khai báo biến.

HS: Nghe giảng và ghi chép.

GV: Mỗi ngôn ngữ lập trình có cách tổ chức

chương trình khác nhau, thường thì phần thân

chứa các câu lệnh của chương trình

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

GV: Cho học sinh quan sát và nhận xét chương

trình đơn giản viết bằng NN Pascal Cho hs tìm

hiểu và nhận biết từng phần trong chương trình

HS: Quan sát theo dõi và nhận biết.

Uses <Tên thư viện>;

VD: Trong Turbo 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ạ}

Khai báo hằng:

Trong Turbo Pascal:

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

VD: Const N = 100;

e = 2.7;

Pi =3.14;

Khai báo biến:

- Tất cả các biến sử dụng đều phải khái báo

- Biến chỉ nhận một giá trị gọi là biến đơn.

VD: Trong Pascal:

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

VD: Giải phương trình bậc hai:

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

Trong Turbo Pascal:

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> {Giới thiệu sau}

Trang 10

Function …; <khai báo hàm>…{Giới thiệu sau}

– Xem lại phần lí thuyết đã học và trả lời các câu hỏi ở cuối bài

– Chuẩn bị tiết sau thực hành

V RÚT KINH NGHIỆM.

– Cách soạn thảo 1 chương trình đơn giản hạn chế bị lỗi

– Dịch và phát hiện lỗi và chạy được chương trình đơn giản nhất

Thái độ:

– Giúp học sinh tư duy từ 1 chương trình đơn giản và từ từ tìm hiểu sâu về lập trình

II CHUẨN BỊ:

Giáo viên: Giáo án, phòng máy, chương trình viết bằng Pascal đơn giản.

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

GV: Gọi 2 hs viết cú pháp của phần khai báo và thân chương trình?

TL: HS thực hiện.

3 Nội dung bài mới:

Làm Quen Với Pascal.

GV: Hướng dẫn học sinh cách khởi động Turbo

Pascal và một số chứa năng và thao tác của

Pascal

GV: Cách Mở, Lưu và Thoát Turbo Pascal.

HS: Chú ý lắng nghe, ghi chép.

GV: Hướng dẫn hs soạn từng dòng lệnh đối với 1

chương trình hoàn chỉnh và đơn giản

GV: Phải soạn thảo từng dòng và lưu lại trước

khi soạn

GV: Phải soạn đúng cấu trúc trước, đúng hình

thức Nhìn rõ ràng dùng phím Tab để lùi đầu

dòng

Làm Quen Với Pascal.

Đưa ra 1 chương trình Pascal đơn giản và 1 chương trình Pascal hoàn chỉnh

Trang 11

GV: Sử dụng phím F9 thường xuyên để biên

dịch chương trình để sửa lỗi kip thời

GV: Cuối bài phải Save lại 1 lần nữa và dùng tổ

hợp phím Alt + F9 để biên dịch.

GV: Nếu có lỗi thì phải kiểm tra và sửa lỗi.

GV: Dùng phím Ctrl + F9 để chạy chương trình.

-Xem kết quả và nhấn Enter để trở lại màng hình

soạn thảo

HS: Chú ý lằng nghe và thực hành.

GV: Quan sát từng học sinh thực hành và hướng

dẫn cách sửa lỗi SGK trang 136 các lỗi thường

gặp

GV: Chiếu cho hs xem 1 bài tập tính diện tích

hình tròn hoàn chỉnh

Chạy và cho hs xen kết quả

HS: Chỉ chú ý quan sát và nhận xét.

GV: Chiếu cho hs xem các lỗi thường gặp và

cách khắc phục

HS: Chú ý quan sát và thực hành.

BT 2:

Program DT_HinhTron; Uses Crt; Const Pi = 3.14; Var R, S: Real;

Begin Writeln(‘Nhap ban kinh R:’); Readln(R); S :=Pi*R*R; Writeln(‘Dien tich hinh tron:’,S); Readln End IV CỦNG CỐ - DẶN DÒ: 1 Củng cố: – HS: Thực hành và tự củng cố – GV: Nhận xét và nhấn mạnh các lỗi thường gặp. 2 Dặn dò: – Xem bài và chuẩn bị trước bài: 4 “Một số kiểu dữ liệu chuẩn” và : 5 “Khai báo biến”. V RÚT KINH NGHIỆM.

Ngày dạy: 23/09/2014 §4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN Lớp : 11B10→11B14 §5: KHAI BÁO BIẾN Tiết : 06

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

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

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

– Hs biết được rằng mọi biến trong chtrình đều phải được khai báo tên và kiểu dữ liệu – Hs biết được cấu trúc chung của khai báo biến trong NNLT Pascal, khai báo được biến khi lập trình

Kĩ năng:

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

– Biết khai báo biến đúng

Thái độ:

– Suy luận và tư duy tốt hơn để nhận biết các biến cần sử dụng cùng với dữ liệu cần k/b

II CHUẨN BỊ:

Giáo viên: Giáo án, SGK, bảng phụ (nếu có).

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

Trang 12

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

3 Nội dung bài mới:

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

1 Kiểu nguyên.

Đặt vấn đề: Trong các bài toán thực tế thường các dữ

liệu vào và kết quả ra các tập số tự nhiên, số nguyên, số

thực, kí tự…

HS: Chú ý, lắng nghe và nhận thức.

GV: Cũng tương tự như vậy, để lập trình giải quyết các

bài toán cũng cần có các tập số đó, mỗi tập số có một

giới hạn nhất định Mỗi ngôn ngữ lập trình cung cấp một

số kiểu dữ liệu chuẩn để lưu trữ và các phép toán có thể

tác động lên dữ liệu đó

HS: Liên tưởng các tập số trong toán học với một kiểu

dữ liệu trong Pascal?

GV: Yêu cầu hs nghiên cứu sgk và trả lời Có bao nhiêu

kiểu dữ liệu chuẩn trong ngôn ngữ Pascal?

HS: Nghiên cứu và cho biết:

Có 4 kiểu: Kiểu nguyên, kiểu thực, kiểu kí tự và kiểu

logic

GV: Trong ngôn ngữ Pascal, có những kiểu nguyên nào

thường dùng, phạm vi biểu diển của mỗi loại?

HS: Có 4 loại: Byte, word, integer và longint

GV: Có những kiểu số thực nào thường dùng, phạm vi

biểu diễn của mỗi loại?

HS: Nghiên cứu và trả lời.

GV: Cho ví dụ và hs suy luận chọn kiểu dữ liệu thích

hợp

HS: Nghe và suy nghĩ chọn lựa thích hợp.

3 Kiểu kí tự.

GV: Trong ngôn ngữ Pascal, kiểu kí tự là gì?

HS: Có 1 loại: Char, 1byte,…

GV: Giới thiệu một số bảng mã: ASCII, VPS, UTF-8,

Unicode…nhưng Pascal sử dụng bảng mã ASCCII

HS: Nghe giảng và tìm hiểu.

GV: Cho ví dụ cần dùng kiểu kí tự.

4 Kiểu logic.

GV: Kiểu logic thường có 2 giá trị đúng hoặc sai Cho ví

dụ cần dùng kiểu logic

HS: Có một loại: boolean, gồm 2 phần tử: True và False

Theo dõi và ghi bài

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

Char 1 255 kí tự trong b/mã ASCCII

4 Kiểu logic.

Boolean 1 True (Đúng) hoặcFalse (Sai)

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

§5: KHAI BÁO BIẾN

1 Cú pháp khai báo biến.

Trong Pascal:

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

liệu>;

Trang 13

§5: KHAI BÁO BIẾN

1 Cú pháp khai báo biến.

Đặt vấn đề: Như chúng ta đã biết mọi biến dùng trong

chương trình đều phải được khai báo tên và kiểu dữ liệu

Mỗi biến chỉ được khai báo một lần, và việc khai báo

biến trong Pascal như thế nào?

HS: Nghe giảng và tìm hiểu đưa ra cú pháp.

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

GV: Ví dụ chương trình tính bình phương của 2 số

nguyên a và b

Thì cần khai báo các biến nào? Thuộc kiểu gì?

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

- Có thể 2 biến nguyên a, b (kiểu Integer)

GV: Nhận xét và hướng dẫn cho hs thêm 1 biến thực c

(kiểu Real) nào đó để lưu kết quả của a cộng b

HS: Nghe giảng và tìm hiểu.

GV: Gọi hs viết câu lệnh khai báo 3 biến trên.

HS: Lên bảng thực hiện:

Var a, b : Integer;

c : Real;

GV: Gọi hs xác định và cho ví dụ về khai báo

các biến cần để GPTB2

HS: Thực hiện: Var a, b, c, x1, x2, Delta : Real;

GV: Nhận xét và cho hs tính tổng các byte cần cấp phát

cho các biến

HS: Nghiên cứu và thực hiện.

GV: Đưa ra những lưu ý về khai báo biến và chọn kiểu

dữ liệu cho phù hợp

HS: Nghe giảng và ghi bài.

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ác nhau

VD: Giả sử có 3 biến thực X, Y, Z

và 2 biến số nguyên A, B

Var X, Y, X : Real;

A, B : Integer;

Trong khai báo trên bộ nhớ cấp pháp cho 3 biến số thực là 18 byte (3*6=18) và 2 biến số nguyên là 4 byte (2*2=4) Vậy tổng bộ nhớ cần dùng là 18 +4 = 22 byte

Lưu ý:

+ 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 vi giá trị của nó

- Cho thêm các ví dụ và bài tập

IV CỦNG CỐ - DẶN DÒ:

1 Củng cố:

– GV: Cho ví dụ như tích diện tích các hình tròn, vuông chữ nhật, GPTB1,2

– HS: Xác địn biến và kiểu dữ liệu, Viết cách khai báo biến. 2 Dặn dò: – Làm bài tập 1,2,3,4,5 sgk trang 35 – Xem trước bài 6 “Phép toán, biểu thức, lệnh gán”. V RÚT KINH NGHIỆM.

Trang 14

– Cách khai báo biến đúng kiểu dữ liệu.

– Dịch và phát hiện lỗi và chạy được chương trình đơn giản nhất

Thái độ:

– Giúp học sinh tư duy từ 1 chương trình đơn giản và từ từ tìm hiểu sâu về lập trình

II CHUẨN BỊ:

Giáo viên: Giáo án, phòng máy, chương trình viết bằng Pascal đơn giản.

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

BT: Cho a và b là 2 cạnh của hình chữ nhật Tính diện tích hình chữ nhận đó Hãy xác định

các biến cùng các kiểu dữ liệu thích hợp rồi viết khai báo biến cho bài toán trên?

TL: HS thực hiện và hs khác bổ snung nếu có.

3 Nội dung bài mới:

Kiểu Dữ Liệu Và Khai Báo Biến.

GV: Trong Pascal có các kiểu dữ liệu nào?

GV: Gọi hs xác đinh các khai báo.

HS: Có khai báo tên ct, thư viện, hằng và biến

GV: Xác định các biến và kiểu dữ liệu cần sử

dụng?

HS: Suy nghĩ và đưa ra các biến cần sử dụng?

GV: Cho hs viết khai báo biến bằng Pascal

HS: Thực hành trên máy

GV: Quan sát theo dõi và hướng dẫn hs hiệu

chỉnh khi có sai sót

HS: Hiệu chỉnh cho hoàn chỉnh

GV: Gọi hs xác đinh các khai báo.

HS: Có khai báo tên ct, thư viện và biến

GV: Xác định các biến và kiểu dữ liệu cần sử

Kiểu Dữ Liệu Và Khai Báo Biến.

Tóm tắt lý thuyết

Giải bài tập 3, 4, 5 trang 35

3 Word, Interger, Longint 4.D, 5.C.

1 Tính diện tích và chu vi hình tam giác với 3

cạnh la a,b,c (a, b, c là 3 số nguyên dương).

Xác định các biến và kiểu dữ liệu thích hợp?

Viết Phần khai báo thích hợp cho bài toán

trên?

Gợi ý: Sử dụng hết tất cả các biến có thể có

Trang 15

HS: Suy nghĩ và đưa ra các biến cần sử dụng?

GV: Cho hs viết khai báo biến bằng Pascal

HS: Thực hành trên máy

GV: Quan sát theo dõi và hướng dẫn hs hiệu

chỉnh khi có sai sót

HS: Hiệu chỉnh cho hoàn chỉnh

Phần khai báo gồm: tên chương trình, thư

Tiết : 08

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Biết được các phép toán, các hàm thông dụng trong ngôn ngữ lập trình Pascal

– Biết diễn được biểu thức trong ngôn ngữ lập trình

– Hiểu chức năng của lệnh gán

Kĩ năng:

– Viết được lệnh gán và các biểu thức số học, quan hệ và logic

– Phân biệt được sự khác nhau giữa lệnh gán (:=) và phép so sánh bằng (=)

– Sử dụng được các phép toán thích hợp để xây dựng biểu thức chương trình

Thái độ:

– Tính chính xác và logic

II CHUẨN BỊ:

Giáo viên: Giáo án, phòng máy hoặc bảng phụ (nếu có).

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: Cú pháp khai báo biến? Một số chú ý khi khai báo biến? Áp dụng: Với x, y, z là số

thực, n là số nguyên dương, c là ký tự Hãy viết khai báo biến và tính tổng bộ nhớ cần cấp phát là bao nhiêu?

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

Chú ý:

- 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

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

Câu 2 Var x, y : Real;

n : Word;

c : Char; (Tổng bộ nhớ là 3x2+2+1= 15 byte)

Trang 16

3 Nội dung bài mới:

1 Phép toán.

Đặt vấn đề: Khi viết chương trình ta có thể sử

dụng các phép tính toán bằng các biểu thức, câu

lệnh để gán giá trị… việc đó được thực hiện như

thế nào ta cùng tìm hiểu §6: Phép toán, biểu

thức, câu lệnh gán.

GV: Trong 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: Treo bảng phụ

HS: Quan sát và ghi bài

GV: Chúng có dùng được trong các ngôn ngữ lập

trình?

HS: Một số dùng được còn một số thì cách viết

khác

GV: Đưa ra các phép toán theo từng nhóm.

HS: Nghe giảng và ghi bài.

HS: Thực hiện chuyển đổi các ví dụ từ toán sang

Pascal và ngược lại

HS: Chưa biết cách viết.

GV: Để viết được NNLT Pascal đưa ra một số

hàm chuẩn đơn giản là: Treo bảng phụ và giới

thiệu sơ lược các hàm

HS: Nghe giảng và ghi bài.

GV: Cho các ví dụ cho hs thực hiện.

HS: Thực hiện.

GV: Hiệu chỉnh nếu có.

Nhấn mạnh kiểu dữ liệu của hàm phụ thuộc vào

kiểu của đối số

4 Biểu thức quan hệ hoặc logic.

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

giá trị Việc so sánh đó cho kết quả là đúng hoặc

1 Phép toán.

Với số nguyên: +, -, *, div (chia lấy

nguyên), mod (chia lấy dư)

Dùng cặp dấu () để qui định trình tự tính toán

VD:

Trong toán học

Trong Pascal

7a + 8b

x + y x - z

x – 1 xy 2

7*a + 8*b(x+y)/(x-1/2)-(x+y)/(x*y)

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

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

- Thực hiện từ trái sang phải (*, /, div, mod…trước, +, - sau)

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

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

Cú pháp: <Tên hàm>(Đối số)

- Đối số là một hay nhiều biểu thức số học

- Kiểu của hàm phụ thuộc vào kiểu của đối số

(abs(x) - sqrt(2*x+1)) / (sqr(x)-1)

4 Biểu thức quan hệ hoặc lôgic.

Trang 17

Pascal là phải viết là x := 5; đó là gán giá trị 5

cho biến x Ta gọi là câu lệnh gán Cú pháp câu

lệnh gán là:

HS: Nghe giảng và ghi bài.

GV: Cho ví dụ có liên quan về kiểu dữ liệu của

<tên biến> := <biểu thức>;

- Kiểu của tên biến phải cùng hoặc bao hàm kiểu của biểu thức

VD: Với x là số nguyên, y số thực.

a) x := y; Saib) x := x + y; Saic) y := x + y; Đúngd) y := x; Đúng

5 + ++

Lớp : 11B10→11B14 §8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Biết được ý nghĩa của các thủ tục và/ra chuẩn đối với lập trì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

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

Kĩ năng:

– Viết được một số lệnh vào/ra đơn giản

– Soạn được một chương trình đơn giản có sửa lỗi, dịch và thực hiện chương trình

Thái độ:

– Thích lập trình và tư duy, logic khi soạn thảo chương trình

II CHUẨN BỊ:

Giáo viên: Giáo án, sách, phòng máy.

Học sinh: Sách giáo khoa, vở ghi, xem bài trước ở nhà.

Trang 18

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: Nêu cú pháp câu lệnh gán? Áp dụng:

1

3 2

TL: <tên biến>:= <biểu thức>; a := (abs(x) – sqrt(2*sqr(x)+3*y*sqrt(x))/(sqr(x)-1);

3 Nội dung bài mới:

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

ĐƠN GIẢN

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

GV: Khi sử dụng các ứng dụng ta thường

nhập thông tin vào, như vậy bằng cách nào ta

nhập được thông tin từ bàn phím vào khi lập

trình?

HS: Nghe giảng xem sách và trả lời

GV: Nêu sự khác nhau khi dùng Read/Readln.

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

lệnh nhập?

HS: Suy nghĩ, trả lời:

- Phải nhập giá trị vào 3 biến a, b, c

- Lên bảng viết câu lệnh: Readln( a,b,c);

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

- Dùng thủ tục Read hoặc Readln:

Read (<biến 1>, …,<biến n>);

2 Đưa dữ liệu ra màn hình.

- Dùng thủ tục Write hoặc Writeln:

Write(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>);Hoặc:

Writeln(<Giá trị 1>, <Giá trị 2>,…,<Giá trị n>);

- Trong đó các giá trị có thể là tên biến đơn, biểu thức hoặc hằng

- Với thủ tục Write, sau khi xuất kết quả ra màn hình, con trỏ không chuyển xuống dòng tiếp theo

- Với thủ tục Writeln, sau khi xuất kết quả ra màn hình, con trỏ sẽ chuyển đầu dòng tiếp theo

VD:

Write( a); Write(a, b, c);

Writeln(‘Gia tri cua N la : ’,N);

Trang 19

GV: Nói về chú ý khi xuất kết quả ra của lệnh

Write hoặc Writeln theo quy cách

HS: Nghe giảng và ghi bài.

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

HIỆU CHỈNH CHƯƠNG TRÌNH.

1 Một số tập tin chính trong Turbo Pascal.

GV: Giới thiệu một số tập tin vần thiết để

Turbo Pascal có thể chạy được, hướng dẫn các

em cách khởi động Pascal trên máy tính

Turbo.exe (file chạy)

Turbo.tpl (file thư viện)

Turbo.tph (file hướng dẫn)

HS: Tìm hiểu và ghi bài.

2 Một số thao tác thường dùng trong

Pascal.

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

khi soạn thảo chương trình trong môi trường

soạn thảo Turbo Pascal

HS: Tìm hiểu và ghi bài.

GV: Cho hs tự nghiên cứu tìm hiểu và ghi bài.

HS: Tìm hiểu và ghi bài.

GV: Nhận xét và chỉnh sửa nếu có.

:< độ rộng>

- Độ rộng và chữ số thập phân là các số nguyên dương

VD: Writeln(N:5,X:8:3);

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

1 Một số tập tin chính trong Turbo Pascal.

Turbo.exe (file chạy)Turbo.tpl (file thư viện)Turbo.tph (file hướng dẫn)Graph.tpu: Chứa các lệnh đồ hoạ

2 Một số thao tác thường dùng trong Pascal.

- Xuống dòng: Enter

- Ghi file vào đĩa: F2

- Mở file đã có: F3

- Biên dịch chương trình: Alt + F9

- Soát lỗi chương trình: F9

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

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

- Chuyển qua lại giữa các cửa sổ: F6

- Xem lại màn hình kết qủa: Alt + F5

- Thoát khỏi Turbo Pascal: Alt + X

– Khai báo và chọn dữ liệu vùng nhớ phù hợp cho biến

– Viết được các biểu thức từ toán học sang Pascal và ngược lại

– Xác định bài toán, phân tích tìm thuật toán và giải bài toán đơn giản

– Vận dụng câu lệnh gán, các lệnh vào/ra …viết các chương trình đơn giản

Thái độ:

Trang 20

– Nghiêm túc, vượt khó và tạo sự đam mêm trong lập trình.

– Thấy được lợi ích, khả năng tư duy và phân tích giải quyết vấn đề

II CHUẨN BỊ:

Giáo viên: Giáo án, sách, phòng máy, các bài tập chương.

Học sinh: Sách giáo khoa, vở ghi, các bài tập sách giáo khoa.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

GV: Gọi 5 hs và chia bảng ra làm bài tập 6, 7 trang 55.

a2→ 2b) a*b*c/2 

2

abc

c) 1/a*1/c 

ac c

b

+

2

3 Nội dung bài mới:

Tóm tắt lý thuyết chương II: Nhấn mạnh kiểu dữ

liệu, cách khai báo biến và lưu ý khi viết câu lệnh

gán cùng kiểu dữ liệu của chúng; các thủ tục vào/ra

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

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

- Giá trị x trong vùng gạch chéo?

HS: Suy nghĩ, thảo luận và tìm câu trả lời.

HS: Suy nghĩ và tìm câu trả lời Phải

GV: Khi |x| <=y thì y>=0 không.

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

GV: Vậy biểu thức có thể rút gọn như thế nào?

HS: (y>= abs(x)) and (y <= 1).

Hình 2.b: Yêu cầu học sinh làm tương tự.

Bài 8 (SGK/36): Hãy viết các biểu thức

logic 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 các hình 2.a và 2.b

Hình 2.a: (y <= 1) and (y>= abs(x)) Hình 2.b: (abs(x)<= 1) and (abs(y)<= 1)

Bài 9 (SGK/36):

Hãy viết c/t nhập số a (a>0) rồi tính và đưa ra đưa ra diện tích phần gạch chéo trong hình 3 (kết quả làm tròn đến 4 chữ

Trang 21

GV: Gọi hs xác đinh phần gạch chéo.

HS: Thực hiện (nữa đường tròn).

GV: Hướng dẫn hs hình thành chương trình hoàn

chỉnh

HS: Tham gia xây dựng và làm bài tập tại chỗ.

GV: Gọi 2 hs lên bảng thực hiện Hs khác quan sát

và cho nhận xét

HS: Làm bài và cho nhận xét.

GV: Nhận xét, đánh giá và cho điểm nếu tốt.

Writeln( 'Dien tich phan gach cheo la: ', S:8:4);

Readln End.

IV CỦNG CỐ - DẶN DÒ:

1 Củng cố:

– GV: Cho 2 bài tập: 2 3

9

ln 3

x e

x Sinx x

x +

+

3

2 ln (2 1) 5

x Cosx

e x

+

– HS: 2 hs thực hiện đồng thời và hs khác tự củng cố.

2 Dặn dò:

– Làm bài tập 10 trang 36 còn lại và một số bài tập khác

– Chuẩn bị bài BTTH1.

V RÚT KINH NGHIỆM.

Ngày dạy: 04/11/2014 Lớp : 11B10→11B14 BÀI TẬP THỰC HÀNH 1 Tiết : 11

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Biết được một ch/trì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 ch/trình

Kĩ năng:

– Soạn được chương trình, lưu trữ, dịch, thực hiện, tìm lỗi và hiệu chỉnh ch/trình

– Bước đầu biết phân tích và viết một số chương trình đơn giản trên Turbo pascal

Thái độ:

– Tự giác, tích cực và nghiêm túc, chủ động trong thực hành

II CHUẨN BỊ:

Giáo viên: Giáo án, sách, phòng máy, các bài tập mẫu.

Học sinh: Sách giáo khoa, vở ghi, chuẩn bị bài tập trước.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ: Trong quá trình thực hành.

3 Nội dung bài mới:

GV: Cho hs nhắc lại các phím chức năng Enter, F2, F3,

F7, F9, Alt + F9, Ctrl + F9…

HS: Xem và nhớ lại trả lời.

Bài tập 1:

GV: Chiếu 2 ch/trình: 1 đã trình bày và không có lỗi; 1

Nhắc lại một số kiến thức và lưu ý khi thực hành

Bài tập 1: Gõ chương trình:

Program Giai_PTB2;

Trang 22

chưa được trình bày và còn nhiều lỗi.

HS: Quan sát và và tìm hiểu.

GV: Hỏi hs chương trình nào dể nhìn, dể hiểu…Hướng

hs thực hiện theo một cách lập trình tốt và ít mắc lỗi khi

viết

GV: Mở Turbo Pascal và soạn thảo nhanh một lần, nhấn

mạnh các điểm cần lưu ý

HS: Quán sát và rút ra kinh nghiệm khi soạn thảo.

GV: Y/c hs mở TP và soạn chương trình giải PTB2 vào.

HS: Gõ vào và nhấn F2 lưu bài lại Kiểm tra lỗi F9 khi

viết hết 1 câu lệnh và tiếp câu lệnh tiếp theo

GV: Y/c dịch lỗi cú pháp (Alt + F9)

HS: Trở về màn hình soạn thảo (Enter)

GV: Cho hs thực hiện lại các câu e, f, g, h trang 35.

HS: Thực hiện lần lượt.

GV: Quan sát, nhận xét và hiệu chỉnh cho hs.

GV: Cho điểm các em thực hiện tốt.

Lớp : 11B10→11B14 BÀI TẬP THỰC HÀNH 1 (T2)

Tiết : 12

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Biết được một ch/trì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 ch/trình

Kĩ năng:

– Soạn được chương trình, lưu trữ, dịch, thực hiện, tìm lỗi và hiệu chỉnh ch/trình

– Bước đầu biết phân tích và viết một số chương trình đơn giản trên Turbo pascal

Thái độ:

– Tự giác, tích cực và nghiêm túc, chủ động trong thực hành

II CHUẨN BỊ:

Trang 23

Giáo viên: Giáo án, sách, phòng máy, các bài tập mẫu.

Học sinh: Sách giáo khoa, vở ghi, chuẩn bị bài tập trước.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ: Trong quá trình thực hành.

3 Nội dung bài mới:

GV: Cho hs nhắc lại các phím chức năng Enter,

HS: Thực hiện và tiến hành lưu, kiểm tra lỗi và

biên dịch, chạy chương trình với các bộ Input tự

; ))(

)(

(p a p b p c

p

Với a, b, c là 3 cạnh của tam giác; là các số

nguyên dương được nhập từ bàn phím

GV: Cho hs phân tích tuần tuận bài toán tìm

Input và Output của bài toán

HS: Thực hiện tìm cách giải.

HS: Lập luận và đưa ta cách giải trên giấy.

GV: Cho hs thực hiện trên máy.

HS: Thực hành.

GV: Theo dõi chỉnh sửa lỗi của hs.

GV: Gọi 1 hs lên máy thực hành và chạy hoàn

chỉnh chương trình cho các bạn khác xem

HS: Thực hiện và các bạn khác quan sát theo dõi.

(Cho thêm các bài tập khác nếu có thời gian)

Nhắc lại một số kiến thức và lưu ý khi thực hành

Bài tập 2: (Bài 9 SGK/36) Program DT_GachCheo;

Trang 24

– Hình thức kiểm tra trắc nghiệm + tự luận (70% +30%)

– Kiến thức, kĩ năng theo ma trận đề kèm theo

Thái độ:

– Rèn luyện tính cẩn thận, nghiêm túc trong kiểm tra thi cử

II CHUẨN BỊ:

Giáo viên: Đề bài kiểm tra theo ma trận đề.

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

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ: (không)

3 Nội dung bài kiểm tra:

I TRẮC NGHIỆM: 7đ

TL

Câu 1: Chọn phát biểu đúng nhất, chương trình dịch có khả năng:

A Phát hiện được lỗi cú pháp và thông báo lỗi.

B Không phát hiện được lỗi cú pháp.

C Phát hiện lỗi ngữ nghĩa và thông báo lỗi.

D Phát hiện và thông báo cả 2 lỗi cú pháp và lỗi ngữ nghĩa.

Câu 2: Chọn phát biểu đúng nhất về thành phần của ngôn ngữ lập trình:

A Gồm có 3 thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa.

B Gồm có 3 thành phần: Kí hiệu đặc biệt, cú pháp và ngữ nghĩa.

C Gồm có 3 thành phần: Cú pháp và ngữ nghĩa và chữ số

D Gồm có 3 thành phần: Bảng chữ cái, cái kí tự Latinh và cú pháp để viết chương trình.

Câu 3: Chọn phát biểu đúng và quy tắc đặt tên trong Pascal:

A Là một dãy 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ữ số

hoặc dấu gạch dưới

B Là một dãy không quá 127 kí tự bao gồm chữ số, chữ cái, kí tự đặt biệt hoặc dấu gạch dưới và bắt đầu

bằng chữ cái hoặc dấu gạch dưới

C Là một dãy kí tự 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ạch dưới

D Là một dãy kí tự 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ữ số hoặc dấu gạch dưới

Câu 4: Chọn từ khóa trong Pascal:

A Var B Integer C Real D Delta.

Câu 5: Trong Pascal, chọn hằng xâu đúng?

A “Nghiem PT la: ” B ‘Nghiem PT la: ’ C (Nghiem PT la: ) D << Nghiem PT la: >> Câu 6: Trong Pascal, phần thân chương trình được đặt giữa:

C Begin{………}End D Begin(………)End.

Câu 7: Trong Pascal, phần chú thích được đặt trong dấu ngoặc:

A /* */ B [ ] C ( ) D { }

Trang 25

Câu 8: Có khai báo sau:

Var X,Y : Real;

Z : Integer;

M, N : Byte;

Tổng bộ nhớ cấp phát cho khai báo này là:

A 8 byte B 18 byte C 12 byte D 16 byte Câu 9: Có khai báo sau:

Var X, Y : Real;

Z : Integer;

Chọn cách gán và kiểu dữ liệu thích hợp:

A Z := Y+X; B Z = Y + X; C X := Y + Z; D X = Y+Z; Câu 10: Giả sử a, b, c là 3 biến, câu lệnh nào dùng để nhập dữ liệu cho a, b và c từ bàn phím.

A Write(‘a,b,c’); B Write(a,b,c); C Readln(‘a,b,c’); D Readln(a,b,c); Câu 11: Giả sử biến a là kiểu số thực (Real) có giá trị là 50.3456 Với lệnh Write(a:8:2); thì kết quả

A Bài Tập 1; B BaiTap1; C “BaiTap_1”; D Bai Tap_1; Câu 15: Trong ngôn ngữ lập trình Pascal, chương trình dịch dùng để:

A Dịch chương trình đích thành chương trình nguồn.

B Dịch chương trình nguồn thành chương trình đích.

C Dịch tất cả chương trình viết bằng ngôn ngữ khác thành ngôn ngữ bậc cao.

D Dịch chương trình viết bằng ngôn ngữ máy sang ngôn ngữ bậc cao.

Câu 16: Biểu thức abs(x)+Sqrt(Sin(x)+5) được chuyển sang toán học như sau:

A | x | + (Sinx +5)2 B | x | + sin +5 C x + x Sinx+5 D | x | + Sinx+5

Câu 17: Chọn phát biểu đúng nhất, mục đích của lập trình là:

A Để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.

B Để diễn đạt thuật toán để thực hiện trên máy tính.

C Để soạn thảo chương trình ứng dụng.

D Để soạn thảo, mô tả dữ liệu trong bài toán.

Câu 18: Biểu thức: (10 div 2 + 5 mod 2 + 3/2)*2 được thực hiện trong Pascal có giá trị bao nhiêu?

Câu 19: Trong Pascal, cách khai báo hằng nào đúng:

A Const NMax := 100; B Const Integer NMax = 100;

C Const Integer NMax := 100; D Const NMax = 100;

Câu 20: Một biến có giá trị nguyên trong phạm vi từ -1 đến 30000 thì biến đó có thể khai báo với kiểu dữ liệu nào đúng và ít tốn bộ nhớ nhất?

A Word B Byte C Integer D Real

II TỰ LUẬN: 3đ

Câu 1: Hãy chuyển đổi các biểu thức sau:

A Chuyển đổi biểu thức sau sang Pascal:

Trang 26

Câu 3: Viết chương trình tính chu vi hình chữ nhật với 2 cạnh a và b là 2 số nguyên nhập từ bàn

phím, có miền giá trị nằm trong khoảng (1 200) ?

IV CỦNG CỐ - DẶN DÒ:

– Đọc trước bài “Cấu trúc rẽ nhánh”

V RÚT KINH NGHIỆM.

ĐÁP ÁN KIỂM TRA 1 TIẾT KHỐI 11

Câu 2: Chương trình bên dưới còn một số lỗi, hãy tìm và sửa lỗi lại cho đúng? (1đ)

Program DT_HinhTron;

Uses Crt;

Const Pi := 3.14; {Không có dấu :  Const Pi = 3.14; } (0,25đ)

Var S : Real; {Thiếu khia báo biến R  Var S, R : Real; } (0,25đ)

Trang 27

End.

Câu 3: Viết chương trình tính chu vi hình chữ nhật với 2 cạnh a và b là 2 số nguyên nhập từ bàn

phím, có miền giá trị nằm trong khoảng (1 200) ?(1đ)

(Tùy theo cách viết mà cho điểm)

Trang 28

Ngày dạy: 12/11/2014 Chương III:CẤU TRÚC RẼ NHÁNH VÀ LẶP

Lớp : 11B10→11B14 §9: CẤU TRÚC RẼ NHÁNH

Tiết : 12

I MỤC ĐÍCH, YÊU CẦU:

Kiến thức:

– Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán

– Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ)

– Hiểu câu lệnh ghép

Kĩ năng:

– Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản

– Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng để thực hiện được thuật toán của một số bài toán đơn giản

Thái độ: Có khả năng tư duy logic.

II CHUẨN BỊ:

- Giáo viên: Sách giáo khoa, máy tính cá nhân (nếu có), bảng phụ.

- Học sinh: sách giáo khoa, vở ghi, đọc bài trước.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ: (Nhận xét bài kiểm tra)

3 Nội dung bài mới:

1 Rẽ nhánh:

- Cho 2 số nguyên a, b; tìm Max(a,b)

Yêu cầu: viết phần tên, phần khai báo, và câu

+ Nếu a>b thì max = a

+ Nếu a<b thì max = b

GV: Vậy hãy cho biết câu: Nếu …thì … là loại

câu gì?

HS: Câu điều kiện

GV: Còn dạng nào khác không?

HS: Có, Nếu …thì … nếu không thì …

GV: Hãy cho ví dụ về các loại câu điều kiện

+ Dạng thiếu: Nếu…thì…

+ Dạng đủ: Nếu … thì …, nếu không thì…

* Gọi là cấu trúc rẽ nhánh thiếu và đủ

* Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh

Trang 29

- Nếu là người lớn thì 20000đ nếu trẻ em thì

10000đ

GV: Từ đó phân tích cho học sinh thấy cấu trúc

rẽ nhánh thể hiện trong ví dụ này

2 Câu lệnh IF – THEN:

GV: Y/cầu hs n/cứu sgk và dựa vào các ví dụ cấu

trúc rẽ nhánh để đưa ra cấu trúc chung của câu

lệnh rẽ nhánh

If<điều_kiện>Then<lệnh1> Else<lệnh2>;

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

If<điều_kiện>Then<lệnh1> Else<lệnh2>;

GV: Khi không đề cập đến việc gì xãy ra nếu

điều kiện không thõa mãn cấu trúc câu lậnh rẽ

nhánh như thế nào?

HS: Nghe giảng và trả lời

GV: Gọi học sinh viết câu lệnh so sánh để tìm

HS: Suy nghĩ và trả lời, và nếu được thì biểu

diễn như sau:

max:=a; if a < b then max:=b;

Lưu ý: Trước từ khoá Else không có dấu ;

GV: Dạng nào thuận tiện hơn?

HS: Tùy trường hợp

3 Câu lệnh ghép:

GV: Nêu vđ: Sau then, sau else phải có một câu

lệnh Nhưng thực tế trong các trường hợp phức

tạp đòi hỏi phải là nhiều câu lệnh

NNLT cho phép gộp dãy các lệnh thành một câu

Điều kiện là biểu thức logic

Câu lệnh, Câu lệnh 1, Câu lệnh 2 là 1 câu lệnh của Pascal

(Gợi ý: Khi nhập độ dài âm thì cho ra dtích, chu vi âm Điều này không có trong thực tế

- Dùng câu lệnh rẽ nhánh để kiểm tra giá trị

độ dài các cạnh Nếu độ dài dương thì tính dtích và chu vi, ngược lại thì thông báo độ

x2=-b/a-x1;

write(‘x1= ’,x1:6:2,’ x2= ’, x2:6:2) end;

readln;

End

ĐKiện ĐúngCâu lệnh1Sai

Câu lệnh 2

Trang 30

– Viết chtrình nhập vào 3 số a, b, c và in ra màn hình giá trị lớn nhất trong 3 số đó.

– Viết chtrình giải pt: ax+ b = 0.(Gợi ý: Xét điều kiện nếu a= 0 mà b=0 thì sao? b khác 0 thì sao? a khác 0 thì sao )

– Xem trước bài: Cấu trúc lặp sgk trang 42

V RÚT KINH NGHIỆM.

Ngày dạy: 19/11/2014

– Phân tích vấn đề (bài toán) và cách tìm cấu trúc rẽ nhánh

– Áp dụng viết chương trình được trên một số bài toán cơ bản

Thái độ: Có khả năng tư duy logic, phân tích và giải quyết vấn đề.

II CHUẨN BỊ:

- Giáo viên: Sách giáo khoa, một số bài tập, máy tính cá nhân, phòng máy(nếu có).

- Học sinh: Sách giáo khoa, vở ghi, làm trước các bài tập sgk.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: Trình bày câu lệnh IF – THEN ở dạng thiếu và đủ? Câu lệnh ghép?

TL: Dạng thiếu: IF <điều kiện> THEN <câu lệnh>;

Dạng đủ: IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>;

3 Nội dung bài mới:

Trang 31

Đặt vấn đề: Chúng ta đi giải một số bài tập về cấu trúc

rẽ nhánh để nắm thêm kiến thức

BT1: GV: Gọi hs cho biết Input và Output của bài toán.

HS: Lên thực hiện.

GV: Từ Input và Output đó các em hãy đưa ra cách giải

bài toán trên

HS: Suy nghĩ và tìm hiểu.

GV: Hướng dẫn hs giải bài toán.

Hướng dẫn:

- Dùng biến trung gian Max gán là giá trị lớn nhất và lần

lượt so sánh các giá trị còn lại với Max

- Khai báo 3 biến số thực a, b, c và Max

- Nhập 3 biến thực a, b, c tư bàn phím

- Gán Max nhập giá trị là a

- Lần lượt so sánh 2 giá trị a, b với Max

- Nếu giá trị nào lớn hơn Mã thì Max nhận giá trị mới

đó

- Xuất giá trị Max ra màn hình

HS: Tham gia thực hiện.

HS: Tự chuyển đổi và câu lệnh bằng Pascal 2 câu lệnh If

- Then:

Max:= a;

If (b >Max) Then Max :=b;

If (c >Max) Then Max :=c;

HS: Viết chương trình hoàn chỉnh.

GV: Nhận xét và sửa lại thành chương trình đầy đủ và

hoàn chỉnh

BT2: GV: Gọi hs cho biết Input và Output của bài toán.

HS: Lên thực hiện.

GV: Từ Input và Output đó các em hãy đưa ra cách giải

bài toán trên

- Nếu số đầu cộng với số cuối bằng 2 lần số giữa thì 2

số đó tạo thành cấp số cộng và tăng giá trị mỗi biến lên

gấp đôi, ngược lại thì giảm mỗi biến 1 đơn vị

- Xuất giá trị 3 biến mới M, N, K ra màn hình

HS: Tham gia thực hiện.

GV: Cho hs thời gian viết chương trình, lưu ý có sử

If (b >Max) Then Max :=b;

If (c >Max) Then Max :=c;

Writeln('So lon nhat la:', Max:6:2)

Trang 32

HS: Quan sát và sửa bài vào tập End.

– Viết chương nhập từ bàn phím số nguyên N Cho biết số đó là chẳn hay lẽ

– Chuẩn bị các bài tập đã làm, tiết sau thực hành

V RÚT KINH NGHIỆM.

Trang 33

– Viết được chương trình đơn giản về cấu trúc rẽ nhánh trên máy tính.

Thái độ: Nghiêm túc, tự giác, tích cực, chủ động trong thực hành.

II CHUẨN BỊ:

- Giáo viên: Sách giáo khoa, một số bài tập, máy tính cá nhân, phòng máy.

- Học sinh: Sách giáo khoa, vở ghi.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ: Kết hợp khi thực hành.

3 Nội dung bài mới:

GV: Hướng dẫn hs thực hành các bài tập của tiết trước.

BT1: Viết chương trình tìm số lớn nhất trong 3 số thực

a, b, c nhập từ bàn phím

Hướng dẫn:

- Dùng biến trung gian Max gán là giá trị lớn nhất và lần

lượt so sánh các giá trị còn lại với Max

- Khai báo 3 biến số thực a, b, c và Max

- Nhập 3 biến thực a, b, c tư bàn phím

- Gán Max nhập giá trị là a

- Lần lượt so sánh 2 giá trị a, b với Max

- Nếu giá trị nào lớn hơn Mã thì Max nhận giá trị mới

đó

- Xuất giá trị Max ra màn hình

BT2: Cho 3 số nguyên M, N, K nhập từ bàn phím Nếu

3 số này tạo thành một cấp số cộng thì giá trị của nó

tăng gấp đôi mỗi số, ngược lại thì giảm mỗi số đi 1 đơn

vị Viết chương trình thực hiện yêu cầu trên

- Nếu số đầu cộng với số cuối bằng 2 lần số giữa thì 2

số đó tạo thành cấp số cộng và tăng giá trị mỗi biến lên

gấp đôi, ngược lại thì giảm mỗi biến 1 đơn vị

- Xuất giá trị 3 biến mới M, N, K ra màn hình

GV: Cho hs thực hành và quan sát sửa lỗi.

HS: Thực hành.

GV: Quan sát và chấm điểm các em làm bài tốt.

GV: Đưa ra chương trình hoàn chỉnh và nhắc nhở sửa

lỗi chung

HS: Tập trung và hiệu chỉnh.

Hướng dẫn hs viết chương trình trên máy tính các bài tập đã giải ở tiết trước

Giáo viên quan sát và sửa lỗi cho hs.Hướng dẫn thực hành giải bài toán:

Bộ số Pi-ta-go…

Tổng bình phương 2 số bằng bình phương số còn lại

Trang 34

IV CỦNG CỐ - DẶN DÒ:

1 Củng cố:

– GV: Cho hs củng cố:

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

+ Phân tích và xác định bài toán( dữ liệu vào/ra và thuật toán).

+ Kỹ năng soạn chương trình vào máy.

+ Lưu trữ chương trình.

+ Biên dịch.

+ Thực hiện và hiệu chỉnh.

+ Kiểm thử bằng nhiều bộ test với các trường hợp khác nhau

– GV: Nhấn mạnh các sai sót khi làm bài.

Lớp : 11B10→11B14 §10: CẤU TRÚC LẶP (T1)

Tiết : 15

I MỤC ĐÍCH, YÊU CẦU:

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

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

Thái độ: Tạo sự thích thú khi học cấu trúc lặp.

II CHUẨN BỊ:

- Giáo viên: Sách giáo khoa, giáo án, sách giáo viên, máy tính cá nhân.

- Học sinh: Sách giáo khoa, vở ghi, làm trước các bài tập sgk.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Câu 1: 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? HS: Thực hiện

3 Nội dung bài mới:

1 Khái niệm lặp:

Đặt vấn đề: Trong thực tế có những việc chúng ta

phải thực hiện lặp đi lặp lại nhiều lần Ví dụ như việc

múc nước đổ từng ca 1 vào thùng nước: Đổ 100 lần và

đổ vào cho đến đầy thì thôi

GV: Đổ 100 lần thì biết trước việc đổ bao nhiêu ca

Trang 35

nước đổ vào không?

HS: Không Đổ hoài không biết là bao nhiêu nhưng

đầy thì nghỉ

HS: Suy nghĩ và tìm hiểu.

GV: Đưa ra bài toán tính tổng S với số lần biết trước

và số lần không biết trước

GV: Vậy ta nên dùng một biến i chạy từ 1 đến 100

Mỗi lần tính tổng xong thì i sẽ tự động tăng lên 1 Và

việc đó được cộng bao nhiêu lần?

HS: Việc đó được cộng đến 100 lần thì đưa ra S.

GV: Vậy trong lặp trình việc giải quyết các bài toán

có tính chất như vậy gọi là cấu trúc lặp với số lần biết

trước

HS: Nghe giảng và ghi bài.

GV: Với bài toán thứ hai thì cũng cộng như vậy như

cho đến khi tổng S >=1000 thì ngừng Việc đó được

lặp không biết trước số lần lặp là bao nhiêu ? Gọi là

cấu trúc lặp với số lần chưa biết trước

GV : Ta đi tìm hiểu câu lệnh để biểu diễn quá trình

lặp với số lần biết trước trên trong Pascal là gì ? Các

em tìm hiểu phần 2

2 Lặp có số lần biết trước và câu lệnh for – do

GV: NNLT nào cũng cung cấp một số câu lệnh để mô

tả các cấu trúc lặp như trên

Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong ngôn

B2: i := i -1;

B3: Nếu N < 1 thì Đưa ra S rồi kết thúc;

B4: S := S + i; rồi quay lại B2;

GV: Gọi một số học sinh nhận xét về 2 thuật toán trên

về một số vấn đề :

 Thuật toán có lặp không?

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

 Hai thuật toán giống và khác nhau như thế nào?

Cái gì thay đổi trong thuật toán này?

Cách giải :

- Tính tổng S, mỗi lần tính tổng ta cộng thêm vào S là i đơn vị ( Với i tằng từ 1,2,3… đến 100)

- Với bài toán 1, việc cộng thêm dừng khi tính được tổng S, khi i chạy đến 100

Lặp thường có 2 loại :

 Lặp với số lần biết trước

 Lặp với số lần chưa biết trước

2 Lặp có số lần biết trước và câu lệnh For – Do:

- Lặp dạng tiến:

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

<giá trị cuối> do <câu lệnh>;

For i:=1 To 10 Do Write(i);

For i:=’a’ Do Write(i);

 Giá trị đầu, giá trị cuối là các biểu

thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hay bằng giá

Ví dụ 1: Chương trình cài đặt thuật

toán cho 2 vài tính tổng trên

Ví dụ 2: Hai chương trình cài đặt thuật

toán tong_1a và tong_1b (SGK)

Trang 36

HS: Tong_1a thì đếm từ 1 đến 100 còn Tong_1b thì

đếm từ 101 về 1

Đều lặp đúng 100 lần

GV: Đó là một lặp ở dạng tiến và một lặp ở dạng lùi.

GV: Đưa ra câu lệnh For - Do.

HS: Nghe giảng và ghi bài.

– Sửa dụng For – Do viết chương trình hoàn chỉnh hai ví dụ đã nêu ở đầu bài

– Xem phần ví dụ cấu trúc lặp với số lần biết trước

V RÚT KINH NGHIỆM.

Trang 37

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

Thái độ: Tạo sự thích thú khi học cấu trúc lặp

II CHUẨN BỊ:

- Giáo viên: Sách giáo khoa, bài tập mẫu, phòng máy.

- Học sinh: Sách giáo khoa, vở ghi.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

Viết chương trình tìm tổng S = 1+2+ +10.

3 Nội dung bài mới:

1 Một số ví dụ:

Giải và hướng dẫn các ví dụ sgk

Dẫn dắt: 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

HS: Ghi đề bài toán.

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

GV: Xác định đâu là giá trị đầu? Đâu là giá trị cuối.

HS: Giá trị đầu là a, cuối là b.

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

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

GV: Ta cần đưa ra màn hình mấy giá trị?

HS:

Tl: tính tổng các số chẵn và tổng các số lẻ riêng

Tl: 2 giá trị (S1: tổng chẵn; S2: tổng lẻ)

GV: Việc chính cần thực hiện trong câu lệnh lặp là gì?

HS: Kiểm tra biến đếm i: nếu i là chẵn thì S1:=S1+i ngược

Bài 2: Đọc bài toán và phân tích

GV: Cách tính tiền gửi tiết kiệm hàng tháng như thế nào?

HS: Với số tiền S, sau mỗi tháng sẽ có lãi là: 0.015*S.

Số tiền này sẽ cộng vào số tiền ban đầu để tính lãi cho

1 Một số ví dụ Hướng dẫn giải và tìm hiểu bài

toán 1 và 2 SGK

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

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.

Bài 2: Ông A có số tiền là S, ông

gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta được số tiền là bao nhiêu?

Var s:real; i:byte;

Begin

Write(‘So tien ban dau: ’);

Trang 38

GV: Xác định giá trị đầu và giá trị cuối của câu lệnh For

để thực hiện việc lặp trên?

la: ’,S:8:3); Readln

Giáo viên: Đề cương ôn tập, sgk, các bài tập mẫu.

Học sinh: Sách giáo khoa, vở ghi.

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

1 Ổn định tổ chức, kiểm tra sĩ số:

2 Kiểm tra bài cũ:

3 Nội dung bài mới:

GV: Hướng dẫn ôn tập lý thuyết và các nắm

trọng tâm khi học bài

HS: Nghe giảng và tự soạn bài để học theo

sơ đồ tư duy

GV: Gọi hs lên bảng làm bài tập

Ôn tập từ bài 1 bài 10.

Nhắc lại các kiến thức trọng tâm.

II BÀI TẬP VIẾT CHƯƠNG TRÌNH:

1 Tìm số lớn nhất trong 3 số nguyên a, b, c nhập từ bàn phím?

2 Xét số nguyên dương nhập từ bàn phím là chẳn hay lẽ?

3 Cho 3 số nguyên a, b, c nhập từ bàn phím

Trang 39

– Làm các bài tập trong đề cương, học bài chuẩn bị kiểm tra HKI.

– Nhắc nhở HS tinh thần, thái độ trong khi ôn tập và làm bài kiểm tra

V RÚT KINH NGHIỆM.

Ngày dạy: 24/12/2014

Lớp : 11B10→11B14 KIỂM TRA HỌC KỲ I

Tiết : 18

I MỤC ĐÍCH:

– Khảo sát kiến thức đã học của hs

– Đánh giá khả năng vận dụng kiến thức đã học và có hướng điều chỉnh

– Rèn luyện tính nghiêm túc trung thực trong kiểm tra, thi cử

II HÌNH THỨC KIỂM TRA:

– Kết hợp tự luận và trắc nghiệm khách quan

– Yêu cầu chuẩn kiến thức kĩ năng (theo ma trận đề)

III NỘI DUNG BÀI KIỂM TRA:

C x: real; y: integer D x,y: real;

Câu 2: Giả sử biến a được khai báo là Real và có giá trị là 1.025 Với lệnh Write(a:4:2); thì kết quả ra màn hình là:

Câu 3: Trong NNLT Pascal cú pháp nào sau đây là dạng lặp tiến:

A FOR<biến đếm>:=<Giá trị đầu>TO<gía trị cuối>DO<câu lệnh>;

B FOR<biến đếm>:=<Giá trị đầu>DO<gía trị cuối>TO<câu lệnh>;

C FOR<biến đếm>:=<Giá trị cuối>TO<gía trị đầu>DO<câu lệnh>;

D FOR<biến đếm>:=<Giá trị cuối>DO<gía trị đầu>TO<câu lệnh>;

Câu 4: Trong NNLT Pascal để mô tả cấu trúc rẽ nhánh dạng đủ ta dùng câu lệnh nào sau

đây:

A IF<điều kiện> THEN<câu lệnh1>ELSE<câu lệnh 2>;

B IF<câu lệnh1> THEN<câu lệnh 2>ELSE<điều kiện>;

Trang 40

C IF<điều kiện> THE <câu lệnh1>ELSE<câu lệnh 2>;

D IF<điều kiện> THE <câu lệnh2>ELSE<câu lệnh 1>;

Câu 5: Hãy chọn tên đúng theo qui tắc pascal:

Câu 6: Một biến có giá trị nguyên trong phạm vi từ -10 đến 25532 thì biến đó có thể khai báo với kiểu dữ liệu nào đúng và ít tốn bộ nhớ nhất?

Câu 7: Đoạn chương trình sau đây thực hiện công việc gì ?

T:= 1; for i:=1 to n do

If (i mod 2=0) and (i mod 3<>0) then T:=T*i;

A Tính tích các số chia hết cho 2 và cho 3 trong phạm vi từ 1 đến n

B Tính các số tự nhiên mà i chia hết cho 2 và cho 3

C Tính tích các số chia hết cho 2 và không chia hết cho 3 trong phạm vi từ 1 đến n.

D Câu lệnh sai không cho kết quả.

Câu 8: Đáp án nào sau đây nói lên hoạt động của câu lệnh if_then dạng thiếu.

A Nếu điều kiện đúng thì câu lệnh sau then không thực hiện.

B Nếu điều kiện sai thì câu lệnh sau then không thực hiện.

C Nếu điều kiện đúng thì sau then thực hiện câu lệnh 1 ngược lại thực hiện câu lệnh 2.

D Nếu điều kiện sai thì sau then thực hiện câu lệnh 2.

Câu 9: Trong NNLT pascal thì tên nào trong các tên sau đây là tên dành riêng:

Câu 10: Biểu thức: (m mod 100 < 10) and (m div 100>0) Với giá trị nào của m dưới đây thì biểu thức cho kết quả là TRUE:

Câu 11: Câu lệnh nào sau đây dùng để nhập dữ liệu từ bàn phím

A Write(<danh sách biến vào>);

B Readln(<danh sách biến vào>);

C Write(<danh sách kết quả ra>);

D Readln(<danh sách kết quả ra>);

Câu 12: Trong NNLT pascal chương trình dịch có khả năng nào trong các khả năng sau ?

A Phát hiện lỗi về mặt cú pháp và có thể phát hiện về mặt ngữ nghĩa.

B Phát hiện lỗi về mặt cú pháp.

C Tạo được chương trình đích.

D Phát hiện lỗi về mặt ngữ nghĩa.

Câu 13: Trong Pascal, hãy chọn hằng số đúng nhất:

Câu 14: Trong NNLT pascal thì khai báo hằng nào sau đây là đúng:

Câu 15: Trong NNLT pascal qui ước cấu trúc chung của một chương trình thì:

Câu 16: Cho biết giá trị của M sau khi thực hiện đoạn chương trình sau với a=11 và b=8?

Ngày đăng: 25/11/2014, 21:00

HÌNH ẢNH LIÊN QUAN

Hình tròn hoàn chỉnh. - GIÁO ÁN TIN HỌC LỚP 11
Hình tr òn hoàn chỉnh (Trang 11)
Sơ đồ tư duy. - GIÁO ÁN TIN HỌC LỚP 11
Sơ đồ t ư duy (Trang 38)
Bảng GV: Nhận xét và có thể cho điểm - GIÁO ÁN TIN HỌC LỚP 11
ng GV: Nhận xét và có thể cho điểm (Trang 66)

TỪ KHÓA LIÊN QUAN

w