1. Trang chủ
  2. » Văn Hóa - Nghệ Thuật

giao an tin hoc 11 day du

95 59 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Một Số Khái Niệm Về Lập Trình Và Ngôn Ngữ Lập Trình
Năm xuất bản 2013
Định dạng
Số trang 95
Dung lượng 650,94 KB

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

Nội dung

Mục đích, yêu cầu: - Củng cố cho học sinh những kiến thức và kĩ năng đã có khi lập trình với kiểu dữ liệu mảng; - Củng cố cho học sinh một thuật toán sắp xếp các phần tử của một dãy số b[r]

Trang 1

 Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.

 Hiểu ý nghĩa và nhiệm vụ của chương trình dịch Phân biệt được biên dịch và thông dịch

+ Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình.

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

+ Giáo viên: Bài giảng.

+ Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10.

III Phương pháp: Diễn giải, đàm thoại, giải quyết tình huống có vấn đề

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

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

Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng

 Quan sát bài toán và trả lời câu hỏi

 Nghiên cứu nội dung trong SGK và

trả lời câu hỏi

 Lập trình là việc sử dụng cấu trúc dữ

liệu và các lệnh của ngôn ngữ lập

trình cụ thể để mô tả dữ liệu và diễn

đạt các thao tác của thuật toán

 Được một chương trình

 Ngôn ngữ máy, hợp ngữ và ngôn

ngữ bâc cao

 Nghiên cứu SGK và trả lời câu hỏi

 Chương trình viết bằng ngôn ngữ

máy có thể nạp trực tiếp vào bộ nhớ

và thực hiện ngay

 Chương trình viết bằng ngôn ngữ lập

trình bậc cao phải được chuyển đổi

thành chương trình trên ngôn ngữ lập

máy thì mới thực hiện được

 Phải sử dụng một chương trình dịch

để chuyển đổi

 Ngôn ngữ bậc cao dễ viết, dễ hiểu 

Ngôn ngữ máy khó viết

Cho bài toán sau: Kết luậnnghiệm của phương trình ax +b=0

Hãy xác định Input, Output củabài toán trên

Hãy xác định các bước để giải bàitoán trên

 Hệ thống các bước này chúng tagọi là thuật toán

Làm thế nào để máy tính điện tử

có thể hiểu được thuật toán này?

 Hoạt động để diễn đạt một thuậttoán thông qua một ngôn ngữ lập

Theo các em chương trình đượcviết bằng ngôn ngữ bậc cao vàchương trình được viết bằng ngônngữ máy khác nhau như thế nào?

Làm thế nào để chuyển mộtchương trình viết bằng ngôn ngữbậc cao sang ngôn ngữ máy?

Vì sao không lập trình trên ngônngữ máy để khỏi mất công chuyểnđổi khi lập trình với ngôn ngữ bậccao?

Trang 2

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

Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng

 Nghiên cứu SGK và trả lời câu hỏi:

+ Chương trình nguồn là chương trình

viết bằng ngôn ngữ lập trình bậc cao

+ Chương trình đích là chương trình

trực tiếp thực hiện trên máy

 Nghiên cứu SGK và trả lời câu hỏi:

+Thông dịch:

B1: Kiểm tra tính đúng đắn của câu

lệnh tiếp theo trong chương trình

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

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

Theo các em đối với chươngtrình dịch: chương trình nào làchương trình nguồn và chươngtrình đích?

 Nêu vấn đề: Em muốn giới

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

C1: Cần một người biết tiếng Anhdịch từng câu nói của em sangtiếng Anh cho người khách Cáchmày gọi là thông dịch

C2: Em soạn nội dung giới thiệu

ra giấy và người phiên dịch dịchtoàn bộ nội dung đó sang tiếngAnh rồi đọc cho khách nghe

Cách này gọi là biên dịch

Tương tự chương trình dịch cóhai loại là thông dịch và biêndịch

Các em hãy cho biết tiến trìnhcủa thông dịch và biên dịch?

* Chương trình dịch gồm thôngdịch và biên dịch

a) Thông dịch: Là cách thức

dịch từng câu lệnh, dịch đếnđâu thực hiện đến đó

B1: Kiểm tra tính đúng đắn củacâu lệnh tiếp theo trong chươngtrình nguồn;

B2: Chuyển lệnh đó thành ngônngữ máy

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

b) Biên dịch:

B1: Duyệt, phát hiện lỗi, kiểmtra tính đúng đắn của các câulệnh trong chương trình nguồn.B2: Dịch toàn bộ chương trìnhnguồ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ạikhi cần thiết

Hoạt động 3: Củng cố kiến thức

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

- Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ

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

- Thông dịch và biên dịch

Trang 3

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

2 Kỹ năng: - Phân biệt được ba thành phần: bảng chữ cái, cú pháp và ngữ nghĩa

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

3 Tư duy và thái độ: -Tư duy logic

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

sổ ngược(\), dấu chấm than(!)

 Giới thiệu cú pháp

+ Cú pháp ngôn ngữ lập trình khác nhau cũngkhác nhau ngôn ngữ pascal dùng cặp từ Begin

- End để gộp nhiều lệnh thành một lệnh nhưngtrong C++ dùng cặp kí hiệu {}

 Giới thiệu ngữ nghĩa

Ví dụ: Xét 2 biểu thức A+B (1) A, B là các số

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

- Mỗi ngôn ngữ lập trìnhthường có ba thành phần cơbản là:

+ Bảng chữ cái + Cú pháp + Ngữ nghĩa

a Bảng chữ cái:

Là tập các kí hiệu dùng để viếtchương trình, bao gồm:

- Bộ 26 chữ cái thường và inhoa trong bảng chữ cái tiếngAnh:

khai báo biến trong Pascal

Ngày soạn: 01/09/2013 – Tuần 2(tiết 2)

Trang 4

không có gì sai về lỗi cú pháp trong ngôn ngữlập trình Nhưng về mặt ngữ nghĩa thì có sựkhác biệt ở hai cách viết đó.

c Ngữ nghĩa

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

*Tóm lại:

- Cú pháp cho biết cách viếtmột chương trình hợp lệ, cònngữ nghĩa xác định ý nghĩacủa các tổ hợp kí tự trongchương trình

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

- Lỗi ngữ nghĩa được pháthiện khi chạy chương trìnhvới bộ dữ liệu thử

Hoạt động2: Giới thiệu Tên (tiết 2)

Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng

 Lắng nghe và ghi nhận

 Lắng nghe và ghi nhận

 Trong các ngôn ngữ lậptrình nói chung, các đối tượng

sử dụng trong chương trìnhđều phải đặt tên để tiện choviệc sử dụng Việc đặt têntrong các ngôn ngữ khác nhau

là khác nhau, có ngôn ngữphân biệt chữ hoa, chữthường, có ngôn ngữ khôngphân biệt chữ hoa, chữthường

-  Ngôn ngữ lập trình pascalkhông phân biệt chữ hoa chữthường nhưng một số ngônngữ lập trình khác (như C++)lại phân biệt chữ hoa, chữthường

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

- Trong ngôn ngữ Turbo Pascal tên là một dãyliên tiếp không quá 127 kí tự, tuy nhiên cần phảiđặt tên sao cho tên gọn và có ý nghĩa

- Quy tắc đặt tên:

+ Bắt đầu bằng chữ cái hoặc dấu “_” , sau đó làchữ cái hoặc chữ số

+ Không có khoảng trắng ở giữa tên

+ Không được trùng với từ khóa

- Ví dụ: Trong ngôn ngữ pascal

+ Các tên đúng: A, Bre1, _ten,

+ Các tên sai: a bc, 6hgf, x# y,

- Ngôn ngữ lập trình có 3 loại tên: tên dànhriêng, tên chuẩn, tên do người lập trình đặt

* Tên dành riêng: Là những tên được ngôn ngữ

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

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

- Ví dụ: một số tên dành riêng:

- Trong Pascal: program,uses,var,const,

- Trong C++: main, include, if,

- * Tên chuẩn: là những tên được ngôn ngữ lập

trình dùng với ý nghĩa nhất định nào đó Trongcác thư viện của ngôn ngữ lập trình

- Ví dụ : Một số tên chuẩn

- Trong Pascal: real, integer, char,

- Trong C++: cin, cout,

Trang 5

* Tên do người lập trình đặt: Được xác định

bằng cách trước khi sử dụng, không được trùngvới tên dành riêng

* Chú ý: Pascal không phân biệt chữ hoa và chữ thường trong từ khóa, tên chuẩn và tên do người lập trình đặt.

VD: BEGIN hay Begin hay begin là như nhau.

- a,b,c là ba tên dùng để lưu ba

hệ số của phương trình

- - x1, x2 là hai tên dùng đểlưu nghiệm (nếu có)

- - Delta là tên dùng để lưu giátrị của delta

 Biến là đối tượng sử dụngnhiều nhất trong khi viếtchương trình Biến là đạilượng có thể thay đổi đượcnên thường dùng để lưu trữkết quả

- b Hằng và biến

- * Hằng: Là đại lượng có giá trị không đổi trong

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

- + Hằng logic: Là các giá trị đúng (TRUE)

hoặc sai (FALSE)

- + Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII

- - Biến phải khai báo trước khi sử dụng.

- c Chú thích:

- - Trong khi viết chương trình có thể viết các chúthích cho chương trình 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(* *)

- Trong C++ chú thích đặt trong: /* */

