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

Giáo án tin học 11 hay

67 362 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 67
Dung lượng 698,5 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ỗi loại máy có một ngôn ngữ riêng, thường thì chương trình viết bằng ngôn ngữ của máy nào chỉ chạy được trên máy 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

Trang 1

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

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

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

1 Kiến thức

- Nắm được các thành phần cơ bản của ngôn ngữ lập trình nói chung

- Biết được khái niệm về chương trình dịch

- Phân biệt được chươn trình dịch là biên dịch và thông dịch

2 Kỹ năng

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

- Hiểu ý nghĩa nhiệm vụ của chương trình dịch

3 Thái độ

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

II CHUẨN BỊ

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

2 Hs: Đọ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

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

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

IV NỘI DUNG

Hoạt động 1: Khái niệm về lập trình và ngôn ngữ lập trình GV: Đặt câu hỏi 1: Em hãy cho biết các

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

GV: Đặt câu hỏi 2: Em hãy cho biết có

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

HS: Trả lời câu hỏi của giáo viên.

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

Mỗi loại máy có một ngôn ngữ riêng,

thường thì chương trình viết bằng ngôn

ngữ của máy nào chỉ chạy được trên máy

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

-Trả lời câu hỏi: 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

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ớ thi hành ngay

Trang 2

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

cao muốn thi hành được trên loại máy nào

thì cần chuyển chương trình sang ngôn ngữ

máy của máy đó

Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy

Hoạt động 2: Phân loại chương trình dịch GV: Đặt câu hỏi 3 : Làm thế nào để chuyển

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

sang ngôn ngữ máy?

Đưa ra 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?

+ Khi một người làm phiên dịch người đó

phải dịch như thế nào? (Dịch ngay từng

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

+ 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 được)

GV: Lấy ví dụ về biên dịch và thông dịch

cho học sinh có thể hình dung được mỗi

công việc

Biên dịch: Sử dụng ngôn ngữ lập trình

Pascal để dịch một chương trình viết sẵn ra

đĩa và thi hành chương trình đã dịch để học

sinh quan sát

Thông dịch: Sử dụng các lệnh trong

Command promt để thực hiện một số lệnh

của DOS hoặc dùng ngôn ngữ Foxpro để

thực hiện một số lệnh quản trị dữ liệu, học

sinh dễ dàng nhận ra việc thông dịch

Đi kèm với các chương trình dịch thường

có các công cụ như soạn thảo chương trình

nguồn, lưu trữ, tìm kiếm, phát hiện lỗi,

thông báo lỗi,… ngôn ngữ lập trình thường

chứa tất cả các dịch vụ trên

=>Cần phải có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được

Chương trình dịch có 2 loại: Biên dịch và

 Dịch toàn bộ chương trình nguồn thành một chương trình đích (ngôn ngữ máy) để

có thể thực hiện trên máy và có thể lưu trữ

để sử dụng lại khi cần

+ Thông dịch (Interpreter): Dịch lần lượt

từng câu lệnh và thực hiện ngay câu lệnh ấy

Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau:

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

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

 Thực hiện các câu lệnh vừa chuyển đổi

được

Trang 3

4 Cũng cố

 Nhắc lại một số khái niệm mới

V PHỤ LỤC

………

………

………

………

………

………

………

Trang 4

Tiết: 02 Ngày dạy: …/…/……

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

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

1 Kiến thức

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

2 Kỹ năng

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

- Nhớ các quy tắc đặt tên hằng và biến

- Biết đặt tên đúng, nhận biết tên sai

3 Thái độ

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

II CHUẨN BỊ

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

2 Hs: Hiểu kiến thức ở bài 1, đọc trước SGK bài 2

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

1 Ổn định lớp:

+ Chào thầy cô

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

2 Kiểm tra bài cũ

Câu 1: Thế nào là lập trình, ngôn ngữ lập trình?

Câu 2: Chương trình dịch là gì? Có mấy loại chương trình dịch?

3 Bài mới

Hoạt động 1: Các thành phần của ngôn ngữ lập trình GV: Các ngôn ngữ lập trình nói chung

thường có chung một số thành phần như:

Dùng những ký hiệu nào để viết chương

trình, viết theo quy tắc nào, viết như vậy có

ý nghĩa là gì? Mỗi ngôn ngữ lập trình có

một quy định riêng về những thành phần

này

Ví dụ: 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 ! nhưng

ngôn ngữ C++ lại sử dụng ngôn ngữ này

- 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 {}

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

Trang 5

Ví dụ: Xét 2 biểu thức:

A + B (1) A, B là các số thực

I + J (2) I, j là các số nguyên

Khi đó dấu + trong (1) sẽ là cộng hai số

thực, trong (2) là cộng hai số nguyên

- Mỗi ngôn ngữ khác nhau cũng có cách xác

định ngữ nghĩa khác nhau

HS: Lắng nghe, ghi chép.

