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

Giáo án Tin học 11 cả năm

97 507 8

Đ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 97
Dung lượng 0,93 MB

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

Nội dung

Tiến trình dạy- 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 Nội dung ghi bảng Suy nghĩ và trả lời câu hỏi: Có 5 bư

Trang 1

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

+ 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 dạy- 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 Nội dung ghi bảng

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

Có 5 bước giải bài toán trên máy

NNLT diễn tả thuật toán)

B4: Hiệu chỉnh (Chạy thử, sửa

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

+ Hãy xác định Input, Output của bài toán trên

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

-Hệ thống các bước này chúng ta gọ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 ?

-Diễn giải: Hoạt động để diễn đạt

Bài 1

KHÁI NIỆM LẬP TRÌNH

VÀ NGÔN NGỮ LẬP

TRÌNH

Trang 2

-Nghiên cứu nội dung trong 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

một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình

-Các em hãy cho biết khái niệm về lập trình ?

- Kết quả của hoạt động lập trình ?-Ngôn ngữ lập trình gồm những loại nào ?

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

-Làm thế nào để chuyển một chươ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ôn ngữ máy để khỏi mất công chuyển đổi khi lập trình với ngôn ngữ bậc cao

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

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

-Nêu vấn đề: Em muốn giới thiệu

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

C1: Cần một người biết tiếng Anh dịch từng câu nói của em sang

Trang 3

-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 nguồn;

B2: Chuyển lệnh đó thành ngôn

ngữ máy

B3: Thực hiện các câu lệnh vừa

được chuyển đổi

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

tiếng Anh cho người khách Cách mày gọi lag 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ịch toàn bộ nội dung đó sang tiếng Anh 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ên dịch

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

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

a) Thông dịchB1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn;

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

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

+Biên dịch:

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

Hoạt động 3(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 4

- 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 về những thành phần này

H ĐTP2: Giới thiệu bảng chữ cái

GV treo bảng phụ 1 (SGK Trang 9)

- Bảng chữ cái trong ngôn ngữ lập trình khác nhau có sự khác nhau Ví dụ bảng chữ cái trong ngôn ngữ lập trình C++ chỉ khác pascal là sử dụng thêm các

1 Các thành phần

cơ bản

- Mỗi ngôn ngữ lập trình thường có ba 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

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) với I,J là các số nguyênHỏi HS: Về ngữ nghĩa 2 biểu thức trên có khác nhau không?

- Mỗi nôn ngữ khác nhau cũng có ngữ nghĩa khác nhau

chương trình

b Cú pháp

- Là bộ quy tắc để viết chương trình

c Ngữ nghĩa

Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó

Tóm lại:

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

- Các 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 biết 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

Trang 6

phát hiện khi chạy chương trình

HĐ2: Giới thiệu Tên(15’)

Việc dặ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

- Ngôn ngữ lập trình pascal không phân biệt chữ hoa chữ thường nhưng một số ngôn ngữ 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

- Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình

- 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: chữ số, chữ cái hoặc dấu gạch dướivà bắt đầu bằng chữ cái hoặc gạch dưới

- 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ành riêng, tên chuẩn, tên do người lập trình đặt

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ĩa khá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ữnh tên

được ngôn ngữ lập trình dùng với ý nghĩa nhất định

Trang 7

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

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

- 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

- - 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 logic: Là cácgiá trị đúng hoặc sai

- Ví dụ ( bảng phụ 2:vd về hằng sgk trang 12)

- * Biến:Là đại lượng được

đặt tên, dùng để lưu trữ gí trị và giá trị có thể được thay đổi trong quá trình thực hiện 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 {} hoặc (*

*)

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

HĐ4: Củng cố toàn bài:(4’)

Trang 8

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ếu khô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.

Trang 9

- 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ọc nhằ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

2 Kiểm tra bài cũ.

3 Tiến trình tiết dạy:

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

5 ‘ - Đọ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.