V Hoạt động 4: Củng cố toàn bài:

Giáo viên mở một chương trình pascal đơn giản có chứa các thành phần là các khái niệm của bài học, nếukhông có máy thì sử dụng bảng phụ để chỉ cho HS từng khái niệm trong chương trình

VI Trắc nghiệm:

Câu 1: Chương trình dịch là:

a) Dịch từ ngôn ngữ tự nhiên sang ngôn ngữ máy b) Dịch từ ngôn ngữ máy sang ngôn ngữ tự nhiên c) Dịch từ ngôn ngũ bậc cao sang ngôn ngữ tự nhiên d) Dịch từ ngôn ngữ tự nhiên sang ngôn ngũ bậc cao

Câu 2: Chương tình viết bằng NN BC có ưu điểm:

a) Tốc độ nhanh hơn so với chương trình viết bằng ngôn ngữ máy

b) Viết nhiều và mất nhiều thời gian hơn so với chương trình viết bằng NNM

c) Khai thác tối đa khả năng của máy

d) Ngắn gọn, dễ hiệu chỉnh và nâng cấp không phụ thuộc vào loại máy

Câu 3: Chương trình viết bằng hợp ngữ có ưu điểm:

a) Máy tính có thể hiểu trực tiếp chương trình này

b) Kiểu dữ 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) Diễn đạt gần với ngôn ngữ tự nhiên

d) Tốc độ thực hiện nhanh hơn so với chương trình viết bằng ngôn ngữ bậc cao

Câu 4: NNLT thường có mấy thành phần cơ bản?

VI DẶN DÒ: Học bài + đọc bài 2 “Các thành phần cơ bản của NNLT”.

Trang 6

BÀI TẬP CHƯƠNG 1 (SGK Trang 13)

I Mục tiêu:

1 Về kiến thức:

- Biết có 3 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 vai trò của chương trình dịch

- Biết khái niệm biên dịch và thông dịch

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

- Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến.

2 Về kỹ năng:

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

3 Về tư duy và 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ọcnhằm giải các bài toán thực tiễn ngày càng phức tạp

- 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 Chuẩn bị của giáo viên và học sinh:

1 Giáo viên: Chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của chương.

2 Học sinh: Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương.

III Phương pháp:

- Thuyết trình, vấn đáp

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

1 Ổn định lớp và kiểm tra sỉ số.

2 Tiến trình tiết dạy.

Hoạt động của học sinh Hoạt động của giáo viên Ghi bảng

 Đọc yêu cầu của câu hỏi

và bài tập cuối chương trang

13 SGK

 Suy nghĩ để đưa ra phương

án trả lời

 Suy nghĩ, trả lời câu hỏi

 Suy nghĩ, trả lời câu hỏi

 Suy nghĩ, trả lời câu hỏi,

 ĐVĐ: Trước khi giải bài tập

trong SGK, các em tự ôn lại một

số kiến thức mà chúng ta đã học

ở các bài trước dựa trên yêu cầucủa câu hỏi trang 13 SGK

 Đặt câu hỏi số 1: Tại sao

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

 Nhận xét, đánh giá và bổ sunghướng dẫn cho học sinh trả lờicâu hỏi số 1:

 Đặt câu hỏi 2: Chương trình

dịch là gì? Tại sao cần phải có chương trình dịch?

 Đặt câu hỏi 3: Biên dịch và

BÀI TẬP CHƯƠNG 1

1 Câu 1(Trang 13)

- Ngôn ngữ bậc cao gần với ngôn ngữ tự

nhiên hơn, thuận tiện cho đông đảo ngườilập trình

- Chương trình viết bằng ngôn ngữ bậc caonói chung không phụ thuộc vào phần cứngmáy tính và một chương trình có thể thựchiện trên nhiều máy tính khác nhau

- Chương trình viết bằng ngôn ngữ bậc cao

dễ hiểu, dễ hiệu chỉnh và dễ 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 mô tả thuộc toán

2 Câu 2 (Trang 13)

- Chương trình dịch là chương trình đặc

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

Chương trình nguồn  Chương trình dịch

Trang 7

 Đặt câu hỏi 4: Hãy cho biết

các điểm khác nhau giữa tên dành riêng và tên chuẩn?

 Gọi HS trả lời và cho ví dụ

 Phân tích câu trả lời của họcsinh

 Đặt câu hỏi 5: Hãy tự viết ra

ba tên đúng theo quy tắc của Pascal

 Gọi 3 học sinh lên bảng cho ví

dụ về tên do người lập trình đặt.

 Nhận xét, sửa chữa, góp ý

 Đặt câu hỏi 6: Hãy cho biết

những biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal và chỉ rõ trong từng trường hợp:

a) 150.0b) –22c) 6,23d) ‘43’

e) A20f) 1.06E-15g) 4+6h) ‘Ci) ‘TRUE’

- Nhận xét, giải thích

- Trình biên dịch: duyệt, kiểm tra, phát

hiện lỗi, xác định chương trình nguồn códịch được không? dịch toàn bộ chươngtrì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ữlại để sử dụng về sau khi cần thiết

- Trình thông dịch lần lượt dịch từng câu

lệnh ra ngôn ngữ máy rồi thực hiện ngaycâu lệnh vừa dịch được hoặc báo lỗi nếukhông dịch được

Tên chuẩn: trong Pascal abs, integer…

5 Câu 5:

Gợi ý: Trong Pascal tên (do người lập trình

đặt) được đặt tuân theo các quy tắc sau:

- Chỉ bao gồm chữ cái, chữ số và dấu gạchdưới;

- Không bắt đầu bằng chữ số;

- Độ dài theo quy định của chương trìnhdịch (TP không quá 127 kí tự, Free Pascalkhông quá 255 kí tự)

- Tuy nhiên, không nên đặt tên quá dài hay

quá ngắn mà nên đặt sao cho gợi ý nghĩađối tượng mang tên đó

6 Câu 6: Những biểu diễn sau đây không

phải là hằng trong Pascal:

6,23 dấu phẩy phải thay bằng dấu chấm;

A20 là tên chưa rõ giá trị;

4+6 là biểu thức hằng trong Pascal chuẩncũng được coi là hằng trong Turbo Pascal;

‘TRUE’ là hằng xâu nhưng không là hằnglôgic

IV Hoạt động củng cố: Ôn lại các khái niệm, các tên và chuẩn bị bài Cấu trúc chương trình

V Bài tập trắc nghiệm:

Câu 1: Nhiệm vụ và vai trò của chương trình dịch là:

a) Chuyển các chương trình nguồn viết bằng NNLT này ch.trình tương đương trên NNLT khác

b) Chuyển các chương trình nguồn viết bằng NNLT khác thành ngôn ngữ máy

c) Chuyển ch.trình từ NNLT bậc cao thành NNLT bậc thấp

d) Chuyển ch.trình từ NNLT bậc thấp thành NNLT bậc cao

Câu 2: Để biết cách viết một ch.trình có hợp lệ hay không, ta dựa vào thành phần nào của NNLT?

a) Bảng chữ cái b) Ngữ nghĩa c) Cú pháp d) Cả 3 thành phần

Câu 3: Các lỗi về ngữ nghĩa được phát hiện

a) Dễ dàng khi dịch ch.trình b) Khó phát hiện khi dịch ch.trình

c) Dễ dàng khi thực hiện ch.trình d) Khó phát hiện khi thực hiện ch.trình

Câu 4: Chỉ ra tên được dặt không hợp lệ trong chương trình?

a) BAI TAP b) BAI_TAP c) _BAITAP d) không có

Trang 8

Câu 5: Chỉ ra biểu diễn nào dưới đây không phải là hằng?

CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN

BÀI 3 CẤU TRÚC CHƯƠNG TRÌNH

I - Mục tiêu.

1 Kiến thức: Biết được cấu trúc chung của một chương trình

2 Kỷ năng: Nhận biết từng phần cấu trúc

3 Tư duy – thái độ: Tư duy logic.

Hoạt động 1: Kiểm tra bài cũ.

Câu 1: Có mấy loại tên trong ngôn ngữ Pascal ?

Câu 2: Khái niệm hằng và biến ?

Hoạt động 2: Cấu trúc chung chương trình.

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS TRÌNH BÀY BẢNG

 Cho học sinh đọc phần “cấu

trúc chung”

Cấu trúc chung của chương

trình gồm mấy phần?

 Yêu cầu học sinh đọc SGK

phần khai báo Sau đó trả lời câu

hỏi

Trong phần khai báo có những

phần khai báo nào?

 Tập hợp số tự nhiên,nguyên, hữu tỉ, thực

 Đọc sách

 Có 2 phần: Phần khai báo, phần thân chương trình

 Khai báo tên chương trình,khai báo thư viện, khai báo các biến, hằng,…

* [<Phần khai báo>] có thể có hoặc không.

* <Phần thân> nhất thiết phải có.

 Yêu cầu học sinh nghiên cứu

sách Trả lời các câu hỏi sau:

 Có bao nhiêu kiểu dữ liệu

chuẩn trong ngôn ngữ Pascal ?

 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

 Trong ngôn ngữ Pascal, có

những kiểu thực nào thường

dùng, phạm vi biểu diễn của mỗi

 Học sinh xem bảng các kiểu dữ liệu chuẩn để biết sốbyte lưu trữ cho một giá trị của mỗi kiểu dữ liệu và phạm vi giá trị của nó

(Trang 21, 22 SGK)