GV: Đưa ra ví dụ ngôn ngữ tự nhiên cũng

có bảng chữ cái, ngữ pháp (cú pháp) và

nghĩa của câu, từ

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

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

- 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 được phát hiện khi chạy chương trình

Hoạt động 2: Một số khái niệm GV: Trong các ngôn ngữ lập trì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 cho việc sử

dụng Việc đặt tên trong 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ông

phân biệt chữ hoa, chữ thường

GV: Giới thiệu cách đặt tên trong ngôn ngữ

cụ thể Pascal

Ví dụ :

Tên đúng: a, b, c, x1, x2, _ten …

Tên sai: a bc,2x, a&b …

GV: Ngôn ngữ nào cũng có 3 loại tên cơ

bản này nhưng tùy theo ngôn ngữ mà các

tên có ý nghĩ khác nhau trong các ngôn ngữ

- Trong ngôn gnữ 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ố 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

- Trong Free Pascal, tên có thể có tối đa

Trang 6

o Trong khi soạn thảo chương trình, các

ngôn ngữ lập trình thường hiển thị các

tên dành riêng với một màu chữ khác

hẳn với các tên còn lại giúp người lập

trình nhận biết được tên nào là tên dành

riêng (từ khóa) Trong ngôn ngữ Pascal,

từ khóa thường hiển thị bằng màu

trắng

GV: Mở một chương trình viết bằng Pascal

để học sinh quan sát cách hiển thị của một

số từ khóa trong chương trình

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

cấp một số đơn vị chương trình có sẵn

trong các thư viện chương trình giúp

người lập trình có thể thực hiện được

nhanh một số thao tác thường dùng

- Giáo viên chỉ cho học sinh một số tên

chuẩn trong ngôn ngữ Pascal

GV: Đưa ra ví dụ: Để viết chương trình

giải phương trình bậc hai ta cần khai báo

- Hằng thường có 2 loại, hằng được đặt

tên và hằng không được đặt tên Hằng

không được đặt tên là những giá trị viết

trực tiếp khi viết chương trình Mỗi

ngôn ngữ lập trình có một quy định về

cách viết hằng riêng.Hằng được đặt tên

cũng có cách đặt tên cho hằng khác

nhau

- Biến là đối tượng được sử dụng nhiều

nhất trong khi viết chương trình Biến

là đại lượng có thể thay đổi được nên

thường được dùng để lưu trữ kết qủa,

làm trung gian cho các tính toán,…Mỗi

loại ngôn ngữ có những loại biến khác

người lập trình không thể dùng với ý nghĩa khác

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

- Các tên trong chương trình không được trùng nhau

b Hằng và biến

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

đổ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ố học : số nguyên hoặc số thực.+ Hằng xâu : là chuỗi ký tự đặt trong d6áu nháy “ hoặc ””

+ Hằng Logic : là các giá trị đúng hoặc sai

Trang 7

nhau và cách khai báo cũng khác nhau.

- Khi viết chương trình, người lập trình

thường 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 ta cách để đưa các chú thích

vào trong chương trình

- Ngôn ngữ khác nhau thì cách viết chú

thích cũng khác nhau

GV: 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ếu không có máy để giới thiệu thì

có thể sử dụng bản in sẵn khổ lớn chỉ cho

học sinh từng khái niệm được thể hiện trong

chương trình

- 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 { và } hoặc (* và *)

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

4 Cũng cố

 Nhắc lại một số khái niệm mới

 Cho bài tập về nhà

V PHỤ LỤC

………

………

………

………

………

………

………

………

BÀI TẬP

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

1 Kiến thức

Trang 8

- Cũng cố lại kiến thức về ngôn ngữ lập trình, chương trình dịch

- 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

2 Kỹ năng

- Biết các thành phần cơ bản 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 Quy tắc đặt tên trong Pascal, biết đặt tên đúng

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

- 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

3 Thái độ

- Nghiêm túc, tích cực trong học tập

II CHUẨN BỊ

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

2 Hs: Học bài cũ, đọc trước SGK bài mới

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

Gv: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ầu củ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ữ

Đặ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?

Hs: Suy nghĩ, trả lời câu hỏi, cho ví

dụ

Câu 1:

- 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ười lập trình

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

không phụ thuộc vào phần cứng máy tính và một chương trình có thể thực hiệ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

Câu 2:

- 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 cao thành chương trình thực hiện được trên máy tính

cụ thể

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

Trang 9

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

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

Hs: Suy nghĩ, trả lời, giải thích từng

câu hỏi,

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

sinh

Gv:

Đặ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ụ

Hs: Suy nghĩ, trả lời, giải thích từng

câu hỏi,

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

sinh

Gv: Đặ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.

Hs: Suy nghĩ trả lời

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

Gv: Đặ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

- 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ươ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ữ 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 ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được

Câu 4:

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

VD:

Tên dành riêng trong Pascal: program, uses, const, type, var,

begin, end

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

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ạch dưới;

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