- Đ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ầ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ữ lập trình bậc cao?

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

Trang 10

10 ‘

10’

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

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

cho ví dụ

- Suy nghĩ, trả lời, giải thích

từng câu hỏi,

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

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

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

sinh

- Đặ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ọc

sinh

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

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:

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

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

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

Trang 11

12’ - Đặ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

type, var, begin, end

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:

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

-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

IV: Hoạt động củng cố 3’

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

Trang 12

3 Tư duy – thái độ:

Tư duy logic

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

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.

10’ Cho học sinh đọc phần “ cấu trúc

chung “

Hỏi: “ Cáu trúc chung 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

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

Đọc sách

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

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

7’ 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 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, logint

- Có 2 loại: Real, extended

1.khai báo tên chương

trình

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

+ Tên chương trình: dongườI lập trình tự đặt.

+ví dụ: program vi_du;

2 Khai báo thư viện

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

+ ví dụ: trong pascal uses crt;

3 khai báo hằng

const <tên hằng=gía trị>;

+ ví dụ: N=100;

Trang 13

8’ Cho học sinh đọc ví dụ đơn giản

trong SGK

Giải thích từng dòng lệnh

4.khai báo biến

var <danh sách biến>;

Hoạt động 4 Khai báo biến.

10’ 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 trong chương trình đều phải được khai 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ến với địa chỉ bộ nhớ nơi lưu giữ giá trị của biến

Khai báo biến

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

• Danh sách biến: SGK

• Kiểu dữ liệu : SGK

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ựcVar a : integer;

Khai báo x,y,z đúng, H sai

Hoạt động 4 Phần thân chương trình - ví dụ chương trình đơn giản

Dãy lệnh trong phạm vi được xác định bởi cặp dấu hiệu mở đầu và kết thúc

Trong pascal: Thân chương trình có dạng:

BEGIN [< Dãy lệnh>]

Cho học sinh quan sát

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

- Trong ngôn ngữ pascal: Program vd1;

Begin Write(‘chao cac ban’);

End.

- Trong ngôn

Trang 14

Hai chương trình cùng thực

hiệnmột công việcnhưng viết bằng 2

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

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

ngữ C++:

#include

<stdio.h>

main() { pri ntf(“ chao các ban”); }

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

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

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 ?

3 Tư duy – thái độ:

Tư duy logic.

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

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

10’ Trong toán học để thực hiện

được tính toán cần phải có các

tập số Đó là các tập số nào ?

Trong lập trình Pascal cũng Tập hợp số tự nhiên,nguyên, hữu tỉ, thực

Trang 15

có các tập hợp, mỗi tập hợp có

1 giới hạn nhất định Đọc sách.

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

7’

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

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

Hoạt động 4 Khai báo biến.

10’ 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 trong chương trình đều phải được khai 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ến với địa chỉ bộ nhớ nơi lưu giữ giá trị của biến.

Khai báo biến

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

Danh sách biến: SGK

Kiểu dữ liệu : SGK

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 Var a : integer;

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

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

Trang 16

- 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ậnII/ 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:

9’ Khi viết chương trình ta phải sử

* NNLT nào cũng sử dụng đến phép toán, câu lệ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

Trang 17

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

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

Nghiên cứu SGK và cho biết các nhóm phép toán

- Chỉ được sử dụng cho kiểu số nguyên

- Kiểu logic

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

+ Phép toán logic: AND, OR, NOT

2/ Hoạt động 2: 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 :

22’ - Trong toán học biểu thức là

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

4*x-2*y

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

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

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

VD: ( SGK - 25)

* Chú ý :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, chia nguyên, chia lấy dư trước, cộng, trừ sau

Trang 18

c b

a

c b

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

x - 2x+1

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?

x+1/(x-y)

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

- Hàm trị tuyệt đối, hàm căn bậc 2, hàm sin

- HS trả lời: 2*x*x+1