2 Các thành phần của chương trình: a) Phần khai báo:

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

- Trong C++:

# include <stdio.h>

# include <conio.h>

* Khai báo hằng

Ngày soạn: 01/09/2013 – Tuần 4(tiết 4)

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

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

Trang 9

 Yêu cầu học sinh nghiên cứu

sách GK và cho biết vì sao phải

khai báo biến ?

 Đọc sách

- Mọi biến dùng trongchương trình đều phải đượckhai báo tên biến và kiểu dữliệu của biến Tên biến dùng

để xác lập quan hệ giữa biếnvới địa chỉ bộ nhớ nơi lưugiữ giá trị của biến

Ví dụ: Trong chương trình ta cần dùng biến

a kiểu số nguyên, b kiểu số thực, khi đó takhai báo:

 Dãy lệnh trong phạm vi được

xác định bởi cặp dấu hiệu mở

 Trong vd1: đâu là phần khai

báo, đâu là phần thân chương

trình?

 Cho học sinh quan sát nhận xét

2 chương trình trong 2 ngôn ngữ

End.

{là phần thân chương trình}

 Hai chương trình cùngthực hiện một công việcnhưng viết bằng 2 ngôn ngữkhác nhau nên hệ thống cáccâu lệnh trong chương trìnhcũng khác nhau

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

-Trong ngôn ngữ pascal:

IV Bài tập về nhà: Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời)

V Cũng cố Có mấy loại kiểu dữ liệu chuẩn ? Cấu trúc khai báo biến ?

Bài tập trắc nghiệm:

Câu 1: Trong NNLT từ khóa PROGRAM dùng để:

a) Khai báo tên chương trình b) Khai báo biến c) Khai báo thư viện d) Khai báo hằng

Câu 2: Trong NNLT từ khóa COSNT dùng để:

a) Khai báo tên chương trình b) Khai báo biến c) Khai báo thư viện d) Khai báo hằng

Câu 3: Trong NNLT từ khóa VAR dùng để:

a) Khai báo tên chương trình b) Khai báo biến c) Khai báo thư viện d) Khai báo hằng

Câu 4: Trong NNLT từ khóa USE dùng để:

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

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

Trang 10

a) Khai báo tên chương trình b) Khai báo biến c) Khai báo thư viện d) Khai báo hằng.

Câu 5: Chọn câu đúng:

a) Trong NNLT Pascal phần thân không bắt buộc phải có

b) Trong NNLT Pascal phần khai báo là phần bắt buộc phải có

c) Trong NNLT Pascal phần thân là phần bắt buộc phải có và phần khai báo có thể có hoặc không d) Tất cả đều sai

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

BÀI 5 KHAI BÁO BIẾN

I - Mục tiêu.

1 Kiến thức - Biết được một số kiểu dữ liệu chuẩn

- Cách khai báo biến

2 Kỷ năng: - Xác định được kiểu khai báo của dữ liệu

- Khai báo biến đúng cấu trúc

3 Tư duy – thái độ: - Tư duy logic

Hoạt động 1: Kiểm tra bài cũ.

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

Câu 2: Nêu cấu trúc của các phần khai báo: tên chương trình, hằng, thư viện Hoạt động 2: Đặt vấn đề.

HOẠT ĐỘNG GIÁO VIÊN HOẠT ĐỘNG HỌC SINH TRÌNH BÀY BẢNG

Trong toán học để thực hiện được các tính

 Đọc sách

Hoạt động 3 Một số kiển dữ liệu chuẩn.

 Yêu cầu học sinh nghiên cứu

sách

 Trả lời các câu hỏi sau:

- Có bao nhiêu kiểu dữ liệu chuẩn

trong ngôn ngữ Pascal ?

 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

 Trong ngôn ngữ Pascal, có

những kiểu thực nào thường dùng,

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

 Có 4 kiểu: kiểu nguyên,thực, kí tự, lôgic

 Có 4 loại: Byte, word,integer, longint

 Có 2 loại: Real, extended.

NNLT Pascal có một số kiểu dữ liệu chuẩnsau:

1 Kiểu nguyên

2 Kiểu thực

3 Kiểu ký tự (CHAR)

Ngày soạn: 01/09/2013 – Tuần 5(tiết 5)

Kiểu Số Byte Miền Giá trị

Char 1 256 kí tự trong bộ mã ASCII

Trang 11

 Chú ý: Khi khai báo cần chú ý

đến phạm vi giá trị kiểu của biến

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

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

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

 Đọc sách 4 Kiểu logic (Boolean)

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

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

- Khi viết Ch.trình bằng NNLT nào thì cầntìm hiểu đặc trưng của các kiểu dữ liệu của

NN đó

Hoạt động 4: Biến và cấu trúc khai báo biến trong chương trình

 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 của biến

 Tên biến dùng để xác lập mối

quan hệ giữa biến với địa chỉ bộ

nhớ, nơi lưu trữ giá trị của biến

 Với các biến a, b, c, x1, x2, delta,

N, M được khai báo như vậy, khi

 Với M, N, bộ nhớ dành cho 2 biến này là 4byte

 36 + 4 = 40 byte

Bài 5 Khai báo biến

* Mọi biến dùng trong chương trình đềuphải được khai báo tên và kiểu dữ liệu củabiến

* Tên biến dùng để xác lập mối quan hệgiữa biến với địa chỉ bộ nhớ, nơi lưu trữgiá trị của biến

* Cú pháp khai báo biến trong Pascal:

* Ví dụ: Giả sử ta cần khai báo biến thực

a, b, c, x1, x2, delta và các biến nguyên M,

N Ta có thể khai báo như sau:

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

M,N:integer;

* Nhận xét: Bộ nhớ cấp phát cho 8 biến

vừa khai báo là 40byte (36 + 4 = 40byte)

* Một số chú ý khi khai báo biến:

- Tên biến phải gợi nhớ ý nghĩa

- Không nên đặt tên biến quá ngắn hay quádài, để tránh mắc lỗi khi viết nhiều lần

- Khai báo biến cần lưu ý đến phạm vi giá trị của nó.

V – Cũng cố.

Xem có mấy loại kiểu dữ liệu chuẩn ?

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

VI – BT VÀ DẶN DÒ:

Kiểu Số Byte Miền giá trị

Boolearn 1 TRUE hoặc FALSE

Var<danh sách biến>:<kiểu dl>;

<danh sách biến>:<kiểu dl>;

Trang 12

- Mỗi em cho ví dụ về Khai báo biến ( hôm sau trả lời).

- Học bài và đọc bài trước bài 6 “phép toán, biểu thức, câu lệnh gán”

VII Bài tập trắc nghiệm:

Câu 1: Trong ngôn ngữ LT Pascal kiểu dữ liệu nào trong các kiểu nào sau đây có miền giá trị lớn nhất?

Câu 2: Để khai báo biến chứa giá trị là 1.5, ta phải khai báo biến này thuộc kiểu nào trong các kiểu sau:

BÀI 6 PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN

I / Mục tiêu dạy học:

1 Kiến thức:

- Biết được các phép toán thông dụng trong NNLT

- Biết cách diễn đạt một biểu thức trong NNLT

- Biết được chức năng của lệnh gán và cấu trúc của nó

- Nắm vững một số hàm chuẩn thông dụng trong NNLT Pascal

2 Kỹ năng:

- Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý.

- Sử dụng được một số lệnh gán khi viết chương trình đơn giản

3 Tư duy và thái độ:

- Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo

- Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận

II/ Chuẩn bị của GV & HS:

* Giáo viên:

- SGK, các tranh liên quan đến bài học

- Máy vi tính và máy chiếu Projector (nếu có)

+ Phép toán số học: + , - , *, / , DIV, MOD

+ Phép toán quan hệ: <, <=, > , >=, =, < > , giá trị logic (true hoặc false)

+ Phép toán lôgic: NOT , OR , AND

c) Tiến hành:

2) Hoạt động 2: Tìm hiểu các phép toán trong ngôn ngữ lập trình.

 Khi viết chương trình ta

+ Phép cộng, trừ, nhân,chia

 Nghiên cứu SGK và

* NNLT nào cũng sử dụng đến phép toán, câulệnh gán và biểu thức, các khái niệm này chỉđược xét trong NNLT Pascal

1 Phép toán:

NNLT Pascal sử dụng một số phép toán như sau:+ Số nguyên: + , - , *, / , DIV, MOD

+ Số thực: + , - , *, / , + Phép toán quan hệ: <, <=, > , >=, =, < > + Phép toán logic: AND, OR, NOT

* Trong đó:

- Phép chia lấy phần nguyên: DIVVD: 34 DIV 5 = 6

- Phép chia lấy phần dư: MOD

Ngày soạn: 12/09/2013 – Tuần 6, 7(tiết 6, 7)

Trang 13

 Phép DIV, MOD được sử

dụng cho kiểu dữ liệu nào?

 Kết quả của phép toán quan

hệ thuộc kiểu dữ liệu nào?

cho biết các nhóm phéptoán

 Chỉ được sử dụng chokiểu số nguyên

 Kiểu logic

VD: 34 MOD 5 = 4

3) Hoạt động 3: Tìm hiểu biểu thức:

a) Mục tiêu: HS cần biết về khái niệm biểu thức số học, biểu thức quan hệ, biểu thức logic và một số

hàm số học

b) Nội dung:

- Biểu thức số học nhận được từ hằng số, biến số và hàm số liên kết