- Độ dài theo quy định của chương trình dịch (TP không

quá 127 kí tự, Free Pascal khô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 đó

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ẩn cũng được coi là hằng trong Turbo Pascal;

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

4 Cũng cố

-Ôn lại các khái niệm, các tên & Chuẩn bị bài Cấu trúc chương trình

Chương 2: CHƯƠNG TRÌNH ĐƠN GIẢN

Bài 3: CẤU TRÚC CHƯƠNG TRÌNH

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

1 Kiến thức

- Cấu trúc chung của một chương trình và cấu trúc chung của một chương trình Pascal

Trang 10

2 Kỹ năng

- Hiểu và phân biệt các thành phần trong cấu trúc của một chương trình

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

3 Thái độ

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

II CHUẨN BỊ

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

2 Hs: Học bài cũ, đọc trước SGK bài mới

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG BÀI GIẢNG

1 Ổn định lớp:

+ Chào thầy cô

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

2 Kiểm tra bài cũ

Câu 1: Nêu các thành phần của ngôn ngữ lập trình?

Câu 2: Trong Pascal có máy loại tên?nêu quy tắc đặt tên?

3 Bài mới

Hoạt động 1: Cấu trúc chung của chương trình

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

Hoạt động 2: Các thành phần của chương trình

GV : Phần khai báo sẽ báo cho máy biết

chương trỉnh sẽ sử dụng những tài nguyên nào

của máy

GV : 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à ta cần

tìm hiểu xem trong chương trình ta cần khai

báo những gì

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ìnhnày cực kỳ hữu ích

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

a.Phần khai báo

- Có thể khai báo tên chương trình, hằng được đặt tên, biến, thư việ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

Ví dụ : Program Bai_1;

Program Tong;

Khai báo thư viện:

- Trong ngôn gnữ Pascal :

Trang 11

cho gnườ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

GV : Lấy một ngôn ngữ lập trình mới nhất

hiện nay, chẳng hạn Visual Basic.NET, lấy một

số lệnh để học sinh thấy được sự tiện dụng khi

sử dụng thư viện

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

tiện khi sử dụng và tránh việc phải viết lặp lại

nhiều lần cùng một hằng trong chương trình

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

GV : Lập trình bằng ngôn ngữ nào cần tìm

hiểu cách khai báo hằng của ngôn ngữ ấy

GV : Nếu có thể giáo viên giải thích để học

sinh có thể hiểu được rằng, khai báo biến là xin

máy tính cấp cho chương trình một vùng nhớ

để lưu trữ và xử lý thông tin trong bộ nhớ

trong

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

Ví dụ: Trong Turbo Pascal : Uses CRT,

Ví dụ:

Trong Pascal : Const N = 100;

e = 2.7;

Trong C++ : Const int N = 100;

Const float e = 2.7

Khai báo biến :

- Mọi biến sử dụng trong chương trình đều phải khai báo để chưoyng trình dịch biết để

xử lý và lưu trữ

- Biến chỉ mang một giá trị gọi là biến đơn(Khai báo biến sẽ trình bày ở bài 5)

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

- Thân chương trình thường là nơi chứa toàn

bộ các câu lệnh của chương trình hoặc lời gọi chương trình con

- Thân chương trình thường có cặp dấu hiệu bắt đầu và kết thúc chương trình

Ví dụ: Trong ngôn gnữ Pascal

Begin [<Các câu lệnh>]

End

Hoạt động 3: Chương trình đơn giản

GV : Cho học sinh quan sát 2 chương trình

trong 2 ngôn ngữ khác nhau là Pascal và C++

HS : Quan sát và nhận xét về cách viết của hai

chương trình trong 2 ngôn ngữ khác nhau

Thông qua đó học sinh cần nhận ra : hai

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

Xét hai chương trình đơn giản trong 2 ngôn ngữ khác nhau sau đây :

Chương trình 1 : Trong ngôn ngữ Turbo Pascal

Trang 12

chương trình cùng thực hiện một công việc

nhưng viết bằng hai ngôn ngữ khác nhau nên

hệ thống các câu lệnh trong chương trình cũng

khác nhau

Có thể thêm câu lệnh hiển thị một xâu vào

trong chương trình Pascal để thể hiện rõ hơn là

nếu muốn đưa ra câu thông báo thì ta có thể sử

dụng lệnh Writeln và xâu được để trong dấu

nháy đơn

Program VD;

Begin Write(‘Chao cac ban’);

}

4 Cũng cố

 Nhắc lại một số khái niệm mới

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

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

Bài 5: KHAI BÁO BIẾN

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

1 Kiến thức

- Biết được cấu trúc chung của một chương trình

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

- Biết đực cấu trúc chung của khai báo biến

2 Kỹ năng

- Sử dụng được kiểu dữ liệu và khai báo biến để viết được một chương trình đơn giản

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

3 Thái độ

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

II CHUẨN BỊ

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