- HS chưa trả lời được

Nghiên cứu SGK - 26 và quan sát tranh vẽ, lên bảng điền tranh

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

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

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

Cách viết cho một số hàm số học chuẩn :

Tên hàm (đố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

+ Kết quả của biểu thức quan

hệ là TRUE hoặc FALSE

VD: - 5 > 2

Trang 19

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

- Hãy quan sát ví dụ về biểu

3 Hoạt động 3: Tìm hiểu lệnh gán.

a) Mục tiêu: HS biết đọc chức năng cấu trúc chung của lệnh gán trong NN Pascal, viết lệnh đúng khi

lập trình

b) Nội dung:

- 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

y = 9

- Quan sát ví dụ và suy nghĩ để trả lời 6 Câu lệnh gán.

- Lệnh gán là cấu trúc cơ bản của mọi NNLT, thường dùng

để gán gái trị cho biến

Trang 20

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

- 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

- Vậy chương 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

Trang 21

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

- Làm các bài tập 5, 6, 7, 8 SGK trang 35 - 36

- Xem trước bài: Các thủ tục chuẩn vào/ ra đơn giản

Ngày soạn: 06/10/2007

Tiết thứ:……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ỉnhchươ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.

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

- Làm thế nào nhập giá trị cho bàn phím?

- Thủ tục READ sau khi dọc xong giá trị con trỏ không xuống dòng còn READLN là xuống dòng

- Thủ tục READLN không

có tham số có chức năng lamg gì? dừng chương trình

- Thủ tục READLN không

có tham số dừng chương trình

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

- Trong pascal ta dùng thủ tục chuẩn sau:

Read(danh sách biến vào);hoặc Readln(danh sách biến vào);

Readln(a,b,c);

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

có ý nghĩa như nhau, thường hay dùng READLN hơn

+ Khi nhập giá trị cho các biến thủ tục, những giá trị này được gõ cách nhau một dấu cách hoặc phím Enter

Trang 22

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

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

số thì thì thủ tục có tác dụng để làm gì?

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

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

ra>có thể tên biến đơn, biểu

thức, hằng.

Ví dụ: write(‘Nap so N:’); Readln(N);

- writeln sau khi đưa kết quả

ra con trỏ xuống dòng mới

- Ngoài ra trong TPcó quy cách đưa thông tin ra nàm hình sau:

+ Kết quả thực:

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

+ Kết quả khác:

:<Độ rộng>

ví dụ: Write(N:3);

Writeln(‘X=’,x:8:2);

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

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

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

- Mở file đã có: F 3

- Biêng dịch chương trình: Alt +F 9

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

F 9

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

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

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

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

Trang 23

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

Ngày soạn :10/10/07

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

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

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

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

- 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

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

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

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

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

Trang 24

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

vì sao: Do căn bậc hai của

một số âm

- Sửa lại:

- Tiếp tục sửa lại:

- x1 = 2.00 x2 = 3.00

- Thông báo lỗi với lý do

delta của pt là số âm

- 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ỎI: Vì sao lại có lỗi xuất hiện?

+ 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

+ Sửa lại chương trình bằng cách thay đổ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ế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ả

readln(a, b, c);

D:=b*b - 4a*b*c; x1:= (-b - sqrt(D))/(2*a);

x2:= -b/a - x1;

write(‘x1 = ‘, x1 : 6 :

2, ’x2: = ‘, x2 : 6 : 2); readln

end

readln(a, b, c);

x1:= (-b - sqrt(b*b - 4a*b*c))/(2*a);

x2:= (-b + sqrt(b*b - 4a*b*c))/(2*a);

Trang 25

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

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

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

- 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)+ 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ả ;

a = 3; b = 6; c = 5

a = 2; b = 5; c = 10;

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

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

+ 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

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

Ngày soạn :16/10/07

I Mục tiêu bài dạy:

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

Trang 26

- 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

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:

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

GV: Giao nhiệm vụ cho HS

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

