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

Giáo án tin học 11 - Bộ 1

74 793 1

Đ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 74
Dung lượng 689 KB

Nội dung

LƯU Ý SƯ PHẠM: 1 Trong chương trình lớp 10 các em đã được biết đến một số khái niệm: ngôn ngữ lậptrình, chương trình dịch; nên trong bài này chúng ta nên trình bày rõ cho học sinh hiểu v

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 : §1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH

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

1 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

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

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

4 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

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

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

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

III LƯU Ý SƯ PHẠM:

1 Trong chương trình lớp 10 các em đã được biết đến một số khái niệm: ngôn ngữ lậptrình, chương trình dịch; nên trong bài này chúng ta nên trình bày rõ cho học sinh hiểu

về biên dịch và thông dịch

IV NỘI DUNG BÀI GIẢNG:

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

Ổ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

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

-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

Trang 2

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

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

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ần phải có chương trình dịch để chuyểnchương trình viết bằng ngôn ngữ lập trình bậccao sang ngôn ngữ máy để máy có thể thihà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ộtchươ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ạidãy các bước sau:

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

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

Trang 3

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

V CỦNG CỐ , DẶN DÒ:

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

Trang 4

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

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

 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

 Hiểu và phân biệt được 3 thành phần này

 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

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

 Biết đặt tên đúng

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

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

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

III LƯU Ý SƯ PHẠM:

 Phần này bắt đầu một kiến thức mới, ngoài giới thiệu cho các em biết các khái niệmmới, cần giải thích sự khác nhau giữa cú pháp và ngữ nghĩa

 Riêng các thành phần cơ sở của Pascal, với mỗi khái niệm cần nên lấy ví dụ minh họađúng-sai, và ví dụ sự khác biệt giữa chúng, nên minh họa bằng một đoạn chương trìnhđơn giản

IV NỘI DUNG BÀI GIẢNG:

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

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

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

- Mỗi ngôn ngữ lập trình thường có 3 thànhphầ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ácchữ số 0  9 và một số ký tự đặc biệt (xemtrong SGK)

Trang 5

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

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ừ

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,

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

b.Cú pháp: Là bộ quy tắc dùng để viết

chương trình

c Ngữ nghĩa: Xác định ý nghĩa thao tác cần

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

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

- Lỗi cú pháp được chương trình dịch pháthiệ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ạychương trình

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

a Tên

- Mọi đối tượng trong chương trình đềuphải được đặt tên Mỗi ngôn ngữ lập trình

có một quy tắc đặt tên riêng

- Trong ngôn gnữ Turbo Pascal tên là mộtdãy liên tiếp không qúa 127 ký tự baogồm các chữ cái, chữ số và dấu gạch dướinhưng phải bắt đầu bằng chữ cái hoặcdấu gạch dưới

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

255 ký tự

- Ngôn ngữ lập trình Pascal không phânbiệt chữ hoa, chữ thường nhưng một sốngôn ngữ lập trình khác lại phân biệt chữhoa và chữ thường

- Ngôn ngữ lập trình thường có 3 loại tên

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

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

Tên dành riêng:

Trang 6

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

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 những

+ Delta là tên để lưu giá trị của Delta

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

- Là những tên được ngôn ngữ lập trìnhquy định với ý nghĩa xác định mà ngườilập trình không thể dùng với ý nghĩakhá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 đượctrù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áunháy “ hoặc ””

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

Biến:

- Là đại lượng được đặt tên, giá trị có thểthay đổi được trong chương trình

- Các NNLT có nhiều loại biến khác nhau

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

Trang 7

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ì

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

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

IV.CỦNG CỐ , DẶN DÒ :

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

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

Trang 8

CHƯƠNG II:

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

§3 CẤU TRÚC CHƯƠNG TRÌNH

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

 Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình

 Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần

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

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

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

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

III LƯU Ý SƯ PHẠM:

 Cách dạy hiệu qủa nhất là có một chương trình mẫu với đầy đủ các thành phần củamột chương trình, chỉ cho học sinh từng thành phần trong chương trình đó và thànhphần nào có thể có, thành phần nào bắt buộc phải có …

IV.NỘI DUNG BÀI GIẢNG:

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

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

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ự đặttheo đúng quy tắc đặt tên