2 Hs: Học bài cũ, đọc trước SGK bài mới

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

1 Ổn định lớp:

+ Chào thầy cô

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

2 Kiểm tra bài cũ

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

3 Bài mới

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

GV : Vấn đáp: Khi cần viết chương trình

quản lý học sinh ta cần sử lý thông tin ở

những dạng nào ?

Trang 13

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

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

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

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

- Ngôn ngữ lập trình nào cũng đưa ra

một số kiểu dữ liệu chuẩn đơn giản,

từ những kiểu đơn giản này ta có thể

xây dựng thành những kiểu dữ liệu

phức tạp hơn

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

hạn của nó, máy tính không thể lưu

trữ tất cả các số trên trục số nhưng nó

có thể lưu trữ với độ chính xác cực

cao

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

tên của các kiểu dữ liệu khác nhau và

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

cũng khác nhau

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

cần ghi nhớ tên kiểu, miền giá trị và

số lượng ô nhớ để lưu một giá trị

mã thập phân tương ứng Để lưu các

giá trị là kí tự thì phải lưu mã thập

phân tương ứng của nó

GV : Đặt câu hỏi: Em biết những bảng

mã nào?

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

GV chú ý các em NNLT Pascal chỉ sử

dụng bảng mã ASCII cho kiểu kí tự

- Kiểu logic là kiểu thường chỉ có 2 giá

trị đúng – sai Mỗi ngôn ngữ khác

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

2 Kiểu thực

- Có nhiều kiểu cho giá trị là số thực nhưng hay dùng một số kiểu sau :

Tên kiểu Miền giá trị Số Byte