H: Cho ví dụ về 1 câu điều

Trang 27

GV: Chọn hai câu làm ví dụ

Từ đó phân tích cho học sinh

thấy cấu trúc rẽ nhánh thể

hiện trong ví dụ này

+ Nếu tối nay trời mưa thì

em nghỉ học ngược lại thì

em đi học…

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

kiện:

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

* Cấu trúc dùng để mô tả các mệnh đề như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ

* Mọi ngôn ngữ lập trình đều

có các câu lệnh để mô tả cấu trúc rẽ nhánh

khoá Else không có dấu ; và

sau then, sau else chỉ có 1 lệnh

chương trình

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

thuận tiện hơn?

- Đ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 4:

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

GV: Muốn thực hiện nhiều

lệnh sau if hoặc sau then thì

làm thế nào?

→ Dẫn đến khái niệm và cách

dùng câu lệnh ghép: nếu trong

cấu trúc rẽ nhánh, sau THEN

có từ 2 lệnh trở lên thì gộp

thành câu lệnh ghép, đặt các

lệnh đó trong cặp từ khoá

Begin…end; với Pascal

H: Gọi học sinh nêu thuật

HS: Phát biểu ý kiến của

End;

Trang 28

toán giải PT bậc hai?

GV: Nhận xét, bổ sung.

GV: 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ụ

GV: Yêu cầu đại diện nhóm

lên treo bảng lời giải và trình

bày

Cho các nhóm khác nhận xét

GV: chính xác hoá lời giải

của HS và cho điểm

Đ: B1: Nhập a, b, c.

B2: Tính d = b2 – 4ac;

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

+ Ngược lại thì pt có

2 nghiệm x1,2 =

a

d b

2

±

HS: Thảo luận theo nhóm

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

HS: Đại diện nhóm lên treo

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

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

Readln(a,b,c);

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

If d < 0 then Write(‘ PT vo nghiem’) else

BeginWrite(‘ PT co nghiem :’);

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

Ngày soạn :20/10/07

I Mục đích yêu cầu:

- Về kiến thức:

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

+ Biết được cấu trúc chung của lệnh lặp FOR trong ngôn ngữ lập trình

+ Hiểu được cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO

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

Trang 29

3 Nội dung dạy học:

* HĐ1: Tìm hiểu ý nghĩa của cấu trúc lặp

- Nếu giải bài toán trên với việc

in khoảng 10 dòng có từ

PASCAL?

- Có nhận xét gì về các dòng

lệnh trong chương trình trên?

- Đối với những thuật toán có

những thao tác phải thực hiện

lặp đi lặp lại một số lần thì máy

tính có thể thực hiện hiệu quả

thuật toán giải 2 bài toán trên

- Từ VD trên và nghiên cứu

thêm ở SGK hãy cho biết có

mấy loại cấu trúc lặp?

- Chương trình dài dòng

- Lặp lại nhiều lần với câu lệnh: Writeln

- HS làm việc theo nhómThuật toán 1:

B1: S=0; n=0B2: n → n +1B3: Nếu n > 20 thì chuyển đến B5

B4: S= S + n rồi quay lai b2

B5: Đưa S ra màn hình và kết thúc

Thuật toán 2:

B1: S=0; n=20B2: n → n -1B3: Nếu n < 1 thì chuyển đến B5

B4: S= S + n rồi quay lai b2

B5: Đưa S ra màn hình và kết thúc

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

* HĐ 2: Tìm hiểu cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO

- Số lần lặp của cả 2 thuật toán

trên là biết trước và như nhau

(20 lần)

- Giải thích từng thuật toán

2.Lặp với số lần biết trước và câu lệnh FOR - DO

- Cấu trúc lặp:

+ Dạng lặp tiến:

Trang 30

- Giới thiệu câu lệnh FOR -

DO với 2 dạng tiến, lùi trong

Pascal

- Giải thích các thông số trong