Ví dụ : Program Bai_1;

Trang 9

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

GV : Đưa ra những ví dụ khác nhau về cách

viết thân chương trình trong các ngôn ngữ lập

trình khác nhau

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

Program Tong;

Khai báo thư viện:

- Trong ngôn gnữ Pascal : Uses <tên thư viện>;

- Trong ngôn ngữ C++ : #include<Tên tệp thư viện>

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 đềuphải khai báo để chưoyng trình dịch biết

- Thân chương trình thường có cặp dấuhiệ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

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

Xét hai chương trình đơn giản trong 2 ngôn

Trang 10

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

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

ngữ khác nhau sau đây :

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

PascalProgram VD;

Begin Write(‘Chao cac ban’);

}

V CỦNG CỐ , DẶN DÒ:

 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ànhphần của chương trình đó

Trang 11

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

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

 Biết một số kiểu dữ liệu định sẵn: nguyên, thực, ký tự, logic, và miền con

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

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

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

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

III LƯU Ý SƯ PHẠM:

 Trong phần này giáo viên chú ý cần lấy nhiều ví dụ đơn giản để học sinh luyện tập việc xác định kiểu dữ liệu cần khai báo …

IV NỘI DUNG BÀI GIẢNG:

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

Ổ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

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

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

những dạng nào ?

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

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

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

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

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

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

số thực

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

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

chúng là đúng hay sai

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

sau :

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

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

kiểu đơn giản này ta có thể xây dựng

thành những kiểu dữ liệu phức tạp hơn

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

của nó, máy tính không thể lưu trữ tất cả

các số trên trục số nhưng nó có thể lưu

trữ với độ chính xác cực cao

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

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

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

REAL 0 hoặc nằm trong

(10-38  1038) 6EXTENDED 0 hoặc nằm trong

(10-4932  104932)

10

Trang 12

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

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

khác nhau

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

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

lượng ô nhớ để lưu một giá trị thuộc kiểu

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

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

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

đúng – sai Mỗi ngôn ngữ khác nhau lại

có cách mô tả kiểu logic khác nhau,

Pascal dùng True – False nhưng một số

ngôn ngữ khác lại mô tả bằng 0 – 1,… Có

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

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

hên những giá trị dạng này

3 Kiểu kí tự

- Tên kiểu: CHAR

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

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

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

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

bảng chữ cái tiếng Anh xếp liên tiế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ậptrình nào thì cần tìm hiểu đặc trưng củacác kiểu dữ liệu của ngôn ngữ đó

V CỦNG CỐ , DẶN DÒ:

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

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

dữ liệu tương ứng

Trang 13

§5 KHAI BÁO BIẾN

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

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

 Khai báo đúng

 Nhận biết được khai báo sai

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

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

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

III LƯU Ý SƯ PHẠM:

Trong phần này giáo viên chú ý cần llấy nhiều ví dụ đơn giản để học sinh luyện tập việcxác định kiểu dữ liệu và tự khai báo biến

Chú ý cho học sinh :

 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 qúa ngắn hay quá dài, dễ dẫn đến mắc lỗi hoặc hiểu nhầm

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

IV NỘI DUNG BÀI GIẢNG :

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

Ổ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

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 trong

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

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

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

Trong đó:

+ Var : là từ khóa dùng để khai báo biến + Danh sách biến : tên các biến cách nhau

bởi dấu phẩy

+ Kiểu dữ liệu : là một kiểu dữ liệu nào đó

của ngôn ngữ Pascal

+ Sau Var có thể khai báo nhiều danh sách

biến có những kiểu dữ liệu khá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

Trang 14

GV : Phân tích câu trả lời của học sinh + Khai báo biến cần quan tâm đến phạm vi

giá trị của nó

V CỦNG CỐ , DẶN DÒ :

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

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

Trang 15

§6 PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

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

 Giới thiệu phép toán, biểu thức số học, hàm số học chuẩn và biểu thức quan hệ

 Hiểu lệnh gán

 Viết được lệnh gán

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

 Viết được biểu thức số học và logic với các phép toán thông dụng

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

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

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

III LƯU Ý SƯ PHẠM:

Đối với việc dạy phép toán, cần chú ý cho học sinh một số phép toán thường khôngdùng trong toán học, và một số phép toán có kí hiệu khác với kí hiệu trong toán học.Kết quả của phép toán quan hệ mang giá trị logic

Đối với việc dạy biểu thức số học, cần phân biệt cho học sinh cách viết biểu thức sốhọc trong toán học và trong tin học Kiễu giá trị của biểu thức thường là kiểu của biến,hay hằng có độ lớn kiểu lớn nhất trong nó, nên sử dụng biến trung gian để tránh việc sửdụng biến nhiều lần

Khi dạy biểu thức quan hệ và biểu thức logic, cần lấy nhiều ví dụ từ đơn giản đến phứctạp để học sinh có thể tính toán đưa ra giá trị của biểu thức, hay nêu ví dụ cụ thể về cácmối quan hệ trong cuộc sống để học sinh tự đưa ra biểu thức logic

Tại câu lệnh gán cần cho học sinh hiểu lệnh gán là lấy giá trị của biểu thức bên phải

để đưa vào biến bên trái, hay thay giá trị biến bên trái lệnh gán bằng giá trị của biểuthức bên phải Có thể cho học sinh so sánh với phép so sánh bằng và từ đó phân biệt dễdàng

IV NỘI DUNG BÀI GIẢNG :

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

Ổ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

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

- Ngôn ngữ lập trình nào cũng sử dụng đếnphé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:

Trang 16

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

- 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ệ <, <= , >, >=, =,