- Nắm bắt được tuần tự các bước khi thực hiện biểu thức số học

- Biểu thức logic được cấu thành từ các biểu thức quan hệ

c) Tiến hành :

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS TRÌNH BÀY BẢNG

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

Trong tin học khái niệm về biểu thức

trong lập trình ?

Cách viết các biểu thức trong lập

trình có giống cách viết trong toán

học hay không ?

 Treo tranh có chứa các biểu thức

toán học lên bảng

 Yêu cầu: HS sử dụng các phép toán

số học hãy biểu diễn các biểu thức

toán học thành biểu thức trong

giản người ta đã xây dựng sẵn một số

đơn vị chương trình trong các thư

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

trình tính toán nhanh hơn

 Treo bảng phụ chứa bảng một số

hàm chuẩn

 Yêu cầu: Học sinh điền thêm một số

thông tin với các chức năng của hàm

 Cho biểu thức

a) |x| - √2 x +1

 Suy nghĩ và đưa ra khái niệm

 Quan sát tranh và trả lời :

 HS lên bảng (GV có HD)

a) 4*x-2*yb) x + 1/(x-y)

c) (a+b+c)/((2*a/b)+c) – (b*b-c)/(a*c)

 Hàm trị tuyệt đối, hàm cănbậc 2, hàm sin, hàm cos

tự nhất định

- Mỗi toán hạng có thể là một hằng,một biến hoặc một biểu thức khác

* VD: Biểu thức nghiệm của

+ Trong ngoặc trước, ngoài ngoặcsau

+ Nhân, chia, chia nguyên, chia lấy

dư trước, cộng, trừ sau

+ Bản thân hàm chuẩn cũng là mộtbiểu thức số học và nó có thể thamgia vào biểu thức số học như mộttoán hạng

+ Một số hàm chuẩn thường dùng:

Sqrt(x): Căn bậc hai x

Trang 14

b) x2 - 1

 Hãy biểu diễn biểu thức toán trong

biểu thức trong NNLT

 Trong lập trình ta phải so sánh 2 giá

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

bằng cách sử dụng biểu thức quan hệ

Biểu thức quan hệ còn gọi là biểu

thức so sánh được dùng để so sánh 2

giá trị đúng hoặc sai

 Cho một ví dụ về biểu thức quan hệ?

 Kết quả mà phép toán quan hệ thuộc

kiểu dữ liệu nào đã học?

 Biểu thức logic là biểu thức quan hệ

được liên kết với nhau bởi phép toán

ax2+bx +c=0 (a <> 0) có hainghiệm phân biệt được biểu diễntrong toán học: với Δ=b2− 4 ac

4 Biểu thức quan hệ:

Cấu trúc chung:

+ Trong đó BT1 và BT2 phải cùngkiểu

+ Kết quả của biểu thức quan hệ làTRUE hoặc FALSE

- Lệnh gán dùng để tính giá trị một biểu thức và chuyển nó vào một biến

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

 Giải thích: Lấy 8 cộng với 1, đem

kết quả đặt vào i , ta được i = 9

 Cần chú ý điều gì khi viết lệnh gán?

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

sau đó tổng hợp lại

 Lệnh gán là gì ?

 Quan sát ví dụ và suy nghĩ đểtrả lời

 Đưa ra ý kiến

6 Câu lệnh gán.

- Lệnh gán là cấu trúc cơ bản củamọi NNLT, thường dùng để gán giátrị cho biến

Cấu trúc:

VD:

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

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

Trang 15

 Minh họa một vài ví dụ khác khi sử

dụng lệnh gán trên bảng

 Treo tranh lên bảng và giới thiệu

một ví dụ về Pascal cho chương trình

 Vậy chương trình trên in ra màn

hình giá trị của i và j bằng bao

- Nhắc lại một số khái niệm mới về:

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

+ Cấu trúc lệnh trong Pascal: tên_biến := biểu_thức;

Câu 2: Để viết biểu thức 3 ≤ x ≤5 sang Pascal ta viết

a) 3 >= x and 5 >=x b) 3 <= x and x >= 5 c) x <=3 and x <= 5 d) (x >=3) and (x<=5)

Câu 3: Chọn câu đúng trong các câu sau:

BÀI 7- 8 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

I Mục tiêu

1 Kiến thức:

+ Biết các lệnh vào ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình

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

+ Biết các bước: Soạn, dịch, thực hiện và hiệu chỉnh chương trình

2 Thái độ: Ham muốn tìm hiểu các biên soạn và thực hiện chương trình.

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

+ Giáo viên: Một số ví dụ.

+ Học sinh: Đọc trước SGK.

III Phương pháp:

+ Diễn giải, đàm thoại, giải quyết tình huống có vấn đề

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

Hoạt động 1:Tìm hiểu thủ tục nhập dữ liệu từ bàn phím.

 Ta có lệnh để nhập

Khi giải một bài toán, những đạilượng đã biết ta phải nhập thông tinvào, như vậy khi lập trình ta nhập

Trang 16

 Nghe và ghi bài

 Thủ tục READLN không có tham

 Trường hợp thủ tục WRITELN;

không có tham số thì thì thủ tục có tác dụng đưa con trỏ xuống dòng tiếp theo

 Độ rộng, số chữ số thập phân là các hằng nguyên dương

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

Trong pascal cung cấp thủ tục chuẩn:

hoặc

trong đó <Danh sách kết quả ra>có

thể tên biến đơn, biểu thức, hằng

Hoạt động3 : Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình

 Nghe giảng

 Nghe giảng

 Để thực hành trong TP ta khởi động bằng cách: Nháy dúp vào biểu tượng turbo pascal trên màn hình

 Trên máy cần có tệp:

Turbo.exe (file chạy)

Turbo.tpl (file thư viện)

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

Một số tao tác thường dùng trong pascal:

- Khi soạn thảo muốn xuống dòng nhấn Enter

- Ghi file vào đĩa: F2

- Mở file đã có: F3

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

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

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

Read (danh sách biến vào);

Readln (danh sách biến vào);

write(<Danh sách kết quả ra>);

writeln(<Danh sách kết quả ra>);

:<Độ rộng>:<số chữ số thập phân>

:<Độ rộng>

Trang 17

Alt + F3

- Thoát khỏi phần mềm: Alt + X

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

- Xem kết quả chạy chương trình: Alt + F5

V Hoạt động - củng cố:

- Nhắc lại sự hoạt động của Write/Writeln, read/Readln

- Cách soạn thảo, chạy chương trình, ghi vào đĩa, thoát khỏi TP

- Về nhà làm bài tập trong sách trang 35, 36

BÀI THỰC HÀNH SỐ 1 I/ Mục tiêu:

1 Về kiến thức:

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

- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiện chương trình

2 Về kỹ năng:

- Viết được chương trình đơn giản, lưu được chương trình trên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗithuật toán, hiệu chỉnh

- Bước đầu biết phân tích và hoàn thành một chương trình đơn giản trên Turbo Pascal hoặc Free Pascal

3 Về tư duy và thái độ:

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

- Tự giác, tích cực và chủ động hoàn thành

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

+ Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free Pascal, các chương trình làm

ví dụ

+ Học sinh:

- Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà

- Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal

- Xem trước nội dung bài thực hành số 1

III/ Phương pháp: Gởi mở thông qua hoạt động tư duy.

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

Hoạt động 1: Kiểm tra nội dung thực hành và khởi động máy

 HS để nội dung thực hành trước

mặt

 Chý ý hướng dẫn của GV để

khởi động máy và chương trình

Turbo Pascal hoặc Free Pascal

 HS lưu chương trình vào đĩa với

thư mục được GV hướng dẫn

+ Con trỏ soạn thảo+ Thanh Menu & tên file chươngtrình

+ Chỉ số vị trí dòng, cột + Dòng phím chức năng

Màn hình làm việc của TP

Một số thao tác thường dùngtrong TP

Xuống dòng EnterGhi file lên đĩa F2

Mở file đã có F3Biên dịch ch.trình Alt+ F9Soát lỗi ch.trình F9Chạy ch.trình Ctrl+F9Đóng cửa sổ ch.trình Alt+ F3Chuyển cửa sổ F6Xem lại màn hình Kq Alt+F5Thoát khỏi ch.trình Alt+XHoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh

 Học sinh quan sát trên bảng và

độc lập gõ chương trình vào máy  GV ghi chương trình Giai_PTB2

Trang 18

 Thông báo lỗi và cho biết vì

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

 GV yêu cầu học sinh thực hiện cácnhiệm vụ sau:

 Lưu chương trình bằng cách nhấn

phím F2 với tên PTB2.PAS.

 Dịch và sửa lỗi cú pháp với tổ hợp

phím Alt+F9.

 Thực hiện chương trình với tổ hợp

phím Ctrl+F9.

 Nhập các giá trị 1; -3; và 2 Thôngbáo kết quả của máy đưa ra

 Trở về màn hình soạn thảo bằng

phím Enter.

 Tiếp tục thực hiện chương trình

 Nhập các giá trị 1 ; 0 ; -2 Thôngbáo kết quả của máy đưa ra

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

 Sửa lại chương trình trên khôngdùng đến biến D và thực hiệnchương trình đã sửa

 Sửa lại chương trình bằng cáchthay đổi công thức tính của x2

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

bộ dữ liệu 1 ; - 5 ; 6 Thông báo kếtquả

 Thực hiện chương trình với bộ dữliệu 1 ; 1 ; 1 Thông báo kết quả