câu lệnh

- Yêu cầu HS nghiên cứu SGK

và nêu hoạt động của lệnh FOR

- DO?

- GV treo bảng phụ 1 về sơ đồ

thuật toán lặp

- Gv treo bảng phụ 2 về cài đặt

các thuật toán ở VD trên

- Qua 2 chương trình trên có

- Trong đó:

+ Biến đếm là biến đơn, thường có kiểu 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 và giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối

- Hoạt động của lệnh DO

FOR-+ Dạng lặp tiến: câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối,

+ Dạng lặp lùi: câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu

- Chú ý: Câu lệnh viết sau

DO không được thay đổi giá trị của biến đếm

* HĐ 3: Củng cố- Dặn dò

- Nắm lại các cấu trúc lặp

- Nhớ được 2 dạng tiến lùi của câu lệnh FOR - DO trong Pascal

Trang 31

- Xem trước bài mới

Var i,S: integer;

BeginWrite (‘ Tong cac so nguyen tu 1 den 20 la:’);

Biến <= Giá tri cuối

Câu lệnh

Biến:= succ(biến)

Trang 32

Thuật toán 1Program tong;

Var i,S: integer;

BeginWrite (‘ Tong cac so nguyen tu 1 den 20 la:’);

3 Tư duy ,thái độ:

-Rèn luyện phẩm chất cho người lặp trình

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

GV: Tổ chức cho học sinh tiếp thu kiến thức

HS:Chuẩn bị bài mới

III Phương pháp:

Thuyết trình,diễn giải,vấn đáp

+ H1: -Có thể xây dựng thuật toán Tổng _2 như sau để giải bài toán 2 GV trình bày

+H2:Theo thuật toán việc lặp lại số lần chưa biết trước có được kết thúc không?

Nhu vậy, việc lặp lại số lần

Trang 33

HS lắng nghe(Hoạt động nhóm)

Nhóm trình bày kết quả

Bước 1:Nếu M=N thì UCLN:=M;rồi kết thúc

Bước 2:Nếu M>N thì M:=M-N rồi quay lai bước 1,Ngược lại

Để mô tả cấu trúc lặp như vậy,Pascal dùng câu lệnh while-do có dạng:

-Hsinh xem sơ đồ (hình 7)+H3:-VD1:Cho HS viết chương trình của bài toán -VD2:(SGK/47)Hãy xây dựng thuật toán tìm UCLN(đã học lớp 10)

GV nhận xét và hoàn chỉnh.HS trình bày chương trình

chưa biết trước sẽ được kết thúc khi điều kiện cho trước được thoả mãn

While <điều kiện> do <câu lệnh>;

Tronh đó:-Điều kiện là biểu thức logic;

-Câu lệnh là 1 câu đơn hoặc ghép

Hđ3:Cũng cố,dặn dò

Nhắc lại 1 số khái niệm mới

Nhắc lại cấu trúc câu lệnhBài tập về nhà

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

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

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

III- Phương pháp dạy học:

Gợi mở và thuyết trình

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

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

Trang 34

Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ?

Hoạt động 2: Giải bài tập 4

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

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

If y>=x then z:= x+y Else z:= 0.5;

Câu 4b)

If (sqr(x-a) + sqr(y-b)) <= sqr(r) then z:=abs(x) +abs(y) Else z:= x+y;

Hoạt động 3: Giải bài tập 5

Trang 35

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

dưới dạng tường minh ?

Câu hỏi 2: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ?

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

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

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

- Các HS còn lại theo dõi

Y =

51

504

33

22

1 + + ++

Câu 5a) Uses crt;

Var y: real;

n: byte;

Begin Clrscr;

y:=0;

for n:=1 to 50 do y:= y + n/(n+1); writeln(y:14:6); readln;

Trang 36

Ngày soạn: 10/11/07

Tiết thứ:…….Bài 11 : KIỂU DỮ LIỆU CÓ CẤU TRÚC.