<>: Cho kết qủa là một giá trị logic (Truehoặ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áchàm

- Dùng cặp dấu () để qui định trình tự tínhtoá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ủabiến hoặc hằng có miền giá trị lớn nhấttrong 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ấpsẵ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

Trang 17

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ề

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

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

Ví dụ:

- Ba số dương a, b, c là độ dài ba cạnh tamgiác nếu biểu thức sau cho giá trị đúng (a+ b > c) and (b+ c >a) and (c+ a >b)

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

(x >= 0) and (x <= 5)

6 Câu lệnh gán

- Lệnh gán là cấu trúc cơ bản nhất của mọingôn ngữ lập trình, thường dùng để gángiá 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ênbiến Có nghĩa là kiểu của tên biến phảicùng kiểu với kiểu của biểu thức hoặcphả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ủabiểu thức sau đó ghi giá trị đó vào tênbiế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 đơnvị

V CỦNG CỐ , DẶN DÒ:

 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

Trang 19

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

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

 Biết lệnh vào ra đơn giản để nhập thông tin từ bàn ph1im và đưa thông tin ra mànhình

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

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

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

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

III. LƯU Ý SƯ PHẠM :

 Cần chú ý cho học sinh phân biệt giữa 2 lệnh nhập dữ liệu liệu Read và Readln, khinhập dữ liệu nên dùng Readln vì nếu không có thể làm trôi lệnh readln; (không tham số)tiếp theo

 Cần hướng dẫn cụ thể cho học sinh việc sử dụng lệnh Write và Writeln, các cách đểhiển thị dữ liệu, các kiểu dữ liệu trong nó

 Cần hướng dẫn học sinh cách kết hợp hai lệnh vào ra dữ liệu khi viết chương trìnhcho hợp lý, sáng sủa (tốt nhất là viết chương trình cụ thể, đơn giản)

IV. NỘI DUNG BÀI GIẢNG:

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

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

Trong ngôn ngữ Pascal các thủ tục vào rachuẩn viết như sau :

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.

Ví dụ 2 : Xét chương trình sau:

Trang 20

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

GV : Mỗi ngôn ngữ có cách đưa thông tin ra

Lấy ví dụ minh họa cụ thể bằng chương trình

Có thể lấy dữ liệu của phần nhập dữ dữ liệu

sửa để học sinh thấy việc khác nhau giữa 2

lệnh Write và Writeln

Minh họa quy cách đưa thông tin ra bằng

chương trình

Sửa lại ví dụ 2 của phần 1 để dữ liệu của 3 số

phân cách nhau – người dùng có thể phân biệt

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

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

- Để đưa dữ liệu ra màn hình tại vị trí contrỏ, ta dùng thủ tục WRITE hoặcWRITELN với cấu trúc :

Write/Writeln(<Giá trị 1>, <Giá trị 2>,

…,<Giá trị n>);

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

Ví dụ:

Write(a, b, c);

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

-Thủ tục Writeln sau khi đưa kết quả ra sẽchuyển con trỏ màn hình xuống đầu dòng tiếptheo

Ngoài ra trong TP còn có qui cách đưathông tin ra như sau :

Kết quả thực hiện :<Độ rộng>:<Số chữ số thập phân>

Kết quả khác: :<Độ rộng>

Ví dụ: Write(N : 8);

Writeln(‘X = ’,X:8:3);

Trang 21

Ví dụ 1:

Để nhập giá trị từ bàn phím ta thường dùng:

Write(‘Nhap gia tri cua M:’); {1}

Readln(M) {2}

Trong đó: {1} Đưa ra thông báo:

Nhap gia tri cua M:

Còn {2} Dùng để đọc giá trị và gán cho biến

Write(‘Vay la ban co’,N -1,‘nguoi bantrong lop’);

Write(‘Go Enter de ket thuc chuong trinh’); Readln;

End

VI.CỦNG CỐ , DẶN DÒ:

 Lấy 1 ví dụ đơn giản lập trình trực tiếp trên máycho học sinh quan sát

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

Trang 22

§ 8

SOẠN THẢO, DỊCH, THỰC HIỆN

VÀ HIỆU CHỈNH CHƯƠNG TRÌNH

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

 Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình

 Biết một số công cụ của môi trường Turbo pascal

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

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

và tính hợp lý của kết quả thu được

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

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

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

III LƯU Ý SƯ PHẠM:

Ta có thể gõ một chương trình từ đầu, tạo ra các lỗi điển hình, sửa lỗi, làm mịn chươngtrình để học sinh có thể hình dung ra quá trình lập trình, sử dụng chương trình dịch đểgiúp tìm lỗi, lập trình nhanh hơn

IV NỘI DUNG BÀI GIẢNG :

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

Ổ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

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

Màn hình làm việc ngôn ngữ Pascal có dạngnhư sau:

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

-Xuống dòng: Enter-Ghi file vào đĩa: F2-Mở file đã có: F3-Biên dịch chương trình: Alt + F9-Soát lỗi chương trình: F9

-Chạy chương trình: Ctrl + F9-Đóng cửa sổ chương trình: Alt + F3-Chuyển qua lại giữa các cửa sổ: F6-Xem lại màn hình kết qủa: Alt + F5-Thoát khỏi Turbo Pascal: Alt + X

Trang 23

năm sinh, trả ra kết quả là tuổi của người đó.

V CỦNG CỐ , DẶN DÒ:

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

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

Trang 24

§9 CẤU TRÚC RẼ NHÁNH

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

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

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

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

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

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

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

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

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

III LƯU Ý SƯ PHẠM :

 Nên sử dụng các thuật toán các em đã học ở lớp 10

 Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinhđạt được những kỹ năng theo yêu cầu

IV NỘI DUNG BÀI GIẢNG :

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

Ổ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

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ươngtrình vô nghiệm, ngược lại thì phương trình

Trang 25

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

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à

GV : Phân tích sự tiện lợi trong cách 2 và số

lệnh mà máy phải thực hiện

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

2 Câu lệnh If – Then

Pascal dùng câu lệnh If – then để mô tảviệc rẽ nhánh tương ứng với hai loại mệnh đề rẽnhánh như nhau

- Đ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ôngthự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âulệ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

Cách 1 :

Max :=a; If b >a Then max :=b;

Trang 26

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 ngôn

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

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

X2 := - B/A – X1;

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

Trang 27

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

V CỦNG CỐ , DẶN DÒ:

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

 Nhắc lại cấu trúc câu lệnh IF – THEN, IF – THEN – ELSE thông qua các ví dụ

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

Trang 28

§10 CẤU TRÚC LẶP

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

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

 Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước

 Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể

 Mô tả thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp

 Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước

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

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

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

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

III LƯU Ý SƯ PHẠM :

 Cần tổng kết 3 loại cấu trúc điều khiển: tuần tự, rẽ nhánh và lặp

 Bước đầu hình thành khái niệm lập trình có cấu trúc cho học sinh

 Cần xây dựng các bài thực hành và tổ chức thực hiện tại phòng máy để học sinh đạtđược những kỹ năng theo yêu cầu

 Khi dạy lệnh lặp, với mỗi một dạng lệnh lặp, tốt nhất viết một ví dụ cụ thể, với số lầnlặp nhỏ rồi viết mô tả việc hoạt động của vòng lặp bằng cấu trúc tuần tự (thể hiện sựtương đương trong công việc nhưng lệnh lặp diễn tả ngắn hơn nhiều) điều đó cũnggiúp học sinh hiểu hơn về vòng lặp)