‘x2= ’, x2:6:2); readln(a, b, c);

HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV TRÌNH BÀY BẢNG

+ Thông báo kết quả cho giáo viên

 Học sinh thông báo kết quả

 GV yêu cầu học sinh hãy viếtmột chương trình tính diện tíchmột tam giác khi biết độ dài bacạnh của nó

 GV định hướng để học sinhphân tich bài toán

+ Dữ liệu vào (Input)+ Dữ liệu ra (Output)+ Cách tính:

 GV yêu cầu học sinh soạn vàchạy chương trình lên đĩa

 GV yêu cầu học sinh nhập dữliệu và thông báo kết quả ;

Trang 19

la:’, S:6:2);

Readln;

End.

Hoạt động 4: Củng cố buổi thực hành và bài tập về nhà

 Làm bài tập trang 35 và 36

V TRẮC NGHIỆM:

Câu 1: Trong TP với câu lệnh như sau: Write (‘ket qua la:’, a); sẽ ghi ra màn hình là:

a) Ket qua la b) Ket qua la <a> c) Kq la d) Không đưa gì cả

Câu 2: Trong TP với câu lệnh như sau, a là một biến số thực a:=12; Write (‘ket qua la:’a); sẽ ghi ra màn hình:

a) Ket qua la 1.2E+01 b) Ket qua la 12 c) Kq la a d) Không đưa gì cả

Câu 3: Trong TP, để thực thi chương trình

Trang 20

 Câu 1: Tối thiểu phải có 3 loại biểu thức:

+ Biểu thức số học (bao gồm các phép toán: cộng (+), trừ (-), nhân (*), chia lấy phần nguyên (div), chia lấy dư (mod))

+ Biểu thức quan hệ (bao gồm các phép toán: <, <=, >, >=, <>, =)+ Biểu thức logic (bao gồm các phép toán: and, or, not)

 Câu 2: Các đặc trưng của một kiểu dữ liệu:

- Bộ nhớ dành cho một biến

- Phạm vi giá trị có thể biểu diễn

Ví dụ: Đặc trưng của kiểu nguyên Integer(Bộ nhớ dành cho biến nguyên: 4byte, Phạm vi giá

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

- Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách

sử dụng câu lệnh ghép

2 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 được để thể hiện thuật toán của một

số bài toán đơn giản

II Chuẩn bị:

- Giáo viên: + Soạn giáo án

Ngày soạn: 12/10/2012 – Tuần 12(tiết 12)

Trang 21

+ Chuẩn bị bảng phụ sau:

- Học sinh: học bài cũ, đọc và chuẩn bị bài mới.

III Phương pháp truyền thụ: Giảng giải + hoạt động của học sinh.

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

1 Ổn định lớp:

2 Kiểm tra bài cũ:

Bài toán: 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 lệnh nhập a, b

Nêu thuật toán tìm Max(a,b)

Hoạt động 1:

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS TRÌNH BÀY BẢNG

 Giao nhiệm vụ cho HS

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS TRÌNH BÀY BẢNG

 Cho ví dụ về 1 câu điều kiện?

(Có thể có nhiều câu khácnhau)

1 Rẽ nhánh:

* Một số mệnh đề có dạng điềukiện:

+ Dạng thiếu: Nếu…thì…

+ Dạng đủ: Nếu … thì … nếu không thì …

max:=a; if a < b then max:=b;

 lưu ý các em trước từ khoá Else

không có dấu ; và sau then, sau else

Điều kiện

IF <điều kiện> THEN <câu lệnh>;

Trang 22

Readln;

End.

b Dạng đủ:

Trong đó:

- Điều kiện là biểu thức lôgic

- Câu lệnh, câu lệnh 1, câu lệnh 2 là

1 câu lệnh của Pascal

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS TRÌNH BÀY BẢNG

 Muốn thực hiện nhiều lệnh sau if

hoặc sau then thì làm thế nào?

khoá Begin…end; với Pascal

 Gọi học sinh nêu thuật toán giải

PT bậc hai?

 Nhận xét, bổ sung.

 Phân nhóm và yêu cầu học sinh

thảo luận nhóm để viết chương

trình thể hiện thuật toán trên Ghi

lời giải vào bảng phụ

 Yêu cầu đại diện nhóm lên treo

bảng lời giải và trình bày

+ Nếu d < 0 thì pt vô nghiệm

+ Ngược lại thì pt có 2 nghiệm

x1,2 = − b ±d

2 a

 Thảo luận theo nhóm và trình

bày lời giải vào bảng phụ:

 Đại diện nhóm lên treo bảng lời

Write(‘ Nhap a,b,c:’); Readln(a,b,c);

d := b*b – 4*a*c;

If d < 0 then

Write(‘ PT vo nghiem:’)

else Begin

Write(‘ PT co nghiem:’); x1:= (-b–sqrt(d))/(2*a); x2:= (-b+sqrt(d))/(2*a); Write(x1:6:2, x2:6:2);

Trang 23

VI Củng cố: GV tóm tắt các vấn đề cần nắm trong bài:

- Cú pháp, ý nghĩa của câu lệnh rẽ nhánh dạng đủ và dạng khuyết

- Cách sử dụng câu lệnh ghép

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

- Học bài, trả lời câu 1, 2 trang 50 và làm bài 4 trang 51 sgk

- Viết chương trình tìm Max(a, b, c)

- Viết chương trình giải phương trình bậc nhất

- Chuẩn bị bài mới: Cấu trúc lặp

BÀI TẬP

I Mục tiêu:

1 Kiến thức:

Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp

Củng cố lại vấn đề biểu diễn biểu thức toán học trong ngôn ngữ lập trình Pascal

2 Kỹ năng:

Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp để giảiquyết bài toán đặt ra

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ác bà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: - Chuẩn bị hệ thống các bài tập trong sách giáo khoa.

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

III Nội dung:

Bài 1 Viết chương trình nhập vào số nguyên N và kiểm tra tính chẳn lẻ của số nguyên N vừa nhập Program KIEMTRATINHCHANLE;

Uses crt;

Var N: integer;

Begin

Clrscr;

Writeln(‘Nhap vao so nguyen N=’); Readln(N);

If Nmod2=0 then Writeln(‘N la so chan’)

Else Writeln(‘N la so le’);

Readln

End.

Bài 2 Viết chương trình giải và biện luận phương trình bậc nhất ax + b = 0.

Ngày soạn: 12/10/2012 – Tuần 13(tiết 13)

Trang 24

Writeln (‘Nhap vao he so a=’); Readln(a);

Writeln (‘Nhap vao he so b=’); Readln(b);

- Về ngữ nghĩa: 2 dạng này giống nhau là đều kiểm tra điều kiện và thực hiện câu lệnh sau then nếu điều kiện đúng (true) Khác nhau, ở dạng đủ, nếu điều kiện sai thì thực hiện câu lệnh nằm sau else

Câu 2 (SGK Tr 50): Câu lệnh ghép là gì? Tại sao phải có câu lệnh ghép?

Câu lệnh ghép là một câu lệnh được hợp thành từ nhiều câu lệnh thành phần

- Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần Mỗi thao tác thành phần ứng với một câu lệnh đơn hoặc một câu lệnh ghép khác

- Câu lệnh ghép là một trong các yếu tố để tạo khả năng chương trình có cấu trúc

- Các câu lệnh đặt giữa begin và end;

Câu 4 (SGK Tr 51): Viết câu lệnh rẽ nhánh tính:

write('nhap hai so x va y: ');readln(x,y);

if x*x+y*y<=1 then begin

Ngày soạn: 12/10/2012 – Tuần 14(tiết 14)

Giới thiệu nếu có thời gian

Trang 25

if (x*x+y*y>1) and (y<x) then

nếu điểm (x,y) thuộc hình tròn bán kính r (r > 0), tâm (a,b)

trong trường hợp còn lại

write('Nhap toa do tam hinh tron: '); readln(a,b);

write('Nhap ban kinh r: ');readln(r);

Writeln (‘Nhap vao he so a=’); Readln(a);

Writeln (‘Nhap vao he so b=’); Readln(b);

Writeln (‘Nhap vao he so c=’); Readln(c);

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

If Delta <0 then Writeln(‘Phuong trinh vo nghiem’);

Else If Delta >0 then

Trang 26

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh;

- Làm quen với việc hiệu chỉnh chương trình

2 Kiểm tra bài:

Viết câu lệnh rẻ nhánh dạng đủ để kiểm tra số nguyên N là số chẳn hay lẻ

* Bài toán: Bộ số Pi-ta-go

Bộ ba số nguyên dương a, b, c được gọi là bộ số Pi-ta-go nếu tổng các bình phương của hai số bằng bình phương của số còn lại Viết chương trình nhập từ bàn phím ba số nguyên dương a, b, c và kiểm tra xem chúng có là bộ số Pi – ta – go hay không

  * Ý tưởng: Kiểm tra xem có đẳng nào trong ba đẳng thức sau đây xảy ra hay không:

Ngày soạn: 13/11/2012 – Tuần 15, 16 (tiết 15, 16)

Trang 27

3 Những công việc cần thực hiện:

writeln(‘Bo ba so da nhap la bo so pitago’)

else writeln(‘Bo ba so khong la bo so pitago’);

Readln

End.

HOẠT ĐỘNG GIÁO VIÊN HOẠT ĐỘNG HỌC SINH NỘI DUNG GHI BẢNG Hoạt động 1: Kiểm tra lỗi và lưu chương trình.

 Nhắc nhở học sinh thường xuyên

kiểm tra lỗi cú pháp ở mỗi câu

lệnh

 Giáo viên nhắc nhở học sinh

nhận biết một số lỗi thường mắc

phải bằng trợ giúp của trình biên

dịch:

VD:

- “;” expected (thiếu dấu “;”)

- Unknown indentifier (không

hiểu tên đối tượng chỉ định - khai

báo thiếu)

- String constant exceeds

line (chuỗi dài quá một dòng – có

thể thiếu dấu nháy đơn)

-Syntax error: (Lỗi cú pháp)

- Begin expected (Không thấy

 Ghi nhận một số trợ giúp của

chương trình dịch

 Có 2 cách để lưu:

- Vào menu file  save  nhập vào

ô save file as đường dẫn:

- “;” expected (thiếu dấu “;”)

- Unknown indentifier (không hiểu tên đối tượng chỉ định-khai báo thiếu)

- String constant exceeds line (chuỗi dài quá một dòng – có thể thiếu dấu nháy đơn đóng mở)

-Syntax error: (Lỗi cú pháp)

- Begin expected (Không thấy Begin)

- End expected (Không thấy End)

Hoạt động 2: Dịch, thực hiện từng câu lệnh và theo dõi kết quả trên cửa sổ WATCH

 Nhắc nhở học sinh quan sát màn

hình trình soạn thảo chương trình

TP, xem đang thực hiện câu lệnh

nào trong chương trình Lưu ý học

c) Theo dõi quá trình thực hiện từng lệnh của chương trình:

- Nhấn tổ hợp phím Ctrl + F7 làm xuất hiện cửa sổ Add wacth

Trang 28

sinh, nhập giá trị cho bộ ba số a, b,

c bằng khoảng trắng cho mỗi lần

Quan sát trên cửa sổ WATCH, giá

trị của a2, b2, c2 hiện tại là bao

 a2: 9

b2: 16 c2: 25

- Có thể vào lệnh Debug  Wacth

Hoạt động 3: Thực hiện thông dịch với bộ dữ liệu a = 700, b = 1000, c = 800 và lỗi tràn bộ nhớ.

 Ở bộ dữ liệu này, yêu cầu học

sinh ghi lại kết quả của a2, b2, c2

 a2: 31248

b2: 16960 c2: -15360

* Ở dòng khai báo biến:

Var a,b,c: integer;

Trang 29

BÀI KIỂM TRA 1 TIẾT KHỐI 11

I Mục tiêu:

1) Về kiến thức:

- Hiểu cách khai báo hằng, biến, cách biểu diễn biểu thức số học, cách sử dụng lệnh gán Biết cách sử dụng các lệnh vào/ra chuẩn đơn giản

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

- Hiểu cấu lặp kiểm tra điều kiện trước (lặp xác định và không xác định)

- Biết được cấu trúc của một chương trình Pascal, soạn thảo được một số chương trình đơn giản

2) Về kĩ năng: Làm bài kiểm tra trắc nghiệm, tự luận dạng tổng hợp kiến thức.

II Phương pháp:

Trắc nghiệm 30% (số lượng 12 câu), tự luận 70% tổng số điểm Chia thành 2 đề

KHUNG MA TRẬN ĐỀ KIỂM TRA TIẾT

(Tự luận và trắc nghiệm khách quan)

ngôn ngữ lập trình Câu 1 Câu 7,9,12 4 1.75đ

Ngày soạn: 13/11/2012 – Tuần 17 (tiết 17)

Trang 30

Câu 3,8

0.5đ

Câu 2

0.75đ

5

1.75đ (17.5% )

- Phép toán, biểu thức,

lệnh gán

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

Câu 1 0.25đ

Câu 3

Câu 4,5 0.5đ

4

2.75đ (27.5% )

Câu 10

0.25đ

3

1.5đ (15%)

A USES <danh sách biến> ; B PROGRAM <tên chương trình> ;

C VAR <tên biến> := <giá trị> ; D CONST <tên hằng> : < Kiểu dữ liệu> ;

Câu 3 Biến A nhận các giá trị: 1; 15; 99; 121 và biến B nhận các giá trị: 1.34; 29; 41.8 Khai báo nào sau đây là đúng:

A Var A:Byte; B:Real; B Var A,B:Byte;

C Var A:Real; B:Byte; D Var A,B:Integer;

Câu 4 Cho biết kết quả trả về của biểu thức sau: (20 mod 3)div 2 + (15 div 4)

Trang 31

C: Char;

I,J: Byte;

A 21 byte bộ nhớ B 20 byte bộ C 15 byte bộ nhớ D 22 byte bộ nhớ

Câu 7 Chú thích sử dụng trong ngôn ngữ lập trình Pascal có thể được ghi trong:

Câu 8 Chương trình được viết như sau : Begin End.

A Chương trình này chạy nhưng không thực hiện gì cả B Chương trình này viết sai cú pháp

C Chương trình này không chạy được D Chương trình báo lỗi

Câu 9 Các số sau đây, số nào sai trong PASCAL

Câu 10 Cho A= 19.5; B=45.93. Câu lệnh Write('Gia tri la:',A:6:2,B:8:3); sẽ hiển thị ra màn hình là:

A Gia tri la:_ 19.50_ _ 45.930 B Gia tri la:_ _19.5_ _ _ 45.93

C Gia tri la:_ 19.5 _ _ _ 45.930 D Gia tri la:_ _19.50_ _ 45.930

Câu 11 Đoạn chương trình sẽ hiển thị:

Begin

Writeln ('Day la lop TIN HOC');

End.

C Day la lop TIN HOC D "Day la lop TINHOC"

Câu 12 Hằng:

A Đại lượng có giá trị không đổi trong quá trình thực hiện chương trình B Đại lượng có thể thay đổi

C Khai báo bằng từ khóa VAR D Không cần khai báo khi dùng

B PHẦN TỰ LUẬN (7 điểm)

Câu 1 Hằng là gì? Viết khai một hằng số bất kì trong Pascal? (1đ)

Câu 2 Viết khai báo: Tên chương trình, khai báo thư viện các hàm chuẩn và các biến thực a, b, c, x1, x2, delta

cần thiết cho việc giải phương trình bậc 2: ax2bx c 0a0

c

b ; d) b2 4ac ;

Câu 4 Trình bày cấu trúc if – then dạng thiếu và dạng đủ? (1đ)

Câu 5 Viết chương trình biện luận tìm nghiệm phương trình bậc nhất ax + b = 0, với hệ số a, b, c được nhập từ

bàn phím.(2.25đ)

ĐÁP ÁN

12 A Đại lượng có giá trị không đổi trong quá trình thực hiện chương trình 0.25

1 - Đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình- Const Pi=3.14; 0.5

0.5

Trang 32

else if b<>0 then writeln(‘Phuong trinh vo nghiem’)

else writeln(‘Phuong trinh co vo so nghiem’);

1.1 Khái niệm cơ bản về vấn đề lập trình:

+ Chương trình nguồn, chương trình đích, chương trình dịch là gì?

+ Chương trình dịch có mấy loại, điểm khác biệt cơ bản giữa chúng?

+ Trong trường hợp nào sử dụng chương trình biên dịch, thông dịch?

+ Có mấy loại ngôn ngữ lập trình, loại NNLT nào cần đến chương trình dịch?

1.2 Các thành phần của ngôn ngữ lập trình:

+ Biết được NNLT thường có ba thành phần cơ bản: bảng chữ cái, cú pháp, ngữ nghĩa

+ Biết được trong bảng chữ cái có ba nhóm kí tự cơ bản (chữ cái, chữ số, kí tự đặc biệt) + Nắm được quy tắc đặt tên trong NNLT Pascal

+ Phân biệt được: tên dành riêng, tên chuẩn, tên do người lập trình đặt

+ Nắm được khái niệm: hằng, biến, chú thích

1.3 Cấu trúc chương trình:

Ngày soạn: 13/11/2012 – Tuần 18 (tiết 18)

Trang 33

+ Nắm được cấu trúc chung của chương trình (gồm hai phần).

+ Biết cách khai báo: tên chương trình, thư viện, hằng, biến

1.4 Một số kiểu dữ liệu chuẩn:

+ Biết được phạm vi giá trị của các kiểu dữ liệu chuẩn: kiểu nguyên, kiểu thực, kiểu logic, kiểu kí tự.+ Áp dụng được các kiểu dữ liệu này trong khai báo biến

1.5 Phép toán, biểu thức, câu lệnh gán:

+ Biết được các phép toán đặc trưng cho các kiểu dữ liệu: số nguyên, số thực, kiểu logic, phép toán quan

hệ (Tránh nhầm lẫn các phép toán trong toán học và các phép toán trong Pascal).

+ Chuyển được các biểu thức toán học sang biểu thức trong Pascal và ngược lại (phải nắm được các hàm số học chuẩn trang 26/SGK).

+ Biết được giá trị trả về của các loại biểu thức

+ Biết được ý nghĩa và cách sử dụng câu lệnh gán

1.6 Các thủ tục chuẩn vào/ ra đơn giản:

+ Biết cách sử dụng thủ tục Readln và Write/writeln để nhập dữ liệu từ bàn phím và đưa dữ liệu ra màn