I/ Mục tiêu:

- Về kiến thức:

+ Nắm được khái niệm mảng 1 chiều

+ Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều

- Về kỹ năng:

+ Nhận biết được các thành phần trong khai báo kiểu mảng một chiều

+ Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình

+ Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên

- Về tư duy, thái độ:

+ Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơn giản

II/ Chuẩn bị của gv, hs:

+ Giáo viên: Sgk, sbt, sgv, tranh sơ đồ

+ Học sinh: Sgk, sbt

III/Phương pháp:

Trực quan, thuyết trình kết hợp với hỏi - đáp

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

Hoạt động 1: Tìm hiểu về sự cần thiết của chương IV(Kiểu dữ liệu có cấu trúc) và định nghĩa

- GV nêu lên sự cần thiết phải có kiểu dl có cấu trúc

- Tìm hiểu về mảng 1 chiều

- Hãy trình bày ý tưởng để giải bài toán trên

- Ta có thể viết ct bằng NN Pascal như sau:

Trang 37

TG H/động của hs H/động của gv N ội dung ghi bảng

-Nếu ta viết bằng mảng 1 chi ều:

-So s ánh 2 ch/tr trên-Thế nào là mảng 1 chiều?

If cn>tb then d:=d+1;

Writeln('Nhiet do tr/binh tuan: ',tb:5:2);Writeln('So ngay nh/do cao hon nh/do t/binh la: ',d);

Type a = array[1 max] of real;

Var ndo:a; d,i,n: byte; t,tb: real;

BeginWriteln('Nhap so ngay: ');

Readln(n);

T:=0; d:=0;

For i:=1 to n do Begin

Writeln('Nhap vao nhiet do cua

Readln;

End

A/ Định nghĩa:sgk

Hoạt động 2: Tìm hiểu cách khai báo mảng 1 chiều

TG H/động của hs H/động của gv Nội dung ghi bảng

mảng 1 chiều? B/Khai báo: Cách 1: Khai báo trực tiếp:

Var <tên biến mảng>: array[kiểu chỉ số] of

+ Kiểu phần tử là kiểu dl của các phần tử

Trang 38

- Lên bảng - Hãy khai báo mảng trong vd trên bằng cách khai báo

trực tiếp

- Để tham chiếu đến nh/độ của thứ 2 ta viết ndo[2]

1)Về kiến thức: Thể hiện các thuật toán cơ bản về tìm kiếm và sắp xếp: sắp xếp dãy số nguyên

bằng phương pháp trao đổi và tìm kiếm nhị phân

2)Về kỹ năng : Biết cách sử dụng mảng 1 chiều trong chương trình thể hiện các thuật toán ở

trên

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

+ Ý thức rèn luyện kỹ năng các thao tác trên mỗi kiểu dữ liệu có cấu trúc

+ Hứng thú tìm hiểu các thuật toán thường gặp trên các mô hình dữ liệu

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

1)Về giáo viên: Chuẩn bị 1 số bài tập liên quan đến tìm kiếm và sắp xếp trong mảng 1 chiều 2) Về học sinh: Xem lại 3 thuật toán đã học ở lớp 10 (Tìm GTLN của 1 dãy số nguyên, sắp xếp

bằng trao đổi và tìm kiếm nhị phân)

III Phương pháp : gợi mở

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

1) Kiểm tra bài cũ (10ph) Trình bày thao tác nhập, xuất mảng 1 chiều

2) Nội dung bài mới :

• Input:dãy số đã cho (chưa sắp xếp )

Output: đưa ra dãy số đã sắp xếp

• Theo dõi Sgk/57

Vidụ 1: Sắp xếp dãy số nguyên bằng phương pháp trao đổi

Sgk/57

Trang 39

lệnh trong thuật toán ở

khoá A=21 Hãy xác

hiểu những đoạn câu

lệnh trong thuật toán

tìm kiếm nhị phân ở ví