IV NỘI DUNG BÀI GIẢNG :

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

Ổ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

GV : Đưa ra bài toán, yêu cầu học sinh tìm

cách để lập trình giải các bài toán này

HS : Đưa ra cách giải của mình, học sinh có

thể đưa ra những cách giải khác nhau

GV : Đưa ra cách giải cho bài toán

Giải theo các lệnh tuần tự

S1:=0;

If (1/a>0.0001) then S1:=S1+ 1/a;

If (1/(a+1)>0.0001) then S1:=S1+ 1 /(a+1);

If (1/(a+2)>0.0001) then S1:=S1+ 1 /(a+2);

If (1/(a+3)>0.0001) then S1:=S1+ 1 /(a+3);

1 1

a a Bài toán 2 : Tính Tổng

2

1 1

1 1

a a

Với điều kệin 1  0 0001

N a

Cách giải :

Trang 29

HS : Nhận xét với việc giải bài toán theo

cách đó ?

Với N = 100 thì lặp 100 lần như thế nhưng

theo việc kiểm tra điều kiện thì không biết

phải làm theo cách nào? Theo cả hai trường

hợp thì đều quá dài

Để học sinh hiểu được khái niệm lặp, giáo

viên đưa ra một số ví dụ trong thực tế được

tính toán lặp đi lặp lại nhiều lần

VD1 : Bài toán gửi tiền vào ngân hàng.

Hằng tháng phải tính lãi và cộng thêm vào

gốc đang gửi hay nói cách khác gốc của

tháng sau = gốc + lãi tháng trước

VD 2: Tính tổng của một đoạn số nguyên mà

không được dùng công thức

N:=101;

B2: N := N -1;

B3: Nếu N < 1 thìchuyển sang bước5;

B4: S:= S+

1/(a+N) rồi quaylại B2;

B5: Đưa ra S rồikết thúc

GV : Gọi một số học sinh nhận xét về 2 thuật

- Bắt đầu S được gán giá trị 1/a

- Tiếp theo mỗi lần cộng thêm vào S là1/(a+N) với N = 1, 2, 3, …

- Với bài toán 1, việc cộng thêm dừng khi1/(a+N) < 0.0001, => số lần lặp chưa biết

- Với bài toán 2, việc cộng thêm dừng khi N

= 100, => số lần lặp đã biết trước

Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp Lặp thường có 2 loại :

 Lặp với số lần biết trước

 Lặp với số lần không biết trước NNLT nào cũng cung cấp một số câu lệnh để

mô tả các cấu trúc lặp như trên

Sau đây chúng ta sẽ tìm hiểu các câu lệnhtrong ngôn ngữ Pascal

2 Lặp có số lần biết trước và câu lệnh for – do

Trong Pascal, có 2 lọai câu lệnh lặp có số lầnbiết trước :

- Lặp dạng tiến:

For <biến đếm> := <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

- Lặp dạng lùi

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

<giá trị đầui> do <câu lệnh>;

Trong đó:

Biến đếm thường là biến kiểu số

nguyên

Giá trị đầu, giá trị cuối là các biểu thức

cùng kiểu với biến đếm Giá trị đầu phải

nhỏ hơn hay bằng giá trị cuối.

 Ở dạng lặp tiến: Biến đếm tự tăng dần

từ giá trị đầu đến giá trị cuối

 Ở dạng lặp lùi: Biến đếm tự giảm dần từgiá trị cuối đến giá trị đầu

 Tương ứng với mỗi giá trị của biếnđếm, câu lệnh sau do thực hiện 1 lần

Trang 30

 Cái gì thay đổi trong thuật toán này?