hình

1.7 Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

+ Biết cách sử dụng phím tắt và menu lệnh để lưu trữ, mở tệp đã có, dịch, chạy chương trình.

1.8 Cấu trúc rẽ nhánh:

+ Biết được cách thức làm việc của cấu trúc: If…then, If…then…else.

+ Biết được mục đích sử dụng Câu lệnh ghép trong câu lệnh có cấu trúc.

2) Về kĩ năng: Hệ thống bài tập tương đối đầy đủ, giúp học sinh hệ thống hóa mạch kiến thức đã học và

làm tốt bài thi học kì I

II NỘI DUNG:

A HỆ THỐNG CÂU HỎI TRẮC NGHIỆM:

1 Ngôn ngữ có thể lập trình trên máy tính là

C.Ngôn ngữ lập trình bậc cao D Ngôn ngữ tự nhiên

2 Máy tính có thể trực tiếp thực hiện các câu lệnh viết bởi

C Ngôn ngữ lập trình bậc cao D Ngôn ngữ tự nhiên

3 Người ta thường viết chương trình bằng ngôn ngữ lập trình bậc cao bởi:

A Gần với ngôn ngữ tự nhiên B Không phụ thuộc vào máy tính

C Ngắn gọn, dễ đọc, dễ hiểu… D Cả ba đều đúng

4 Trong quá trình dịch, lối nào sau đây sẽ được phát hiện

5 Những phát biểu nào sau đây là sai?

A Output của mọi chương trình đều là chương trình trên ngôn ngữ máy;

B Chương trình viết bằng hợp ngữ không phải là Input hay Output của bất cứ chương trình dịch nào;

C Để biên soạn một chương trình trên ngôn ngữ bậc cao có thể sử dụng nhiều hệ soạn thảo văn bản khác nhau;

D Chương trình dịch là thành phần chính của một ngôn ngữ lập trình bậc cao

6 Bảng chữ cái (Trong TP) gồm các ký tự

C *, #, $, @, ^, &, (, ), {, } … D Tất cả các ký tự trên

7 Thành phần cơ sở của ngôn ngữ lập trình TP là

A Bảng chữ cái của TP B Tên

8 Thành phần cơ bản của ngôn ngữ lập trình là

A Bảng chữ cái của TP B Cú pháp

9 Khi đặt tên cho một đối tượng của TP có thể

A Bắt đầu bởi các chữ số B Bắt đầu bởi các chữ cái

C Bắt đầu bởi dấu sao (*) D Bắt đầu bởi dấu gạch giữa hoặc cách trống

Trang 34

10 Tên nào không thuộc của TP?

A Tên dành riêng B Tên đặc biệt

C Tên chuẩn D Tên do người sử dụng đăt

11 Tên dành riêng do

A Người lập trình quy định B TP quy định

C Máy tính quy định D Cả ba đều đúng

12.Cho biết các tển dưới đây đâu là tên dành riêng (từ khóa)

13 Cho biết các tển dưới đây đâu là tên chuẩn

14 Tên nào trước khi sử dụng phải khai báo

C Tên do người lập trình đặt D Cả ba lựa chọn trên

15 Hằng (Const) trong quá trình thực hiện chương trình

A Giá trị không thay đổi B Giá trị có thể thay đổi

C Giá trị luôn thay đổi D Cả ba đều đúng

16 Hằng (Const) trong Tp có thể là

17 Biến là đại lượng có

A Giá trị không thay đổi B Giá trị có thể thay đổi

C Giá trị luôn thay đổi D Cả ba đều đúng

18 Cho biết các giá trị sau đâu là hằng số nguyên

21 Các từ: PROGRAM, BEGIN, END là

C Tên do người lập trình đặt D Tên đặc biệt

22 Các từ: SQR, SQRT, REAL là

C Tên do người lập trình đặt D Tên đặc biệt

23 “Từ khóa ” là cách gọi khác của

C Tên do người lập trình đặt D Tên đặc biệt

24 Cách viết nào cho biểu thức sau là đúng trong TP: 2 1  

25 Đoạn chương trình sẽ hiển thị:Begin Writeln ('Day la lop TIN HOC') ;End

A "Day la lop TINHOC" B Không chạy được vì có lỗi

C 'Day la lop TIN HOC' D Day la lop TIN HOC

26 Viết nào cho biểu thức sau là đúng trong TP: 1 x2 y2 13

A 1- abs(sqrt(x*x - y*y)) >=13 B 1-sqrt(abs(sqr(x)) - abs(sqr(y)))>=13

C 1-abs(sqrt(sqr(x)-sqr(y)))>=13 D 1-sqrt(abs(x*x - y*y))>=13

27 Biến A nhận các giá trị: 1;15;99;121 và biến B nhận các giá trị: 1.34;29;41.8 Khai báo nào sau đây là đúng:

A Var A:Real; B:Byte; B Var A,B:Byte;

C Var A,B:Integer; D Var A:Byte; B:Real;

28 Cho biết kết quả trả về của biểu thức sau: (20 mod 3) div 2 + (15 div 4)

Trang 35

29 Chương trình được viết như sau : Begin End

A Chương trình này chạy nhưng không thực hiện gì cả B Chương trình này viết sai cú pháp

C Chương trình này không chạy được D Chương trình báo lỗi

30 Cho biểu thức A= (18 div 2)=9; B= (25 mod 5)=0

A Not (A Or B) = True B Not(A) Or Not(B) = True

C Not(A) And Not(B) = True D Not(A Or B) = False

31 Cho A= 19.5; B=45.93 Câu lệnh Write('Gia tri la:',A:6:2,B:8:3); sẽ hiển thị ra màn hình là:

A Gia tri la:_ _19.50_ _ 45.930 B Gia tri la:_ _19.5_ _ _ 45.93

C Gia tri la:_ 19.5 _ _ _ 45.930 D Gia tri la:_ 19.50_ _ 45.930

32 Chọn cú pháp đúng:

A USES <danh sách biến>; B VAR <tên biến> := <giá trị>;

C PROGRAM <tên chương trình>; D CONST <tên hằng> : < Kiểu dữ liệu>;

33 Bộ nhớ cần cấp phát bao nhiêu byte để lưu trữ: VAR X , Y :Boolean; D:Integer;

C Sin5*x+cox3*x+y=12 D Sin5*x+ cos3x+y =12

35 Cho biết tổ hợp phím nào thoát ra khỏi chương trình Pascal:

A Alt+F3 B Alt+F9 C Ctrl+F9 D Alt+X

36 Chú thích sử dụng trong ngôn ngữ lập trình Pascal có thể được ghi trong:

39.Trong các khai báo biến sau, khai báo nào là sai :

A Var t : LongInt; B Var t : Word ;

C Var t : Real ; D Var t : Logic ;

40 Sau khi thi hành đoạn chương trình sau, thì biến X viết ra màn hình có giá trị là bao nhiêu?

A:= 4 ; B: = 1; X:= 2 ;

IF A + B > 5 THEN X := X + A + B; WRITE (X);

41 Trong Pascal, khẳng định nào trong các khẳng định sau là sai?

A Phần tên chương trình không nhất thiết phải có B Phần thân chương trình có thể có hoặc không

C Phần khai báo có thể có hoặc không D Phần thân chương trình nhất thiết phải có

42 Lệnh Writeln ; dùng để :

A Viết dòng chữ Writeln ra màn hình B Đưa con trỏ ra cuối dòng

C Đưa con trỏ xuống đầu dòng kế tiếp D Cho xem kết quả

43 Kiểu dữ liệu nào của Pascal có phạm vi giá trị từ 0 255

44 Đoạn chương trình sau viết những gì ra màn hình ?

m:=5 ; n: =3 ;

If m < n then Writeln ( m , ‘ x ’ , n , ‘ = ‘, m*n )

Trang 36

46 Để nhập giá trị biến a từ bàn phím, ta viết :

A Write(Nhap a = ) ; Readln(a); B Write(‘ Nhap a = ‘ ); Readln(a) ;

C Read( ‘Nhap a = ‘); Writeln(a) ; D Writeln(‘Nhap a = ‘ , a);

49 Trong Pascal, với câu lệnh như sau: Writeln('KQ la:',a); sẽ ghi ra màn hình?

A Không đưa ra gì cả Báo lỗi B KQ la: a

C Ket qua la: a D KQ la:<giá trị của a>

50 Chọn khẳng định đúng:

Tính tổng:S = 1+1/2 +1/3 + + 1/1000

A Không thể dùng lệnh For do B Chỉ dùng được lệnh For do

C Không thể sử dụng While do D Có thể sử dụng While do

51 Để khai báo biến n thuộc kiểu số nguyên ta viết :

A Const n : Integer; B Var : n : Integer ;

C Var n = Integer ; D Var n : Integer ;

52 Bộ nhớ cần cấp phát bao nhiêu byte để lưu trữ trong khai báo sau:

VAR X , Y , Z : Real ;

C: Char ; I , J : Byte ;

A 21 byte B 20 byte C 15 byte D 22 byte

53 Trong pascal, các phép toán sau đây đâu là phép toán quan hệ :

54 Xét biểu thức sau : (9x < 80) and (x <=10) Biểu thức cho kết quả True khi x bằng

55 Chương trình dịch là:

A Chương trình dịch ngôn ngữ tự nhiên ra ngôn ngữ máy

B Chương trình dịch ngôn ngữ máy ra ngôn ngữ tự nhiên

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