REAL 0 hoặc nằm trong (10-38

- Tên kiểu: CHAR

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

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

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

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

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

4 Kiểu logic

- Tên kiểu : Boolean

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

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

- Khi viết chương trình bằng ngôn ngữ lập trình

Trang 14

nhau lại có cách mô tả kiểu logic khác

nhau, Pascal dùng True – False nhưng

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

– 1,… Có ngôn ngữ lại không có kiểu

logic mà người lập trình phải tự tìm

cách để thể hên những giá trị dạng

này

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

Hoạt động 2: Khai báo biến

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

cho máy biết phải dùng những tên nào

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

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

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

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

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

Trong đó :

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

của tam giác

p: nửa chu vi tam giác

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

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

chú ý những điều gì ?

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

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

GV: Lấy ví dụ về khai báo biến giải

phương trình bậc 2, giải hệ phương trình

bậc nhất, tính diên tích tam giác khi biết 3

cạnh

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

học sinh phân tích và tự khai báo

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

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

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

+ 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

+ 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

Ví dụ 1:

Khai báo biến giải phương trình ax2+bx+c=0(a<>0)

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

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

nhất

a1x+b1y=c1

a2x+b2y=c2

{Phương pháp thông thường}

Var a1, a2, b1, b2, c1, c2, x, y:Real;

Trang 15

dài 3 cạnh

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

4 Cũng cố

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

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

Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

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

1 Kiến thức

- Biết được các phép toán thông dụng trong ngôn ngữ lập trình

- Biết diễn đạt một số hình thức trong ngôn ngữ lâp trình

- Biết được chức năng của câu lệnh gán

- Biết được cấu trúc câu lệnh gán và một số hàm chuẩn trong ngôn ngữ lập trình Pascal

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

2 Hs: Học bài cũ, đọc trước SGK bài mới

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

1 Ổn định lớp:

+ Chào thầy cô

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

2 Kiểm tra bài cũ

Câu 1: Nêu cú pháp khai báo biến trong Pascal? Cho ví dụ.

3 Bài mới

Hoạt động 1: Phép toán, biểu thức số học

GV : Dẫn dắt vào bài: Trong khi viết

chương trình ta thường phải thực hiện các

tính toán, thực hiện các so sánh để đưa ra

quyết định xem làm việc gì? Vậy trong

chương trình ta viết thế nào? Có giống với

ngôn ngữ tự nhiên hay không? Tất cả các

ngôn ngữ có sử dụng chúng một cách

giống nhau không ?

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

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

trong toán học

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

ngữ lập trình ?

- Ngôn ngữ lập trình nào cũng sử dụng đến phép toán, biểu thức, câu lệnh gán

- Ta xét các khái niệm này trong ngôn ngữ Pascal

1 Phép toán

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

- Với số nguyên : +, -, * (nah6n), div (chia

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

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

- Các phép toán quan hệ <, <= , >, >=, =,

Trang 16

Chỉ một số phép dùng được, một số phép

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

VD : Phép lũy thừa không phải ngôn ngữ

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

GV : Mỗi ngôn ngữ khác nhau lại có cách

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

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

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

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

trình

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

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

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

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

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

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

GV : Cách viết biểu thức phụ thuộc cú

pháp từng ngôn ngữ lập trình

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

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

Pascal

HS : Gọi một vài học sinh lên bảng viết.

GV : Đặt câu hỏi, muốn tính X2 ta viết thế

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

các giá trị thông dụng

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

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

về

<>: Cho kết qủa là một giá trị logic (True hoặc False)

- Các phép toán Logic : NOT (phủ định),

OR (hoặc), AND (và): thường dùng để kết hợp nhiều biểu thức quan hệ với nhau

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

- Là một dãy các phép toán +, -, *, / Div và Mod từ các hằng, biến kiểu số và các hàm

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

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

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

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

- Giá trị của biểu thức có kiểu là kiểu của biến hoặ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ác ngôn ngữ lập trình thường cung cấp sẵn một số hàm số học để tính một số giá trị thông dụng

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

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

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

- Bản thân hàm cũng có thể coi là biểu thức

số học và có thể tham gia vào biểu thức như toán hạng bất kỳ

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

(Theo dõi SGK và màn hình)

4 Biểu thức quan hệ

Có dạng như sau:

Trang 17

VD : Sinx thì được đo bằng độ hay

radian ?

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

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

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

gọi là biểu thức so sánh 2 giá trị, cho kết

quả là đúng hoặc sai (logic)

VD : 3>5: Cho kết quả sai

GV : Đặt câu hỏi, muốn so sánh nhiều điều

kiện đồng thời làm thế nào?

HS : Đưa ra ý kiến của mình (và, hoặc,…)

Đưa ra ví dụ và cách viết đúng trong ngôn

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

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

- Biểu thức điều kiện 0 d” X d’ 5 được viết như sau:

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

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

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

GV : Minh họa một vài lệnh gán bằng một

ví dụ trực quan trên bảng hoặc trên màn

hình

6 Câu lệnh gán

- Lệnh gán là cấu trúc cơ bản nhất của mọi ngôn ngữ lập trình, thường dùng để gán giá trị cho biến

Cấu trúc:

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

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

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

Trang 18

Trong đó : lệnh thứ 3 tăng giá trị của I một đơn

vị, lệnh thứ 4 giảm giá trị biến J hai đơn vị

4 Cũng cố

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

- Cho bài tập về nhà, ngoài bài tập có trong sách có thể cho thêm nhiều biểu thức logic để học sinh về nhà tính toán tìm giá trị của nó, cho học sinh một số biểu thức trong toán học và yêu cầu viết nó trong tin học (NNLT); có thể cho thêm bài theo cột, một cột là biểu thức toán học, một cột là biểu thức trong tin học tương ứng và tìm chỗ sai của biểu thức so với trong toán

V PHỤ LỤC

BÀI TẬP

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

1 Kiến thức

- Củng cố lại hco học sinhnhững kiến thức liên quan đén tổ chức rẽ nhánh và lặp : Cấu trúc lặp, sơ

đồ thực hiện, sự thực hiện của máy khi gặp lệnh lặp

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

- Máy chiếu Projector, máy vi tính để giới thiệu ví dụ minh họa, một số chương trình mẫu

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

2 Kiểm tra bài cũ

Kiểm tra khi giảng bài

3 Bài mới

Hoạt động 1: Nhắc lại kiến thức đã học về tổ hcức rẽ nhánh và lặp

a Mục tiêu:

- Học sinh nắm được cấu trúc rẽ nhánh và lặp, sơ đồ thực hiện của máy Phân được được sự giống

và khác nhau giữa lệnh lặp For và lệnh lặp While

Trang 19

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

- Lặp While

While <điều kiện> Do <lệnh>;

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

Gv Yêu cầu học sinh nhắc lại cấu trúc rẽ

nhánh

Hs Độc lập suy nghĩ để trả lời câu hỏi

Gv: Cũng cố và nhắc lại

- Chiếu chương trình tìm giá trị lớn nhất của

hai số, trong đó có sử dụng câu lệnh rẽ

For_do: biết trước số lần lặp.

While_do: không biết trước số lần lặp.

Hoạt động 2: rèn luyện kỹ năng vận dụng tổ chức lặp.

Trang 20

a mục tiêu:

Học sinh biết sử dụng lệnh lặp để giải quyết một bài toán cụ thể Linh hoạt trong việc chọn lựa cấu trúc lặp

b Ví dụ

Ví dụ 1: Viết chương trình tính giá trị của biểu thức Y=

Ví dụ 2: Viết chương trình tính tổng Xn=13+33+…+(2n+1)3 cho tới khi Xn không nhỏ hơn 2 x

109

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

Gv Tìm hiểu bài tập 1 và giải quyết

- Chiếu nội dung ví dụ 1 lên bảng

- Có thể triển khai biểu thức Y thành tổng

các số hạng như thế nào?

Hs Suy nghĩ trả lời

Gv Dùng câu lệnh lặp nào?

Hs Thảo luận và làm việc theo nhóm

Báo cáo kết quả theo nhóm

Gv Cho học sinh tìm hiểu ví dụ 2, gợi ý và

yêu cầu học sinh về nhà làm bài

- dùng câu lệnh lặp với số lần không biết

trước

Y=1/2+2/3+3/4+…+50/51

Var n,i :integer;

Begin Y:=0;

For i:=1 to 50 do Y:=Y+n/(n+1);

Write(Y);

readln

End.

4 cũng cố

- Nhắc lại cấu trúc câu lệnh rẽ nhánh và câu lệnh lặp

- Yêu cầu học sinh làm các bài tập còn lại

- Biết được ý nghĩa của các thủ tục vào\ra chuẩn đối với lập trình

- Biết được cấu trúc chung của thủ tục vào\ra trong ngôn ngữ lập trình pascal

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

- Biết được các file chương trình cơ bản của Turbo Pascal 7.0

2 Kỹ năng

- Viết đúng lệnh vào\ra dữ liệu

- Biết nhập đúng dữ liệu khi thực hiện chương trình

- Biết khởi động và thoát khỏi hệ soạn thảo Turbo Pascal

- Soạn thảo được một chương trình vào máy

- Dịch được chương trình để phát hiện lỗi cú pháp

- Thực hiện chương trình để nhập dữ liệu và thu kết quả, tìm lỗi của thuật toán và sủa lỗi

3 Thái độ

Trang 21

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

II CHUẨN BỊ

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

2 Hs: Học bài cũ, đọc trước SGK bài mới

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

1 Ổn định lớp:

+ Chào thầy cô

+ Cán bộ lớp báo cáo sỉ số

+ Chỉnh đốn trang phục

2 Kiểm tra bài cũ

Câu 1: Kể tên và cho ví dụ về biểu thức số học?

Câu 2: Nêu cú pháp câu lệnh gán và cho ví dụ

3 Bài mới

Hoạt động 1: Thủ tục nhập dữ liệu 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 nào khi lập trình?

Làm cách nào để nhập giá trị từ bàn

phím vào cho biến

GV: Diễn giải hoạt động của

READ/READLN, nêu sự khác nhau khi

dùng Read/Readln

GV: Mỗi ngôn ngữ có cach nhập thông tin

vào khác nhau

GV: Đưa ra hai ví dụ về chương trình có

nhập thông tin vào từ bàn phím

- Ta dùng thủ tục chuẩn READ hoặc READLN

có cấu trúc như sau:

READ/READLN(<biến 1>, …,<biến n>);

Ví dụ: Read(N);

Readln(a,b,c);

Chú ý : Khi nhập dữ liệu từ bàn phím READ và

READLN có ý nghĩa như nhau, thường hay dùng READLN hơn READLN luôn chờ gõ phím Enter.

Write(‘Moi ban nhap 3 so:’);

Readln(a, b, c);

Write(‘Ban vua nhap vao 3 so:, a, b, c);

Readln;

End

Trang 22

sát, nhận xét về chương trình

Giải thích việc nhập giá trị cho nhiều

biến đồng thời

Có thể thay đổi lệnh Readln(a, b, c) trong

ví dụ 2 thánh Read(a, b, c), chạy chương

trình để học sinh thấy sự khác nhau khi sử

dụng hai lệnh này

GV : Ta thấy ở ví dụ 2 của phần 1 việc ghi

ra dữ liệu thì 3 giá trị a, b, c dính liền vào

nhau và người sử dụng không thể phân biệt

được giá trị của từng biến Vậy làm thế nào

và có những cách nào để hiển thị dữ liệu

theo ý muốn của người lập trình

Việc lập dữ liệu cho nhiều biến thì giá trị mỗi biến phải cách nhau ít nhất một dấu cách hoặc dấu Enter,máy sẽ gán giá trị cho các biến theo thứ

tự như trong lệnh tương ứng

Hoạt động 2: Thủ tục đưa dữ liệu ra màn hình

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)

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

GV : Thực hiện một vài lần các thao tác

này để các em nhận thấy mức độ tệin lợi

của nó khi soạn thảo cũng như chạy

chương trình

GV : Viết một chương trình ví dụ, thực

hiện các thao tác sửa lỗi…

Có thể lấy ví dụ yêu cầu người dùng nhập

vào năm sinh, trả ra kết quả là tuổi của

-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

4 Cũng cố:

- Biết được cấu trúc và ý nghĩa của câu lệnh nhập xuất

- Sử dụng được câu lệnh nhập xuất trong một số trường hợp đơn giản

- Về nhà học bài cũ và đọc bài mới

V PHỤ LỤC

Trang 23

Tuần: 5 Ngày soạn:03/09/2011

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

I MỤC ĐÍCH, YÊU CẦ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ỗi thuậ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 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Ị

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

2 Hs: Học bài cũ, chuẩn bị bài thực hành trong SGK

III PHƯƠNG PHÁP

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

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

IV NỘI DUNG

Trang 24

3 Bài mới

Tiết 9

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

- GV kiểm tra sự chuẩn bị nội dung thực hành của

học sinh

- HS để nội dung thực hành trước mặt

- GV hướng dẫn học sinh khởi động máy, và khởi

động chương trình Turbo Pascal hoặc Free Pascal

- Chý ý hướng dẫn của GV để khởi động máy và

chương trình Turbo Pascal hoặc Free Pascal

Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh.

- GV ghi chương trình Giai_PTB2 lên bảng

- GV yêu cầu học sinh đọc và gõ chương trình

Giai_PTB2 như trên bảng

- Học sinh quan sát trên bảng và độc lập gõ chương

trình vào máy

- GV yêu cầu học sinh thực hiện các nhiệ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ông bá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

Chương trình giải phương trình bậc hai:

write(‘x1 = ‘, x1 : 6 : 2, ’ ‘x2: = ‘, x2 : 6 : 2); readln

end.

Trang 25

- Nhập các giá trị 1 ; 0 ; -2 Thông báo kết quả của

máy đưa ra

- Nhấn phím Ctrl+F9

Hs:

- Thông báo lỗi

Gv: Vì sao lại có lỗi xuất hiện? và sửa lại cho đúng

Hs: Suy nghĩ trả lời: do delta âm.

+ Sửa lại chương trình trên không dùng đến biến D

và thực hiện chương trình đã sửa

- Thông báo lỗi và cho biết vì sao: Do căn bậc hai

của một số âm

- Thông báo lỗi với lý do delta của pt là số âm

+ Thực hiện chương trình đã sửa với bộ dữ liệu 1 ; -

5 ; 6 Thông báo kết quả

+ Thực hiện chương trình với bộ dữ liệu 1 ; 1 ; 1

Thông báo kết quả

- Nhắc lại các bước khi hoàn thành một chương trình

- Phân tích một bài toán xác đinh I/O

Hoạt động 3: Rèn luyện thêm về kỹ năng lập trình cho học sinh

GV: yêu cầu học sinh hãy viết một chương trình

tính diện tích một tam giác khi biết độ dài ba cạnh

của nó

Trang 26

Hs: Nghe và nhận nhiệm vụ.

- Phân tích theo yêu cầu của giáo viên

GV định hướng để học sinh phân tich bài toán.

+ Dữ liệu vào (Input)

+Diệu liệu ra (Output)

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

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

+ p:= (a+b+c)/2S: = sqrt(sqr(p-a)*sqr(p-b)*sqr(p-c))

sqrt(sqr(p-a)*sqr(p-b)*sqr(p-Write();

Readln

End.

4 Cũng cố

Nhắc lại các bước khi hoàn thành một chương trình

+ Phân tích bài toán để xác định dữ liệu

vào/ ra

+ Xác định thuật toán

+ Soạn chương trình

+ Lưu chương trình+ Biên dịch chương trình+ Thực hiện và hiệu chỉnh chương trình

Trang 27

………

………

Chương 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP

Bài 9: CẤU TRÚC RẼ NHÁNH

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

1 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

- 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

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

Điều kiện Đ

Trang 28

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

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)

3 Bài mới

Hoạt động 1: Khái niệm rẽ nhánh

GV : Đưa ra ví dụ rồi cùng học sinh thảo

luận phương pháp giải quyết bài toán

- Nếu  <0 thì phương trình vô nghiệm

- Nếu  >=0 thì phương trình có nghiệm

- Như vậy tùy thuộc vào giá trị của  mà

ta đưa ra vô nghiệm hay có nghiệm

- Hoặc có thể nói : Nếu  < 0 thì phương trình vô nghiệm, ngược lại thì phương trình có nghiệm

=>Như vậy ta thấy một số mệnh đề có dạng+ Nếu … thì…

+ Nếu … thì… ngược lại thì Cấu trúc này được gọi là cấu trúc rẽ

Câu lệnh 2

Trang 29

Đưa ra khái niệm rẽ nhánh trong lập

trình

Mỗi NNLT có cách thể hiện rẽ nhánh

khác nhau

nhánh

Các NNLT thường cung cấp các câu lệnh

để mô tả các cấu trúc rẽ nhánh như trên

GV : Đưa ra cấu trúc lệnh rẽ nhánh

trong Pascal Nhắc nhở học sinh đây là

cấu trúc quan trọng, nó sẽ được sử dụng

rất nhiều trong các chương trình sau này

GV : Lưu ý các em sau Then và sau Else

chỉ có một lệnh chương trình

GV : Với hai dạng này, dạng nào dùng

thuận tiện hơn ?

HS : Tìm câu trả lời, giáo viên gợi ý để

học sinh đưa ra được tùy trường hợp cụ

thể mà dùng dạng thiếu hay dạng đủ

Đưa ra các ví dụ có sử dụng lệnh rẽ

nhánh, nếu không có lệnh rẽ nhánh thì

không thể thực hiện được

GV : ở VD3: Cách nào nhanh hơn, tiện

- Điều kiện : Là biểu thức quan hệ Logic.

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

lệnh của Pascal

Ý nghĩa của các câu lệnh :

- Dạng thiếu : Nếu điều kiện đúng thì câu

lệnh được thực hiện, nếu điều kiện sai thì không thực hiện gì

- Dạng đủ : Nếu điều kiện đúng thì thực hiện

câu lệnh 1, nếu điều kệin sai thì thực hiện câu lệnh 2

VD 1 : If (X Mod 2 = 0) Then

WRITE(x,’La so chan’);

VD 2: If DELTA <0 Then

WRITE(‘PT Vo Nghiem’)

Else WRITE(‘PT co nghiem’);

VD 3: Tìm giá trị lớn nhất (max) của 2 số a

và b

Trang 30

và số lệnh mà máy phải thực hiện.

GV : Trong câu lệnh If – Then muốn

thực hiện nhiều lệnh sau Then hay nhiều

lệnh sau Else làm thế nào ?

HS : Phát biểu ý kiến của mình.

GV : Khi đó ta cần gộp nhiều lệnh đó lại

và coi đó là một câu lệnh trong chương

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

trúc để giúp ta thực hệin điều này

GV : Giới thiệu lệnh ghép của một vài

ELSE BEGIN X1 :=(-B-SQRT(DELTA))/(2*A); X2 := - B/A – X1;

WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);

END;

Hoạt động 3: Một số ví dụ

GV nên soạn sẵn hai chương trình này và

cho các em quan sát cách viết chương trình

để các em hình thành dần cách viết một

chương trình

Chạy thử chương trình và chỉ rõ các

lệnh trong chương trình dùng để làm gì

Nếu có nhiều thời gian, GV có thể gõ

từng lệnh chương trình, gõ đến đâu giải

Trang 31

thích cho học sinh đến đó.

Nếu còn thời gian, gọi học sinh lên bảng

viết câu lệnh If – Then cho một số bài

toán đơn giản

Có thể viết chương trình mẫu cho học

sinh xong, yêu cầu các em gõ lại chương

trình vừa được theo dõi mà không cần nhìn

vào bài mẫu

Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100

4 Cũng cố

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

- Nhắc lại cấu trúc If- Then

- Nhắc lại cấu trúc câu lệnh ghép

B3 Nếu max<b thì max< b

B4: nếu max <c thì max < c

Write(‘Hay nhap ba so a, b,c:’);

Readln(a, b, c);

Max:=a;

If ( Max < b) Then Max:= b;

If (Max < c) Then Max:=c;

Write(‘Max cua a, b, c la:’, Max);

Trang 32

Readln;

End

Bài 2:

Nhập 3 cạnh vào và báo cáo ra là

-Tam giác hay không?

-Tam giác thường, vuông, đều, cân!

write('Nhap 3 canh tam giac: ');readln(a,b,c);

UNTIL ((a+b)>c) AND ((a+c)>b) AND ((b+c)>a);

IF (a*a+b*b=c*c) OR (a*a + c*c=b*b) OR (b*b + c*c=a*a) THEN vuong:=TRUE;

IF ((a=b) AND (b<>c)) OR ((a=c)AND (c<>b)) OR ((c=b)AND(b<>a)) THEN can:=TRUE;

IF (a=b) AND (a=c) THEN deu:=TRUE;

IF (vuong AND NOT can) THEN write('Tam giac vuong ');

IF (NOT deu AND can) THEN write('Tam giac can');

IF (vuong AND can) THEN write('Tam giac vuong can');

IF deu THEN write('Tam giac deu');

IF (NOT vuong) AND (NOT can) AND (NOT deu) THEN

write('Tam giac thuong');

readln;

- Rèn luyện kỹ năng sử dụng cấu trúc rẽ nhánh trong việc giải một số bài toán cụ thể

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

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

Trang 33

2 Kiểm tra bài cũ:

Dùng câu lệnh lặp For_do tính tổng sau S=12+32+52+…+(2n-1)2 với n được nhập vào

Gv Gợi ý để học sinh nêu khái niện về bộ

Gv Để kiểm tra bộ ba số a,b,c có phải là

bộ 3 số Pitago ta phải kiểm tra đẳng thức

nào?

Hs Dựa vào khái niệm trả lời

Gv Yêu cầu học sinh soạn vào máy theo

Ngày đăng: 23/04/2015, 20:48

HÌNH ẢNH LIÊN QUAN

Bảng mã kí tự, trong các bảng mã hóa - Giáo án tin học 11 hay
Bảng m ã kí tự, trong các bảng mã hóa (Trang 13)
Bảng làm bài - Giáo án tin học 11 hay
Bảng l àm bài (Trang 39)
Hình chỉ số nhỏ nhất của phần từ có giá trị - Giáo án tin học 11 hay
Hình ch ỉ số nhỏ nhất của phần từ có giá trị (Trang 58)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w