Sau khi so sánh hai thuật toán trên, giáo viên

đưa ra hai cách lặp trong ngôn ngữ Pascal,

giải thích ý nghĩa của các thành phần trong

câu lệnh

GV : Lấy ví dụ minh họa trong Pascal để các

em thấy được sự thay đổi giá trị của biến đếm

trong một chương trình thực sự của Pascal

Với 2 ví dụ này, giáo viên nên gõ sẵn

chương trình và cho học sinh quan sát việc

chạy chương trình, giáo viên vừa cho chạy

chương trình vừa giải thích ý nghĩa các lệnh

trong chương trình (chú ý nhiều đến lệnh lặp)

GV : Đưa ra thuật toán hoặc có thể yêu cầu

học sinh tự xây dựng thuật toán giải bài toán

2, nếu tự xây dựng được thuật toán thì các em

sẽ hiểu hơn về lặp không biết trước số lần

Đưa thêm ví dụ : Nhắc lại bài toán gửi

tiền vào ngân hàng: Nếu có số tiền là A,

muốn gửi vào ngân hàng để được số tiền là B

> A thì cần gửi trong bao lâu với lãi suất là k

%

Yêu cầu học sinh đưa ra cách giải cho

bài toán này

GV : Phân tích phương án trả lời của học

sinh sau đó đưa ra lời giải cho bài toán

GV : Đưa ra cấu trúc câu lệnh While – Do

Trong Pascal, giải thích ý nghĩa các thành

phần

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

GV: Nên gõ sãn những ví dụ này để học sinh

có thể quan sát chương trình, giáo viên chạy

thử chương trình trong Pascal

Ví dụ 1 : Hai chương trình cài đặt thuật toán

_ Pascal sử dụng câu lệnh lặp While

- Do để tổ chức lặp với số lần chưa viết nhưsau

While <Điều kiện> Do <Câu lệnh>;

Trong đó

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

- Câu lệnh là một câu lệnh trong Pascal.

Ý nghĩa : Khi điều kiện còn đúng thì còn

thực hiện câu lệnh sau Do sau đó lại quay lại

kiểm tra điều kiện.

Ví dụ 1 : Chương trình của bài toán 1.

Ví dụ 2 : Tìm ước chung lớn nhất của M và N.

Trang 31

Riêng với VD 2, trước khi đưa ra thuật toán,

GV nên cho học sinh xây dựng thuật toán tìm

ước chung lớn nhất (đã học ở lớp 10)

Chạy chương trình với nhiều cặp M, N khác

nhau

Tốt nhất chạy từng bước, cho học sinh thấy

sự thay đổi của các biến

Thuật toán :B1: Nếu M = N thì ƯCLN := M;

Kết thúc

B2: Nếu M > N thì M := M – N rồi quay lạiB1, ngược lại N := N – M rồi quay lại B1Sau đây là chương trình tìm UCLN;

V CỦNG CỐ , DẶN DÒ:

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

 Nhắc lại cấu trúc câu lệnh

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

Trang 32

Chương IV : KIỂU DỮ LIỆU CÓ CẤU TRÚC

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

1 Về kiến thức

Hiểu khái niệm mảng một chiều và hai chiều

Hiểu cách khai báo và truy cập đến các phần tử của mảng

2 Về kỹ năng

Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một chiều Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng

3 Tư duy, thái độ

Rèn luyện thái độ cẩn thận, chính xác của người học lập trình

II.PHƯƠNG PHÁP

Chủ yếu là phương pháp thuyết trình, gợi mở, vấn đáp có đan xen hoạt động nhóm

III CHUẨN BỊ

Giáo viên: Giáo án, giáo án điện tử, máy tính, màn chiếu

Học sinh: SGK, ôn bài cũ, đọc bài, chuẩn bị bài mới

IV CÁC BƯỚC TIẾN HÀNH

1 Kiểm tra sĩ số

2 Kiểm tra bài cũ: Vì là chương mới nên không kiểm tra bài cũ.

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

Trước khi vào bài, giáo viên đưa ra một số vấn đề

cần giải quyết như sau :

Với những kiểu dữ liệu như đã biết, làm thế nào để:

-Lưu trữ và xử lý một dãy số?