D Chương trình có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ máy thành ngôn ngữ bậc cao

56 Xét biểu thức logic: (n >0) and (n mod 2 = 0) Khẳng định nào sau đây là đúng?

A Kiểm tra xem n có là một số dương C Kiểm tra n có chia hết cho 2 không;

B Kiểm tra n là một số nguyên chẵn D Kiểm tra xem n là một số dương chẵn

57 Cấu trúc một chương trình được chia làm mấy phần ?

Trang 37

60 Trong Pascal phép toán div, mod thuộc phép toán nào sau đây

A Phép toán Logic C Phép toán quan hệ

B Phép toán số học với số nguyên D Phép toán số học với số thực

61 Trong Turbo Pascal, để thực thi chương trình

A Nhấn phím F9 C Nhấn tổ hợp phím Shift + F9

B Nhấn tổ hợp phím Alt + F9 D Nhấn tổ hợp phím Ctrl+F9

62 Trong Turbo Pascal, với x kiểu nguyên hàm số nào sau đây luôn cho kết quả là kiểu thực

A abs(x) C sqr(x) B inc(x) D sqrt(x)

63 Trong ngôn ngữ lập trình Pascal, từ khóa PROGRAM dùng để

B Khai báo tên chương trình D Khai báo thư viện

64 Trong ngôn ngữ lập trình Pascal, từ khóa CONST dùng để

A Khai báo tên chương trình C Khai báo biến

65 Trong ngôn ngữ lập trình Pascal, từ khóa VAR dùng để

A Khai báo tên chương trình C Khai báo hằng

B PHẦN TỰ LUẬN:

Câu 1: Trình bày cấu trúc chung của một chương trình? Giải thích các thành phần trong cấu trúc chung đó? Câu 2: Chương trình dịch là gì? Trình bày các loại được xem là chương trình dịch?

Câu 3: Trình bày các khái niệm Hằng và biến? So sánh sự khác nhau giữa Hằng và biến?

Câu 4: Trình bày cú pháp khai báo biến trong Pascal? Giải thích các thành phần trong cú pháp? Thực hiện khai

báo biến k có kiểu nguyên?

Câu 5: Trình bày khái niệm tên trong Turbo Pascal? Hãy tự biết ra 2 tên đúng và 2 tên sai trong Turbo Pascal? Câu 6: Trình bày thủ tục nhập dữ liệu vào từ bàn phím và thủ tục đưa dữ liệu ra màn hình? Cho 2 ví dụ minh

họa?

Câu 7: Trình bày cú pháp, nêu các thành phần, vẽ sơ đồ khối và nêu quá trình thực hiện của câu lệnh rẻ nhánh

dạng đủ trong Pascal? Áp dụng: Viết câu lệnh if…then dạng đủ cho biết x là số chẳn hay số lẻ?

Câu 8: Cho biết sự giống nhau và khác nhau của hai dạng câu lệnh if - then?

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

Câu 10: Viết chương trình xác định nghiệm của phương trình bậc nhất: ax b 0, với a, b là các hệ số được nhập từ bàn phím?

Câu 11: Viết chương trình tìm nghiệm thực của phương trình bậc 2: ax2bx c 0a0

Giải thích các thành phần trong cấu trúc chung:

* Phần khai báo: Là phần có thể có hoặc không trong một chương trình

* Phần thân: Là phần phải có trong một chương trình.

Câu 2:

- Chương trình dịch là một chương trình đặc biệt, có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập

trình bậc cao thành chương trình thực hiện trên máy

- Chương trình dịch có hai loại: Thông dịch và biên dịch

* Thông dịch (Interpreter): Là cách dịch từng lệnh một, dịch tới đâu thực hiện tới đó

* Biên dịch: Dịch toàn bộ chương trình nguồn thành chương trình đích rồi sau đó mới thực hiện.

Câu 3:

* Hằng: Hằng số là đại lượng có giá trị không đổi trong suốt quá trình thực hiện chương trình.

* Biến: Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi trong quá trình thực hiện

chương trình

Trang 38

* Sự khác nhau giữa hằng và biến: Hằng số có giá trị không đổi trong suốt quá trình thực hiện chương trình

còn biến số sẽ nhận giá trong thân chương trình và giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình

Câu 4:

* Cú pháp: Var <danh sách biến>:<kiểu dữ liệu>;

* Giải thích các thành phần trong cú pháp:

+ <danh sách biến>: Là một hoặc nhiều tên biến, các tên biến được viết cách nhau bởi dấu phẩy

+ <kiểu dữ liệu>: Thường là một trong các kiểu dữ liệu chuẩn

* Thực hiện khai báo: Var k : byte;

Câu 5:

- Trong Ngôn ngữ Turbo Pascal, tên là một dãy liên tiếp không quá 127 kí tự bao gồm các chữ cái, chữ số và

dấu gạch dưới nhưng phải bắt đầu bằng chữ cái hoặc dấu gạch dưới

- Ví dụ: * Tên đúng: Vi_du1, baitap2

* Tên sai: 1Vi_du, bai tap2

Câu 6:

* Thủ tục nhập dữ liệu từ bàn phím:

Read (<danh sách biến vào>);

Readln(<danh sách biến vào>);

Ví dụ: Read(a); Readln(x,y);

* Thủ tục đưa dữ liệu ra màn hình:

Write(<danh sách biến ra>);

Writeln(<danh sách biến ra>);

Ví dụ: Write(a); Writeln(b:6:2);

Câu 7:

* Cú pháp: If <điều kiện> then <câu lệnh1> else <câu lệnh2>;

* Trong đó:

- Điều kiện là một biểu thức logic

- Câu lệnh 1, câu lệnh 2 là: một câu lệnh trong Pascal

* Ý nghĩa của câu lệnh If – then dạng đủ: Tính và kiểm tra điều kiện Nếu điều kiện đúng thì câu lệnh 1 được

thực hiện, ngược lại thì câu lệnh 2 được thực hiện

Câu 8:

* Giống nhau:

- Về cú pháp:

+ Cả hai dạng đều có điều kiện (biểu thức logic) nằm sau từ khóa if.

+ Cả hai dạng đều có câu lệnh (lệnh đơn hoặc lệnh ghép) sau từ khóa then.

- Về ngữ nghĩa: Cả hai dạng đều kiểm tra điều kiện và thực hiện câu lệnh (lệnh đơn hoặc ghép) sau từ

khóa then khi điều kiện đúng.

* Khác nhau:

- Về cú pháp:

+ Dạng đủ mới có từ khóa else, sau từ khóa else còn có câu lệnh khác.

+ Dạng đủ kiểm tra một điều kiện, thực hiện 2 câu lệnh, còn dạng thiếu một điều kiện một câu lệnh

- Về ngữ nghĩa: Ở dạng đủ nếu điều kiện sai thì thực hiện câu lệnh sau else

Câu 9:

* Câu lệnh ghép: Là câu lệnh được hợp thành từ nhiều câu lệnh thành phần (đơn hoặc ghép), nhằm thực hiện

thao tác gồm nhiều thao tác thành phần Mỗi thao tác thành phần tương ứng với một câu lệnh đơn hoặc câu lệnhghép khác

Đ IF

Điều kiện

Trang 39

* Tại sao phải có câu lệnh ghép: Về mặt ngôn ngữ lập trình câu lệnh ghép là một trong các yếu tố cần thiết để

xây dựng chương trình có cấu trúc

Write(‘Nhap gia tri a va b:’); Readln(a,b);

If a<>0 then Writeln(‘x=’,-b/a:10:2) Else If b=0 then

Writeln(‘Phuong trinh vo so nghiem’)

Else Writeln(‘Phuong trinh vo nghiem’);

Trang 40

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

I MỤC TIÊU

1 Kiến thức

- Biết được ý nghĩa của cấu trúc lặp

- Biết được cấu trúc chung của lệnh lặp for trong ngôn ngữ lập trình Pascal

- Biết sử dụng đúng hai dạng lệnh lặp For trong ngôn ngữ lập trình Pascal

2 Kĩ năng

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

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

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

- Máy vi tính, bút dạ, máy chiếu projector, sách giáo khoa, sách giáo viên

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

IF a < 0 THEN Write(‘a:10:2, la so am’);

ELSE Writeln(‘Can bac hai cua’,a:5:2, ‘la’, SQRT(a):10:2 );

READLN

END.

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

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

bài toán tổng_1.(SGK)

 Hãy xác định công thức toán học

để tính tổng?

 Gợi ý phương pháp: Ta xem

tổng S như là một cái bể chứa

nước, các số hạng như là những

cái ca có dung tích khác nhau, khi

đó việc tính tổng trên tương tự

việc đổ các ca nước vào trong bể

chứa S

 Có bao nhiêu lần đổ nước vào

thùng?

 Mỗi lần đổ một lượng là bao

nhiêu? lần thứ i đổ bao nhiêu?

 Phải viết bao nhiêu lệnh?

2 Nêu bài toán đặt vấn đề như

bài toán tổng_2

 Tương tự như vậy, ta xem việc

tính tổng này như công việc đổ

nước vào bể chứa S

 Ta phải thực hiện tính bao nhiêu

 Theo dõi gợi ý

 Phải thực hiện 100 lần đổ nước

Xét bài toán sau:

* Bài toán số 1: Tính và đưa ra màn

1 0

11

Ngày đăng: 14/09/2021, 07:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

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

w