dụ 3 SGK trang 58

• Chia đôi 1 mảng đã sắp xếp rồi so sánh phần tử giữa lớn hơn hay nhỏ hơn giá trị A cần tìm ở bên phải hay bên trái của mảng

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

1 Input :

2 Output:

• Xem Sgk trang 58

Ví dụ 2 : Tìm kiếm nhị phân Sgk trang 58

III.Củng cố : (5 ‘)

Nhắc lại kiểu mảng, những bài toán tìm kiếm, sắp xếp

IV.Bài tập về nhà : Yêu cầu học sinh chạy thử chương trình sắp xếp bằng phương pháp tráo đổi trong bài tập 1 Sgk trang 58

Trang 40

Ngày soạn : 22/11/07

I/ Mục tiêu:

1/ Về kiến thức:

- Biết được một kiểu dữ liệu mới là kiểu mảng hai chiều

- Biết được cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng phần tử của mảng

2/ Về kĩ năng:

- Nhận biết được các thành phần trong khai báo kiểu mảng hai chiều

- Nhận biết được định danh của một phần tử mảng hai chiều xuất hiện trong một chương trình Cách tham chiếu đến một phần tử của mảng hai chiều

- Viết được khai báo mảng hai chiều với các chỉ số thuộc kiểu nguyên

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

- Xây dựng lòng yêu thích giải toán bằng lập trình trên máy tính

- Rèn luyện được các phẩm chất cần thiết của người lập trình như: ý thức chọn và xây dựng kiểu dữ liệu khi thể hiện những đối tượng trong thực tế, ý thức rèn luyện kĩ năng sử dụng các thao tác trên mỗi kiểu dữ liệu

có cấu trúc, hứng thú tìm hiểu các thuật toán trên mỗi kiểu dữ liệu có cấu trúc Luôn muốn cải tiến chương trình nhằm nâng cao hiệu quả chương trình

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

1/ Giáo viên: Sách giáo khoa, bảng phụ.

2/ Học sinh: Sách giáo khoa.

III/ Phương pháp: Trực quan, suy luận, kiểm tra, giải quyết vấn đề.

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

* Hoạt động 1: Kiểm tra bài cũ và khởi động bài mới.

2’

5’

5’

1 Ổn định lớp.

2 Kiểm tra bài cũ:

HS1: Tại sao mảng là kiểu dữ liệu

- Gọi HS lên bảng ghi lại cách khai

báo biến mảng một chiều?

- GV treo bảng phụ có hình minh

họa bảng cửu chương và đưa ra câu

hỏi: Làm thế nào để in ra một bảng

cửu chương có dạng như thế này?

- Để giải quyết vấn đề này, trước hết

chúng ta sẽ đi tìm hiểu thế nào là

* Hoạt động 2: Tìm hiểu về kiểu mảng hai chiều.

15’

- Sử dụng kiến thức về mảng một - Sử dụng 9 mảng một 2/ Kiểu mảng hai chiều:

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

HÌNH ẢNH LIÊN QUAN

Bảng lời giải và trình bày. - Giáo án Tin học 11 cả năm
Bảng l ời giải và trình bày (Trang 28)
BẢNG PHỤ 1 - Giáo án Tin học 11 cả năm
1 (Trang 31)
Bảng phụ chứa ví dụ 1 Ues crt; - Giáo án Tin học 11 cả năm
Bảng ph ụ chứa ví dụ 1 Ues crt; (Trang 55)
Bảng phụ chứa ví dụ 2 - Giáo án Tin học 11 cả năm
Bảng ph ụ chứa ví dụ 2 (Trang 56)
Bảng phụ. - Giáo án Tin học 11 cả năm
Bảng ph ụ (Trang 64)
Hình 16 . Sơ đồ làm việc với tệp - Giáo án Tin học 11 cả năm
Hình 16 Sơ đồ làm việc với tệp (Trang 70)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w