-Lưu trữ và xử lý Họ và tên của một người?

-Lưu trữ và xử lý bảng kết quả thi tốt nghiệp?

HS : Đưa ra các phương án để trả lời cho 3 câu hỏi

trên

GV : Các ngôn ngữ lập trình thường cung cấp một

số kiểu dữ liệu được xây dựng từ những kiểu dữ

liệu chuẩn gọi là kiểu dữ liệu có cấu trúc

Chương này chúng ta sẽ tìm hiểu một số kiểu

dữ liệu trong ngôn ngữ Pascal để trả lời 3 câu hỏi

Trong lập trình thường có 2 loại mảng :

-Mảng một chiều -Mảng hai chiều

Trang 33

Bằng cách nào để lưu trữ được thông tin dưới dạng

bảng khi lập trình ?

HS : Đưa ra ý kiến

GV : Đánh giá ý kiến của học sinh, sau đó đưa ra

mục đích của việc sử dụng cấu trúc mảng trong

chương trình

GV : Đưa ra khái niệm mảng một chiều và một số

yếu tố liên quan trong lập trình nói chung

GV : Đi sâu phân tích hai chương trình để cho học

sinh nhận thấy sự tiện lợi khi sử dụng mảng

HS : Trong khi giáo viên phân tích hai chương

trình, học sinh sẽ đưa ra ý kiến nhận xét về 2

chương trình

GV : Đưa ra cách khai báo mảng một chiều trong

ngôn ngữ Pascal, giải thích ý nghĩa của các từ khóa

mới

GV : Khai báo bằng cách nào tiện lợi hơn?

HS : Thường thì học sinh trả lời cách 1 tiện lợi

hơn?

GV : Tùy trường hợp cụ thể mà ta dùng cách 1 hay

cách 2 nhưng thông thường ta sử dụng cách 1

GV : Sử dụng một sồ hình ảnh trực quan minh họa

cho học sinh cấu trúc mảng và chỉ số của phần tử

1 Kiểu mảng một chiều

- Mảng một chiều là một dãy hữu hạncác phần tử có cùng kiểu, mảng đượcđặt tên và mỗi phần tử mang một chỉ

số Để mô tả mảng một chiều ta cầnxác định kiểu của các phần tử và cáchđánh chỉ số các phần tử

Với mảng một chiều ta quan tâm đến :

-Tên mảng một chiều -Số lượng phần tử trong mảng -Kiểu dữ liệu của phần tử -Cách khai báo biến mảng mộtchiều

-Cách truy cập vào từng phần tửcủa mảng

Xét ví dụ : Nhập vào nhiệt độ trung

bình mỗi ngày trong tuần Tính và đưa

ra màn hình nhiệt độ trung bình của cảtuần và đếm số ngày có nhiệt độ lớnhơn nhiệt độ trung bình này

Quan sát hai chương trình viết bằngngôn ngữ Pascal cùng để giải bài toántrên

-Chương trình 1 : Không sử dụngkiểu mảng

-Chương trình 2 : Sử dụng kiểumảng một chiều

a> Khai báo mảng một chiều

Trong ngôn ngữ Pascal, mảng mộtchiều được khai báo bằng hai cách nhưsau :

Trang 34

Nếu có nhiều thời gian, giáo viên sẽ tiến hành soạn

chương trình từ đầu để học sinh có thể dễ dàng

nhận ra các thao tác cần phải thực hiện khi viết

TypeArrayInteger=Array[1 100] of Integer;ArrayReal=Array[1.50] of Real;

Var A : Array[1 50];

B : Array[1 50] of Real;

Khai báo mảng trực tiếp :

Var A : Array[1 100] of Integer ;

Chương trình như sau :

Program timmax ;Uses crt ;

var a : array[1 250] of integer ; n,i,max,csmax : Integer ;Begin

clrscr ; Write('Nhap n = ') ;

Trang 35

GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán

HS : Xây dựng thuật toán để giải bài toán (thuật

toán đã học ở lớp 10)

GV soạn sẵn chương trình và cho học sinh quan

sát chương trình

Nếu có thời gian, giáo viên sẽ tiến hành soạn

chương trình từ đầu để học sinh có thể dễ dàng

nhận ra việc chuyển đổi ngôn ngữ từ ngôn ngữ

thuật toán sang ngôn ngữ lập trình

Readln(n) ; For i := 1 to n do Begin

Write('a[',i,'] = ') ; readln(a[i]) ; End ;

max := a[i] ; csmax := 1 ; For i := 2 to n do

If a[i] > max then Begin

max := a[i] ; csmax :=i ; End ;

Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ;

Readln ; End

Ví dụ 2 : Sắp xếp dãy số nguyên theo

bằng thuật toán tráo đổi

- Input : Số nguyên dương N và dãy

+ Làm tương tự đối với những sốcòn lại

Chương trình như sau :

Program sapxep ;Uses crt ;

var A : Array[1 250] of integer ; n,i,j,tg : Integer ;

Begin clrscr ; Write('Nhap so phan tu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ; readln(A[i]) ;

Trang 36

GV : Đưa ra ví dụ, nhắc lại ý tưởng của thuật toán

HS : Xây dựng thuật toán để giải bài toán (thuật

toán đã học ở lớp 10)

GV soạn sẵn chương trình và cho học sinh quan sát

chương trình

Nếu có thời gian, giáo viên sẽ tiến hành soạn

chương trình từ đầu để học sinh có thể dễ dàng

nhận ra việc chuyển đổi ngôn ngữ từ ngôn ngữ

thuật toán sang ngôn ngữ lập trình

End ; For j := n downto 2 do Begin

For i := 1 to j-1 do

If A[i] > A[i+1] then Begin

tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ;

End ; Writeln('day sau khi sap xep : ') ; For i := 1 to n do

write(a[i]:8) ; readln ;End Writeln('chi so ptu lon nhat : ',csmax); readln ;

End

Ví dụ 3 : Tìm kiếm nhị phân

-Input : Dãy số A1, A2,………, AN

đã được sắp xếp tăng dần

-Output : Có hay không chỉ số i

mà A[i] = k hoặc thông báokhông tìm thấy

var A : Array[1 250] of integer ; n,i,k : Integer ;

dau,cuoi,giua : Integer ;

TK : boolean ;

Begin clrscr ; Write('Nhap so ptu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ; readln(A[i]) ;

Trang 37

GV : Quay lại ví dụ về lưu trữ dữ liệu dạng bảng để

các em nhận ra nhu cầu phải sử dụng mảng 2 chiều

trong lập trình

GV : Khai báo cách nào tiện lợi hơn (tương tự

mảng 1 chiều) ?

HS : Thường thì học sinh vẫn chọn cách 1

GV : Tùy theo trường hợp cụ thể nhưng thường thì

cách 1 hay được dùng hơn

End ; Write('nhap so can tim k : ') ; Readln(k);

dau := 1 ; cuoi := n ;

TK := false ; while (dau <= cuoi) and Not TK Do Begin

giua := (dau+cuoi) div 2 ;

If A[giua] = k then TK := true Else

If a[giua]>k then cuoi := giua - 1 Else dau := giua + 1 ;

End ;

If TK then write('Chi so la : ',giua) else write(' Khong tim thay ');

readln ;End

-Kiểu dữ liệu của phần tử -Cách khai báo biến mảng hai chiều

-Cách truy cập vào từng phần tử của mảng

a> Khai báo mảng hai chiều

- Trong ngôn ngữ Pascal, mảnh hai chiều được khai báo như sau :

Cách 1 : Khai báo trực tiếp

Var : <Tên mảng> : Array[kiểu chỉ số dòng, kiểu chỉ số cột] of < kiểu phần tử> ;

Cách 2 : Khai báo gián tiếp thông qua

khai báo kiểu mảng

Ngày đăng: 13/07/2014, 10:00

HÌNH ẢNH LIÊN QUAN

Hình   khoảng   cách   của   trại   xa   với   trại   của   hiệu - Giáo án tin học 11 - Bộ 1
nh khoảng cách của trại xa với trại của hiệu (Trang 54)
Hình thức là gì ? Nó đóng vai trò gì ? Biến cục bộ - Giáo án tin học 11 - Bộ 1
Hình th ức là gì ? Nó đóng vai trò gì ? Biến cục bộ (Trang 56)

TỪ KHÓA LIÊN QUAN

w