Tin hoc 11

115 16 0
Tin hoc 11

Đ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

Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38 V.. Kiến thức: Củng cố các kiến thức về ngôn ngữ lập trình, cấu trúc chương trình, khai báo biến, các biểu thức trong Pascal, các câu lệnh[r]

(1)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 Ngày soạn : 16/8/2009 Tiết PPCT:1

Chương I: 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 LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH

I MỤC TIÊU: Kiến thức:

- Học sinh nhận biết có ba lớp ngơn ngữ lập trình mức ngơn ngữ lập trình : ngơn ngữ máy, hợp ngữ ngôn ngữ bậc cao

- Biết dược vai trị chương thình dịch

Kĩ năng: Phân biệt hai khái niệm biên dịch thông dịch, phân biệt các loại ngơn ngữ lập trình

Thái độ: Thấy cần thiết tiện lợi sử dụng ngơn ngữ lập trình bậc cao Liên hệ với trình giao tiếp đời sống

II CHUẨN BỊ:

Giáo viên: Một số ví dụ ngơn ngữ lập trình

Học sinh: Tìm hiểu số loại ngơn ngữ giao tiếp thông dụng III HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp

2) Kiểm tra cũ: Nếu có thuật tốn máy thực tốn mà giải hay chưa ?

3) Giảng mới:

Nội dung Hoạt động GV HS

Ngôn ngữ máy: Là ngôn ngữ mà máy tính trực tiếp hiểu xử lý đựơc

Hợp ngữ: Là loại ngôn ngữ sử dụng số từ để thực lệnh ghi

Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngơn ngữ tự nhiên, phụ thuộc vào loại máy

Chương trình dịch chương trình đặc biệt, có chức chuyển đổi chương trình đợc viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy

 Dùng máy chiếu diễn giải hai tình Kết luận :

GV : Gọi học sinh nhắc lại khái niệm : ngôn ngữ máy, hợp ngữ ngôn ngư bậc cao

HS: Trả lời câu hỏi

GV : Để chuyển đổi chương trình viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy cần phải có gì? HS : Đó chương trình dịch

GV : - Cho ví dụ từ thực tế : “ Người phóng viên biết ngơn ngữ tiếng việt phóng vấn khách nước ngồi ” thơng qua người phiên dịch

GV : Như có hai cách để người phóng viên thực cơng việc : biên dịch thơng dịch

Giáo viên: Phùng Ngọc Thái

CHƯƠNG TRÌNH NGUỒN

CHƯƠNG TRÌNH DỊCH

CHƯƠNG TRÌNH ĐÍCH

(2)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 Thông dịch (Interpreter) đợc thực cách

lặp lại dãy bước sau

- Kiểm tra tính đắn câu lệnh chương trình nguồn

- Chuyển đổi câu lệnh thành hay nhiều câu lệnh tương ứng ngôn ngữ máy

- Thực câu lệnh vừa chuyển đổi Biên dịch (Compiler): thực qua hai bước

- Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn

- Dịch tồn chương trình nguồn thành ch-ơng trình đích thực máy lưu trữ để sử dụng lại cần thiết

4) CỦNG CỐ : Khái niệm lập trình? Chương trình dịch gì? Khái niệm ngơn ngữ lập trình?

5) BÀI TẬP VỀ NHÀ:

IV RÚT KINH NGHIỆM, BỔ SUNG:

Giáo viên: Phùng Ngọc Thái

(3)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 Ngày soạn : 16/8/2009 Tiết PPCT:2

&2 CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH. I MỤC TIÊU

- Kiến thức:

+ Biết số khái niệm: tên, tên chuẩn, tên dành riêng, biến

+ Học sinh ghi nhớ quy định tên, biến ngôn ngữ lập trình - Kĩ năng:

+ Phân biệt tên, biến.

+ Biết cách đặt tên chúng nhận biết tên viết sai quy tắc

- Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ lập trình II CHUẨN BỊ:

Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo. Máy tính cá nhân máy chiếu ( có)

Học sinh: Đọc trước nhà Sách giáo khoa. III HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ:

Câu hỏi :

1 Chương trình dịch gì?

2 Biên dịch thơng dịch khác nào? 3) Giảng mới:

Hoạt động GV HS Nội dung

GV: Gọi HS trả lời ý nghĩa việc đặt tên?

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

GV: Nhận xét đưa kết luận HS: Chú ý ghi

GV: Mọi đối tượng chương trình phải đặt tên theo quy tắc ngôn ngữ lập trình chương trình dịch cụ thể

HS: Chú ý ghi

GV: Lấy ví dụ tên đặt sai tên đặt gọi học sinh nhận xét

HS: - Tên đúng: a,b,c,x1, a_b - Tên sai: a bc, 2x

GV: Ngôn ngữ Pascal không phân biệt chữ hoa, chữ thường

HS: Chú ý lắng nghe

GV: Ngơn ngữ lập trình thường có ba loại tên bản: tên dành riêng, tên chuẩn tên người lập trình đặt

HS: Đọc SGK trình bày tên dành

2 Một số khái niệm a Tên

- Ý nghĩa việc đặt tên khai báo tên cho đối tượng:

+ Để quản lý phân biệt đối tượng chương trình

+ Để gợi nhớ nội dung đối tượng - Qui tắc đặt tên Pascal:

Tên dãy liên tiếp khơng q 127 kí tự bao gồm chữ cái, chữ số dấu gạch phải bắt đầu chữ dấu gạch

(4)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 riêng

GV: Trong Pascal, soạn thảo, tên dành riêng có màu trắng phân biệt với tên khác

GV: Gọi HS phát biểu tên chuẩn HS: Tại chỗ trả lời

GV: Viết số tên chuẩn HS: Ghi bài,

GV: Lấy ví dụ giải phương trình bậc hai cần dùng biến nào?

HS: Khi giải PTBH ta cần dùng biến: a,b,c, x1, x2, Delta để biểu diễn nội dung hệ số phương trình; nghiệm phương trình biệt số delta GV: Vậy tên tên người lập trình đặt

GV: Nêu khái niệm ngơn ngữ lập trình

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

GV: Lấy ví dụ ví dụ ví dụ sai cho học sinh nhận biết

HS: Nhận biết tên tên sai

Ví dụ: 123, ‘123’, ‘TRUE, 2+3,… GV: Các biến dùng chương trình phải khai báo

GV: Khi viết chương trình người lập trình có nhu cầu giải thích cho câu lệnh viết để đọc lại thuận tiện người khác đọc hiểu chương trình viết, ngơn ngữ lập trình thường cung cấp cho cách đưa vào đoạn thích chương trình

HS: Chú ý lắng nghe ghi

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

* Tên dành riêng:

- Là tên dùng với ý nghĩa riêng xác định - Tên dành riêng gọi từ khố Ví dụ: Trong Pascal:

Program, uses, var, type, const, begin, end, array, type,…

Trong C++: main, include, if, while, void * Tên chuẩn

- Được dùng với ý nghĩa định đó, dùng riêng phải khai báo

Ví dụ:

Trong Pascal: abs, sqr, sqrt, cos, sin,… Trong C++: cin, cout, getchar

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

- Được dùng với ý nghĩa riêng, xác định cách khai báo trước sử dụng

b Hằng biến Hằng

- Hằng đại lượng có giá trị khơng thay đổi q trình thực chương trình - Các ngơn ngữ lập trình thường có: + Hằng số: số ngun số thực VD: , 1.0E-6,…

+ Hằng lôgic: Là giá trị (True)hoặc sai (False)

+ Hằng xâu: Là chuỗi kí tự mã ASCII, đặt cặp dấu nháy

Biến

- Là đại lượng đặt tên, dùng để lưu trữ giá trị giá trị thay đổi q trình thực chương trình

c Chú thích

- Các thích khơng làm ảnh hưởng đến chương trình

- Trong Pascal thích đặt {} (*và*)

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

4) CỦNG CỐ : Nhắc lại quy tắc đặt tên Pascal khái niệm tên dành riêng, tên chuẩn, tên người lập trình đặt Khái niệm hằng, biến khác biến

Giáo viên: Phùng Ngọc Thái

(5)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011

5) BÀI TẬP VỀ NHÀ:

Hướng dẫn làm tập tập

- Bài 6: Các số: a, b, f,g Các xâu: d,i IV RÚT KINH NGHIỆM, BỔ SUNG:

(6)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 Ngày soạn : 16/8/2009 Tiết PPCT:3

BÀI TẬP I MỤC TIÊU

- Kíến thức:

+ Củng cố lại cho HS kiến thức học lập trình, ngơn ngữ lập trình bậc cao, ngơn ngữ máy, chương trình dịch, thơng dịch, biên dịch qua tập trắc nghiệm

- Kĩ năng:

+ Xác định tên đúng, tên sai, tên chuẩn, từ khoá

+ Biết viết tên ngơn ngữ lập trình cụ thể - Thái độ:

+ Nhận thức trình phát triển ngơn ngữ lập trình gắn liền với q trình phát triển tin học

+ Ham muốn học ngơn ngữ lập trình cụ thể để có khả giải tốn máy tính điện tử

II CHUẨN BỊ:

Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo. Máy tính cá nhân máy chiếu ( có)

Học sinh: Làm tập trước nhà. III HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ

Câu hỏi :

1 Nêu thành phần ngôn ngữ lập trình? Nêu quy tắc đặt tên Turbo Pascal?

Đáp án:

1 Ngơn ngữ lập trình có ba thành phần bản: bảng chữ cái, cú pháp ngữ nghĩa - Bảng chữ cái: Là tập kí tự dùng để viết chương trình

- Cú pháp: Là quy tắc để viết chương trình - Ngữ nghĩa: Xác định ý nghĩa tổ hợp kí tự Quy tắc đặt tên Pascal:

- Đối tượng HS kiểm tra: HS trung bình 3) Giảng mới:

Hoạt động GV HS Nội dung

GV: Gọi HS đọc câu hỏi 1, lớp suy nghĩ trả lời

HS: Đọc câu hỏi

GV: Gọi HS đứng chổ trả lời GV: Gọi HS khác bổ sung Sau GV nhận xét câu trả lời ghi đáp án HS: Chữa tập vào

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

Người ta phải xây dựng ngơn ngữ lập trình bậc cao, vì:

- Ngơn ngữ lập trình 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 ngơn ngữ lập trình bậc cao nói chung khơng phụ thuộc vào phần cứng máy tính

- Chương trình viết ngơn ngữ bậc cao dễ hiểu, dễ hiệu chình nâng cấp

Giáo viên: Phùng Ngọc Thái

(7)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 GV: Gọi HS đọc câu hỏi trả lời

câu hỏi

HS: Tại chỗ trả lời nêu khái niệm chương trình dịch

GV: Nêu Input Output chương trình dịch để gợi ý cho HS vai trị chương trình dịch

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

GV: Gọi HS trả lời câu hỏi HS: Tại chỗ đọc câu hỏi

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

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

GV: Gọi HS đọc câu hỏi 4, lớp suy nghĩ câu hỏi

GV: Gọi HS trả lời

GV: Nhận xét nêu đáp án GV: Gọi HS đọc câu hỏi

GV: Gợi ý cho HS cách gọi HS nêu quy tắc đặt tên Pascal tên đặt không ngắn, hay dài mà nên đặt cho gợi nhớ ý nghĩa đối tượng mang tên

HS: Tại chỗ đọc câu hỏi HS: Lên bảng làm GV: Chữa

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

GV: Từng câu a,b,…, i gọi HS: Trả lời:

- c) dấu phẩy phải thay dấu chấm

- e) tên chưa rõ giá trị

- h) thiếu dấu nháy đơn cuối

- Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu liệu cách tổ chức liệu đa dạng, thuận tiện cho việc mơ tả thuật tốn

Câu2: Chương trình dịch gì? Tại cần phải có chương trình dịch

- Chương trình dịch chương trình đặc biệt, có chức chuyển đổi chương trình viết ngơn ngữ bậc cao thành chương trình đích thực máy

- Để chương trình viết ngơn ngữ bậc cao máy hiểu thực phải có chương trình dịch dịch sang ngơn ngữ máy Câu3: Biên dịch thông dịch khác như thế nào?

- Trình biên dịch duyệt, kiểm tra, phát lỗi, xác định chương trình nguồn có dịch khơng dịch tồn thành chương trình đích thực máy lưu trữ - Trình thơng dịch dịch câu ngôn ngữ máy thực không lưu lại máy Câu4: Hãy cho biết điểm khác tên dành riêng tên chuẩn? - Tên dành riêng không dùng khác với ý nghĩa xác định, tên chuẩn dùng với ý nghĩa khác

Câu5: Hãy tự viết ba tên theo quy tắc của Pascal.

3 tên Pascal: abc; vidu3; _15a

Câu6: Hãy cho biết biểu diễn biểu diễn Pascal rõ lỗi trường hợp

a) 150.0; b) -22; c) 6,23; d) ‘43’ ; e) A20; f)1.06E-15

g) 4+6 ; h) ‘c ; i) ‘True’

- Các biểu diễn hằng: c), e), h)

4) CỦNG CỐ :

- Rèn luyện kĩ đặt tên, biến

- Hiểu nắm vững khái niệm chương trình dịch, biến,…

5) BÀI TẬP VỀ NHÀ:

- Hướng dẫn HS làm tập SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12 IV RÚT KINH NGHIỆM, BỔ SUNG:

Ngày soạn : 16/8/2009 Tiết PPCT: 4

(8)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011

CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN &3 CẤU TRÚC CHƯƠNG TRÌNH §4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN I MỤC TIÊU

- Kiến thức:

+ Hiểu chương trình mơ tả thuật tốn ngơn ngữ lập trình + Biết cấu trúc chương trình đơn giản: cấu trúc chung thành phần + Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, lơgic miền

- Kĩ năng:

+ Nhận biết thành phần chương trình đơn giản + Xác định kiểu cần khai báo liệu đơn giản

- Thái độ:

+ Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình

II CHUẨN BỊ:

Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách tập, tài liệu tham khảo. Máy tính cá nhân máy chiếu ( có)

Học sinh: tham khảo trước tài liệu nhà. III HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ ( ‘)

Câu hỏi :

Câu hỏi: Nêu qui tắc đặt tên Pascal? Phân biệt tên chuẩn tên dành riêng? Đáp án:

- Qui tắc đặt tên Pascal: Trong Pascal, tên dãy liên tiếp khơng q 127 kí tự bao gồm chữ số, chữ dấu gạch bắt đầu chữ dấu gạch

- Tên dành riêng không sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng dùng chúng với ý nghĩa mục đích khác

Đối tượng kiểm tra: HS trung bình 3) Giảng mới:

Hoạt động GV HS Nội dung

GV: Một ngơn ngữ lập trình bậc cao thường có hai phần

GV: Với quy ước: Các diễn giải ngôn ngữ tự nhiên đặt cặp < >

[ ] : Biểu diễn có khơng

HS: Phần thân chương trình thiết phải có, phần khai báo có khơng tuỳ theo chương trình cụ thể

GV: Nêu cấu trúc chung chương trình Pascal đơn giản:

I)

CẤU TRÚC CHƯƠNG TRÌNH 1 Cấu trúc chung

- Cấu trúc chung: [<phần khai báo>] <phần thân> - Trong Pascal: Phần khai báo:

Program < tên chương trình>; Uses < tên thư viện>;

Const <tên hằng>=<giá trị hằng>; Var < tên biến>: <kiểu liệu>;

Giáo viên: Phùng Ngọc Thái

(9)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 HS: Lắng nghe ghi

GV: Chúng ta tìm hiểu thành phần chương trình

GV: Phần có khơng Với Pascal, có phải khai báo theo quy tắc

HS: Lên bảng

GV: Gọi HS lấy ví dụ khai báo tên chương trình

HS: Lên bảng GV: Nhận xét

GV: Mỗi ngôn ngữ lập trình thường có sẵn số thư viện cung cấp số chương trình thơng dụng lập sẵn.Để sử dụng chương trình cần khai báo thư viện chứa

GV: Trong Pascal, khai báo thư viện phải ln đặt đầu tiên, sau dịng khai báo

program.

GV: Những gía trị xuất nhiều lần chương trình thường khai báo

HS: Lắng nghe

GV: Khai báo tạo điều kiện thuận lợi cho việc chỉnh sửa lại giá trị toàn chương trình

GV: Lấy ví dụ

GV: - Biến nhận giá trị thời điểm thực chương trình gọi biến đơn

GV: Khi cần viết chương trình quản lí học sinh ta cần xử lí thơng tin dạng nào?

HS: Suy nghỉ trả lời câu hỏi GV GV: Phân tích câu trả lời học sinh đưa vài thông tin dạng sau: - Họ tên học sinh thông tin dạng văn dạng kí tự

- Điểm học sinh thông tin dạng số thực

Procedure …; <khai báo thủ tục> Function …; <khai báo hàm>… Phần thân:

Begin

{Dãy câu lệnh}; End.

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

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

Program <tên chương trình>; Ví dụ:

Program vidu; Program tinhtong; * Khai báo thư viện.

- Khai báo thư viện Pascal:

Uses crt; {Thư viện crt chứa hàm vào/ra chuẩn làm việc với hình bàn phím} Uses graph; {Thư viện graph chứa hàm đồ hoạ}

- Để xố hình sau khai báo crt dùng lệnh clrscr.

- Trong C++: #include <stdio.h>; #include <conio.h>; * Khai báo hằng: - Trong Pascal:

Const MaxN = 1000; PI = 3.1416;

* Khai báo biến: - Trong Pascal: Var <danh sách biến>:<kiểu liệu>; Ví dụ: Giải phương trình bậc hai:

ax2 + bx +c = 0.

Khai báo: Var a,b,c,x1,x2,delta: real;

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

- Phần thân chương trình bao gồm dãy lệnh phạm vi xác định cặp dấu hiệu mở đầu kết thúc

- Trong Pascal, bắt đầu kết thúc Begin… End

Begin

[<Dãy lệnh>]; End

II Kiểu liệu chuẩn 1 Kiểu nguyên

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

(10)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 - Số thứ tự học sinh thông tin

dạng số nguyên

- Một số thông tin khác cần biết chúng hay sai

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

- Ngơng ngữ lập trình đưa số kiểu liệu chuẩn đơn giản, từ kiểu đơn giản ta xây dựng thành kiểu liệu phức tạp

- Kiểu liệu có miền giới hạn Máy tính khơng thể lưu tất số trục số lưu trữ với độ xác cao

- Tuỳ thuộc vào ngơn ngữ lập trình mà tên kiểu liệu khác miền giá trị kiểu liệu khác

- Với kiễu liệu người lập trình cần ghi nhớ tên kiểu, miền giá trị số ô nhớ để lưu giá trị thuộc kiểu

- Trong lập trình nói trung kiểu kí tự thường tập kí tự bảng mã kí tự, kí tự có mã thập phân tương ứng Để lưu giá trị phải lưu mã thập phân tương ứng chúng

Byte 255

Integer - 215 215-

Word 216-

Longint - 231 231- 2 Kiểu thực

- Có nhiều kiểu cho giá trị số thực hay dùng số kiểu sau:

Kiểu Số

Byt e

SCS nghĩa

Miền gi trị

Real 11- 12 2.9e- 39 1.7e38

Single 7- 1.5e- 45 3.4e- 38

Double 15- 16 5.4e- 325 1.7e- 308

Extended 10 19- 20 3.4e- 4932 1.2e4932

Comp 19- 20 - 9.2e18 9.2e18

3 Kiểu kí tự - Tn kiểu: Char

- Miền gi trị l cc gi trị bảng m ASCII gịm 256 kí tự Mỗi kí tự cĩ m tương ứng phạm vi từ đến 255

- Cc kí tự cĩ quan hệ so snh, việc so snh dựa trn m kí tự

4 Kiểu Logic - Tn kiểu: Boolean

- Miền giá trị: Chỉ có giá trị True (đúng) False (sai)

4) CỦNG CỐ : Nhắc lại khái niệm cấu trúc chương trình gồm phần khai báo phần thân

5) BÀI TẬP VỀ NHÀ:

Cho chương trình mẫu nhà yêu cầu học sinh rõ thành phần chương trình

Giáo viên: Phùng Ngọc Thái

(11)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011

Program venha; Uses crt;

Var a,b: integer; Begin

Clrscr;

Writeln(‘Nhâp a,b:’); Readln(a,b);

Writeln(‘Tong hai so la:’,a+b:3);

Readln; End. IV RÚT KINH NGHIỆM, BỔ SUNG:

Giáo viên: Phùng Ngọc Thái

(12)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011

Giáo viên: Phùng Ngọc Thái

(13)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011

Ngày soạn : 13 /9/2009 Ngày dạy :15 /9/2009

Tiết PPCT :

§5 + KHAI BÁO BIẾN

PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN

I MỤC TIÊU 1 Về kiến thức:

- Hiểu khai báo biến

- Biết khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ - Hiểu lệnh gán

- Biết số hàm thơng dụng Pascal

2 Về kỹ naêng:

- Khai báo biến đúng, nhận biết khai báo sai - Viết lệnh gán

- Viết cc biểu thức số học v logic với cc php tốn thơng dụng 3 Về thái độ:

- Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình

- Tạo ham muốn giải tập lập trình, trước mắt thấy ích lợi lập trình, phục vụ tính tốn giải số toán

II CHUẨN BỊ:

Giáo viên: Soạn giáo án, sách giáo khoa, sách tập, tài liệu tham khảo Máy tính ( có). Học sinh: Cấu trúc chương trình.

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

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ ( ‘)

Câu hỏi :

Cấu trúc chương trình Pascal đơn giản gì? Kết thúc chương trình ? 3) Giảng mới:

Hoạt động GV HS Nội dung

GV: Khai báo biến chương trình báo cho máy biết phải dùng chương trình chương trình

HS: Lắng ghe ghi chép

- Ví dụ 1: Để giải phương trình bặc ax+b=0 ta cần khai báo sau:

Var a, b, x: Real

- Ví dụ 2: Để tính chu vi diện tích tam giác cần khai báo biến sau:

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

Trong đó: a, b, c: Dùng để lưu độ dài cạnh tam giác;

P: chu vi;

CV, S: chu vi diện tích tam giác

GV: Khi khai báo biến cần ý điểm gì?

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

I) Khai báo biến

- Trong NLT Pascal biến đơn khai báo sau

Var <danh sách biến>: <kiểu liệu>; Trong đó:

- Var: Là từ khoá dùng để khai báo biến - Danh sách biến: Tên biến cách dấu phẩy

- Kiểu liệu: Là kiểu liệu ngơn ngữ Pascal

- Sau var khai báo nhiều danh sách biến có kiểu liệu khác

- Cần đặt tên biến cho gợi nhớđến ý nghĩa

- Không nên đặt tên ngắn hay dài, rễ

dẫn đến mắc lỗi hay hiểu nhầm

- Khai báo biến cần quan tâm ý đến phạm vi

(14)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 GV: Phân tích câu trả lời học sinh giá trị

Giáo viên: Phùng Ngọc Thái

(15)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 GV: Trong viết chương trình ta thường

phải thực tính tốn, thực so sánh để đưa định xem làm việc gì? Trong viết chương trình có giống với ngơn ngữ tự nhiên khơng?

GV: Tốn học có phép toán nào?

HS: Đưa số phép tốn thường dùng tốn học

GV: Chúng có sử dụng ngơn ngữ lập trình khơng?

- Chỉ có số phép tốn dùng được, số phép toán phải xây dựng từ phép toán khác

- Ví dụ phép luỹ thừa khơng phải ngôn ngữ viết

- Mỗi ngôn ngữ khác lại có cách kí hiệu phép tốn khác

GV: Trong toán học, biểu thức gì? HS: Đưa khái niệm

GV: Đưa khái niệm biểu thức lập trình GV: Cách viết biểu thức lập trình có giống với cách viết tốn học hay khơng?

HS: Đưa ý kiến

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

GV: Đưa cách viết biểu thức thứ tự thực phép toán lập trình

GV: Cách viết biểu thức phụ thuộc vào ngơn ngữ lập trình

- Đưa số biểu thức toán học yêu cầu em viết chúng ngơn ngữ lập trình Pascal

- Gọi vài học sinh lên bảng làm GV: Muốn tính X2 ta làm nào?

HS: Có thể đưa là: x*x

GV: Như muốn tính x, Sinx, cosx, ta làm nào?

HS: Chưa biết cách tính

GV: Để tính giá trị đơn giản, người ta xây dựng sẵn chương trình thư viện chương trình giúp người lập trình tính tốn nhanh giá trị thông dụng

GV: Với hàm chuẩn cần quan tâm đến giá trị đối số kiểu giá trị trả

Ví dụ: Sinx đo độ hay radian?

GV: Trong lập trình thường ta phải so sánh hai giá trị trước thực lệnh

II) PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN 1 Phép Toán

* NLT Pascal sử dụng số phép toán sau: - Với số nguyên: +, - , *, Div, Mod

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

- Các phép toán quan hệ: <, <=, >, >=, <> cho kết giá trị Logic (true false)

- Các phép toán logic: NOT, OR, AND thường dùng để kết hợp nhiều biểu thức quan hệ với

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

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

- Dùng cặp dấu () để quy định trình tự tính tốn * Thứ tự thực phép tốn:

- Trong ngoặc trước, ngồi ngoặc sau - Nhân chia trước, cộng trừ sau

- Giá trị biểu thức có kiểu kiểu biến có miền giá trị lớn 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 số hàm số học để tính số giá trị thông dụng

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

- Kết hàm phụ thuộc vào kiểu đối số - Đối số hàm hay nhiều biểu thức số học đặt dấu ngoặc () sau tên hàm

- Bản thân hàm coi biểu thức số học tham gia vào biểu thức toán hạng

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

Học sinh xem SGK 4 Biểu thức quan hệ * Có dạng sau:

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

- Trong đó: Biểu thức biểu thức phải kiểu

- Kết biểu thức quan hệ True False

- Ví dụ: a>b 2*c<3*a 5 Biểu thức Logic

- Biểu thức Logic đơn giản biến Logic

- Ví dụ: a, b, c cạnh tam giác thoã

(16)

TRƯỜNG THPT QUANG OAI

Giáo án Tin học 11 – năm học 2010 – 2011 Biểu thức quan hệ cịn coi biểu

thức so sánh giá trị cho kết True False

Ví dụ: 3>5 cho kết False

GV: Muốn so sánh nhiều giá trị lúc làm nào?

HS: đưa ý kiến (dùng biểu thức quan hệ and, or )

- Đưa ví dụ cách viết NLT Pascal

- Mỗi NLT có cách viết lệnh gán khác GV: Cần ý đến điều viết lệnh gán? HS: Đưa ý kiến

GV: phân tích câu trả lời học sinh sau tổng hợp lại: Cần ý đến kiểu biến kiểu biểu thức

GV: Minh hoạ vài lệnh gán ví dụ trực quan bảng hình

mãn điều kiện:

(a+b>c) and (b+c>a) and (c+a>b) 6 Câu lệnh gán

- Lệnh gán cấu trúc 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, nghĩa kiểu tên biến phải với kiểu biểu thức phải bao hàm kiểu biểu thức - Hoạt động lệnh gán: Tính giá trị biểu thức sau ghi giá trị vào tên biến

X1:=(- b + sqrt(delta))/(2*a); X2:=(- b - sqrt(delta))/(2*a);

4) CỦNG CỐ : Các kiểu liệu chuẩn: nguyên, thực, kí tự, lơgic Cách khai báo biến

5) BÀI TẬP VỀ NHÀ:

- Làm tập 1,2,3,4,5 sgk trang 35

- Xem trước bài: Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch, thực hiệu chỉnh chương trình

Giáo viên: Phùng Ngọc Thái

(17)

IV RÚT KINH NGHIỆM, BỔ SUNG:

(18)(19)

Ngày soạn : 20/9/2009 Ngày dạy : 22 /9/2009 Tiết PPCT :

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

§8 SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH I MỤC TIÊU

1 Về Kiến thức:

- Biết lệnh vào đơn giản để nhập thơng tin từ bàn phím đưa thơng tin hình

- Biết bước: soạn thảo, dịch, thực hiệu chỉnh chương trình - Biết số công cụ môi trường Turbo Pascal

2 Về Kỹ năng:

- Viết số lệnh vào đơn giản

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

- Bước đầu chỉnh sửa chương trình dựa vào thơng báo lỗi chương trình dịch tính hợp lý kết thu

Về Thái độ: Thấy cần thiết thủ tục vào ra, sáng tạo vận dụng vào toán đơn giản

II CHUẨN BỊ:

Giáo viên: Soạn giáo án, sách giáo khoa, sách tập, tài liệu tham khảo Máy tính ( có)

Học sinh: Các kiến thức học trước. III HOẠT ĐỘNG DẠY HỌC:

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ ( ‘)

2HS làm độc lập: Cho M, N biến nguyên Điều kiện xác định M, N đồng thời số chẵn đồng thời số lẻ thể Pascal nào?

Đ/a: ((M mod = 0) and (N mod = 0)) Or ((M mod =1) and (N mod = 1)) 3) Giảng mới:

(20)

1 Nêu vđ: Khi giải toán, ta phải đưa liệu vào máy tính xữ lí Để chtrình giải nhiều toán hơn, ta phải sử dụng thủ tục nhập liệu

- Y/cầu Hs n/cứu Sgk cho biết cấu trúc chung thủ tục nhập liệu NNLT Pascal: - HS : N/cứu Sgk trả lời:

Ví dụ: viết chtrình giải ptrình: Ax2 + Bx +

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

Suy nghĩ, trả lời: phải nhập giá trị vào biến A, B, C Lệnhnhập:Readln(A,B,C);

Treo bảng chứa chtrình Pascal đơn giản có lệnh nhập giá trị cho biến

Hỏi: Khi nhập giá trị cho nhiều biến, ta phải thực nào?

HS : Các giá trị phải cách dấu cách (Space) kí tự xuống dịng (Enter)

Hỏi: Lệnh Read Readln khác nào?

- Suy nghĩ, trả lời : Read: …… Readln: …… GV : Sau xữ lí xong, để nhìn thấy kết ta phải dùng thủ tục xuất liệu Y/cầu hs n/cứu Sgk cho biết cấu trúc chung thủ tục xuất liệu NNLT Pascal - N/cứu Sgk trả lời

Ví dụ: Khi viết CT giải pt: ax+b=0, ta phải đưa hình gtrị nghiệm -b/a, ta phải viết lệnh nào?

HS : Writeln(-b/a);

Để nhập giá trị cho biến từ bàn phím, ta thường đưa thêm câu dẫn dắt sau đến câu lệnh nhập Bằng cách dùng cặp thủ tục write read

Ví dụ: Write(‘Moi ban nhap so:’); Hỏi: chức câu lệnh writeln();

Viết hình dịng chữ đưa trỏ xuống dòng

Giới thiệu số tập tin cần thiết để Turbo pascal chạy được, hướng dẫn học sinh khởi động Pascal máy tính Học sinh ý lắng nghe theo dõi hình minh họa

Giới thiệu thành phần hình soạn thảo (màn hình làm việc)

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

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

Ta sử dụng thủ tục chuẩn read readln có cấu trúc sau:

read(<biến 1>,…,<biến n>); readln(<biến 1>,…,<biến n>); Ví dụ 1:

read(n);

readln(A,B,C);

* Chú ý: khi nhập giá trị cho nhiều biến thì những giá trị gõ cách dấu cách hoặc kí tự xuống dịng (phím Enter).

2 Đưa liệu hình

Để đưa liệu hình vị trí trỏ, ta dùng thủ tục write writeln với cấu trúc: Write(<giá trị 1>,…<giá trị n>); Writeln(<giá trị 1>,…<giá trị n>);

Trong đó: giá trị biến đơn, biểu thức, tên hàm hằng

Ví dụ : xét chương trình sau Program vd;

Uses crt; Var tuoi:byte; Begin

Clrscr;

Write(‘Moi ban nhap so:’);readln(a,b,c) Write(‘Ban vua nhap so:’,a,b,c); Write(‘Ban go ENTER de ket thuc’); Readln;

End

Ghi chú: - Các thủ tục readln writeln khơng có tham số

- Quy cách đưa thông tin ra: Kết số thực :<độ rộng>:<số chữ số thập phân>

Kết khác :<độ rộng>

Độ rộng số chữ số thập phân nguyên dương

Ví dụ:

Writeln(n:5,x:6:2); Write(i:3,j:4,a+b:8:3);

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

Một số thao tác thường dùng: + Lưu chương trình: F2

+ Mở file có: F3

(21)

4) CỦNG CỐ : Trình số thao tác thường dùng soạn thảo chương trình? Khi viết read(x,y,z); write(‘x’,y,z); có ý nghĩa nào?

5) BÀI TẬP VỀ NHÀ: So sánh giống khác cặp lệnh write()/writeln() read()/readln()

- Làm tập 9, 10 sgk trang36

(22)(23)

Ngày soạn : 26/9/2009 Ngày dạy : 29/8/2009, 16/10/2009 Tiết PPCT : 7-

BÀI TẬP THỰC HÀNH SỐ 1 I MỤC TIÊU

1 Kiến thức

- Biết chtrình Pascal hoàn chỉnh

- Làm quen dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lưu, dịch, thực chtrình 2 Kĩ năng

- Soạn thảo chtrình, lưu lên đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật tốn hiệu chỉnh - Bước dầu biết phântích hồn thành chtrình đơn giản Pascal

3 Thái độ: Tự giác, tích cực chủ động thực hành II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Phong máy vi tính cài đầy đủ Turbo Pascal, projector để hướng dẫn 2 Học sinh: Sgk, sách tập tập viết nhà

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

1 Hoạt động 1: (8 phút) Kiểm tra cũ

Hoạt động GV HS Nội dung

Viết chtrình nhập vào số tính bình phương của số đó.

Cho hs xung phong lên bảng Nhận xét, đánh giá, cho điểm

Chtrình đạt yêu cầu: Var x, y: integer;

Begin

Write(‘nhap vao so ’); readln(x); Y:= sqr(y);

Write(y); readln

End. 2 Hoạt động 2: (30phút)Tìm hiểu chtrình hồn chỉnh

a Nội dung: Cho chương trình sau: Program Giai_pt;

Uses crt;

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

Begin

Clrscr;

Write(’nhap a b c ’); Readln(a, b, c); D:= b*b-4*a*c;

X1:= (-b-sqrt(d))/(2*a); X2:= (-b+sqrt(d))/(2*a);

Writeln(’x1=’,x1:6:2,’ x2=’,x2:6:2); Readln

End.

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

Hoạt động GV HS Nội dung

1. Chiếu chtrình lên bảng Y/cầu hs thực nhiệm vụ:

- Soạn chtrình vào máy - Lưu chtrình

- Dịch lỗi cú pháp - Thực chtrình

- Nhập liệu -3 Thông báo kết - Trở hình soạn thảo

Program Giai_pt;

Uses crt;

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

Begin

Clrscr;

(24)

- Thực chtrình

- Nhập liệu Thơng báo kết - Vì có lỗi xuất hiện?

HS:

1. Quan sát chtrình, đọc lập soạn vào máy F2

Alt+F9 Ctrl+F9

x1=1.00 x2=2.00 Enter

Ctrl+F9 Thông báo lỗi

Do bậc hai số âm

X1:= (-b-sqrt(d))/(2*a); X2:= (-b+sqrt(d))/(2*a);

Writeln(’x1=’,x1:6:2,’ x2=’, x2:6:2); Readln

End.

3 Hoạt động 3: (45 phút)Rèn luyện kĩ lập chương trình

a Mục tiêu: Hs soạn, lưu, dịch thực chương trình

b Nội dung: Viết chương trình nhập từ bàn phím số thực a b, tính đưa hình trung bình cộng bình phương hai số

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

Hoạt động GV HS Nội dung

1. Định hướng để hs phân tích tốn - Dữ liệu vào:

- Dữ liệu ra: - Cách tính: HS :

1 Phân tích theo yêu cầu gv - Dữ liệu vào: a b

- Dữ liệu ra: tb - tb =(a2+b2)/2

GV: 2. Y/cầu hs tự sọan chtrình lưu lên máy HS: 2. Thực y/cầu gv

- Soạn chtrình

- F2, gõ tên file để lưu - Alt+F9 : biên dịch lỗi - Ctrl+F9: t/hiện chtrình

Quan sát hướng dẫn nhóm hs lúc thực hành

Bài tốn: Viết chương trình nhập từ bàn phím số thực a b, tính đưa hình trung bình cộng bình phương hai số

- nhập liệu thơng báo kết - Với a=5, b=7

- Với a=7, b=-5

-Nhập liệu theo y/cầu - Với a=5, b=7 tb=37 - Với a=7, b=-5thì tb=37

IV ĐÁNH GIÁ CUỐI BÀI (7phút) 1 Nội dung học

Các bước để hồn thành chương trình: - Phân tích tốn để xácđịnh liệu vào/ra; xác định thuật tốn; soạn thảo chtrình vào máy; lưu trữ chtrình; biên dịch chtrình; thực hiệu chỉnh chtrình

(25)

Ngày soạn : 11 /10/2009 Ngày dạy : 13 /10/2009 Tiết PPCT :

BÀI TẬP I MỤC TIÊU

1 Kiến thức: Biết phânbiệt loại biểu thức NNLT

2 Kĩ năng: Viết biểu thức số học logic với phép tốn thơng dụng II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: giải tập sgk 2 Học sinh: sgk

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

1 Hoạt động 2: (10 phút) Bài tập 8/sgk/36

a Mục tiêu: Xây dựng biểu thức logic làm điều kiện để giải số toán đơn giản

b Nội dung: Viết biểu thức lôgic cho kết True tọa độ (x, y) điểm nằm vùng gạch chéo kể biên hình 2.a 2.b (trang 36/sgk)

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

Hoạt động GV HS Nội Dung

Tóm tắt lí thuyết

Nhắc lại số Nội dung phần chương II Tại phải khai báo biến?

Trong Pascal, biến nhận giá trị phạm vi từ đến 25252 biến nhận khai báo kiểu liệu nào?

1 Hình 2.a:

Y/cầu hs quan sát hình trả lời câu hỏi: - Giá trị y vùng gạch chéo?

- Giá trị x vùng gạch chéo? HS: Quan sát hình trả lời

0<=y<=1 -1<=x<=1

- Điểm A(x,y) x, y có quan hệ nào? HS: |x|<=y

- Y/cầu hs từ biểu thức quan hệ viết bthức lôgic theo yêu cầu đề?

HS: (|x|<=y) and ((x>=-1)and (x<=1)) and ((y>=0) andy<=1)

- Phân tích giá trị x, y để đơn giản biểu thức (y<=1) and (abs(x)<=y)

Chú ý lắng nghe, để ý cách xác định giá trị đúng.Tự làm 2 Hình 2.b

Y/cầu hs tự làm, tương tự hình 2.a

Bài tập làm thêm :Hãy chuyển biểu thức toán học sang Pascal

a 2x2 - 5x + = 0; b (1+x3)( 1

x ); c (4 3 1

x )(| x- 3|);

d 2 ) ( x x x x    e

- Một chương trình thường gồm có phần: Phần khai báo phần thân chương trình, phần báo có khơng

- Kiểu liệu chuẩn: Kiểu nguyên, kiểu thực, kiểu kí tự kiểu logic - Các biến chương trình phải khai báo biến khai báo lần

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

- Các loại biểu thức: Số học, quan hệ logic

- Các ngơn ngữ lập trình có:

+ Lệnh gán dùng để gán giá trị biểu thức cho biến

+ Các thủ tục chuẩn dùng để đưa liệu vào

Câu hỏi tập Bài tập 8/sgk/36

ĐS: (y<=1) and (abs(x)<=y) Bài tập làm thêm

a. 2*x*x-5*x-1=0 b. (1+x*x*x)*sqrt(x-1)

c. Sqrt(sqrt(3*x*x+1))*abs(x-3) d. (2*x*x-5*x+2)/(1-(2*x*x*x/

(26)

) )(

(

y

x

IV ĐÁNH GIÁ CUỐI BÀI (5phút) 1 Nội dung học

2 Câu hỏi, tập nhà

Xem trước bài: Cấu trúc rẽ nhánh, sgk trang 38 V RÚT KINH NGHIỆM, BỔ SUNG:

(27)

Ngày soạn : 18/10/2009 Ngày dạy : 19 /10/2009 Tiết PPCT : 10

KIỂM TRA TIẾT

I MỤC TIÊU

1 Kiến thức: Củng cố kiến thức ngơn ngữ lập trình, cấu trúc chương trình, khai báo biến, biểu thức Pascal, câu lệnh vào đơn giản

2 Kĩ năng: Viết biểu thức số học Toán học sang dạng tương ứng Pascal ngược lại, viết chương trình đơn giản

3 Thái độ:Nghiêm túc làm II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Đề kiểm tra, đáp án, biểu điểm cho lớp 2 Học sinh: ôn lại kiến thức học

III HOẠT ĐỘNG DẠY HỌC 1 Hoạt động 1: (5 phút) Ghi đề

Đề 1: (lớp 11A1)

Câu 1: (3 điểm) Biến gì? Viết cấu trúc khai báo biến Pascal lấy ví dụ minh hoạ? Câu 2: (3 điểm) : Hãy viết biểu thức toán học sau sang dạng tương ứng Pascal:

a)x + yz; b)-1 ≤ cosx ≤ c)| x3 +

xx |

Câu 3: (4 điểm) Viết chương trình Pascal đưa hình dịng chữ : “Lop 11a1 xin chao cac ban”

Đề 2: (lớp 11A2)

Câu 1: (3 điểm) Nêu thành phần ngơn ngữ lập trình Phân biệt tên chuẩn tên dành riêng Câu 2: (4 điểm) : Hãy viết biểu thức toán học sau sang dạng tương ứng Pascal:

a) x yxy b) 2 x x( 1)

 

c) | x +

x x | d) x

y x

    

Câu 3: (3 điểm) Viết chương trình Pascal đưa hình dòng chữ : “Lop 11a2 xin chao cac ban”

Đề 3: (lớp 11A3)

Câu 1: (3 điểm) Nêu chức chương trình dịch Phân biệt trình thông dịch biên dịch Câu 2: (4 điểm) : Hãy viết biểu thức toán học sau sang dạng tương ứng Pascal:

a) xy + b) x yxy c) x2 y2 R2

 

d) | x + xx |

Câu 3: (3 điểm) Viết chương trình Pascal đưa hình dòng chữ : “Lop 11a3 xin chao cac ban” ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM (ĐỀ 1)

(28)

Câu :

Biến đại lượng đặt tên dùng để lưu trữ giá trị giá trị thay đổi trình thực chương trình

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

Var <danh sách biến> : <kiể liệu>; Ví dụ : Var a: integer;

1,5 điểm 1,0 điểm 0,5 điểm Câu 2:

a) x + y*z;

b) -1 <= cos(x) and cos(x) <= c) Abs(x*x*x + sqrt(x+sqrt(x)))

1,0 điểm 1,0 điểm 1,0 điểm Câu 3:

Program vd; Begin

Write(‘Lop 11a1 xin chao cac ban’); End.

1,0 điểm 1,0 điểm 1,0 điểm 1,0 điểm IV ĐÁNH GIÁ CUỐI BÀI

1 Dặn dò nhà

(29)

V RÚT KINH NGHIỆM, BỔ SUNG:

(30)

Ngày soạn : 25 /10/2009 Ngày dạy : 27 /10/2009 Tiết PPCT : 11

CẤU TRÚC RẼ NHÁNH (t1/2) I.MỤC ĐÍCH YÊU CẦU:

Kiến thức:Giới thiệu tổ chức rẽ nhánh, cú pháp chức câu lệnh rẽ nhánh (dạnh thiếu dạng đầy đủ)

Kỹ năng:Rèn luyện kỹ sử dụng câu lệnh rẽ nhánh để viết chương trình có sử dụng câu lệnh

II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH: 1 Đồ dùng dạy học: Máy tính điện tử

2.Phương pháp dạy học: Giải vấn đề

3.Sự chuẩn bị nhà: Các kiến thức học sinh học học trước III.TIẾN HÀNH BÀI DẠY:

1 Ổn định lớp:(2’) Vắng: Trể:

2.Dạy mới:(30 - 37’)

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

Câu hỏi: Những câu nói sau có dạng mậnh đề gì?

Trả lời:

-Chiều mai trời khơng mưa Châu đến nhà Ngọc chơi

Câu nói có dạng: Nếu Thì

-Chiều mai trời khơng mưa Châu đến nhà Ngọc soạn bài, trời mưa Châu gọi điện cho Ngọc để trao đổi

Câu nói có dạng: Nếu Thì , Ngược lại Câu hỏi: Em vẽ sơ đồ khối toán Trả lời: HS lên bảng vã sơ đồ khối toán GV nhận xét

Câu hỏi: cú pháp hai câu lệnh, em giải thích thành phần câu lệnh

Trả lời:

IF, THEN, ELSE: Từ khoá

Điều kiện biểu thức logic biểu thức quan hệ tính giá trị điều kiện trả lại giá trị T F

Câu lệnh1, câu lệnh 2, câu lệnh câu lệnh học

Câu hỏi: Hãy vẽ sơ đồ khối minh hoạ thực câu lệnh IF

Trả lời:

I.RẼ NHÁNH:

Một hai việc cụ thể chắn xảy ra, việc hay việc hai thực tuỳ thuộc vào điều kiện cụ thể có thảo mãn hay khơng

Các mênh đề rẽ nhánh thường có dạng: Nếu Thì

Nếu Thì Nếu khơng

Ví dụ: Thuật tốn giải biện luận phương trình bậc ax + b =

Bước 1: Nhập a, b

Bước 2: Nếu a<>0 x:=-b/abước Ngược lại bước

Bước 3: Nếu b<>0 thơng báo phương trình vơ nghiệm

Ngược lại thơng báo phương trình vơ số nghiệm

Bước 4: Đưa x hình II.CÂU LỆNH IF THEN 1.Cú pháp:

a)Dạng thiếu:

IF <Điều kiện> THEN<Câu lênh>; b)Dạng đủ:

IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;

Trong đó:

IF, THEN, ELSE từ khoá

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

(31)

a)Dạng thiếu:

b)Dạng đủ:

câu lệnh 2.Sự thực hiện: a)Dạng thiếu:

Bước 1: Tính giá trị biểu thức điều kiện

Bước 2: Kiểm tra giá trị cảu biểu thức điều kiện

-Nếu biểu thức đk có giá trị thực câu lệnh sau từ khoá THEN, thoát khỏi câu lệnh IF

-Nêu biểu thức đk có giá trị F khỏi câu lệnh IF

b)Dạng đủ

Bước 1: Tính giá trị biểu thức điều kiện

Bước 2: Kiểm tra giá trị cảu biểu thức điều kiện

-Nếu biểu thức đk có giá trị thực câu lệnh sau từ khoá THEN, thoát khỏi câu lệnh IF

-Nêu biểu thức đk có giá trị F thực câu lệnh 2, thoát khỏi câu lệnh IF

3.Hoạt động củng cố:(1-3’) Nhắc lại cú pháp chức câu lệnh rẽ nhánh dạng khuyết câu lệnh rẽ nhánh dạng đủ

4.Hướng dẫn học sinh nhà:(2-3’)

- Học nội dung: Cú pháp chức cảu câu lệnh rẽ nhánh - Bài tập: 1/SGK

- Chuẩn bị mới: Sau Then ELSE sử dụng từ hai câu lệnh trở lên không, làm nào?

Điều kiệnĐúng Câu lệnh

Kết thúc

Điều kiệnĐúng Câu lệnh

(32)

Ngày soạn : 25 /10/2009 Ngày dạy : /11/2009 Tiết PPCT : 12

CẤU TRÚC RẼ NHÁNH (t2/2) I.MỤC ĐÍCH YÊU CẦU:

Kiến thức:Giới thiệu cú pháp chức câu lệnh ghép số ví dụ minh hoạ

Kỹ năng:Rèn luyện kỹ sử dụng câu lệnh ghép sau từ kháo THEN ELSE có từ câu lệnh trở lên

II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH: 1 Đồ dùng dạy học: Máy tính điện tử

2.Phương pháp dạy học: Giải vấn đề

3.Sự chuẩn bị nhà: Các kiến thức học sinh học học trước III.TIẾN HÀNH BÀI DẠY:

1 Ổn định lớp:(2’) Vắng: Trể:

2.Kiểm tra củ( 5-7’):

1 Nêu cú pháp chức câu lệnh rẽ nhánh dạng khuyết? 2.Nêu cú pháp chức câu lệnh rẽ nhánh dạng đầy đủ? 2.Dạy mới:(30 - 37’)

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

Câu hỏi: Sau THEN ELSE viết câu lệnh

Trả lời: Chỉ câu lệnh

GV: TỶong trường hợp sau THEN ELSE ta có từ câu lệnh trở lên ta phải ghép chúng lại thành nhóm nằm từ khố Begin end gọi câu lệnh ghép

Câu hỏi: Câu lệnh ghep xem câu lệnh

Trả lời: Là câu lệnh

GV: Gọi hoc sinh lên bảng viết chương trình tốn

Có thể viết máy tính để thực thử GV: Gọi HS lên chạy chương trình sữa lỗi

Cho HS chép vào

III.CÂU LỆNH GHÉP:

Khi sau THEN sau ELSE có từ câu lệnh trở lên ta phải ghép chúng lại thành nhóm nằm từ khố BEGIN END

1.Cú pháp: BEGIN CL1; CL2; CLn END;

2.Giải thích:

BEGIN, END: Từ khoá

CL1, CL2, , CLn câu lệnh IV.MỘT SỐ VÍ DỤ:

1.Ví dụ 1: Tìm nghiệm phương trình bậc 2: ax2 + bx + c = với a<>0

PROGRAM vidu1;

VAR a,b,c,x,x1,x2,delta:real; BEGIN

Write(‘nhap a,b,a’); readln(a,b,c); Delta:=b*b-4*a*c;

IF delta <0 THEN writeln(‘phuong trinh vo nghiem’)

ELSE IF delta=0 THEN Begin

X:=-b/2*a;

(33)

GV: Gọi hoc sinh lên bảng viết chương trình tốn

Có thể viết máy tính để thực thử GV: Gọi HS lên chạy chương trình sữa lỗi

Cho HS chép vào

ELSE Begin

X1:=(-b-sqrt(delta))/2*a; X2:=(-b+sqrt(delta))/2*a; End;

Readln END

2.Ví dụ 2: Chương trình tìm nghiệm phương trình bậc ax + b =

PROGRAM vidu2; VAR a,b,x:real; BEGIN

Write(‘nhap a,b’); readln(a,b); IF a<>0 THEN

Begin

X:=-b/a;

writeln(‘phuongtrinh co nghiem la:’,x:8:2);

End

ELSE IF b=0 THEN writeln(‘phuong trinh vo so nghiem’)

Else writeln(‘phuong trinh vo nghiem’)

Readln END

4.Hoạt động củng cố:(1-3’) Nhắc lại cú pháp chức câu lệnh rẽ nhánh dạng khuyết câu lệnh rẽ nhánh dạng đủ

5.Hướng dẫn học sinh nhà:(2-3’)

- Học nội dung: Cú pháp chức câu lệnh rẽ nhánh - Bài tập: 5/SGK

(34)

Ngày soạn : /11/2009 Ngày dạy : 10 /11/2009 Tiết PPCT : 13

CẤU TRÚC LẶP (tiết 1/2) I MỤC TIÊU

1 Kiến thức

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

Biết cấu trúc chung lệnh lặp với số lần biết trước For NNLT Pascal Biết sử dụng dạng lệnh lặp For

2 Kĩ năng: Bước đầu sử dụng lệnh lặp For để lập trình giải số tốn đơn giản II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Máy vi tính, Projector, sgk, sgv 2 Học sinh: sgk

III HOẠT ĐỘNG DẠY HỌC 1 Ổn định lớp :

2 Kiểm tra cũ(7 phút)

1 Trình bày cấu trúc rẽ nhánh? Sự khác dạng rẽ nhánh đó? (HS1)

2. Viết CT nhập vào số a, b thực đưa hình giá trị số lớn hơn.(HS2) 3 Bài :

Hoạt động 1: (20 phút)Tìm hiểu ý nghĩa cấu trúc lặp

Hoạt động Giáo viên Học sinh Nội Dung

1 Nêu toán đặt vấn đề

HS: Chú ý quan sát toán đặt vấn đề

GV: Hãy xác định cơng thức tốn học để tính tổng - Có lần lặp vậy?

GY: - Rất khó xác định

- Mỗi lần lặp lượng bao nhiêu?

- Phải viết lệnh để thể việc này? HS: Theo dõi gợi ý

- Thực 100 lần - Mỗi lần đổ a i

 - Viết 100 lệnh

Dẫn dắt: Chương trình viết dài, khó đọc, dễ sai sót. cần có cấu trúc điều khiển việc lặp lại thực công việc

- Trong tất NNLT có cấu trúc điều khiển việc thực lặp lại với số lần định trước

Bài tốn 1:

Viết CT tính tổng

100 1 1         a a a a S

3 Hoạt động 3: (15 phút)Tìm hiểu lệnh lặp For NNLT Pascal

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

1 Y/cầu hs n/cứu sgk vàcho biết cấu trúc chung lệnh For?

HS: Đọc sgk trả lời

FOR <biến đếm>:= <giá trị đầu> TO <giá trị cuối> DO <lệnh cần lặp>;

Giải thích: <biến đếm>

- Hỏi: Ý nghĩa <giá trị đầu>, <giá trị cuối>, kiẻu

a Dạng tiến

FOR <biến đếm>:= <giá trị đầu> TO <giá trị cuối> DO <lệnh cần lặp>;

Sơ đồ:

bđếm:= <gtrị đầu>

bđếm<=gtrị cuối Câu lệnh lặp bđếm :=bđếm +

Đ

(35)

dữ liệu chúng?

- để làm giới hạn cho biến đếm, kiểu với biến đếm Trong btoán 1:<giá trị đầu>, <giá trị cuối> có giá trị bao nhiêu?

-<giá trị đầu> <giá trị cuối> 100

Dẫn dắt: lệnh cần lặp lại ta đặt sau DO Khi nhiều lệnh cần đặt sau Do ta phải viết nào?

- Hỏi: + Trong toán tiết kiệm lệnh cần lặp lại? - Sử dụng

câu lệnh ghép

+ Trong tốn tính tổng lệnh cần lặp lại? HS: S:= S + 0.015*S;

S:= S+1/(a+i);

- Hãy so sánh giá trị <giá trị đầu> <giá trị cuối>?

<giá trị đầu> ≤ <giá trị cuối>

Dẫn dắt: Khi câu lệnh For đgl For tiến, NNLT Pascal cịn có dạng ngược lại For lùi

2. Y/cầu hs trình bày cấu trúc For lùi

2 N/cứu sgk, suy nghĩ, so sánh với dạng For tiến trả lời FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị đầu>

DO <lệnh cần lặp>;

Hãy so sánh giá trị <giá trị đầu> <giá trị cuối>? HS: <giá trị đầu> ≤<giá trị cuối>

- Hai toán dùng lệnh For phù hợp? Sử dụng For tiến

b.Dạng lùi

FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị đầu> DO <lệnh cần lặp>;

Sơ đồ:

IV ĐÁNH GIÁ CUỐI BÀI (3phút) 1 Nội dung học

Cấu trúc chung câu lệnh lặp For Sơ đồ thực lệnh lặp For 2 Câu hỏi, tập nhà

- Sử dụng câu lệnh For hồn thành chương trình tốn nêu đầu tiết - Giải tập 5a, sgk/51

- Xem trước phần ví dụ nội dung cấu trúc lặp có số lần biết trước V RÚT KINH NGHIỆM, BỔ SUNG:

bđếm:= <gtrị cuối>

bđếm>=gtrị đầu

Câu lệnh lặp bđếm :=bđếm -

Đ

(36)

Ngày soạn : 14 /11/2009 Ngày dạy : 17 /11/2009 Tiết PPCT : 14

CẤU TRÚC LẶP (tiết 2/2) I MỤC TIÊU

1 Kiến thức

- Biết ý nghĩa cấu trúc lặp có số lần lặp chưa biết trước - Biết cấu trúc chung lệnh lặp While NNLT Pascal 2 Kĩ năng

- Phân biệt giống khác cấu trúc lặp For While - Sử dụng lệnh lặp While lập trình

- Bước đầu biết lựa chọn dạng lệnh lặp để lập trình giải số toán đơn giản II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Sgk, sgv, bảng phụ 2 Học sinh : Lặp với số lần biết trước III HOẠT ĐỘNG DẠY HỌC

1 Hoạt động 1: (10 phút) Tìm hiểu ý nghĩa cấu trúc lặp có số lần chưa biết trước

Hoạt động Giáo viên Học sinh Nội Dung

GV: -Sự khác toán với toán giải tiết trước? - Lặp lần?

- Lặp đến nào?

HS: -Bài trước: cho giới hạn N Bài này: cho giới hạn S

- Chưa xác định

- Cho đến điều kiện 0.001 N

a thõa mãn

Tóm lại, qua ví dụ ta thấy có dạng tốn có lặp lại của câu lệnh khơng biết số lần lặp Cần có cấu trúc điều khiển lặp lại công việc định thõa mãn điều kiện đó.

2 Hoạt động 2: (15 phút) Tìm hiểu cấu trúc lệnh lặp While NNLT Pascal

Hoạt động Giáo viên Học sinh Nội Dung

1. Y/cầu hs n/cứu sgk cho biết cấu trúc chung lệnh lặp While

HS: Tham khảo sgk trả lời Cấu trúc:

While <điều kiện> Do <lệnh cần lặp

Giải thích:

<điều kiện>: biểu thức quan hệ biểu thức logic <lệnh cần lặp>: lệnh cần phải lặp lại

Hỏi:

- Điều kiện để lặp lại tốn gì? - Trong tốn lệnh cần lặp gì?

HS: 0.001 i

a

S := S + 1/(a+I); để tính tổng I := I + 1; để tăng số

Dựa vào cấu trúc, cho biết máy thực tính <điều kiện> trước hay <lệnh cần lặp> trước?

3 Câu lệnh While …Do Cấu trúc:

While <điều kiện> Do <lệnh cần lặp>; Sơ đồ thực hiện:

* Trong <lệnh cần lặp> phải có lệnh thay đổi biến số (để thay đổi giá trị <điều kiện>)

điều kiện

(37)

- Sự khác lệnh cần lặp For While gì? HS Suy nghĩ trả lời:

Tính điều kiện trước, thực lệnh lặp sau - Trong While phải có lệnh thay đổi biến số 2. Y/cầu hs vẽ sơ đồ thực lên bảng

HS Lên bảng vẽ sơ đồ thực lệnh While -Nhận xét sai bổ sung

* Chú ý lắng nghe ghi nhớ - Gọi hs khác nhận xét

* Treo sơ đồ mẫu giải thích

3 Hoạt động 3: (15 phút) Rèn luyện kĩ vận dụng lệnh lặp While

Hoạt động Giáo viên Học sinh Nội Dung

1 Trở lại toán

- Đã xác định <điều kiện>, <lệnh cần lặp> viết câu lệnh While hoàn chỉnh?

1 HS Quan sát, xác định lại thành phần trả lời: While A< B Do

begin

A := A + 0.015*A; T := T + 1;

end;

1hs lên bảng trình bày, hs khác N/xét Đúng–Sai, bổ sung * Ghi nhớ phần sửa chữa gviên

- Chia lớp theo bàn Y/cầu hs bàn thảo luận viết chương trình hồn thiện

- Cho hs lên bảng trình bày - Gọi 1- 2hs khác n/xét, đánh giá

* Chính xác hóa chương trình cho lớp (chỉnh sửa lại chtrình của hs)

2 Nêu nội dung ví dụ

Phân tích để xác định <điều kiện> <lệnh cần lặp> Hỏi:

- Điều kiện để tiếp tục lặp gì? Gợi ý: Điều kiện: M<>N

- Các lệnh cần lặp gì? Gợi ý: M := M – N; N := N – M;

- Y/cầu hs nêu thuật toán tìm ucln số - T/tốn:

B1: Nếu m=n ucln=m, dừng;

B2: Nếu m>n m:=m-n ngược lại n:=n-m, qlại B1 HS Suy nghĩ trả lời:

+ Điều kiện để lặp lại + Những lệnh cần lặp lại

- Y/cầu hs viết chương trình hồn thiện tốn nhà

Củng cố: Hãy nêu câu hỏi cần đặt gặp tốn dạng này?

Ví dụ 1:

Var A, B: extended; T: byte;

Begin

Write(‘So tien ban dau A: ’);

Readln( A);

Write(‘So tien can co B(B>A): ’);

Readln(B); T := 0;

While A< B Do begin

A := A + 0.015*A;

T := T + 1;

end;

Writeln(‘Phai cho ’,T,’ thang’);

Readln

End.

IV ĐÁNH GIÁ CUỐI BÀI (5phút)

(38)

2 Câu hỏi, tập nhà

- Giải tập 5b, 7, sgk trang 51

(39)(40)

Ngày soạn : 21 /11/2009 Ngày dạy : 24 /11/2009 Tiết PPCT : 15

BÀI TẬP VÀ THỰC HÀNH SỐ 2(T1) I MỤC TIÊU

1 Kiến thức

Sử dụng lệnh lặp For để giải toán đơn giản 2 Kĩ năng

Vận dụng đắn dạng lệnh lặp For

Viết lệnh lặp For để mơ tả thuật tốn số toán đơn giản II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Giáo án, sgk, Projector, bảng phụ chứa chương trình mẫu 2 Học sinh: sgk

III HOẠT ĐỘNG DẠY HỌC 1 Ổn định lớp :

2 Kiểm tra cũ(7 phút)

Trình bày dạng cấu trúc câu lệnh lặp với số lần biết trước? 3 Bài :

Hoạt động 1: (15 phút) Rèn luyện kĩ vận dụng câu lệnh For câu lệnh rẽ nhánh If

Hoạt động Giáo viên Học sinh Nội Dung

Dẫn dắt: Từ toán KTBC trên, ta y/cầu tính đưa hình tổng số chẵn tổng số lẻ phạm vi từ a đến b

- Nội dung (sửa lại nội dung đề toán) Y/cầu hs phân tích đề trả lời câu hỏi - So sánh với tốn trước có khác? -Lắng nghe, phân tích tốn trả lời

-Tl: tính tổng số chẵn tổng số lẻ riêng - Ta cần đưa hình giá trị?

-Tl: giá trị (S1: tổng chẵn; S2: tổng lẻ)

- Việc cần thực câu lệnh lặp gì? Tl:

Kiểm tra biến đếm i : i chẵn S1:=S1+i ngược lại (i lẻ)thì S2:=S2+i

- Hãy mơ tả việc lệnh lặp For? Đứng chổ trả lời:

For I:=a To b Do If I mod =0 then S1:=S1+I else S2:=S2+I ;

- Y/cầu hs lớp tự hoàn thành chương trình Cho hs lên bảng trình bày

* Chuẩn hóa lại làm hs chương trình mẫu (treo chtrình chuẩn bị bảng phụ)

Quan sát chtrình giáo viên ghi nhớ

BÀI TẬP

Bài 1: Viết CT nhập vào số nguyên dương a, b (a<b), tính đưa hình tổng số chẵn tổng số lẻ phạm vi từ a đến b Var a, b, i , S1, S2 : longint;

Begin

Write(‘Nhap a va b (a<b): ‘);

Readln(a, b); S1 := 0; S2 := 0; For i := a To b Do

If i mod =

then S1 := S1 + i else S2 := S2 + i; Writeln(‘Tong chan: ’, S1,

’ Tong le: ’,S2); Readln

End.

Hoạt động 2: (20 phút) Tiếp tục vận dụng câu lệnh lặp For để giải toán đơn giản

Hoạt động Giáo viên Học sinh Nội Dung

(41)

- Cách tính tiền gửi tiết kiệm hàng tháng nào? Tl: Với số tiền S, sau tháng có lãi là: 0.015*S

Số tiền cộng vào số tiền ban đầu để tính lãi cho tháng

- Vậy, cơng thức tính tiền thu sau tháng nào? Tl: S := S + 0.015*S;

- câu lệnh lặp lặp lần? Tl: 12 lần

- Xác định giá trị đầu giá trị cuối câu lệnh For để thực việc lặp trên?

Tl: gtrị đầu 1; gtrị cuối 12

2. Y/cầu hs viết chương trình vào vở, cho hs trình bày lên bảng * Chuẩn hóa lại làm hs chương trình mẫu (treo chtrình chuẩn bị bảng phụ)

2. Thảo luận tự viết chương trình Quan sát chtrình giáo viên ghi nhớ 3. (Nếu thời gian)

Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta số tiền nhiều số tiền ban đầu bao nhiêu?

Ta phải sửa lại chtrình nào? 3. Suy nghĩ trả lời

ông gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng Hỏi sau 12 tháng gửi (không rút tiền lãi hàng tháng), ông ta số tiền bao nhiêu?

Var s:real; i:byte;

Begin

Write(‘So tien ban dau: ’); Readln(S);

For i:= To 12 Do

S:= S + 0.015*S; Writeln(‘So tien nhan duoc

la: ’,S:8:3); Readln

End. IV ĐÁNH GIÁ CUỐI BÀI (3phút)

Câu hỏi, tập nhà

Làm số sách tập Tin học 11: 3.23, 3.29; 3.31

Xem trước phần nội dung cấu trúc lặp với số lần chưa biết trước While V RÚT KINH NGHIỆM, BỔ SUNG:

(42)

Ngày soạn : 30 /11/2009 Ngày dạy : 1/12/2009 Tiết PPCT : 17- Tuần 16

ƠN TẬP HỌC KÌ I

I MỤC TIÊU. Kiến thức

- Học sinh nắm toàn kiến thức học từ đầu năm học đến Kĩ năng

- Rèn luyện kĩ nhận xét, phân tích tốn II Đồ dùng dạy học

Chuẩn bị giáo viên

- Máy chiếu qua đầu, bìa trong, sách giáo khoa Chuẩn bị học sinh.

- Sách giáo khoa, số chương trình tập III Hoạt động dạy – học

Hoạt động 1: Nhắc lại kiến thức cũ học a Mục tiêu:

- Học sinh nhớ lại kiến thức lí thuyết học b Nội dung:

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

- Có hai loại chương trình dịch: Biên dịch thông dịch

- Các thành phần ngơn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa - Các khái niệm: Tên, biến, thích

- Cấu trúc chương trình Pascal: Phần khai báo phần thân - Các kiểu liệu chuẩn: Số nguyên, số thực, kí tự, logic - Phép tốn, biểu thức, lệnh gán

- Tổ chức vào/ra - Cấu trúc rẽ nhánh - Cấu trúc lặp

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

Hoạt động Giáo viên Học sinh Nội Dung

Đặt câu hỏi gợi ý để học sinh tự nhắc lại kiến thức học

HS Chú ý, theo dõi trả lời câu hỏi

- Em hiểu lập trình ngơn ngữ lập trình?

- Các loại chương trình dịch?

- Các thành phần ngôn ngữ lập trình?

- Các khái niệm ngơn ngữ lập trình? - Cấu trúc chung chương trình TP?

- Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép tốn học?

- Các loại biểu thức?

- Chức thực lệnh gán? - Nêu tên chức số hàm số

- Lập trình q trình diễn đạt thuật tốn ngơn ngữ lập trình

- Biên dịch thơng dịch

- Bảng chữ cái, cú pháp ngữ nghĩa - Khái niệm tên, biến, thích - Gồm hai phần: Phần khai báo phần thân - Số nguyên, số thực, kí tự, logic

- Phép toán số học, phép toán quan hệ, phép toán logic

- Biểu thức số học, biểu thức quan hệ biểu thức logic

- Dùng để tính tốn biểu thức gán giá trị cho biến

(43)

học?

- Tổ chức vào/ra

- Tổ chức rẽ nhánh - Tổ chức lặp

tuyệt đối, hàm sin, hàm cos - Lệnh Read()/readln(); - Lệnh write()/writeln();

- If <BTĐK> then <lệnh 1> else <lệnh 2>; While <>

- Array Hoạt động 2: Rèn luyện kĩ năng.

a Mục tiêu:

- Học sinh biết nhận xét, phân tích giải hồn chỉnh tốn b Nội dung:

Viết chương tình nhập từ bàn phím số nguyên dương N (1<=N<=100) dãy số A gồm N số nguyên A1, A2, AN Các số A1 có giá trị tuyệt đối lớn 1000 Hãy đưa hình số lượng số

dương số lượng số âm dãy c Các bước tiến hành:

Hoạt động Giáo viên Học sinh Nội Dung

Xác định toán

- Chiếu nội dung đề lên bảng - Chia lớp thành nhóm

Nhóm 1: Nêu câu hỏi phân tích

Nhóm 2: Trả lời câu hỏi phân tích nhóm - Giáo viên góp ý bổ sung cho hai nhóm

rèn luyện kĩ lập trình - Chia lớp thành hai nhóm

- u cầu: Viết chương trình hồn thiện lên bìa

- Thu phiếu học tập, chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá bổ sung

Chuẩn hóa kiến thức chương trình mẫu giáo viên Thực chương trình, nhập liệu để học sinh thấy kết chương trình

Quan sát, theo dõi đề định hướng giáo viên để xác định toán

- Nhóm 1:

+ Dữ liệu vào + Dữ liệu

+ Các nhiệm vụ phải thực

- Nhóm 2:

+ Số N N số nguyên

+ Số lượng số chẵn C số lẻ L + – Nhập liệu

– Đếm số lượng số chẵn, số lẻ – Đưa kết hình Làm việc theo nhóm

- Thảo luận theo nhóm để viết chương trình

- Báo cáo kết

- Nhận xét, đánh giá bổ sung thiếu sót nhóm khác

Theo dõi ghi nhớ IV ĐÁNH GIÁ CUỐI BÀI

1 Những nội dung học.

- Giáo viên yêu cầu học sinh nhắc lại số nội dung ơn tập tiết học

Câu hỏi bìa tập nhà: Chuẩn bị kiến thức cho tiết sau kiểm tra học kì 1: Xem lại tồn kiến thức ôn tập, đặc biệt trọng cấu trúc lặp rẽ nhánh

Ngày soạn : /12/2009 Ngày dạy : 9/12/2009

Tiết PPCT : 18- Tuần 17

KIỂM TRA HỌC KỲ I I.MỤC ĐÍCH YÊU CẦU:

(44)

Kỹ năng:Nắm cấu trúc chương trình TP, cách khai báo thành phần chương trình TP, cú pháp chức câu lệnh TP làm kiểm tra giấy, câu lệnh có cấu trúc kiểu liệu có câu trúc

II.CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH: 1 Đồ dùng dạy học: Đề kiểm tra GV phơtơ

2.Hình thức : Tự luận

3.Sự chuẩn bị nhà: Các kiến thức HS học học kỳ I III.TIẾN HÀNH BÀI DẠY:

1 Ổn định lớp:(2’) Vắng: Trể:

2.Dạy mới:(30 - 37’)

Kiến thức bản Hoạt động Thầy Trò

I.PHÁT ĐỀ:

II.HƯỚNG DẪN HỌC SINH LÀM BÀI: 1.Hướng dẫn:

2.Làm bài

III.THU BÀI:

Giáo viên phát dề cho HS theo hình thức A, B, C, D

HS làm giấy HS tự chuẩn bị Ghi chú: Đề kiểm tra đáp án trang sau

HS không cần viết lại đề

Làm phần tờ giấy HS chuẩn bị, ghi rõ làm đề

HS tiến hành làm tự luận

GV nhắc nhở để Hs làm nghiêm túc Nếu HS vi phạm quy chế thi tùy theo mức độ vi phạm mà có hình thức xử lý cụ thể

Hết làm HS nộp lại cho GV GV thu chấm

ĐỀ THI

Bài 1: ( 3điểm)

Chương trình dịch gì? Phân biệt hai q trình thơng dịch biên dịch? Bài 2: ( điểm)

Viết biểu thức Pascal sau sang dạng tương ứng Toán học: a) x * y / (x - z)

b) (N > 0) and (N ≤ 100) c) Sqr(x - 1) + sqr(x + 3) ≤ Bài 3: ( điểm)

Viết câu lệnh rẽ nhánh tính : a) 2x1 x0

2

xx x < b) x2 y2

x2y2 1 x yx2 y2 1

  y x 1.2 x2 y2 1

  y<x Bài 4: ( điểm)

y =

(45)

Lập trình tính : 60

1

n

S

n  

ĐÁP ÁN, BIỂU ĐIỂM, HƯỚNG DẪN CHẤM

Đáp án, hướng dẫn chấm Biểu điểm

Bài 1: (3điểm)

Chương trình dịch có chức chuyển đổi chương trình viết từ ngơn ngữ lập trình bậc cao thành chương trình thực máy tính

Phân biệt Thơng dịch Biên dịch:

- Thông dịch : Thực lăp lại bước : Kiểm tra tính đắn câu lệnh chương trình nguồn; chuyển đổi câu lệnh vừa kiểm tra sang ngôn ngữ máy thực

- Biên dịch : Thực qua hai bước : Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn; Dịch tồn chương trình nguồn thành chương trình đích thực ngôn ngữ máy

1,0 điểm 1,0 điểm

1,0 điểm Bài 2:

(3điểm) Câu a)

* x y x z

1,0 điểm

Câu b) 0N 100 1,0 điểm

Câu c) 2

(x1) (y3) 4 1,0 điểm

Bài 3:

(2điểm) Câu a)Câu b) if (x < ) then y:= x*x + 2*x + 1 else y:= -2*x + 1,0 điểm

if(x*x + y*y < ) then if (y >= x) then z:= x + y else z:= 1.2

else z:= x*x + y*y; 1,0 điểm

Bài 4:

(2điểm) Program bt4; Uses crt; Var s: real; N: integer;

Begin

S: =0;

For n:=1 to 60 s:=s + 1.0/n; Writeln(‘Tong s la’, s);

Readln;

End

Hướng dẫn : Khai báo biến 0,5đ; gán giá trị ban đầu cho s 0,5đ; sử dụng vòng lăp For – (While – ) 1,0đ

0,5 điểm 0,5 điểm 1,0 điểm

Lưu ý : Trong q trình làm học sinh làm tắt số bước, đáp án chi tiết dành cho học sinh chưa giải đến kết cuối Nếu học sinh có cách giải khác mà yêu cầu toán cho điểm tối đa.

3.Hoạt động củng cố:(1-3’):Giáo viên thu bài, chấm, sữa đánh giá cho điểm làm HS 4.Hướng dẫn học sinh nhà:(2-3’)

(46)(47)

Ngày soạn : 14 /12/2009 Ngày dạy : 15/12/2009 Tiết PPCT : 16- Tuần 18

BÀI THỰC HÀNH SỐ 2(t2) I MỤC TIÊU

1 Kiến thức: Nắm cấu trúc sơ đồ thực cẩu trúc rẽ nhánh 2 Kĩ năng:

- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số ài tốn cụ thể - Làm quen với công cụ phục vụ hiệu chỉnh chương trình

3 Thái độ: Tự giác, tích cực, chủ động thực hành II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: Phịng máy vi tính, Projector 2 Học sinh: Sgk, sbt, tập viết nhà III HOẠT ĐỘNG DẠY HỌC

1 Hoạt động 1: (35 phút) Làm quen với chương trình cơng cụ hiệu chỉnh chtrình

a Mục tiêu: Hs biết nội dung chương trình kết sau thực chương trình Biết cơng cụ dùng để hiệu chỉnh chương trình cần thiết: thực bước, xem kết trung gian

b Nội dung: Viết chtrình nhập vào số nguyên dương a, b, c kiểm tra xem chúng có phải số Pitago hay không?

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

Hoạt động Giáo viên Học sinh Nội Dung

1 Gợi ý để hs nêu khái niệm số Pitago

1 Theo dõi dẫn dắt gv để nêu khái niệm số Pitago: tổng bình phương số bình phương số cịn lại

- Y/cầu hs cho ví dụ cụ thể?

- Phải sử dụng đẳng thức để kiểm tra số a, b, c số Pitago?

Ví dụ: a2=b2+c2

b2=a2+c2

c2=a2+b2

2. Chiếu chương trình mẫu lên bảng Thực mẫu thao tác: lưu, thực lệnh chtrình, xem kết trung gian, thực chtrình nhập liệu

- Y/cầu hs gõ chtrình vào máy

- Y/cầu hs lưu chtrình theo hdẫn sgk - Y/cầu hs thực lệnh chtrình

- Y/cầu hs xem kết trung gian a2, b2, c2 sổ Watches

- Y/cầu hs tìm thêm số a, b, c khác để thực chtrình so sánh

2. Soạn chtrình vào máy Nhấn F2, gõ tên file, Enter

Nhấn F7, nhập giá trị cho

a = 3, b = 5, c =

Làm theo hdẫn bảng

Quan sát qua trình rẽ nhánh liệu vào trả lời

* Xem kết trung gian + Vào Debug\ Watches,

+ nhấn phím Insert xuất cửa sổ Add watch, nhập tên biến cần theo dõi giá trị, nhấn Enter (lặp lại thao tác muốn lúc xem giá trị nhiều biến)

(48)

a Mục tiêu: Hs đọc hiểu đề, phân tích yêu cầu đề Từ chọn cấu trúc liệu lệnh phù hợp để lập trình

b Nội dung: Viết chương trình tìm giá trị lớn số a, b, c nhập từ bàn phím c Các bước tiến hành:

Hoạt động Giáo viên Học sinh Nội Dung

1 Nêu nội dung, mục đích y/cầu tốn - Bước để giải toán?

- Y/cầu hs xác định nội dung đó?

- Làm để xác định gtln số a, b, c? (Nêu bước tìm gtln)

- Y/cầu hs phát thảo thuật toán

- Qua thuật toán ta sử dụng cấu trúc để viết chương trình?

HS Chú ý theo dõi vấn đề đặt gv - Xác định Input, Output thuật toán -Input: số a, b, c

Output: Gtln(a,b,c)

- Trả lời theo dạng trình bày ý tưởng - Hs trình bày bảng

- Cấu trúc rẽ nhánh

2. Y/cầu hs gõ chương trình vào máy

Gviên tiếp cận máy tính để hướng dẫn sửa sai HS Độc lập nhóm soạn chtrình vào máy

Thơng báo kết viết 3. Y/cầu hs nhập liệu a = 23, b = 15, c = 23

HS Nhập liệu theo test cảu gv thông báo kết 4. Y/cầu hs tự xác định test khác để kiểm tra chtrình Hs Tìm test khác kiểm thử chtrình

Bài 2: Viết chương trình tìm giá trị lớn số a, b, c nhập từ bàn phím

- Nhập a, b, c; - Nếu a>b

a>c max:=a nglại max:=c

Nglại b>c max:=b nglại max:=c; - Đưa max.

IV ĐÁNH GIÁ CUỐI BÀI (5phút)

Câu hỏi, tập nhà: chuẩn bị tập sgk Xem trước bài:

V RÚT KINH NGHIỆM, BỔ SUNG:

(49)

Ngày soạn : 3/01/2010 Ngày dạy : 5/1/2010

Tiết PPCT : 19 Tuần : 21

BÀI TẬP I Mục tiêu:

1 Kiến thức: Củng cố cho học sinh kiến thức cấu trúc rẽ nhánh cấu trúc lặp. 2 Kỹ năng:

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

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 giải tập.Rèn luyện tư khoa học, tư logic

II Chuẩn bị giáo viên học sinh: GV: - Soạn giáo án

HS: - Học cũ chuẩn bị tập III Tiến trình dạy:

1 Ổn định lớp :

2 Kiểm tra cũ (7phút)

Câu hỏi 1(H1): Viết cấu trúc câu lệnh rẽ nhánh cấu trúc lặp Pascal giải thích thành phần?

Trả lời : -Rẽ nhánh

If <btđk > then <lệnh 1> else <lệnh 2>; If <btđk > then <lệnh 1>;

- Lặp For

For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <lệnh>; For <biến đếm>:= <giá trị đầu> Downto <giá trị cuối> Do <lệnh>; - Lặp While : While<điềukiện>Do<lệnh>;

3 Bài :

Hoạt động 1: (15 phút)Giải tập

Câu hỏi 1(H1): Sử dụng lệnh If gồm nhánh ?

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

Hoạt động GV HS Nội dung

HĐTP1:

- GV gọi HS lên bảng giải câu 4a) - HS lên bảng giải câu 4a)

- GV đặt H1 - HS trả lời H1

- GV yêu cầ lớp theo dõi nhận xét - Các HS khác theo dõi nhận xét

- GV nhận xét, hoàn chỉnh làm đánh giá HĐTP2:

- GV gọi HS lên bảng giải câu 4b) - HS lên bảng giải câu 4b)

- GV đặt H2

- HS trả lời H2

- GV nhận xét đánh giá

Câu 4a)

If (sqrt(x) + sqrt(y)) <=1 then z:= sqrt(x) + sqrt(y)

Else

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 2: (20 phút) Giải tập

Câu hỏi 1(H1): Hãy khai triển biểu thức Y =   50

1

n n

n

(50)

Câu hỏi 2(H2): Nhìn vào cơng thức khai triển, em cho biết n lấy giá trị đoạn ? Câu hỏi 3(H3): Em thử đưa phương pháp tính Y ?

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

Hoạt động GV HS Nội dung

- GV đặt H1

- HS lên bảng trình bày H1 - GV đặt H2

- HS trả lời H2 - GV đặt H3 - HS trả lời H3 - GV đặt H4 -1 HS trả lời H4

- GV gọi HS lên bảng giải 5a) - HS lên bảng giải 5a

- GV yêu cầu HS lại theo dõi nhận xét - Các HS lại theo dõi nhận xét bổ sung (nếu có) - GV nhận xét, hồn chỉnh làm đánh giá

Y = 123243 5150 Câu 5a)

Uses crt; Var y: real; n: byte; Begin Clrscr; y:=0;

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

End IV Củng cố dặn dò (3’):

1 Nắm nội dung học: Có cấu trúc lặp:

 Lặp For: Số lần lặp xác định  Lặp While: Số lần lặp chưa xác định 4. Làm tập lại SGK trang 51

V RÚT KINH NGHIỆM, BỔ SUNG:

(51)

Ngày soạn : 3/01/2010 Ngày dạy : 5/1/2010

Tiết PPCT : 20 Tuần : 21

KIỂU MẢNG (tiết 1/3) I MỤC TIÊU

1 Kiến thức

Biết kiểu liệu kiểu mảng chiều Biết loại biến có số;

Biết cấu trúc tạo mảng chiều, cách khai báo biến kiểu mảng chiều 2 Kĩ năng

Biết thành phần khai báo kiểu mảng chiều;

Biết định danh phần tử kiểu mảng chiều xuất chương trình; Biết cách khai báo mảng đơn giản với số miền kiểu nguyên;

Biết cách tham chiếu đến phần tử mảng chiều

Thái độ:Tự giác, tích cực, chủ động sáng tạo tìm kiếm tri thức II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: giáo án, sgk, sơ đồ cấu trúc mảng chiều 2 Học sinh: sgk

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

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Thông qua

3) Giảng mới:

Hoạt động 1: (15 phút) Khởi động

Hoạt động Giáo viên Học sinh Nội Dung

1 Nêu tốn mở đầu Y/cầu hs đọc, tìm hiểu chtrình giải tốn Và trả lời câu hỏi sau:

- Các biến: t1, …,t7 thể giá trị nào? Kiểu biến nào?

- Biến dem dùng làm gì?

- câu lệnh IF chương trình thực việc gì? TL: dem: để đếm số ngày tron tuần có nđộ lớn nđộ trung bình

TL: - Để kiểm tra ngày, nđộ ngày lớn nđộ trung bình

2 Mở rộng toán từ phạm vi tuần sang phạm vi N

ngày (chẳng hạn tháng hay năm) chương trình có hạn chế nào?

TL: Bản chất thuật tốn khơng có thay đổi việc viết chương trình gặp khó khăn cần dùng nhiều biến và đoạn câu lệnh tính tốn dài.

3 Để khắc phục hạn chế người ta thường ghép chung biến thành dãy đặt cho chung tên đánh cho phần tử số

4.Em hiểu mãng chiều?

TL: Mảng chiều dãy hữu hạn phận tử kiểu liệu

Hỏi: Để mô tả mảng chiều, ta cần xác định yếu tố nào?

1.Kiếu mảng chiều a K/n mảng chiều

(52)

- Trả lời: + Kiểu p/tử + Cách đánh số p/tử.

Hoạt động 2: (20 phút)Tạo kiểu mảng chiều khai báo biến mảng

Hoạt động Giáo viên Học sinh Nội Dung

Hỏi: Chỉ phần khai báo mảng phần báo chtrình?

- Ý nghĩa khai báo gì? Trả lời:

Dịng 1: Kbáo kiểu mảng chiều gồm Max số thực Dòng 2 : Kbáo biến mảng Nhietdo qua kiểu mảng 2 Giới thiệu cú pháp khai báo kiểu mảng chiều 3 Y/cầu cho ví dụ khai báo mảng?

Gọi hs khác: Ý nghĩa khai báo bạn vừa viết? trả lời

Var Dhs2: array [1 100] of real;

- Kbáo trực tiếp mảng có tên Dhs2 gồm 100 p/tử có kiều thực.

* Lưu ý hs tránh nhầm lẫn tên kiểu liệu mảng biến kiểu mảng

-Hỏi: (Treo bảng) Trong ba cách khai báo ví dụ 2, cách tốt hơn?

TL: Cách & 3, ta dễ dàng điều chỉnh kích thước mảng

- Hỏi: Dựa vào ví dụ trang 55 SGK, cho biết: + Tên kiểu mảng?

+ Số phần tử mảng?

+ Mỗi phần tử mảng thuộc kiểu gì? Trả lời:

.ArrayReal 301 phần tử

.Real

5. Cách tham chiếu đến phần tử mảng: TL: a[2] p/tử vị trí thứ mảng a

a[i] p/tử vị trí i mảng a

Type

Kmang1=array [1 Max] of real; Var Nhietdo: Kmang1;

b Khai báo (Có hai cách) Cách 1: Khai báo trực tiếp:

Var <tên biến mảng>: array[kiểu số] of <kiểu phần tử>;

Cách 2: Khai báo gián tiếp

Type <tên kiểu mảng>= array[kiểu số] of <kiểu phần tử>;

Var <tên biến mảng>:<tên kiểu mảng>;

Trong đó: +Kiểu số thường đoạn số nguyên liên tục có dạng n1 n2(n1<n2)(n1,n2 biểu thức)

+ Kiểu phần tử kiểu dl phần tử mảng

Ví dụ 1:

Var Nhietdo: array [1 Max] Of real;

Ví dụ 2: Khai báo mảng tối đa 100 số nguyên (chỉ số 1)

Ta có cách sau: Cách 1:

Var a: Array[1 100] Of Integer;

Cách 2:

Const Nmax = 100;

Var a: Array[1 Nmax] Of integer;

* Tham chiếu tới phần tử cuả mảng Tên_biến[chỉ số]

4) Củng cố (7 phút)

Hoạt động Giáo viên Học sinh Nội Dung

(Treo bảng)

+ Những khai báo đúng? + Trả lời:

Arrayr=array[1 200] of integer;

Arrayb = array[-100 100]of boolean;

+ Biến a khai báo chiếm dung lượng nhớ bao nhiêu?

+ Trả lời: a chiếm 400 byte nhớ

Type

Arrayr = array[1 200] Of integer; Arrayr = array[byte] of real;

Arrayb = array[-100 100] of boolean; Var a : arrayr;

B : arrayb;

III ĐÁNH GIÁ CUỐI BÀI, DẶN DÒ (3phút)

1 Câu hỏi, tập nhà: Đọc ví dụ ví dụ 2/ trang 56+57 SGK:

 Xem lại thuật tốn tìm phần tử lớn dãy số nguyên thuật toán xếp dãy số nguyên thuật toán hoán đổi (lớp 10);

(53)

Ngày soạn : 10/01/2010 Ngày dạy :12/1/2010

Tiết PPCT : 22 Tuần : 22

KIỂU MẢNG (tiết 2/3) BÀI TẬP KIỂU MẢNG MỘT CHIỀU I MỤC TIÊU

1 Kiến thức: Khai báo kiểu, biến mảng chiều, cách tham chiếu dến p/tử mảng 2 Kĩ năng: Hs sử dụng biến kiểu mảng chiều để giải toán đơn giản II CHUẨN BỊ :

1 Giáo viên: giáo án, bảng phụ, sgk 2 Học sinh: sgk

III HOẠT ĐỘNG dẠY VÀ HỌC

1) Ổn định tổ chức: Kiểm tra sĩ số lớp

2) Kiểm tra cũ: Trình bày cách khai báo kiểu mảng NNLT Pascal? 3) Giảng mới:

Hoạt động 2: (20 phút)Vận dụng kiểu mảng chiều

Hoạt động Giáo viên Học sinh Nội Dung

1 Nêu đề toán (Nội dung)

Y/cầu hs xác định In/Output toán HS: In: mảng A, số k

Out: Tổng (S) p/tử mảng A bội k 2. Ở lớp 10 ta xây dựng t/toán cho toán Y/cầu hs nhắc lại t/toán

3. Y/cầu hs cho biết việc cần thực chtrình gì?

Trả lời

+ Cho biết số ptử mảng A

+ Nhập giá trị cho ptử mảng A + Tính tổng

4. Y/cầu hs cho biết biến cần sử dụng gì?

TL: mảng A biến đơn: N, k, S

- Y/cầu hs khác lên viết phần khai báo biến đó? HS Lên bảng trình bày

Var S, N, k: integer; A: array[1 100] of integer;

5. Tiếp tục y/cầu hs lên viết phần chtrình tạo giá trị cho ptử mảng A (lưu ý nhập số lượng ptử mảng trước)

Gọi hs khác nhận xét

* Chỉnh sửa đoạn chtrình hs vừa hồn thành

6. Để viết tiếp đoạn chtrình cịn lại (tính tổng) theo thuật toán ta phải kiểm tra tất ptử mảng từ A[1] đến A[n] ta sử dụng câu lệnh đây?

TL: Sử dụng cấu trúc lặp For

- Hỏi: trước tính tổng, ngồi mảng A CT cần có thêm khơng? (GV bổ sung)

Bài 1: Viết CT tạo mảng A gồm N (N100) số nguyên Tính tổng phần tử mảng bội số nguyên dương k cho trước

Var S, n, k, i : integer;

A: array[1 100] of integer;

Begin

Write(‘Nhap n = ’); readln(n);

{tao mang}

For i:=1 To n Do begin

write(‘phan tu thu ’,i,’ =’); readln(A[i]);

end;

write(‘Nhap k = ’); readln(k); S := 0; {khoi tao S ban dau} {tinh tong}

For i:=1 To n Do

If A[i] mod k = Then

S := S + A[i];

Writeln(‘Tong can tinh la ’, S);

(54)

TL: Giá trị k Biến S := 0

- Y/cầu hs khác lên viết đoạn chtrình cịn lại? - hs Lên bảng trình bày

Chạy thử chtrình

N = A: 5, 6, -8, 13, 24, 7, -4, -12 k =3

Hoạt động 3: (15 phút) Mở rộng tốn có vận dụng mảng chiều

Hoạt động Giáo viên Học sinh Nội Dung

(Treo bảng) chứa nội dung câu lệnh cần thêm vào chtrình

1. Y/cầu hs n/cứu nội dung câu lệnh hỏi: - Ý nghĩa biến am, duong?

- Chức lệnh (3)? - Lệnh (4) đưa thơng tin gì?

HS N/cứu ý nghĩa câu lệnh trả lời: - Dùng để lưu số lượng đếm - Đếm số dương đếm số âm - Số số dương, số số âm

2. Y/cầu hs tìm vị trí bổ sung lệnh vào cho phù hợp để chtrình đếm số dương, số âm

HS Chỉ vị trí cần bổ sung câu lệnh cần loại bỏ bớt

3. Y/cầu hs lên

hồn chỉnh lại chtrình?

HS Lên bảng , chỉnh sửa lại chtrình ** Chuẩn hố lại chtrình

* Chạy thử chtrình với giá trị: Chạy thử chtrình

N = A: 5, 6, -8, 13, 24, 7, -4, -12 A 5 6 - 8 13 24 7 - 4 - 12

Duong 1 2 2 3 4 5 5 5

m 0 0 1 1 1 1 2 3

Var n, i : integer;

am, duong : integer;

A : array[1 100] of integer; Begin

Write(‘Nhap n = ’); readln(n); {tao mang}

For i:=1 To n Do begin

write(‘phan tu thu ’,i,’ =’); readln(A[i]);

end;

am := 0; duong := 0; {dem}

For i:=1 To n Do If A[i] >0 Then

duong := duong + Else if A[i]<0 Then

am := am + 1; Writeln(duong: 4, am:4);

End.

III ĐÁNH GIÁ CUỐI BÀI (5phút) 1 Nội dung học

- Tính tổng phần tử mảng thoả mãn điều kiện - Đếm số phần tử mảng thoả mãn điều kiện 2 Câu hỏi, tập nhà

- Cho mảng A, B gồm n (n<=250) số nguyên Hãy viết chương trình xây dựng mảng C[1 n], C[i] tổng phần tử thứ i thuộc mảng A mảng B (tức là: C[i] = A[i] + B[i])

(55)

Ngày soạn : 10/01/2010 Ngày dạy :12/1/2010

Tiết PPCT : 22 Tuần : 22

KIỂU MẢNG (tiết 3/3) I MỤC TIÊU

1 Kiến thức

- Hiểu khái niệm mảng hai chiều

- Hiểu cách khai báo tham chiếu đến phần tử mảng hai chiều 2 Kĩ năng

- Thực khai báo mảng hai chiều, cách tham chiếu đến phần tử mảng hai chiều - Thực việc tính toán phần tử mảng hai chiều

II CHUẨN BỊ :

1 Giáo viên: Bảng phụ chứa chương trình tạo in mảng hai chiều gồm hàng, cột Tính in hình tổng phần tử mảng

2 Học sinh: SGK, soạn

III HOẠT ĐỘNG dẠY VÀ HỌC

1) Ổn định tổ chức: Kiểm tra sĩ số lớp

2) Kiểm tra cũ: Viết cấu trúc tổng quát mảng chiều ? 3) Giảng mới:

Hoạt động 2: (7 phút)Tìm hiểu ý nghĩa mảng hai chiều

Hoạt động Giáo viên Học sinh Nội Dung

- GV yêu cầu HS xem bảng nhân SGK

- Với kiến thức mảng chiều học, em đưa cách sử dụng kiểu mảng để lưu trữ bảng nhân? TL: - Sử dụng mảng chiều, mảng lưu hàng bảng

- Với cách lưu trữ vậy, ta phải khai báo biến mảng?

- TL: Khai báo biến mảng chiều - Khai báo có hạn chế nào?

- TL: Phải khai báo nhiều biến, chương trình phải viết nhiều lệnh để tạo in giá trị mảng

- Để khắc phục hạn chế này, ta mơ tả liệu bảng nhân kiểu liệu mảng hai chiều - Nêu khái niệm mảng hai chiều

- Để mô tả kiểu mảng hai chiều, cần xác định yếu tố nào?

- HS trả lời

- Tham khảo SGK trả lời

§11 KIỂU MẢNG (tt) 2 Kiểu mảng hai chiều:

a Xét toán: Bảng nhân (SGK)

* Khái niệm mảng hai chiều: (SGK)

* Các yếu tố cần xác định để mô tả kiểu mảng hai chiều (SGK)

3 Hoạt động 3:(10’)Tìm hiểu cách khai báo biến mảng hai chiều cách tạo/in mảng hai chiều.

Hoạt động Giáo viên Học sinh Nội Dung

- GV đưa hai cách khai báo biến mảng hai chiều - GV giải thích thành phần khai báo

- Gọi HS nêu cách khai báo gián tiếp biến B để lưu trữ bảng nhân SGK

b Khai báo:

C1: Trực tiếp:

Var <tênbiếnmảng>:array[kiểu số hàng, kiểu số cột]of <kiểu phần tử>; C2: Gián tiếp:

(56)

- Gọi HS nhắc lại cách tham chiếu đến phần tử mảng chiều

- TL: Tênbiến[chỉ số]

Var <tên biến mảng>:<tên kiểu mảng>; c.Tham chiếu đến phần tử mảng hai chiều:

Tênbiến[chỉ số hàng,chỉ số cột] 4 Hoạt động 4: (17 phút)Tìm hiểu cách viết chương trình đơn giản

Hoạt động Giáo viên Học sinh Nội Dung

- GV hướng dẫn HS cách tạo mảng hai chiều có m hàng, n cột

- GV hướng dẫn HS cách in mảng hai chiều vừa tạo

- Gọi HS lên bảng sửa lại phần khai báo câu lệnh nhập cho phù hợp với

- HS lên bảng làm + Không khai báo m,n + Khai báo thêm biến T

+ Viết hai vòng for lệnh tạo in mảng là: for i := to 5 do

for j := to do

- GV hướng dẫn HS cách tính tổng

- GV treo bảng phụ viết sẵn chương trình cho HS tham khảo

- HS Theo dõi chương trình bảng phụ

d Các ví dụ:

Ví dụ 1: Viết chương trình tạo in mảng hai chiều gồm m hàng, n cột

program Tao_in_mang; var i, j, m, n: integer;

A: array [1 100,1 100] of integer; begin

write ('Nhap so hang m = '); readln (m); write ('Nhap so cot n = ');

readln (n);

{Tạo mảng} for i := to m do for j := 1 to n do begin

write('Nhap A[',i, ',' ,j,']='); readln (A[i , j]);

end; {In mảng}

for i:= to m do begin

for j := 1 to n write (A[i , j]:4);

writeln; end;

readln end. IV ĐÁNH GIÁ CUỐI BÀI (3phút)

1 Nội dung học

- Cách khai báo biến mảng hai chiều - Cách tạo mảng hai chiều

- Cách tính tốn phần tử mảng hai chiều

2 Câu hỏi, tập nhà : Xem ví dụ cịn lại SGK V RÚT KINH NGHIỆM, BỔ SUNG:

(57)

Ngày soạn : 17/01/2010 Ngày dạy :18/1/2010

Tiết PPCT : 23 Tuần : 23

BÀI TẬP I MỤC TIÊU

1 Kiến thức:

- Khai báo kiểu, biến mảng chiều, cách tham chiếu dến p/tử mảng - Củng cố làm hs hiểu sâu thuật toán xếp học lớp 10

2 Kĩ năng: Hs sử dụng biến kiểu mảng chiều để giải toán đơn giản II ĐỒ DÙNG DẠY HỌC

1 Giáo viên: giáo án, bảng phụ, sgk 2 Học sinh: sgk

III PHƯƠNG PHÁP

IV HOẠT ĐỘNG DẠY HỌC

1 Hoạt động 1: (10 phút) Kiểm tra cũ:

Gọi Hs lên bảng trình bày tập cho nhà tiết trước

2 Hoạt động 2:(15 phút) Phân tích tốn trước viết chương trình

a Nội dung: Sắp xếp dãy số nguyên thuật toán tráo đổi b Các bước tiến hành:

Hoạt động Giáo viên Học sinh Nội Dung

1. Nêu toán, y/cầu hs xác định In/Output toán TL :

In: N (N250), dãy A (A[i]<500) Out: dãy A không giảm

2 Y/cầu hs trình bày lại thuật tốn xếp tráo đổi (Đã học lớp 10)

3 Y/cầu lớp n/cứu lại t/toán trả lời câu hỏi:

- Biến j sẽ nhận giá trị phạm vi nào? Tương tự với biến i?

- Có nhận xét biến i,j? Trả lời:

+  j N,  i j-1 + i phụ thuộc theo j

(với giá trị j, i nhận giá trị từ đến j-1)

Số nguyên dương N (N250) dãy

A gồm N số nguyên dương, số đều không vượt 500 Hãy sắp xếp dãy A thành dãy không giảm.:

In: N (N250), dãy A (A[i]<500) Out: dãy A khơng giảm

2.Thuật tốn

B1: Nhập N, dãy A ; B2: jN;

B3: j<2 đưa dãy xếp, KT;

B4: jj-1; i1;

B5: Nếu i>j Qlại B3;

B6: Nếu A[i]>A[i+1] tráo đổi A[i] A[i+1];

B7: Quay lại B5

3 Hoạt động 3:(15phút)Vận dụng kiểu liệu mảng chiều để mơ tả t/tốn Pascal

Hđ GV Nd ghi bảng

1 Y/cầu hs xác định nội dung cần viết chtrình

HD: +Khai báo biến +Tạo mảng A

+Sắp xếp mảng A tăng dần

+Đưa mảng A xếp hình * Chốt lại nội dung cần viết

2 Yêu cầu hs lên bảng viết nội dung chương trình

Var A: array[1 300] of integer; N, i, j :integer;

(58)

- Khai báo biến gì? -TL: mảng A, biến đơn N, i, j - Tạo mảng làm gì?

-TL: Nhập sl p/tử mảng nhập giá trị cho p/tử mảng

- Sắp xếp mảng

Hỏi: Làm để tráo đổi giá trị biến cho (a[i] a[i+1])?

Tl: sử dụng thêm biến trung gian t: t:=a[i];

a[i]:=a[i+1]; a[i+1] :=t

- Đưa mảng hình

{tao mang}

Write(‘Nhap n = ’); readln(n);

For i:=1 To n Do begin

write(‘phan tu thu ’,i,’ =’); readln(A[i]);

end;

{sap xep mang}

For j := N Downto Do

for i:=1 to j - do

If a[i] > a[i+1] then

begin

t:=a[i]; a[i]:=a[i+1]; a[i+1] :=t

end;

{dua mang da sap xep}

Writeln (‘Mang da duoc sap xep ’);

For i :=1 To N Do write (a[i]:4); Readln

End IV ĐÁNH GIÁ CUỐI BÀI (5phút)

1 Nội dung học

Cách phân tích viết chương trình cho toán 2 Câu hỏi, tập nhà

Xem lại tập mảng giải tiết 20 Xem trước bài: Bài thực hành số

(59)

Ngày soạn : 17/01/2010 Ngày dạy :18/1/2010

Tiết PPCT : 24 Tuần : 23

BÀI THỰC HÀNH SỐ I MỤC TIÊU:

- Về Kiến thức: Củng cố cho HS hiểu biết kiểu liệu mảng

- Về Kỹ năng: Khai báo kiểu liệu mảng, nhập liệu mảng, đưa hình số giá trị phần tử mảng

+ Duyệt qua phần tử mảng để xử lý phần tử

- Về tư Thái độ: rèn luyện tư lập trình, tác phong người lập trình II CHUẨN BỊ:

- GV: Phịng máy tính, máy chiếu Projector - HS: SGK, tập

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

1) Ổn định tổ chức: Kiểm tra sĩ số lớp

2) Kiểm tra cũ: Khi ta nên khai báo biến mảng gián tiếp – thông qua định nghĩa kiểu? 3) Giảng mới:

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS

GV: Cài đặt trình chiếu CT mẫu 1a HS: Xem mẫu trình chiếu ?1: MyArray tên kiểu liệu hay tên biến?

GV: Nhận xét

HS1: Trả lời ?2: Vai trò nmax n khác nào? HS2: Trả lời ?3: Dòng lệnh dùng để tạo biến mảng A?

GV: Nhận xét

HS3: Trả lời

GV: Cho chạy thử CT 1a HS: Xem

?4: Lệnh gán A[i]:= random(300) – random(300) có ý nghĩa gì?

GV: Nhận xét

HS4: Trả lời ?5: Lệnh For i:=1 to n Write(A[i]:5); có ý nghĩa gì?

GV: Nhận xét HS5: Trả lời

?6: Lệnh For i:=1 to n If A[i] mod k = then s:=s + A[i]; thực nhiệm vụ gì?

GV: Nhận xét

HS6: Trả lời ?7: Lệnh s:=s+A[i]; thực lần?

GV: Nhận xét HS7: Trả lời

GV: Cho HS chạy thử chương trình để thấy kết HS: Chạy thử chương trình máy

GV: Nhắc nhở HS lưu chương trình chạy tốt câu a HS: Lưu chương trình GV: Trình chiếu câu lệnh câu 1b HS: Xem

?8: Đưa biến Posi Neg vào vị trí câu 1a?

GV: Nhận xét HS8: Trả lời

?9: Nhiệm vụ câu lệnh:

If A[i]:>0 then Posi:=Posi+1 else If A[i]<0 then Neg:=Neg+1; ?

GV: Nhận xét

HS9: Trả lời

GV: Yêu cầu HS đưa câu lệnh vào chương trình câu 1a HS: Thực

GV: Yêu cầu HS chạy chương trình báo cáo kết HS: Lưu chạy chương trình, báo cáo KQ

(60)

Yêu cầu HS sửa lại chương trình để nhập mảng có 10 phần tử từ bàn phím

5) Dặn dị:

- HS nhà làm tập 4.15 sách tập

- Chuẩn bị chương trình bài thực hành chương IV SGK IV RÚT KINH NGHIỆM, BỔ SUNG:

(61)

Ngày soạn : 24/01/2010 Ngày dạy :26/1/2010

Tiết PPCT : 25 Tuần : 24

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

1 Kiến thức

- Củng cố kiến thức liệu kiểu mảng

- Xây dựng cấu trúc liệu, hiểu thuật toán xếp tráo đổi 2 Kĩ năng

- Biết chỉnh sữa lỗi chương trình

- Tự nhập liệu để hiểu ý nghĩa số câu lệnh 3 Thái độ

- Nghiêm túc thực nội quy phòng máy, tự giác lập trình II.Chuẩn bị

- Gv:Bảng phụ viết sẵn chương trình, phịng máy, project - Hs: Sgk, CT viết sẵn

III Tiến hành dạy học

1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra cũ: Thông qua ? 3) Giảng mới:

Hoạt động 1: Nhắc lại kiến thức học liên quan thực hành

Hoạt động Giáo viên Học sinh Nội dung thực hành

Hỏi 1: Nêu cách khai báo kiểu mảng chiều

Hỏi 2: Nhập từ bàn phím xây dựng mảng chiều A có phần tử

Tl: có cách + gián tiếp: + trực tiếp:

TL: For i:= to Begin

Writeln(‘Nhap phan tu thu ’,i,’=’); Readln(A[i]);

End; 2 Hoạt động 2: Xác định tốn tìm hiểu chương trình

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

1. Chiếu đề lên bảng 2. Xác định toán

Y/cầu hs xác định liệu vào/ra toán? Trả lời :

- Vào: mảng A

- Ra: mảng A xếp

- Yêu cầu hs nhắc lại ý tưởng thuật toán(Lớp 10)? - HS Nhắc lại thuật toán

- Chiếu thuật toán liệt kê bước 4. Tìm hiểu chương trình

- Vai trị biến i, j CT? - TL: Dùng làm biến số

- Đoạn lệnh thực tráo đổi giá trị phần tử liền kề mảng?

- TL:3 lệnh: tg := a[i]; a[i]:= a[i+1]; a[i+1]:= tg;

Đề: Sắp xếp dãy số nguyên thuật toán tráo đổi với giá trị khác n số

(62)

- Treo bảng CT chuẩn bị sẵn Giải thích số lệnh CT 3 Hoạt động 3: Chạy CT câu a

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

- Yêu cầu hs tự nhập liệu với CT có sẵn - Giúp hs phát sữa lỗi

- Thuật toán tiến hành đưa số lớn thứ j đến vị trí j sau vòng lặp: For i:= to j-1

- Chạy CT, nhập liệu, xm kết - Chỉnh sữa CT thông qua thông báo lỗi

- Chú ý hiểu rõ thêm CT 4 Hoạt động 4: Xác định toán câu b

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

1. Xác định toán

- Y/cầu hs xác I/O toán?

- Biến Dem tăng lên nào? TL: Khi A[i] > A[i+1]

(tức biểu thức đk CL If đúng)

- Cần đưa câu lệnh tăng Dem vào chỗ CT trên? TL: Trong thân CL If: trước sau lệnh tráo đổi - Câu lệnh khởi tạo Dem:= đặt vào vị trí CT?

TL: Chọn hai phương án 3, + Trước CL đầu tiên:

For j:= N down to + Trước CL duyệt:

For i:= to j-1 + Trước CL tráo đổi + Sau CL tráo đổi

- Sau CL cuối CT nên đưa CL vào để hiển thị giá trị biến Dem hình

Đề: Khai báo biến đếm nguyên Dem bổ sung vào chương trình câu lệnh cần thiết để biến Dem tính số lần tráo đổi chương trình

Xác định tốn: + I: mảng a;

+O: mảng a xếp, số lần tráo đổi (Dem);

4 Hoạt động 5: Sữa CT câu a để giải toán câu b

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

- Yêu cầu hs sữa lại CT theo gợi ý nêu - Hướng dẫn hs chỉnh sửa chạy CT - Đánh giá kết hs

CT(Phụ lục)

- Thêm CL hướng dẫn vào CT - Chạy CT

4) Củng cố : Thuật toán xếp tráo đổi Đếm số lần tráo đổi 5) Bài tập nhà

- Tìm thêm thuật tốn xếp khác tối ưu

- Cho mảng A mảng B (là mảng A xếp) Hãy in số phần tử mảng A theo mảng B

IV RÚT KINH NGHIỆM, BỔ SUNG:

(63)

Ngày soạn : 24/01/2010 Ngày dạy :26/1/2010

Tiết PPCT : 26 Tuần : 24

Bài 12: KIỂU XÂU

I.Mục tiêu 1 Về kiến thức

- Biết kiểu dự liệu mới, biết khái niệm kiểu xâu - Phân biệt giống khác kiểu mảng với kiểu xâu

- Biết cách khai báo biến, nhập/xuất liệu, tham chiếu dến kí tự xâu - Biết phép toán liên quan đến xâu

2 Về kĩ năng

- Khai báo biến kiểu xâu ngơn ngữ lập trình Pascal

- Sử dụng biến xâu phép toán xâu để giải toán đơn giản II Chuẩn bị GV HS

1 GV: Máy vi tính, Máy chiếu để giới thiệu ví dụ

2 HSSGK

III Phương pháp Thuyết trình, vấn đáp IV Tiến trình học

HĐ1: Kiểm tra cũ khởi động mới

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

Ghi câu hỏi lên bảng Phát vấn HS chỗ Suy nghĩ, trả lời Y/c HS khác nhận xét Nhận xét

Chính xác hóa nội dung

'Viet Nam' liệu kiểu mảng Tuy nhiên kiểu liệu mà tiết ta học: KIỂU XÂU

Ghi nhớ kiến thức

Câu hỏi:

Định nghĩa mảng chiều cách khai báo

'Viet Nam' có phải liệu kiểu mảng chiều khơng, Vì sao?

HĐ2: Tìm hiểu liệu kiểu xâu

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

Xâu gì? Trả lời

Y/c HS khác nhận xét Nhận xét

Chính xác hóa nội dung Hình thành khái niệm Xâu Y/c HS cho VD

Cho VD Trả lời

Xâu có kí tự? Dấu cách ký tự

Y/c HS viết xâu có ký tự trống, xâu rỗng, nêu số lượng ký tự xâu

Giới thiệu cách tham chiếu phần tử Cho VD

Trả lời

Bài 12: KIỂU XÂU Khái niệm (SGK)

Ttự kiểu mảng

(64)

Hoạt động Giáo viên Học sinh Nội dung - Hỏi: Ý nghĩa từ String?

Trả lời

Độ dài lớn xâu Trả lời

- Hãy nhắc lại phép toán học kiểu liệu chuẩn Quan sát chương trình để dự tính kết qủa

- Chiếu chương trình VD

- Hỏi: Kết chương trình in hình? Thực chương trình cho HS thấy kết - Y/c HS tìm số VD khác

- Hỏi: Chức phép cộng

- Chiếu chương trình VD phép so sánh y/c HS cho biết kết

Lưu ý cho HS

1 Khai báo (SGK) Các thao tác xử lí xâu Var st:string;

Begin

St:='A' + 'B'; Write(st); Readln; End VD:

'AB'<'ABC' 'AC'<'ABC' Lưu ý:

Một xâu có độ dài nhỏ lớn (>) ngược lại

c) Th HĐ4: Củng cố(5'):

Nhắc lại nội dung học: - Khai báo biến

- Nhập xuất gá trị cho biến xâu - Tham chiếu kí tự xâu - Phép ghép xâu

- Các phép so sánh

HĐ5: Dặn dò (1')

(65)

Ngày soạn : 01/02/2010 Ngày dạy :02/02/2010

Tiết PPCT : 27 Tuần : 25

KIỂU XÂU(TT) I: Mục tiêu:

1 Kiến thức:

o Hiểu lợi ích hàm thủ tục liên quan đến xâu tring ngôn ngữ lập trình Pascal

o Nắm cấu trúc ching chức số hàm liên quan đến xâu 2 Kỹ năng:

o Bước đầu sử dụng số hàm, thủ tục thông dụng xâu

o Có thể cài đặt số chương trình đơn giản có sử dụng xâu II Chuẩn bị GV HS:

- GV: Giáo án, SGK, sách GV, bảng phụ soạn ví dụ

- HS: Sách GK III Phương pháp:

- Đặt vấn đề

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

- Diễn giải, dùng bảng để ghi lại chi tiết quan trọng ví dụ IV Tiến trình học.

Hoạt động 1:

- Tổ chúc lớp: Ổn định kiểm tra sĩ số Các bước tiến hành:

Hoạt động thầy trò Nội dung

kiểm tra kiến thức cũ. - Gọi HS :

Câu 1: Xâu gì? Cách khai báo biến xâu HS trả lời câu hỏi

-GV nhận xét cho điểm

*Giới thiệu mới

ĐVĐ: Chúng ta biết xâu gì? Và số phép toán xâu Bây chung ta học số thủ tục chuẩn dùng để xử lí xâu

Chú ý quan sát bảng

-Ứng với thủ tục hàm giáo viên đưa ví dụ minh hoạ theo sgk

- Xâu gồm kí tự trống viết nào? số lượng kí tự bao nhiêu?

HS trả lời

- Kí hiệu cảu xâu gồm kí tự trống ‘ ‘ xâu có độ dài

- Tham số hàm thủ tục chuẩn phải hợp lí, chẳng hạng khơng thể dùng Insert( S1, S2, 12) length(S2)<12 Hoạt động 2: Rèn luyện kĩ vận dụng hàm thủ tục. ĐVĐ: Bấy sâu chức hàm thủ tục xâu

Quan sát bảng

- Ý nghiã hàm Length(b)?

2 Các thao tác sử lí xâu:

Một số thủ tục chuẩn dùng để sử lí xâu.

- Delete(St,vt,n) Xố n kí tự xâu st vị trí vt

- Insert(S1,S2,vt) Chèn xâu S1 vào xâu S2 vị trí vt S2

- Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến khơng đổi vị trí gây lỗi ghi m, đổi thành cơng m =

- Str(X,St) Chuyển số X thành xâu kí tự lưu St

Một số hàm chuẩn:

- Copy(St, vt, n) Sao chép từ xâu St n kí tự từ vị trí vt

- Pos(S1, S2) Tìm vị trí xuất S1 S2

- Length(st) Cho độ dài xâu St - Upcase(ch) Cho chữ viết hoa tưng ứng với chữ thường ch

Bảng phụ chứa ví dụ Ues crt;

(66)

Hoạt động thầy trò Nội dung TL: Cho số lượng kí tự có sâu b

Em giải thích câu lệnh For i:=k downto write([i]);

TL: Sử dụng vòng lặp For giá trị cuối downto giá trị đầu để sau in kí tự chuỗi theo chiều ngược lại

TL: cho thấy hàm length() tham chiếu đến kí tự cử xâu thơng qua vị trí

Qua ví dụ ta thấy điêù gì?

TL: Xâu b tạo thành từ xâu rỗng qua phép ghép xâu

Em có nhận xét xâu b tạo thành Quan sát bảng

Tương tự em xem ví dụ

Clrscr;

Write(‘ nhap ho ten thu nhat: ‘); Realn (a);

Write(‘ nhap ho ten thu hai: ‘); Realn (b);

If length(a)>length(b) then Write(a) else writer(b); Realn

End

Bảng phụ chứa ví dụ Bảng phụ chứa ví dụ Bảng phụ chứa ví dụ Bảng phụ chứa ví dụ Hoạt động 3:

Củng cố:

Nhắc lại số hàm thủ tục liên quan đến xâu Nhắc lại cấu trúc câu lệnh

(67)

Ngày soạn : 01/02/2010 Ngày dạy :02/02/2010

Tiết PPCT : 28 Tuần : 25

BÀI TẬP

A.MỤC ĐÍCH: 1.Kiến thức:

- Khắc sâu thêm phần kiến thức lý thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan -Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất ký tự,

2.Kỹ năng:

-Khai báo biến kiểu xâu -Nập, xuất giá trị cho biến xâu -Duyệt qua tất ký tự xâu -Sử dụng hàm thủ tục chuẩn 3.Thái độ:

Tích cực vàc chủ động thực hành

B.PHƯƠNG PHÁP: Thực hành + Vấn đáp tái C.CHUẨN BỊ:

Giáo viên: Giáo án, SGK, máy chiếu Học sinh: Chuẩn bị nhà

D TIẾN TRÌNH LÊN LỚP: I.ỔN ĐỊNH LỚP(1’):

II.KIỂM TRA BÀI CŨ(3’): Đưa toán lên máy chiếu sau Hãy cho biết số hàm thủ tục chuẩn sau đây:

S=’THUC HANH TIN HOC’ S1=’BAI TAP’);

Length(s)->? Insert(S1,S,0)->? COPY(S, 30,9)->?

a.Đặt vấn đề(1’): Hôm học “bài tập thực hành5(t1)” để kiểm tra số thuật toán, số thủ tục hàm xử lý xâu

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(20’)

(Tìm hiểu cách khai báo biến, sử dụng hàm thủ tục chương trình)

Ví dụ : Nhập xâu, kiểm tra xem ký tự xâu S1 có trùng với ký tự cuối xâu S2 hay không ?

I.Tìm hiểu khai báo biến, hàm thủ tục thơng qua số chương trình có sẳn:

VD :

Var s1,s2 : String ; x : Byte ;

Begin

Write('Nhap xau thu : '); Readln(s1) ;

Write('Nhap xau thu : '); Readln(s2) ;

x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else

Write('Khac nhau'); Readln ;

(68)

Ví dụ : Nhập xâu, viết hình xâu theo thứ tự ngược lại ký tự xâu

Ví dụ : Nhập xâu, viết hình xâu bỏ tất ký tự dấu cách

Ví dụ : Nhập xâu, viết hình xâu gồm ký tự số xâu

VD :

Var i,k : Byte ; a : String ; Begin

Write('Nhap xau : ') ; Readln(a) ;

k := length(a) ;

For i := k downto Write(a[i]) ;

Readln ; End VD :

Var i,k : Byte ; a,b : String ; Begin

Write('Nhap xau : ') ; Readln(a) ;

k := length(a) ; b :='' ;

For i := to k if a[i] <> '' then b := b+a[i] ; Write(b) ; Readln ; End VD :

Var s1,s2 : String ; i : Byte ;

Begin

Write('Nhap xau s1 : ') ; Readln(s1) ;

s2 := '' ;

For i := to length(s1)

If ('0'<s1[i]) and (s1[i]<='9') then s2 := s2 + s1[i] ;

Write(s2); Readln ; End

II.Vận dụng câu lệnh, hàm thủ tục để viết chương trình:

Bài1:Hãy viết chương trình nhập vào xâu S đưa hình xâu in hoa

Var S : String ; i : Byte ; Begin

(69)

Gv:Yêu cầu hs kiểm tra với số liệu nhập vào từ bàn phím giải thích câu lệnh ví dụ

Hoạt động 2(17’)

(Rèn luyện kỷ lập trình) Gv:Đưa câu hỏi lên máy chiếu

Hãy cho biết hàm đổi ký tự thường thành chữ in hoa?

Hs:Hàm Upcase(ch) Gv:

Hãy viết đoạn chương trình đổi chữ thường thành chữ in hoa?

Hs:Thực hành máy trả lời câu hỏi For i:=1 To Length(S) Do

Write(Upcase(S[i]);

Gv:Đưa câu hỏi lên máy chiếu

Hãy nêu ý tưởng thuật tốn đếm xâu S có ký tự số?

Hs:Thực hành máy->Trả lời câu hỏi Dem:=0;

For i:=1 To length(S) Do

If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1;

Gv:Quan sát thực hành hs đưa câu hỏi

Ngồi cách viết thuật tốn trê ta cịn có cách viết khác nửa?

Hs:

Tách dãy từ xâu S thành xâu có số (Ví dụ 4)

Sử dụng hàm Length(S1)

Gv:Yêu cầu Hs thử sử dụng cách để kiểm chứng

Readln(S) ;

For i:=1 To Length(S) Do Write(Upcase(S[i]); Readln;

End

Bài2:Hãy viết chương trình nhập vào xâu (có ký tự ký tự số) đưa hình có ký tự số?

Ví dụ:

S=’08bC156546CD’ =>Dem=8 Var S:String;

i, Dem:Byte; Begin

Write(‘Nhap xau S=’);Readln(S); Dem:=0;

For i:=1 To length(S) Do

If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1;

Write(‘Tong so ky tu la so’,Dem); Readln;

End

IV.CỦNG CỐ(2’):

- Nhận xét buổi thực hành=>đưa số lổi thường gặp thực hành - Cần nắm cách khai báo biến xâu, hàm thủ tục xử lý xâu, V.DẶN DỊ(1’): Đưa lên hình máy chiếu sau:

-Tiết sau học tiết: Tiết 32: Bài tập Thực hành 5(t2) -Bài tập nhà: 10,11/79(SGK)

- Xem đọc trả lời câu hỏi sau:

1.Hãy viết chương trình nhập vào từ bàn phím xâu S đếm xâu S có dấu cách?

(70)

Ngày soạn : 21/02/2010 Ngày dạy :23/02/2010

Tiết PPCT : 29 Tuần : 26

BÀI TẬP VÀ THỰC HÀNH 5(Tiết 1)

A.MỤC ĐÍCH: 1.Kiến thức:

- Khắc sâu thêm phần kiến thức lý thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan -Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất ký tự,

2.Kỹ năng:

-Khai báo biến kiểu xâu -Nập, xuất giá trị cho biến xâu -Duyệt qua tất ký tự xâu -Sử dụng hàm thủ tục chuẩn 3.Thái độ: Tích cực vàc chủ động thực hành.

B.PHƯƠNG PHÁP: Thực hành + Vấn đáp tái C.CHUẨN BỊ:

1. Giáo viên: Giáo án, SGK, máy chiếu

2. Học sinh: Chuẩn bị nhà D TIẾN TRÌNH LÊN LỚP:

I.ỔN ĐỊNH LỚP(1’):

II.KIỂM TRA BÀI CŨ(3’): Đưa toán lên máy chiếu sau Hãy cho biết số hàm thủ tục chuẩn sau đây:

S=’THUC HANH TIN HOC’ S1=’BAI TAP’);

Length(s)->? Insert(S1,S,0)->? COPY(S, 30,9)->?

a.Đặt vấn đề(1’): Hôm học “bài tập thực hành5(t1)” để kiểm tra số thuật toán, số thủ tục hàm xử lý xâu

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(20’)

(Tìm hiểu cách khai báo biến, sử dụng hàm thủ tục chương trình)

Gv:Đưa tuèng chương trình lên máy chiếu để Hs quan sát tìm hiểu

-Giáo viên yêu cầu Hs gõ số chương trình sau vào NNLT Pascal, chạy chương trình để kiểm tra tính đắn thuật tốn

-Với ví dụ, Gv sâu vào giải thích câu lệnh trực tiếp đáp ứng yêu cầu ví dụ, em tiếp thu nhanh

Hs: Soạn thảo ví dụ vào máy tìm hiểu cách sử dụng biến, hàm thủ tục

Ví dụ : Nhập xâu, kiểm tra xem ký tự xâu S1 có trùng với ký tự cuối xâu S2 hay không ?

I.Tìm hiểu khai báo biến, hàm thủ tục thơng qua số chương trình có sẳn:

VD :

Var s1,s2 : String ; x : Byte ;

(71)

Ví dụ : Nhập xâu, viết hình xâu theo thứ tự ngược lại ký tự xâu

Ví dụ : Nhập xâu, viết hình xâu bỏ tất ký tự dấu cách

Ví dụ : Nhập xâu, viết hình xâu gồm ký tự số xâu

Write('Nhap xau thu : '); Readln(s1) ;

Write('Nhap xau thu : '); Readln(s2) ;

x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else

Write('Khac nhau'); Readln ;

End VD :

Var i,k : Byte ; a : String ; Begin

Write('Nhap xau : ') ; Readln(a) ;

k := length(a) ;

For i := k downto Write(a[i]) ;

Readln ; End VD :

Var i,k : Byte ; a,b : String ; Begin

Write('Nhap xau : ') ; Readln(a) ;

k := length(a) ; b :='' ;

For i := to k if a[i] <> '' then b := b+a[i] ; Write(b) ; Readln ; End VD :

Var s1,s2 : String ; i : Byte ;

Begin

Write('Nhap xau s1 : ') ; Readln(s1) ;

s2 := '' ;

For i := to length(s1)

If ('0'<s1[i]) and (s1[i]<='9') then s2 := s2 + s1[i] ;

(72)

Gv:Yêu cầu hs kiểm tra với số liệu nhập vào từ bàn phím giải thích câu lệnh ví dụ

Hoạt động 2(17’)

(Rèn luyện kỷ lập trình) Gv:Đưa câu hỏi lên máy chiếu

Hãy cho biết hàm đổi ký tự thường thành chữ in hoa?

Hs:Hàm Upcase(ch) Gv:

Hãy viết đoạn chương trình đổi chữ thường thành chữ in hoa?

Hs:Thực hành máy trả lời câu hỏi For i:=1 To Length(S) Do

Write(Upcase(S[i]);

Gv:Đưa câu hỏi lên máy chiếu

Hãy nêu ý tưởng thuật tốn đếm xâu S có ký tự số?

Hs:Thực hành máy->Trả lời câu hỏi Dem:=0;

For i:=1 To length(S) Do

If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1;

Gv:Quan sát thực hành hs đưa câu hỏi

Ngoài cách viết thuật tốn trê ta cịn có cách viết khác nửa?

Hs:

- Tách dãy từ xâu S thành xâu có số (Ví dụ 4)

- Sử dụng hàm Length(S1)

Gv:Yêu cầu Hs thử sử dụng cách để kiểm chứng

Readln ; End

II.Vận dụng câu lệnh, hàm thủ tục để viết chương trình:

Bài1:Hãy viết chương trình nhập vào xâu S đưa hình xâu in hoa

Var S : String ; i : Byte ; Begin

Write('Nhap xau S : ') ; Readln(S) ;

For i:=1 To Length(S) Do Write(Upcase(S[i]); Readln;

End

Bài2:Hãy viết chương trình nhập vào xâu (có ký tự ký tự số) đưa hình có ký tự số?

Ví dụ:

S=’08bC156546CD’ =>Dem=8 Var S:String;

i, Dem:Byte; Begin

Write(‘Nhap xau S=’);Readln(S); Dem:=0;

For i:=1 To length(S) Do

If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1;

Write(‘Tong so ky tu la so’,Dem); Readln;

End IV.CỦNG CỐ(2’):

- Nhận xét buổi thực hành=>đưa số lổi thường gặp thực hành - Cần nắm cách khai báo biến xâu, hàm thủ tục xử lý xâu, V.DẶN DÒ(1’): Đưa lên hình máy chiếu sau:

-Tiết sau học tiết: Tiết 32: Bài tập Thực hành 5(t2) -Bài tập nhà: 10,11/79(SGK)

- Xem đọc trả lời câu hỏi sau:

1.Hãy viết chương trình nhập vào từ bàn phím xâu S đếm xâu S có dấu cách?

2.Hãy viết chương trình nhập từ bàn phím xâu S tách xâu từ xâu S vị trí lấy ký tự?

(73)

Tiết PPCT : 30 Tuần : 26

BÀI TẬP VÀ THỰC HÀNH (Tiết 2) A.MỤC ĐÍCH:

1.Kiến thức:

- Hs tự xây dựng số thật toán xâu soạn thảo NNLT Pascal

- Khắc sâu thêm phần kiến thức lý thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan 2.Kỹ năng:

-Khai báo biến kiểu xâu

- Nhập, xuất giá trị cho biến xâu - Duyệt qua tất ký tự xâu - Sử dụng hàm thủ tục chuẩn 3.Thái độ:

- Tích cực vàc chủ động thực hành

B.PHƯƠNG PHÁP: Thực hành + Vấn đáp tái C.CHUẨN BỊ:

3. Giáo viên: Giáo án, SGK, máy chiếu

4. Học sinh: Chuẩn bị nhà D TIẾN TRÌNH LÊN LỚP:

I.ỔN ĐỊNH LỚP(1’):

II.KIỂM TRA BÀI CŨ(3’): Gọi Hs lên bảng viết

Hãy nêu cú pháp ý nghĩa hàm thủ tục xử lý xâu? Mỗi thủ tục hàm lấy ví dụ? a.Đặt vấn đề(1’): Hôm học “Bài tập Thực hành5(t2)” để kiểm tra số thuật toán, số thủ tục hàm xử lý xâu

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(15’)

(Tìm hiểu cách khai báo biến, sử dụng hàm và thủ tục chương trình)

Gv:Đưa nội dung tập lên máy chiếu

Hãy gõ chương tình chạy thử với test sau:

A=’abccba’ A=’fgđhfs’

Hs:Quan sát hình máy chiếu SGK để gõ chương trình vào NNLT Pascal

Gv: Quan sát Hs gõ chương trình đưa câu hỏi thảo luận sau:

Với hai test kết xuất nào?

Hs: Thực hành trả lời kết qua.í

I.Soạn thảo chương trình tìm hiểu cách khai báo biến số câu lệnh:

Nhập vào từ bàn phím xâu Kiểm tra xâu có phải xâu đối xứng hay khơng Xâu đối xứng có tính chất: đọc từ phải sang trái thu kết giống đọc từ trái sang phải (Còn gọi xâu palindrome)

a.Hãy chạy thử chương trình sau: Var

i,x:Byte; a,p:String; Begin

Write(‘Nhap xau a=’); Readln(a); P:=’’;

For i:=length(a) Downto Do p:=p+a[i]; If a=p Then Write(‘Xau palindrome) Else Write(‘Xau khong phai la palindrome); Readln;

End

(74)

Gv: Hãy sửa lại chương trình mà khơng sử dụng biến P?

Hs:Thảo luận theo nhóm (2Hs/máy) -Dùng biến kt

-Soạn thảo chương trình

-Chạy thử chương trnhf với Test Gv:

-Quan sát đưa chương trình hồn chỉnh lên máy chiếu để Hs so sánh

-Ngoài cịn có cách thứ 2:

While i<=(x div2) And (a[i]=a[x-i+1] Do i:=i+1

If i>(x div 2) Then Write(‘Xau palindrome) Else Write(‘Xau khong phai la palindrome);

Hoạt động 2(22’)

(Rèn luyện kỷ lập trình) Gv:Đưa câu hỏi lên máy chiếu

S=’AbaCDacd’

Hãy cho biết số lần xuất chữ tiếng Anh S ( không phân biệt chữ hoa hay chữ thường)?

Hs:Đếm trả lời

Gv: Hãy nêu Input Output toán? Hs:

Input:Nhập xâu S

Output: Đếm số lần xuất hiền chữ tiếng anh

Gv:

Trong bảng chữ tiếng anh có chữ cái?

Hs:Gồm có 26 chữ Gv:Hướng dẫn

Dem[A]:=0; Dem[B:=0; … Dem[Z=0;

Hãy viết câu lệnh khởi tạo biến nào?

Hs:Sử dụng câu lệnh For

Gv: Hãy viết đoạn chương trình đếm số lần xuất chữ tiếng Anh?

Hs: Suy nghĩ trả lời If S[i] in ['A' 'Z'] Then Begin

S[i]:=upcase(S[i]);

dùng biến xâu p? Var

i,x:Byte; a,p:String; Kt:Boolean; Begin

Write(‘Nhap xau a=’); Readln(a); Kt:=True;

X:=length(a); For i:=1 To x div Do

If a[i]<> a[x-i+1] Then kt:=False; If Kt Then Write(‘Xau palindrome) Else Write(‘Xau khong phai la palindrome); Readln;

End

II.Vận dụng kiểu liệu xâu để lập trình:

Bài 2: Viết chương trình nhập từ bàn phím xâu S thông báo số lần xuất chữ tiếng Anh S ( không phân biệt chữ hoa hay chữ thường)

Input:Nhập xâu S

(75)

Dem[S[i]]:=Dem[s[i]]+1; End;

Gv:Yêu cầu hoạt động theo nhóm (2Hs/1máy tính) theo mẫu sau:

Var

Dem:array['A' 'Z'] Of Byte; S: ;

i: ; ch: ; Begin

Write('Nhap xau S='); Readln(S); For ch:='A' To 'Z' Do Dem[ch]:= ; For i:=1 to Length(S) Do

If S[i] in ['A' 'Z'] Then Begin

End;

For ch:='A' to 'Z' Do If Dem[S[i]]<> Then Writeln( ); Readln;

End

Hãy viết chương trình đầy đủ chạy thử chương trình để để tra xem kết đúng?

Hs:Thảo luận theo nhóm để điền chạy chương trình báo cáo kết

Gv:Quan sát đưa tồn chương trình lên máy chiếu chạy thử để Hs quan sát

Var

Dem:array['A' 'Z'] Of Byte; S:string;

i:Byte; ch:char; Begin

Write('Nhap xau S='); Readln(S); For ch:='A' To 'Z' Do Dem[ch]:=0; For i:=1 to Length(S) Do

If S[i] in ['A' 'Z'] Then Begin

S[i]:=upcase(S[i]); Dem[S[i]]:=Dem[s[i]]+1; End;

For ch:='A' to 'Z' Do If Dem[S[i]]<> Then

Writeln('so lan xuat hien ',ch,' la',Dem[ch]); Readln;

End

IV.CỦNG CỐ(2’):

- Nhận xét buổi thực hành=>đưa số lổi thường gặp thực hành - Cần nắm cách khai báo biến xâu, hàm thủ tục xử lý xâu,

- Cần nắm thuật toán đếm số lần xuất chữ tiếng anh, kểu tra xâu đối xứng V.DẶN DỊ(1’): Đưa lên hình máy chiếu sau:

-Tiết sau học tiết: Tiết 33: Bài tập -Bài tập nhà:

(76)

Ngày soạn : 28/02/2010 Ngày dạy :01/03/2010

Tiết PPCT : 31 Tuần : 27

KIỂU BẢN GHI ( Tiết ½) A.MỤC ĐÍCH:

1.Kiến thức:

- Biết khái niệm kiểu bảng ghi

- Biết cách khai báo ghi, truy xuất trường ghi

- Phân biệt giống khác kiểu ghi với mảng chiều 2.Kỹ năng:

- Khai báo kiểu ghi, khai báo biến kiểu ghi NNLT Pascal - Nhập xuất liệu cho biến ghi

- Tham chiếu đến trường kiểu ghi - Sử dụng kiểu ghi để giải số toán

3.Thái độ:Tiếp tục rèn luyện phẩm chất cần thiết nguời lập trình như: ý thức chọn xây dựng kiểu liệu, ý thức rèn luyện kỹ năng,

B.PHƯƠNG PHÁP: Nêu giải vấn đề + Thuyết trình C.CHUẨN BỊ:

5. Giáo viên: Giáo án, SGK, máy chiếu

6. Học sinh: Chuẩn bị nhà D TIẾN TRÌNH LÊN LỚP:

I.ỔN ĐỊNH LỚP(1’):

II.KIỂM TRA BÀI CŨ: Không

a.Đặt vấn đề(2’): Đưa lên máy chiếu tốn cần giải sau: Viết chương trình dùng để quản lí thí sinh kỳ thi tuyển sinh

- Làm để quản lý tồn thơng tin học sinh ?

- Mỗi thơng tin có kiểu liệu ?

HS : Có thể quản lý kiện mảng chiều

=>Ngơn ngữ lập trình bậc cao có cách tốt để quản lý liệu -> Bản ghi

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(10’)

(Giới thiệu số khái niệm)

Gv:Đưa bảng điểm SGK lên máy chiếu, rõ :

-Mỗi hàng gọi bảng ghi -Mỗi cột trường

Hs:Lắng nghe quan sát bảng máy chiếu để Hs biết rõ

Gv:

Bảng liệu thường xác định giá trị nào?

Hs:Dựa vào bảng SGK để trả lời câu hỏi Gv:

Đưa lên máy chiếu thuộc tính bảng ghi Hoạt động 2(15’)

(Khai báo biến bảng ghi)

Gv: -Mỗi NN có cách khai báo bảng ghi khác

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

- Kiểu ghi dùng để mô tả cho đối tượng có số thuộc tính mà thuộc tính có kiểu liệu khác

- Bản ghi thường gọi Record, Record lưu trữ liệu đối tượng cần quản lí

- Mỗi thuộc tính đối tượng tương ứng với trường ghi Các trường khác có liệu khác

- Các ngôn ngữ lập trình thường cho cách để xác định :

+ Tên kiểu ghi + Tên trường

(77)

nhau

-Ngôn ngữ Pascal không cho bạn khai báo biến ghi trực tiếp mà phải khai báo biến ghi thông qua khai báo kiểu ghi

-Trước hết phải khai báo kiểu ghi sau biến ghi khai báo thông qua kiểu ghi

GV : Làm để khai báo nhiều biến ghi có kiểu ?

HS : GV gợi ý để học sinh đưa sử dụng kiểu mảng phần tử mảng có kiểu ghi

Gv:Ví dụ khai báo ghi

+Khai báo kiểu ghi để xử lý bảng kết thi học sinh

Mỗi ghi bao gồm : Họ tên học sinh (Hoten), ngày tháng năm sinh(Ngaysinh), Giới tính (NamNu), điểm thi môn học sinh (Toan, Ly, Hoa, Van, Su, Dia,Tin)

Hãy xác định kiểu liệu cho trường (Mỗi nội dung trường ghi)?

Hs:Vận dụng để viết cách khai báo

GV : Khi có nhu cầu thay đổi thông tin trường, làm để truy cập thông tin vào trường ghi ?

Hs:Mỗi ngơn ngữ có cách truy cập khác thường viết :

<Tên biến ghi>.<tên trường> GV: Đưa số ví dụ

Hoạt động 2(8’) (Giới thiệu cách gán giá trị)

Gv: Dựa vào cách khai báo biến ghi cho biết cách gán A:=B B:=A hay sai? Hs:A, B kiểu nên gán cho

Gv:Giới thiệu đưa lên máy chiếu nội dung gán

<Tên biến ghi> <Tên trường> II.Khai báo biến bảng ghi:

1.Cách khai báo kiểu :

Type <Tên kiểu ghi>=Record <Tên trường 1> : <Kiểu trường 1>; ……… ……… <Tên trường n> : <Kiểu trường n>; End ;

Var <Tên biến> : <Tên kiểu ghi>; Var

<Tên mảng> : Array[1 n] Of <Tên kiểu ghi> ; 2.Ví dụ:

Type Hocsinh = Record Hoten : String[30] ; Ngaysinh : String[10] ; NamNu :Boolean ;

Toan,Ly, Hoa, Van, Su, Dia : Real ; End ;

Var A, B : Hocsinh ;

Lop : Array[1 100] Of Hocsinh ; Ví dụ :

A.Hoten B.Ngaysinh Lop[i].Toan Lop[i].Ly

……… với i số mảng Lop Để truy cập vào trường ghi, ta viết:

<Tên biến ghi> <Tên trường> III.Gián giá trị:

Có cách để gán giá trị cho ghi

- Dùng lệnh gán trực tiếp : Nếu A, B hai ghi kiểu ta gán giá trị A cho B câu lệnh gán:

Vd : B := A ; A := B ;

- Gán giá trị cho trường Dùng câu lệnh gán gán giá trị cho trường nhập từ bàn phím A.Hoten := ‘Nguyen Van Tuan’ ;

Readln(a.Ngaysinh);

Chương trình xử lý bảng kết thi IV.CỦNG CỐ(8'):

(78)

Ngày soạn : 28/02/2010 Ngày dạy :01/03/2010

Tiết PPCT : 32 Tuần : 27

KIỂU BẢN GHI ( Tiết 2/2 ) A.MỤC ĐÍCH:

1.Kiến thức:

- Ơn lại kiến thức ghi: cú pháp khai biến, cách tham chiếu, số câu lệnh liên quan đến thao tác xử lý ghi

- Nắm số thuật tốn: Nhập thơng báo kết trường, xếp liệu 2.Kỹ năng:

- Khai báo kiểu ghi NNLT Pascal - Nhập xuất liệu cho biến ghi

- Tham chiếu đến trường kiểu ghi - Sử dụng kiểu ghi để giải số toán

3.Thái độ:Tiếp tục rèn luyện phẩm chất cần thiết nguời lập trình như: ý thức chọn xây dựng kiểu liệu, ý thức rèn luyện kỹ năng,

B.PHƯƠNG PHÁP: Vấn đáp tái + Thảo luận nhóm C.CHUẨN BỊ:

7. Giáo viên: Giáo án, SGK, máy chiếu, giấy A0 bút

8. Học sinh: Chuẩn bị nhà D TIẾN TRÌNH LÊN LỚP:

I.ỔN ĐỊNH LỚP(1’): II.KIỂM TRA BÀI CŨ(5'):

1.Hãy nêu cú pháp khai báo biến ghi? 2.Hãy khai báo biến ghi ví dụ sau:

BẢNG ĐIỂM TRUNG BÌNH NĂM HOC 2007-2008

TT Họ tên năm sinh Toán Lý Hoá Văn TB Xếp loại

1 n III.BÀI MỚI: a.Đặt vấn đề(1’):

Kiểu liệu ghi dùng để mơ tả đối tượng có số thuộc tính mà thuộc tính có kiểu liệu khác nhau, nghiên cứu lý thuyết kiểu ghi tiết trước Hôm vận dụng kiểu ghi để làm số tập

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(10’)

(Giới thiệu cách truy xuất đến trường) Gv:

-Yêu cầu Hs đọc câu hỏi tập 11/80

-Yêu cầu Hs xem lại ví dụ trả lời câu hỏi sau: Hãy xem ví dụ SGK bổ sung thêm đoạn chương trình đưa danh sách học sinh có xếp loại A?

Hs:Đọc đề kết hợp với ví dụ SGK để sửa lại chương trình

Gv:

Bài tập 11/80(SGK):

Lưu ý vận dụng tập tiết 34

Hãy bổ sung thêm vào chương trình Xeploai (ở 13) lệnh cần thiết để chương trình đưa danh sách học sinh xếp loại A

(79)

-Phân tích câu lệnh Hs đưa ra=>Kết luận chương trình cụ thể

-Đưa tồn chương trình lên máy chiếu chạy vài test để kiểm chứng thuật toán

Hoạt động 2(24’) (Rèn luyện tư lập trình)

Gv:Đưa câu hỏi tập lên máy chiếu Y/c học sinh đọc

Hãy nêu cách tổ chức liệu cho tập 2? Hs:Lên bảng viết cách khai báo biến ghi Gv:Tổ chức hoạt động nhóm sau:

+Nhóm 1: Viết đoạn chương trình nhập Họ tên, DTBHK1 DTBHK2 học sinh

+Nhóm 2:Viết đoạn chương trình tính TBCN xếp loại

+Nhóm3:Viết đoạn chương trình xếp theo thứ tự tăng dần cột điểm TBCN

+Nhóm 4:Xuất kết theo bảng sau:

TT Họ tên DHK1 DHK2 DCN XL

1 n

Hs: Thảo luận theo nhóm phân cơng Gv:

-Y/c nhóm trình bày giấy A0

-Sau thảo luận nhóm xong nhóm lên bảng trình bày, nhóm khác bổ sung

-Sau nhóm bổ sung thi Gv nhận xét phân tích đoạn chương trình=>Đưa chương tình cụ thể sau lên máy chiếu chạy thử vài Test để kiểm chứng thuật toán

If lop[i].xeploai='A' Then Begin Write(i:4); Write(Lop[i].ten:30); Write(Lop[i].Xeploai); Writeln; End;

Bài tập 2/145(SBT Pascal5.5):

Viết chương trình nhập họ tên, điểm DHK1 DHK2 Hs lớp

a.Tính TBCN xếp loại

b Xếp hạng theo thứ tự tăng dần cột điểm TBCN học sinh

c.Thông báo theo bảng sau theo thứ tự xếp cột điểm TBCN

TT Họ tên DHK1 DHK2 DCN XL

1 n

*Chương trình: Type Bdiem=Record Hoten:String;

DHK1,DHK2,TBCN:Real; Xeploai:String[5];

End;

Var Hs:Array[1 60] Of Bdiem; I,j,n:Byte;

Tg:Bdiem; Begin

Write('Nhap so luong Hs n='); Readln(n); For i:=1 To n Do

With Hs[i] Do Begin

Write('Nhap Ho ten',i); Readln(Hoten); Write('NhapTBHK1',i); readln(DHK1);

Write('NhapTBKT2',i); Readln(DHK2); End;

{Tinh TB Ca nam va Xep loai} For i:=1 To n Do

Hs[i].TBCN:=(Hs[i].DHK1+Hs[i].DHK2*2)/3; For i:=1 To n Do

With Hs[i] Do Begin

If TBCN>=8.0 Then Xeploai:='Gioi'; if (TBCN>=6.5)and(TBCN<8.0) Then Xeploai:='Kha';

(80)

If (TBCN>=3.5) and (TBCN<5) Then Xeploai:='Yeu';

If TBCn<3.5 Then Xeploai:='kem'; End;

For i:=1 to n-1 Do For j:=i+1 to n Do

If Hs[i].TBCN> Hs[j].TBCN Then Begin

tg:=Hs[i]; Hs[i]:=Hs[j]; Hs[j]:=tg;

End;

{Thong bao ket qua nhu sau}

Writeln(' '); Writeln('| TT |','| Ho ten |','| TBCN |','| xeploai |');

Writeln(' '); For i:=1 to n

With Hs[i] Do

Writeln(i:5,hoten:20,TBCN:10:2,Xeploai:10); Readln;

End IV.CỦNG CỐ(3'): Đưa lên máy chiếu ví dụ sau: -Cần nắm:

+Cách khai báo biến ghi

+Cách truy xuất vào giá trị trường

+Cách nhập xuất trường ghi +Một số câu lệnh

-Hai thuật tốn: Sắp xếp, tính tốn

V.DẶN DỊ(1’): Đưa lên hình máy chiếu sau: - Câu hỏi ôn tập:

1 Câu lệnh rẽ nhánh lặp?

2.Khai báo kiểu mảng chiều, hai chiều, kiểu xâu? Các đoạn chương trình nhập xuất 3.Khai báo kiểu ghi? Các đoạn chương trình nhập xuất ghi?

4.Xem lại tập từ 1->11/80(SGK)

(81)

Tiết PPCT : 33 Tuần : 28

BÀI TẬP (T1)

A.MỤC ĐÍCH:

1.Kiến thức:

- Ơn lại kiến thức ghi: cú pháp khai biến, cách tham chiếu, số câu lệnh liên quan đến thao tác xử lý ghi

- Nắm số thuật tốn: Nhập thơng báo kết trường, xếp liệu

2.Kỹ năng:

- Khai báo kiểu ghi NNLT Pascal - Nhập xuất liệu cho biến ghi

- Tham chiếu đến trường kiểu ghi - Sử dụng kiểu ghi để giải số toán

3.Thái độ:Tiếp tục rèn luyện phẩm chất cần thiết nguời lập trình như: ý thức chọn xây dựng kiểu liệu, ý thức rèn luyện kỹ năng,

B.PHƯƠNG PHÁP: Vấn đáp tái + Thảo luận nhóm C.CHUẨN BỊ:

9 Giáo viên: Giáo án, SGK, máy chiếu, giấy A0 bút.

10 Học sinh: Chuẩn bị nhà.

D TIẾN TRÌNH LÊN LỚP: I.ỔN ĐỊNH LỚP(1’): II.KIỂM TRA BÀI CŨ(5'):

1.Hãy nêu cú pháp khai báo biến ghi? 2.Hãy khai báo biến ghi ví dụ sau:

BẢNG ĐIỂM TRUNG BÌNH NĂM HOC 2007-2008

TT Họ tên năm sinh Toán Hoá Văn TB Xếp loại

1 n III.BÀI MỚI:

a.Đặt vấn đề(1’):

Kiểu liệu ghi dùng để mô tả đối tượng có số thuộc tính mà thuộc tính có kiểu liệu khác nhau, nghiên cứu lý thuyết kiểu ghi tiết trước Hôm vận dụng kiểu ghi để làm số tập

b.Triển khai mới:

HOẠT ĐỘNG CỦA THẦY VÀ TRÒ NỘI DUNG KIẾN THỨC

Hoạt động 1(10’)

(Giới thiệu cách truy xuất đến trường) Gv:

-Yêu cầu Hs đọc câu hỏi tập 11/80

-Yêu cầu Hs xem lại ví dụ trả lời câu hỏi sau: Hãy xem ví dụ SGK bổ sung thêm đoạn chương trình đưa danh sách học sinh có xếp loại A?

Hs:Đọc đề kết hợp với ví dụ SGK để sửa lại chương trình

Gv:

Bài tập 11/80(SGK):

Lưu ý vận dụng tập tiết 34

Hãy bổ sung thêm vào chương trình Xeploai (ở 13) lệnh cần thiết để chương trình đưa danh sách học sinh xếp loại A

(82)

-Phân tích câu lệnh Hs đưa ra=>Kết luận chương trình cụ thể

-Đưa tồn chương trình lên máy chiếu chạy vài test để kiểm chứng thuật toán

Hoạt động 2(24’) (Rèn luyện tư lập trình)

Gv:Đưa câu hỏi tập lên máy chiếu Y/c học sinh đọc

Hãy nêu cách tổ chức liệu cho tập 2? Hs:Lên bảng viết cách khai báo biến ghi Gv:Tổ chức hoạt động nhóm sau:

+Nhóm 1: Viết đoạn chương trình nhập Họ tên, DTBHK1 DTBHK2 học sinh

+Nhóm 2:Viết đoạn chương trình tính TBCN xếp loại

+Nhóm3:Viết đoạn chương trình xếp theo thứ tự tăng dần cột điểm TBCN

+Nhóm 4:Xuất kết theo bảng sau:

TT Họ tên DHK1 DHK2 DCN XL

1 n

Hs: Thảo luận theo nhóm phân cơng Gv:

-Y/c nhóm trình bày giấy A0

-Sau thảo luận nhóm xong nhóm lên bảng trình bày, nhóm khác bổ sung

-Sau nhóm bổ sung thi Gv nhận xét phân tích đoạn chương trình=>Đưa chương tình cụ thể sau lên máy chiếu chạy thử vài Test để kiểm chứng thuật toán

If lop[i].xeploai='A' Then Begin

Write(i:4);

Write(Lop[i].ten:30); Write(Lop[i].Xeploai); Writeln;

End;

Bài tập 2/145(SBT Pascal5.5):

Viết chương trình nhập họ tên, điểm DHK1 DHK2 Hs lớp

a.Tính TBCN xếp loại

b Xếp hạng theo thứ tự tăng dần cột điểm TBCN học sinh

c.Thông báo theo bảng sau theo thứ tự xếp cột điểm TBCN

TT Họ tên DHK1 DHK2 DCN XL

1 n

*Chương trình: Type Bdiem=Record Hoten:String;

DHK1,DHK2,TBCN:Real; Xeploai:String[5];

End;

Var Hs:Array[1 60] Of Bdiem; I,j,n:Byte;

Tg:Bdiem; Begin

Write('Nhap so luong Hs n='); Readln(n); For i:=1 To n Do

With Hs[i] Do Begin

(83)

Write('NhapTBKT2',i); Readln(DHK2); End;

{Tinh TB Ca nam va Xep loai} For i:=1 To n Do

Hs[i].TBCN:=(Hs[i].DHK1+Hs[i].DHK2*2)/3; For i:=1 To n Do

With Hs[i] Do Begin

If TBCN>=8.0 Then Xeploai:='Gioi';

if (TBCN>=6.5)and(TBCN<8.0) Then Xeploai:='Kha'; If (TBCN>=5) and (TBCN<6.5) Then Xeploai:='TB'; If (TBCN>=3.5) and (TBCN<5) Then Xeploai:='Yeu'; If TBCn<3.5 Then Xeploai:='kem';

End;

For i:=1 to n-1 Do For j:=i+1 to n Do

If Hs[i].TBCN> Hs[j].TBCN Then Begin

tg:=Hs[i]; Hs[i]:=Hs[j]; Hs[j]:=tg; End;

{Thong bao ket qua nhu sau}

Writeln(' ');

Writeln('| TT |','| Ho ten |','| TBCN |','| xeploai |'); Writeln(' ');

For i:=1 to n do With Hs[i] Do

Writeln(i:5,hoten:20,TBCN:10:2,Xeploai:10); Readln;

End.

IV.CỦNG CỐ(3'): Đưa lên máy chiếu ví dụ sau: -Cần nắm:

+Cách khai báo biến ghi

+Cách truy xuất vào giá trị trường

+Cách nhập xuất trường ghi +Một số câu lệnh

-Hai thuật tốn: Sắp xếp, tính tốn

V.DẶN DỊ(1’): Đưa lên hình máy chiếu sau: - Câu hỏi ôn tập:

1 Câu lệnh rẽ nhánh lặp?

2.Khai báo kiểu mảng chiều, hai chiều, kiểu xâu? Các đoạn chương trình nhập xuất 3.Khai báo kiểu ghi? Các đoạn chương trình nhập xuất ghi?

4.Xem lại tập từ 1->11/80(SGK)

(84)

Tiết PPCT : 34 Tuần : 28 BÀI TP THỰC HÀNH (T2) I Mục tiêu học

1 Kiến thức

- Ôn lại kiến thức chương IV

- Kiểu mảng: khai báo, truy xuất đến phần tử biến mảng

- Kiểu xâu: khai báo, thao tác xử lý xâu Hàm thủ tục sử dụng xâu - Kiểu ghi: khai báo, truy xuất đến trường kiểu ghi

2 kĩ năng:vận dụng kiểu liệu có cấu trúc vào làm tập Rèn luyện kĩ tư thuật tốn lập trình

3 Thái độ :nghiêm túc, hứng thú với môn học II Phương pháp, phương tiện dạy học

 Phương pháp: thuyết trình, câu hỏi gợi mở, hướng dẫn làm tập  Phượng tiện dạy học: bảng đen

III Chuẩn bị giáo viên học sinh  Giáo viên: giáo án, phấn, sổ điểm  Học sinh: sgk, bút

IV Tiến trình lên lớp Ổn định lớp học Kiểm tra cũ

Câu hỏi: em nêu kiểu liệu có cấu trúc học Pascal? Trả lời: Kiểu mảng, kiểu xâu, kiểu ghi

3 Nội dung học a) Ma trận kiến thức

Đề mục Biết Hiểu Áp dụng

Kiểu mảng 1.Mảng chiều

- khái niệm: dãy hữu hạn các phần tử kiểu.

- Các quy tắc xác định kiểu mảng chiều

- Khai báo mảng chiều - tham chiếu đến phần tử thứ i mảng chiều.

2 Mảng chiều - khái niệm

- cách xác định kiểu liệu là kiểu mảng chiều

- cách khai báo

- Truy xuất đến phần tử i,j của mảng chiều.

Nắm kiểu liệu mảng một chiều.

biết cách khai báo kiểu liệu mảng chiều.

Nhập, in truy xuất phần tử mảng chiều

Khái niệm mảng chiều, cách khai báo mảng chiều.

sử dụng kiểu mảng chiều khi nào.

Khai báo kiểu mảng 1 chiều mảng chiều để giải số tập. Cài đặt số thuật toán liên quan đến kiểu dữ liệu kiểu mảng.

Kiểu Xâu Khái niệm xâu dãy kí tự trong bảng mã ASCII Mỗi kí tự phần tử xâu - Cách xác định kiểu liệu là kiểu xâu

- Khai báo biến kiểu xâu - Các thao tác xử lý xâu - Các hàm thủ tục trên

Nắm kiểu liệu kiểu xâu.

Cách khai báo biến kiểu xâu. Phép gán xâu so sánh xâu. Hiểu ý nghĩa các hàm sử dụng kiểu xâu.

(85)

xâu Kiểu bản

ghi Khái niệm ghi dùng đểmô tả đối tượng có nhiều thuộc tính Nhưng thuộc tính có kiểu liệu khác nhau.

- thuộc tính gọi 1 trường

- Cách xác định kiểu liệu bản ghi.

- Tham chiếu đến trường của ghi.

- Khai báo biến kiểu ghi. - Phép gán giá trị kiểu bản ghi.

Khái niệm kiểu ghi.

Khai báo kiểu liệu là kiểu ghi.

Cách truy xuất đến trường của biến kiểu ghi.

Phân biệt hai cách gán giá trị kiểu liệu kiểu bản ghi.

Khai báo kiểu liệu kiểu ghi cho bài toán cụ thể.

Sử dụng kiểu liệu kiểu bản ghi để giải bài tập liên quan đến nó.

b) Bài tập

Bài tập: nhập xâu st từ bàn phím Hãy thực cơng việc sau: - Xố hết kí tự trắng xâu

- Kiểm tra xem xâu có phải xâu đối xứng hay khơng

Hướng dẫn: sử dụng hàm length(st) thủ tục delete(st, n, m) để làm câu a

Tạo xâu cách đảo ngược xâu cũ Sau kiểm tra xâu xâu cũ xâu xâu đối xứng khơng ngược lại

V Củng cố dặn dò

(86)

Ngày soạn :14/03/2010 Ngày dạy :15/03/2010

Tiết PPCT : 35 Tuần : 29

BÀI TẬP CHƯƠNG IV.

I Mục tiêu:

1 Về kiến thức: Củng cố kiến thức về:

- Các quy tắc kiểu liệu có cấu trúc để thực liệu thực tế

- Kiểu liệu có cấu trúc xây dựng từ kiểu liệu sở theo số cách thức tạo kiểu ngôn ngữ lập trình Pascal quy định

- Mỗi kiểu liệu có cấu trúc thường hữu ích việc giải số tập - Trong ngôn ngữ Pascal dùng mơ tả kiểu liệu với từ khố Type

2 Về kĩ năng:

- Rèn luyện kĩ khai báo kiểu liệu có cấu trúc (với Pascal, sử dụng thành thạo từ khoá Var, Type)

- Sử dụng thành thạo thao tác vào/ phép toán thành phần sở 3 Về tư thái độ:

- Thái độ học tập tích cực, ham thích lập trình

- Tiếp tục hình thành xây dựng phẩm chất cần thiết người lập trình II Chuẩn bị:

- GV: Computer, Projecter - HS: Chuẩn bị tập nhà III Phương pháp:

- Nêu vấn đề, Dẫn dắt, gợi ý

IV Tiến trình hoạt động:

Tiết 1:

+ Hoạt động 1: Giải tập số trang 79 Sách GK Tin học lớp 11

Hoạt động GV HS Ghi bảng

HĐTP1:

H1: Sử dụng kiểu liệu cách khai báo? - Trả lời:

Kiểu mảng chiều:

Var A:array [1 100] of integer; H2: Khai báo biến nào?

- Yêu cầu HS viết chương trình nhập mảng A - Chỉnh sửa làm HS

H3: Số chẵn số nào?

- Nếu có số lượng số chẵn dãy tìm số lượng số lẻ hay không? - Nếu tìm cách nào? H4: Sử dụng câu lệnh để viết?

- Yêu cầu HS hoàn thành chương trình câu a - Nhận xét, chỉnh sửa làm HS

- Nếu có số lượng số chẵn dãy tìm số lượng lẻ cách: n - số lượng số chẵn

TL: If then HĐTP 2:

H1: Nêu thuật toán kiểm tra số có phải số nguyên tố hay không?

(87)

Hoạt động GV HS Ghi bảng - Yêu cầu HS viết chương trình dựa theo thuật tốn

Hd: Sử dụng câu lệnh nào?

- Yêu cầu HS hoàn thành đoạn chương trình câu b - Nhận xét, đánh giá:

- Gợi ý để HS kết hợp hai đoạn chương trình thành chương trình hồn chỉnh cho

+ Hoạt động 2: Giải tập trang 79 Sách GK Tin học lớp 11

Hoạt động GV HS Ghi bảng

- Yêu cầu HS liệt kê số hạng đầu dãy Fiponaci - Liệt kê: 0, 1, 1, 2, 3,

H1: Đoạn chương trình nhập từ bàn phím số nguyện dương nào?

H2: Số hạng tổng quát thứ n nào? TL: Fn = Fn-1 + Fn-2

- Gợi ý: Để viết chương trình ta cần biến phụ?

H3: sử dụng câu lệnh này? TL: Dùng biến phụ (F1, F2)

- Yêu cầu HS viết chương trình tìm số hạng thứ n - Gọi HS hồn chỉnh lại chương trình

- Nhận xét, chỉnh sửa, đánh giá làm

Chính xác hố 6/trang79

+ Hoạt động 3: Củng cố (2ph)

(88)

Ngày soạn :14/03/2010 Ngày dạy :15/03/2010

Tiết PPCT : 36 Tuần : 29

Kiểm tra tiết

I.Mục tiêu học Kiến thức

- Kiểm tra lại kiến thức học chương III Kĩ năng: rèn luyện kĩ làm kiểm tra

Thái độ: nghiêm túc, tuân thủ quy chế kiểm tra II Chuẩn bị giáo viên học sinh

 Giáo viên: đề kiểm tra  Học sinh: bút, sgk, ghi III Nội dung học

1 Ổn định lớp học 2 Đề kiểm tra Phần 1: trắc nghiệm

Câu 1: Chỉ số mảng kiểu ?

a)Kiểu số thực, kiểu logic b) Kiểu miền con, kiểu kí tự

c) Kiểu miền con, kiểu kí tự d) Kiểu số nguyên, ki ểu số thực e) a c Câu 2: S1= ‘chao bạn’; S2 = ‘Xin ’ Kết thủ tục Insert (S2,S1,1) là:

a ‘hao ban’ b ‘ Xin chao ban’ c ‘ chao ban xin’ d kết khác Câu 3: Giới hạn số chiều mảng ?

a 255 chiều b 256 chiều c Vô hạn d chiều Câu : Chức thủ tục Delete(st,vt,n) ?

a.Xoá xâu b Xoá n phần tử xâu c Chèn xâu d Tạo xâu Câu 5: Chương trình sau cho kết ?

Var a, b : String; Begin

Write(‘nhap xau ho ten thu nhat: ’); readln(a); Write(‘nhap xau ho ten thu hai : ’); readln(b); If length(a)> length(b) then write(a)

Else write(b); Readln

End

a)Xâu có độ dài lớn b) Độ dài lớn hai xâu c)Kí tự cuối xâu dài d) Kết khác

Câu 6: Trong ngơn ngữ lập trình Pascal, để tìm vi trí xuất xâu ‘hoa’ xâu S ta viết cách cách sau đây?

A S1:=’hoa’; i:=Pos(S1,’hoa’); B i:=Pos(‘hoa’,S); C i:=Pos(S,’hoa’); D i:=Pos(‘hoa’,’hoa’);

Câu 7: Trong ngơn ngữ lập trình Pascal, với xâu kí tự có phép tốn là? A Phép cơng, trừ, nhân, chia B Chỉ có phép cộng

C.Phép cộng phép trừ D Phép ghép xâu phép so sánh Câu 8: Trong ngôn ngữ lập trình Pascal, xâu kí tự gì?

(89)

Câu 9: Trong ngơn ngữ lập trình Pascal, với khai báo mảng A: Array[1 100, 100]of integer; việc truy xuất đến phần tử sau:

A A[i],[j] B A[i][j] C.A[i;j] D A[i,j]

Câu 10: Trong ngơn ngữ lập trình Pasca,l đoạn chương trình sau đưa hình kết gì? For i:=10 to Write(i,’ ‘);

A 10 B Đưa 10 dấu cách C 10 D Không đưa kết Phần 2: Tự luận

Để quản lý việc bán hàng cửa hàng với thông tin mặt hàng: tên mặt hàng, giá trị mặt hàng, ngày sản xuất, ngày hết hạn sử dụng Hãy viết chương trình quản lý việc bán hàng với thơng tin n mặt hàng có cửa hàng với yêu cầu sau:

- Hãy khai báo kiểu liệu để quản lý n mặt hàng

(90)

Ngày soạn :21/03/2010 Ngày dạy :23/03/2010

Tiết PPCT : 37 Tuần : 30

CHƯƠNG V : TỆP VÀ THAO TÁC VỚI TỆP § 14 KIỂU DỮ LIỆU TIỆP

§ 15 THAO TÁC VỚI TỆP 

I Mục tiêu 1 Về kiến thức:

- Biết khái niệm kiểu liệu tệp

- Biết khái niệm tệp định kiểu tệp văn - Biết lệnh khai báo tệp kiểu tệp văn

- Biết bước làm việc ví i tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp - Biết số hàm thủ tục chuẩn làm việc ví i tệp

Về kỹ năng:

- Khai báo tên tệp

- Sử dụng số hàm thủ tục chuẩn làm việc ví i tệp

Về thái độ:

- Ham thích mơn học, có tính kỷ luật cao tính thần làm việc theo nhóm

- Tiếp tục rèn luyện phẩm chất cần thiết người lập trình như: xem xét vấn đề cách cẩn thận, chu đáo, sáng tạo, không thỏa mãn ví i kết ban đầu đạt đượ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 III Tiến trình dạy

Kiểm tra cũ:

Có pháp khai báo biến kiểu xâu, mảng chiều, chiều?

Những kiểu liệu lưu trữ RAM, tắt máy sao? Giảng mới:

HOẠT ĐỘNG GV & HS NỘI DUNG

-Kiểu liệu mảng có giá trị dãy hữu hạn liệu kiểu Số phần tử mảng hoàn toàn xác định khai báo mảng.Trong nhiều toán, cần phải lưu giữ liệu để sử dụng nhiều lần thực chương trình xử lí số lượng khơng xác định liệu kiểu Ví i nêu phải sử dụng kiểu liệu tệp

- Học sinh ý lắng nghe

- Kiểu liệu tệp có đặc điểm khác so ví i kiểu liệu biết

-Dựa vào đâu để phân loại tệp, có loại tệp ?

-Khai báo tệp văn theo có pháp nào? Cho ví dụ - Cho biết thao tác liên quan đến tệp văn

§ 14 KIỂU DỮ LIỆU TIỆP 1/ Vai trò tệp

Tệp dãy liệu kiểu, có đặc điểm sau:

- Dữ liệu kiểu tệp lưu trữ lâu dài nhớ (đĩa từ, CD, .) không bị tắt nguồn điện

- Lượng thông tin lưu trữ tệp lớn phụ thuộc vào dung lượng đĩa

2/ Phân loại tệp

* Xét theo tổ chức liệu có loại: - Tệp văn bản: tệp mà liệu ghi dạng kí tự theo mã ASCII

(91)

-Đó theo tác gắn tên tập

-Trong thao tác thao tác ln phải có theo tác ví i tệp?

-Ý nghĩa hàm eof, eoln ?

* Xét theo cách thức truy cập, có loại:

- Tệp truy cập - Tệp truy cập trực tiếp 3/ Thao tác ví i tệp văn a) Khai báo

Var <tên biến tệp>: text Ví du:

Var tep1,tep2: text; b) Thao tác ví i tệp

* Gắn tên tệp:

Assign(<biến tệp>,<tên tệp>); * Mở tệp

Rewrite(<biến tệp>); * Mở tệp có

Reset(<biến tệp>); * Ghi liệu vào tệp

Write(<biến tệp>,<danh sách kết quả>); Hoặc

Writeln(<biến tệp>,<danh sách kết quả>); * Đọc tệp

Read(<biến tệp>,<danh sách biến>); Hoặc

Readln(<biến tệp>,<danh sách biến>); * Đóng tệp

Close(<biến tệp>); * Hàm EOF, EOLN

Eof(<biến tệp>) có giá trị true trỏ tệp cuối tệp

Eoln(<biến tệp>) có giá trị true trỏ tệp cuối dòng

3 Củng cố:

Nhắc lại thao tác tệp văn bản? Dặn dò:

(92)

Ngày soạn :21/03/2010 Ngày dạy :23/03/2010

Tiết PPCT : 38 Tuần : 30

§ 16 : VÍ DỤ LÀM QUEN VỚI TỆP



I Mục tiêu 1 Về kiến thức:

- Biết khái niệm kiểu liệu tệp

- Biết khái niệm tệp định kiểu tệp văn - Biết lệnh khai báo tệp kiểu tệp văn

- Biết bước làm việc ví i tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp - Biết số hàm thủ tục chuẩn làm việc ví i tệp

Về kỹ năng:

- Khai báo tên tệp

- Sử dụng số hàm thủ tục chuẩn làm việc ví i tệp - Viết chương trình đơn giản thao tác ví i tệp văn

Về thái độ:

- Ham thích mơn học, có tính kỷ luật cao tính thần làm việc theo nhóm

- Tiếp tục rèn luyện phẩm chất cần thiết người lập trình như: xem xét vấn đề cách cẩn thận, chu đáo, sáng tạo, khơng thỏa mãn ví i kết ban đầu đạt đượ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 III Tiến trình dạy

Kiểm tra cũ:

Khai báo biến tệp văn bản? Cho ví dụ? Các thao tác tệp văn bản? Giảng mới:

HOẠT ĐỘNG GV & HS NỘI DUNG

-Yêu cầu học sinh xem đề chương trình SGK

-Theo em phải sử dụng lệnh while để đọc nội dung tệp?

-Hoàn chỉnh câu trả lời học sinh

-Khi thực hành phịng máy có thực hành ví dụ khơng? Lý do?

-Chúng ta khơng thể chạy chương trình khơng có tệp TRAI.TXT

-Giải thích cho học sinh hiểu lệnh sử dụng chương trình

-Ở ví dụ có biến kiểu tệp -Có hai biến kiểu tệp f1,f2

- Giải thích cho học sinh cách lệnh biểu thức sử dụng chương trình

- Theo em ý nghĩa lệnh writeln(f2) gì?

Ví dụ 1: (SGK TH11 Tr.87) Program khoang_cach; Var d:real;

f:text

X,y:integer; Begin

Assign(f,’TRAi.TXT’); Reset(f);

While not eof(f) Begin

Read(f,x,y); d:=sqrt(x*x+y*y);

Writeln(‘Khoang cach:’,d:10:2); End;

Colse(f); End

Ví dụ 2: (SGK TH11 Tr.88) Program Dientro;

(93)

i:integer; Begin

Assign(f,’RESIST.DAT’); Reset(f1);

Assign(f,’RESIST.EQU’); Reset(f2);

While not eof(f1) Begin

Read(f1,R1,R2,R3);

a[1]:=R1*R2*R3/ (R1*R2+R1*R3+R2*R3);

a[2]:=R1*R2/(R1+R2)+R3; a[3]:=R1*R3/(R1+R3)+R2; a[4]:=R2*R3/(R2+R3)+R1; a[5]:=R1+R2+R3;

For i:=1 to

Write(f2,a[i]:9:3,’ ‘); Writeln(f2);

End;

Colse(f1); close(f2); End

3 Củng cố:

Để đọc toàn nội dung ta phải sử dụng lệnh nào? 4 Dặn dò:

+ Xem lại

+ Chuẩn bị tập trang 89

(94)

Tiết PPCT : 39 Tuần : 31 BÀI TẬP A MỤC TIÊU

1 Kiến thức: Củng cố lại cho học sinh kiến thức chương

2 Kỹ năng:

 Nâng cao kĩ sử dụng số lệnh kiểu liệu tệp  Gắn tên tệp; + Mở tệp; + Đóng tệp;

 Biết giải số toán cụ thể thường gặp

3 Thái độ: Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tích cực, chủ động sáng tạo tìm kiếm kiến thức

B PHƯƠNG PHÁP

 Thuyết trình giảng giải, kết hợp với hình ảnh trực quan  Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, số tập đáp án

2 Học sinh: SGK, sách tập tập làm nhà D TIẾN TRÌNH LÊN LỚP

I Ổn định tổ chức (1p) II Kiểm tra cũ III Bài Đặt vấn đề

2 Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức

Hoạt động 1: Làm tập (Bài tập nhà)

Viết chương trình đọc hiển thị hình nội dung tập tin dạng văn bản, với tên tập tin nhập từ bàn phím (có kiểm tra tồn tập tin)

GV: Gọi học sinh lên bảng viết chương trình (Khơng cần kiểm tra tồn tập tin)

GV: Có thể đưa số câu hỏi gợi ý sau: - Biến tên tập tin có kiểu gì?

- Trước gắn tên tệp cho biến tệp ta cần phải làm gì? - Để đọc liệu từ tệp ta cần dùng câu lệnh để mở tệp?

- Để đọc hết liệu tệp ta làm nào? - Khi xuất liệu hình?

HS: Nghiên cứu, vận dụng kiến thức học để trả lời GV: Yêu cầu học sinh viết chương trình hồn thiện HS: Viết chương trình

GV: Đánh giá, hồn thiện cho điểm

Program Doc_tep;

Var tep: string; ch: char; f: text; Begin

Write('Nhap ten File can doc: '); readln(tep); Assign(f,tep); reset(f);

While not eof(f) begin

read(f,ch); write(ch); end;

close(f); readln;

End

Hoạt động 2: Giáo viên hướng dẫn cho học sinh cách lồng hàm kiểm tra tồn tập tin vào chương trình hồn thiện nội dung tập

Program Doc_tep;

Var tep: string; ch: char; f: text;

FUNCTION FileExists(FileTest: string): Boolean;

Var f: File; Begin

{$I-}

(95)

{$I+}

FileExists := (IOResult=0); end;

Begin

Write('Nhap ten File can doc: '); readln(tep); if FileExists(tep) then

begin

Assign(f,tep); reset(f); While not eof(f)

begin

read(f,ch); write(ch);

end; close(f); end

else writeln('File ',tep,' khong ton tai tren dia'); readln;

End Hoạt động 3: Kiểm tra 15’

Viết chương trình đọc tập tin dạng văn có đĩa Hiển thị hình nội dung tập tin dạng in hoa, (tên tập tin nhập từ bàn phím)

Var tep: string; ch: char; f: text; Begin

Write('Nhap ten File can doc: '); readln(tep); Assign(f,tep); reset(f);

While not eof(f) begin

read(f,ch); write(upcase(ch)); end;

close(f); readln;

End IV Củng cố

V Dặn dò (1p)

- Nghiên cứu trước nội dung 17: ‘Chương trình phân loại’ VI Rút kinh nghiệm:

(96)

Tiết PPCT : 39 Tuần : 31

Bài 16: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI(t1/3)

A MỤC TIÊU 1 Kiến thức:

 Biết khái niệm chương trình con, ý nghĩa chương trình con, cần thiết phải viết chương trình thành chương trình con; cấu trúc chương trình

 Phân biệt hai loại chương trình hàm thủ tục 2 Kỹ năng:

 Nhận biết thành phần đầu thủ tục

 Nhận biết hai loại tham số hình thức đầu hai thủ tục

 Biết cách khai bào hai loại chương trình với tham số hình thức chúng  Cách viết lời gọi chương trình thân chương trình

3 Thái độ:

 Tiếp tục rèn luyện phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tn thủ theo u cầu việc chung

 Có ý thức lưu trữ liệu cách khoa học B PHƯƠNG PHÁP

 Thuyết trình giảng giải, kết hợp hình ảnh trực quan

 Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời, tổ chức hoạt động theo nhóm C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn Học sinh: SGK,

D TIẾN TRÌNH LÊN LỚP I Ổn định tổ chức (1p)

II Kiểm tra cũ III Bài

1 Đặt vấn đề (1p)

- Khi viết chương trình giải tốn phức tạp, chương trình thường dài, người đọc khó nhận biết chương trình thực cơng việc Vấn đề đặt phải cấu trúc chương trình để dể đọc, dể hiểu Mặt khác, việc giải tốn lớn thường địi hỏi phân thành tốn Vì lập trình cần phải chia chương trình thành chương trình

2 Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức

Hoạt động 1: Tiết 39( Hoạt động nhóm)

GV: Yêu cầu học sinh xác định ý tưởng giải toán tính tổng luỹ thừa: TLT = an+ bm + cp + dq,

đã giao nhiệm vụ nhà

HS: Lần lượt tính tổng luỹ thừa cho biến a, b, c, d sau tính tổng

HS: Chương trình dài, phải viết lại nhiều lần đoạn chương trình thực cơng việc tương tự

GV: Chiếu đoạn chương trình có sử dụng hàm việc giải toán yêu cầu học sinh so sánh với chương trình ban đầu

HS: Quan sát nhận xét

GV: Vậy nên viết chương trình con?

(97)

HS: Đối với toán lớn, cần nhiều người viết Chương trình dài, cần chia làm nhiều đoạn Có nhiều đoạn lệnh lặp lại, nên viết chương trình

GV: Vậy chương trình gì? HS: Nghiên cứu SGK trả lời

GV: Chia lớp thành ba nhóm Phát bìa cho nhóm u cầu HS điền lợi ích việc sử dụng chương trình

HS: Nghiên cứu SGK, thảo luận nhóm để điền phiếu học tập

GV: Thu phiếu học tập dán kết lên bảng Cho HS so sánh với kết giáo viên

a Khái niệm

- Chương trình dãy lệnh mơ tả số thao tác định thực (được gọi) từ nhiều vị trí chương trình

b Lợi ích việc sử dụng chương trình

- Tránh việc phải viết lặp lặp lại dãy lệnh;

- Hỗ trợ việc thực chương trình lớn; - Phục vụ cho q trình trừu tượng hố; - Mở rộng khả ngôn ngữ;

- Thuận tiện cho phát triển, nâng cấp chương trình; Hoạt động 2: Tiết 40( hoạt động nhóm)

GV: Có loại chương trình con? Gọi tên chúng?

HS: Hai loại: hàm thủ tục

GV: Các em làm quen với hàm thủ tục chưa? Lấy số ví dụ hàm thủ tục học

HS: Rồi Hàm thủ tục chuẩn, ví dụ hàm Length(st); Copy(st, vt,n); Thủ tục delete(st, vt, n);

GV: Ý nghĩa hàm thủ tục HS: Nghiên cứu SGK trả lời

GV: Yêu cầu học sinh nhắc lại cấu trúc chương trình

HS: [<Phần khai báo>] <Phần thân>

GV: Giới thiệu cấu trúc chương trình Yêu cầu học sinh so sánh hai cấu trúc giải thích ý nghĩa phần

GV: Để sử dụng hàm thủ tục chuẩn em thường viết đâu viết nào?

HS: Trong chương trình Viết thủ tục kèm theo tham số kết thúc dấu chấm phẩy Viết hàm lệnh thủ tục Hàm không viết lệnh

GV: Diễn giảng

2 Phân loại cấu trúc chương trình a Phân loại (2 loại)

* Hàm (function): thực số thao tác trả giá trị kiểu đơn giản thông qua tên hàm * Thủ tục (Procedure): thực thao tác định không trả giá trị qua tên

b Cấu trúc * Cấu trúc chung

<Phần đầu> [<Phần khai báo>]

<Phần thân>

* Tham số hình thức: biến khai báo cho liệu vào/ra chương trình

* Biến cục bộ: khai báo để dùng riêng chương trình

* Biến tồn cục: biến chương trình c Thực chương trình

- Để thực chương trình ta cần có lệnh gọi tương tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chương trình tham số (nếu có) biến chứa liệu vào/ra tương ứng với tham số hình thức đặt cặp ngoặc Các biến gọi tham số thực

IV Củng cố (5p)

Câu 1: Giả sử có hai biến xâu x y (y có giá trị) câu lệnh sau không hợp lệ? A x:=Copy(y,5,3); C x:=Delete(y,5,3);

B x:=y; D Delete

V Dặn dò (1p)

(98)

Ngày soạn: / /2010 Tiết 40

Ngày giảng:

Lớp 11A: / / / (sĩ số: ./ ) Lớp 11B: / / / (sĩ số: ./ )

Lớp 11C: / / / (sĩ số: ./ ) Lớp 11D: / / / (sĩ số: ./ )

Lớp 11E: / / / (sĩ số: ./ ) Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (T1) A MỤC TIÊU

1 Kiến thức: - Giúp học sinh nắm được:

- Cấu trúc chung thủ tục chương trình - Phân biệt tham số tham trị

- Các khái niệm biến toàn cục biến cục

2 Kỹ năng: - Nhận biết thành phần đầu thủ tục - Nhận biết hai loại tham số hình thức đầu hai thủ tục

- Biết cách khai báo hai loại chương trình với tham số hình thức chúng - Cách viết lời gọi chương trình thân chương trình

- Phân biệt khác hàm thủ tục - Phân biệt sử dụng biến toàn cục biến cục

3 Thái độ: - Tiếp tục rèn luyện phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tuân thủ theo yêu cầu việc chung

- Có ý thức lưu trữ liệu cách khoa học B PHƯƠNG PHÁP

(99)

- Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời, tổ chức hoạt động theo nhóm C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn Học sinh: SGK,

D TIẾN TRÌNH LÊN LỚP I Ổn định tổ chức (1p) II Kiểm tra cũ (5p)

Câu hỏi: Hãy nêu khái niệm, phân loại chức loại chương trình

Đáp án: - Chương trình dãy lệnh mơ tả số thao tác định thực (được gọi) từ nhiều vị trí chương trình

* Hàm (function): thực số thao tác trả giá trị kiểu đơn giản thông qua tên hàm * Thủ tục (Procedure): thực thao tác định khơng trả giá trị qua tên

III Bài Đặt vấn đề (1p)

- Bài học trước em tìm hiểu chương trình con, cấu trúc phân loại Vậy chương trình viết nào, sử dụng chúng sao, có giống khác với chương trình khơng? Bài học hơm tìm hiểu nội dung

2 Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức Hoạt động 1: (theo nhóm) (12p)

GV: Giới thiệu tốn ví dụ mở đầu Giới thệu cho học sinh cấu trúc thủ tục, vị trí khai báo thủ tục, lời gọi thủ tục HS: Quan sát, theo dõi ví dụ

GV: Vị trí thủ tục nằm phần chương trình chính?

HS: Ở phần khai báo, sau phần khai báo biến

GV: Cấu trúc thủ tục gồm có phần?

HS: Ba phần: tên, khai báo, phần than GV: Phân biệt giống khác chương trình chương trình HS: Giống: cấu trúc chung

Khác: phần tên, từ khoá đặt tên Prcedure có tham số

GV: Yêu cầu học sinh xác định cấu trúc chung thủ tục

- Lời gọi thủ tục ta viết phần chương trình?

HS: Trong phần thân chương trình

§18 Ví dụ cách viết sử dụng chương trình Cách viết sử dụng thủ tục

a Cấu trúc thủ tục

Procedure <tên thủ tục>[<danh sách tham số>]; [<Phần khai báo>]

Begin

[<Dãy lệnh>] End;

* Trong đó:

- Phần đầu gồm tên dành riêng tên thủ tục, danh sách tham số (có thể có khơng);

- Phần khai báo: dùng để xác định hằng, kiểu, biến xác định chương trình khác sử dụng thủ tục

- Dãy câu lệnh viết cặp tên dành riêng Begin End tạo thành thân thủ tục

Hoạt động 2: (Theo nhóm) (10p) GV: Chiếu ví dụ 2, u cầu học sinh nhận xét thủ tục ve_HCN ví dụ với ví dụ trước

* Tổ chức hoạt động nhóm; - Phân nhóm từ 4-6 em

b Ví dụ thủ tục * Ví dụ 1;

Program VD_thutuc2; Uses crt;

Var a, b, i: integer;

(100)

- Công việc: Xác định chất thủ tục ve_HCN;

- Câu hỏi: câu lệnh thực vẽ cạnh trên, hai cạnh bên câu lệnh thực vẽ cạnh

- Kết thúc hoạt động: thu kết nhóm, u cầu nhóm trình bày kết nhóm

- Cho nhóm nhận xét kết làm

- GV: nhận xét kết đưa kết luận (có thể cho điểm nhóm làm tốt)

GV: Trong chương trình ta vẽ tất thủ tục

GV: Giới thiệu tham số giá trị bvà tham số biến

Var i,j: integer; Begin

{Ve canh tren cua hinh chu nhat} For i:=1 to chdai write(‘*’); Writeln;

For j:=1 to chrong-2 write(‘ ’); Begin

Write(‘*’);

For i:=1 to chdai-2 write(‘ ’); Writeln(‘*’);

End;

For i:=1 to chdai write(‘*’); Writeln;

End;

BEGIN {Bat dau chuong trinh chinh} Clrscr;

Ve_HCN(25,10); Writeln; Writeln; Ve_HCN(5,10); Readln;

Clrscr; a:=4; b:=2; For i:=1 to

Begin

Ve_HCN(a,b); Readln; clrscr; a:=a*2; b:=b*2; end;

Readln; END

* Tham số giá trị: có hai chức - Đưa liệu vào cho chương trình con; - Đưa liệu chương trình tìm

* Tham số biến: lệnh gọi thủ tục, tham số hình thức thay tham số thực tương ứng tên biến chứa liệu gọi tham số biến

Hoạt động 3: (Chung lớp) (10p)

GV: Chiếu VD_thambien1 len bảng Hỏi: thủ tục thực cơng việc gì;

HS: Hốn đổi giá trị hai biến liệu vào cho

GV: Chạy chương trình thực đổi phần khai báo thành: Procedure Hoan_doi (x: integer; var y: integer);

để HS quan sát nhận xét khác tham biến tham trị

Program VD_thambien1; Uses crt;

Var a, b: integer;

Procedure Hoan_doi (var x, y: integer); Var TG: integer;

Begin

TG:=x; x:=y; y:=TG; End;

BEGIN Clrscr;

(101)

Writeln(a:6, b:6); Hoan_doi(a,b); Writeln(a:6,b:6); END

IV Củng cố (5p)

- Khi cần khai báo tham số phần khai báo chương trình theo kiểu tham biến, theo kiểu tham trị

- Phân biệt giống khác tham biến tham trị V Dặn dò (1p)

- Xem tiếp nội dung lại

- Viết thủ tục tìm thơng báo số lớn ba số a, b, c

Ngày soạn: / /2010 Tiết 41

Ngày giảng:

Lớp 11A: / / / (sĩ số: ./ ) Lớp 11B: / / / (sĩ số: ./ )

Lớp 11C: / / / (sĩ số: ./ ) Lớp 11D: / / / (sĩ số: ./ )

Lớp 11E: / / / (sĩ số: ./ )

Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (T2) A MỤC TIÊU

1 Kiến thức: - Giúp học sinh nắm được:

- Cấu trúc chung thủ tục chương trình - Phân biệt tham số tham trị

- Các khái niệm biến toàn cục biến cục

2 Kỹ năng: - Nhận biết thành phần đầu thủ tục - Nhận biết hai loại tham số hình thức đầu hai thủ tục

(102)

- Phân biệt khác hàm thủ tục - Phân biệt sử dụng biến toàn cục biến cục

3 Thái độ: - Tiếp tục rèn luyện phẩm chất người lập trình tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tuân thủ theo yêu cầu việc chung

- Có ý thức lưu trữ liệu cách khoa học B PHƯƠNG PHÁP

- Thuyết trình giảng giải, kết hợp hình ảnh trực quan

- Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời, tổ chức hoạt động theo nhóm C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn Học sinh: SGK,

D TIẾN TRÌNH LÊN LỚP I Ổn định tổ chức (1p) II Kiểm tra cũ III Bài

1 Đặt vấn đề (1p)

- Bài học trước em tìm hiểu chương trình con, cấu trúc phân loại Vậy chương trình viết nào, sử dụng chúng sao, có giống khác với chương trình khơng? Bài học hơm tìm hiểu nội dung

2 Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức Hoạt động 1: (theo nhóm) (12p)

GV: Cho biết tên cách sử dụng số hàm học?

HS: Hàm abs(), sqrt(),

- Viết tên hàm cần gọi tham số - Lời gọi hàm viết biểu thức tốn hạng, chí tham số hàm khác

GV: Chuẩn xác

- Điểm khác biệt thủ tục hàm gì?

HS: Trong than hàm cần có lệnh gán giá trị cho tên hàm

GV: so sánh giống khác hàm thủ tục?

HS: giống: có cấu trúc tương tự, có tham số,

- Khác: Tên hàm phải quy định kiểu liệu; Trong than hàm phải có lệnh: tên_hàm:= biểu_thức; Bắt đầu hàm từ khố Function

§18 Ví dụ cách viết sử dụng chương trình Cách viết sử dụng hàm

a Cấu trúc thủ tục

Function <tên thủ tục>[<danh sách tham số>]: <kiểu liệu>;

[<Phần khai báo>] Begin

[<Dãy lệnh>]

<tên hàm>:= <biểu thức>; End;

Hoạt động 2: (Theo nhóm) (15p) GV: Chiếu ví dụ rút gọn phân số

- Trong chương trình có sử dụng hàm

HS: hàm

GV: hàm UCLN(x,y) dùng để làm gì?

b Ví dụ hàm * Ví dụ 1;

Program Rutgon_Phanso; Uses crt;

Var a, tuso, mauso: integer;

(103)

- Lời gọi hàm nằm đâu? Có khác với thủ tục lời gọi hàm?

HS: Lệnh a:=UCLN(tuso, mauso) ;

- Lời gọi hàm phải đặt lệnh lời gọi chương trình khác

GV: Có biến sử dụng chương trình? Các biến khai báo chổ chương trình chính?

HS: tuso, mauso, a : khai báo chương trình

- sodu: khai báo chương trình

GV: Yêu cầu học sinh phân biệt giống khác biến toàn cục biến cục

GV: chạy chương trình để học sinh kiểm nghiệm tự rút kết luận

Var sodu: integer; Begin

While y<>0 Begin

Sodu:= x mod y; X:= y;

Y:= sodu; End;

UCLN:=x; End;

BEGIN {Bat dau chuong trinh chinh} Clrscr;

Write(‘Nhap tu so va mau so: ‘); readln(tuso,mauso); A:=UCLN(tuso, mauso);

If a>1 then Begin

Tuso:= tuso div a; Mauso:= mauso div a; end;

Writeln(tuso:5, ‘/’ ,mauso:5); Readln;

END Hoạt động 3: (Chung lớp) (10p)

GV: Chiếu ví dụ Minbaso lên bảng minh hoạ cho học sinh cách gọi hàm HS: Chú ý quan sát theo dõi

* Ví dụ 2:

Program Minbaso; Uses crt;

Var a, b, c: real;

Function Min(a,b: real):real; Begin

If a<b then min:=a Else min:=b;

End;

BEGIN {Bat dau chuong trinh chinh} Clrscr;

Write(‘Nhap vao ba so: ‘); readln(a,b,c);

Writeln(‘So nho nhat ba so la: ‘,min(a,b,c); Readln

END IV Củng cố (5p)

- Phân biệt giống khác hàm thủ tục

- Phân biệt giống khác biến toàn cục biến cục V Dặn dò (1p)

(104)

Ngày soạn : 21/03/2010 Ngày dạy :23/03/2010

Tiết PPCT : 37 Tuần : 30

Chương V TỆP VÀ THAO TÁC VỚI TỆP

Bài 14 + 15 : KIỂU DỮ LIỆU TỆP THAO TÁC VỚI TỆP A MỤC TIÊU

1 Kiến thức:

- Biết đặc điểm kiểu liệu tệp

- Biết khái niệm tệp có cấu trúc tệp văn Kỹ năng: Khai báo biến kiểu tệp

- Thực thao tác xử lí tệp: gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng thủ tục lien quan để đọc/ghi liệu tệp

3 Thái độ: - Thấy cần thiết tiện lợi kiểu liệu tệp - Có ý thức lưu trữ liệu cách khoa học

B PHƯƠNG PHÁP

- Thuyết trình giảng giải, kết hợp hình ảnh trực quan - Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn Học sinh: SGK,

D TIẾN TRÌNH LÊN LỚP I Ổn định tổ chức (1p) II Kiểm tra cũ III Bài

1 Đặt vấn đề (1p)

- Các em học kiểu liệu có cấu trúc kiểu mảng, kiểu xâu kiểu ghi Hôm thầy giới thiệu em kiểu liệu có cấu trúc Đó kiểu tệp

2 Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức Hoạt động 1: (chung lớp) (10p)

GV: Em cho biết liệu kiểu liệu từ trước đến ta sử dụng lưu trữ loại nhớ thực chương trình?

HS: Bộ nhớ RAM

GV: Vì em biết điều đó? HS: Mất liệu ki điện

GV: Diễn giải: Để lưu giữ liệu, ta phải lưu nhớ ngồi thong qua kiểu liệu tệp Mọi ngơn ngữ lập trình có thao tác:khai báo biến tệp, mở tệp, đọc/ghi liệu, đóng tệp

- Yêu cầu học sinh nghiên cứu SGK cho biết đặc điểm kiểu tệp? Có loại tệp?

HS; Nghiên cứu trả lời

GV: Yêu cầu học sinh trình bày khái niệm tệp có cấu trúc tệp văn

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

§14 Kiểu liệu tệp

1 Vai tró kiểu liệu tệp

- Dữ liệu lưu trữ nhớ ngồi khơng bị tắt nguồn điện

- Lượng liệu lưu trữ tệp lớn Phân loại tệp thao tác với tệp a Phân loại tệp

* Theo cách tổ chức liệu:

- Có hai loại kiểu tệp: tệp có cấu trúc tệp văn

+ Tệp có cấu trúc: loại tệp mà thành phần tổ chức theo cấu trúc định

+ Tệp văn bản: tệp mà liệu ghi dạng kí tự theo mã ASCII

* Theo cách thức truy cập:

(105)

GV: Đối với kiểu liệu tệp có thao tác nào?

HS: Trả lời

+ Tệp truy cập tuần tự: cho phép truy cập liệu tệp cách đầu tệp qua tất liệu trước

+ tệp truy cập trực tiếp: cho phép tham chiếu đến liệu cần truy cập cách xác định trực tiếp vị trí liệu b Thao tác với tệp

- Ghi liệu vào tệp đọc liệu từ tệp thực với phần tử tệp

Hoạt động 2: (theo nhóm) (7p)

GV: Yêu cầu học sinh nghiên cứu SGK cho biết cú pháp khai báo kiểu tệp Nêu ví dụ cụ thể

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

§15 Thao tác với tệp Khai báo

a Cú pháp

Var <tên biến tệp>:text; b Ví dụ

Var tep1, tep2: text; Hoạt động 3: (theo nhóm) (20p)

GV: Giới thiệu thao tác gắn tên tệp, mở tệp, đọc/ghi tệp văn bản, đóng tệp Đối với thao tác yêu cầu học sinh lấy ví dụ cụ thể

HS: Assign(tep2, ‘C:\INP.DAT’);

HS: Assign(tep3,’C:\KQ.DAT’); Rewrite(tep3);

HS: Assign(tep1, ‘KQ.DAT’); Reset(tep1);

HS: Readln(<biến tệp>, <danh sách biến>);

HS: Writeln(<biến tệp>,<danh sách kết quả>);

2 Thao tác với tệp a Gắn tên tệp

* Cú pháp: Assign(<biến tệp>, <tên tệp>); Trong tên tệp biến xâu xâu * Ví dụ:

Assign(tep1, ‘DULIEU.DAT’); Assign(tep2, ‘C:\INP.DAT’); b Mở tệp

* Mở tệp để ghi: Rewrite(<biến tệp>); * Ví dụ: Assign(tep3,’C:\KQ.DAT’); Rewrite(tep3);

- Chú ý: Nếu thư mục gốc ổ đĩa C có tệp KQ.DAT nội dung cũ sẻ bị xóa, khơng tệp tạo với nội dung rỗng

* Mở tệp để đọc: Reset(<biến tệp>); * Ví dụ: tentep:= ‘KQ.DAT’;

Assign(tep1, tentep); Reset(tep1);

Hoặc: Assign(tep1, ‘KQ.DAT’); Reset(tep1);

c Đọc/ghi tệp văn * Đọc:

Read(<biến tệp>, <danh sách biến>); Hoặc:

Readln(<biến tệp>, <danh sách biến>); * Ghi:

Write(<biến tệp>,<danh sách kết quả>); Hoặc:

(106)

HS: Close(tep3);

GV: Sử dụng máy chiếu chiếu chương trình ví dụ tổng hợp lên bảng để học sinh quan sát Yêu cầu học sinh đọc hiểu chương trình

* Một số hàm chuẩn thường dùng đọc/ghi tệp văn bản:

- eof: trả giá trị true trỏ tệp tới cuối tệp

- eoln: trả giá trị true trỏ tệp tới cuối dịng

d Đóng tệp

* Cú pháp: Close(<biến tệp>); * Ví dụ: Close(tep1);

IV Củng cố (5p)

- Nêu vai trò phân loại tệp?

- Đọc hiểu phân biệt hàm, thủ tục, ý nghĩa chương trình mẫu GV đưa V Dặn dò (1p)

(107)

Ngày soạn : 21/03/2010 Ngày dạy :23/03/2010

Tiết PPCT : 38 Tuần : 30

Bài 16: V Í DỤ LÀM VIỆC VỚI TỆP A MỤC TIÊU

1 Kiến thức: Củng cố lại kiến thức học tệp chương thơng qua ví dụ Kỹ năng: Sử dụng hàm thủ tục liên quan để giải tập Thái độ: - Thấy cần thiết tiện lợi kiểu liệu tệp

- Có ý thức lưu trữ liệu cách khoa học B PHƯƠNG PHÁP

- Thuyết trình giảng giải, kết hợp hình ảnh trực quan - Sử dụng câu hỏi gợi mở, nêu vấn đề cho học sinh trả lời C CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên: Giáo án, máy chiếu Projector để hướng dẫn Học sinh: SGK,

D TIẾN TRÌNH LÊN LỚP I Ổn định tổ chức (1p) II Kiểm tra cũ (5p)

* Câu hỏi: Sắp xếp bảng theo thứ tự bước mở tệp để ghi để đọc?

Assign(<biến tệp>, <tên tệp>); Rewrite(<biến tệp>); Reset(<biến tệp>); + Read(<biến tệp>, <danh sách biến>); Write(<biến tệp>, <danh sách kết quả>); Close(<biến tệp>);

* Đáp án:

- Mở để ghi: + Assign(<biến tệp>, <tên tệp>); Rewrite(<biến tệp>); Write(<biến tệp>, <danh sách kết quả>); Close(<biến tệp>);

- Mở để đọc: + Assign(<biến tệp>, <tên tệp>); Reset(<biến tệp>); Read(<biến tệp>, <danh sách biến>); Close(<biến tệp>);

III Bài Đặt vấn đề (1p)

- Bài học trước em làm quen với kiểu liệu kiểu liệu tệp, để em nắm phần kiến thức lí thuyết học, học hơm vào tìm hiểu số ví dụ cụ thể Triển khai

Hoạt động giáo viên học sinh Nội dung kiến thức Hoạt động 1: (chung lớp) (10p)

GV: Giới thiệu nội dung đề

- Chiếu chương trình ví dụ lên bảng gợi ý học sinh tìm hiểu chương trình

- Hàm eof(f) có chức gì?

HS: Trả giá trị true trỏ tệp định vị vị trí kết thúc tệp

GV: Có thể sử dụng cấu trúc FOR thay cho WHILE khơng?

HS: Khơng, số lượng phần tử tệp

GV: Chương trình thực cơng việc gì? Vì sao?

HS: Tính đưa hình khoảng cách từ trại thầy hiệu trưởng đến trại giáo viên

GV: Giới thiệu cho HS cách tạo file

Ví dụ (SGK, trang 87) Progam Khoang_cach;

Var d: real; f :text; x, y: integer; Begin

Assign(f, ‘TRAI.TXT’); Reset(f);

While not eof(f) Begin

Read(f,x,y);

D:= sqrt(x*x+y*y);

Write(‘Khoang cach: ‘,d:10:2); End;

(108)

TRAI.TXT Thực chương trình để học sinh thấy kết

Hoạt động 2: (theo nhóm) (7p)

GV: Chiếu tranh mơ kết nối điện trở, hình 17, trang 88 SGK Hãy cho biết cơng thức tính điện trở sơ đồ II, III, IV?

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

GV: Chiếu chương trình ví dụ lên bảng Hỏi mảng A dùng để lưu trữ giá trị nào?

HS: Lưu trữ giá trị điện trỡ tương đương theo cách ghép nối sơ đồ

GV: Cho file liệu vào gồm hàng Yêu cầu học sinh tính kết

HS: Tính kết điện trở tương đương GV: Thực chương trình đọc file liệu vào để học sinh đối chiếu kết

HS: Quan sát kết chương trình so sánh với kết tính Nhận xét tính xác thời gian thực chương trình

2 Ví dụ (SGK, trang 87) Program Dien_tro;

Var a: array[1 5] of real;

R1, R2, R3: real; f1,f2 :text; i: integer; Begin

Assign(f1, ‘RESIST.DAT’); Reset(f1);

Assign(f2, ‘RESIST.EQU’); Rewrite(f2);

While not eof(f1) Begin

Readln(f1,R1,R2,R3);

a[1]:=R1*R2*R3/(R1*R2+R1*R3+R2*R3); a[2]:=R1*R2/(R1+R2)+R3;

a[3]:=R1*R3/(R1+R3)+R2; a[4]:=R2*R3/(R2+R3)+R1; a[5]:=R1+R2+R3;

For i:=1 to write(f2, a[i]:9:3,’ ‘); Writeln(f2);

End;

Close(f1); Close(f2); End

Hoạt động 3: (Chung lớp) (p)

GV: Cung cấp cho HS số kiến thức mở rộng

- Giới thiệu cho HS thủ tục mở file để ghi thêm liệu vào file?

HS: Quan sát ghi

GV: Giới thiệu hàm kiểm tra tồn file

- Ý nghĩa: hàm trả giá trị TRUE tập tin cần mở có đĩa, ngược lại cho giá trị False - Lồng hàm vào ví dụ cho HS kiểm chứng

* Thủ tục: APPEND(biến tệp);

* Ý nghĩa: Thủ tục dùng để mở tập tin có tên gán cho biến tệp thủ tục Assign trước Khi tệp mở cửa sổ tệp định vị vị trí kết thúc tệp Từ ghi thêm liệu vào cuối tệp

FUNCTION FileExists (tên_file: String):Boolean; Var F: FILE;

Begin {$I-}

Assign (f, tên_file); Reset (f); Close (f); {$I+}

FileExists:= (IOResult=0); End;

IV Củng cố (5p)

- Nêu thao tác với tệp văn bản? V Dặn dò (1p)

- Bài tập:

(109)

Ngày soạn : Ngày dạy :

Tiết PPCT : 39 Tuần : 31

Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)

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

+ Biết CTC khối lệnh nhằm giải nêu để góp phần giải nêu lớn chương trình

+ Biết viết nhứng chương trình dài, phức tạp thỡ việc sử dụng CTC cần thiết + Biết lợi ích việc sử dụng CTC

II Chuẩn bị:

Máy chiếu bảng phụ viết sẵn chương trình tinh_tong khơng sử dụng chương trình sử dụng chương trình

III Tiến trình dạy :

Hoạt động GV HS Nội dung

+ Hoạt động 1:(5’) Đặt vấn đề:

Các chương trình giải nêu phức tạp thường dài, gồm nhiều lệnh, đọc khó hình dung chương trình thực cơng việc việc hiệu chỉnh chương trình khó khăn

Như làm nêu phức tạp dễ đọc, dễ hiểu, dễ hiệu chỉnh, dễ nâng cấp?

Do ta nghiên cứu vấn đề CTC, để tìm hiểu CTC ? + Hoạt động (17’)

Tỉnh tổng : an + bm + cp + dq

+ GV cho HS nêu ý tưởng nêu

+ HS nêu ý tưởng giải nêu trả lời

Có nghĩa chia nêu thành nêu nhỏ, làm làm mịn dần nêu -> thiết kế toán từ xuống

+ GV phân tích: để giải BT MT chia chương trình thành khối, khối gồm nhiều lệnh giải tốn -> chương trình xây dựng từ CTC

+ Chương trình ?

+ Giáo viên chốt lại khái niệm bảng phụ, máy chiếu viết bảng

+ Hoạt động ( 17’)

+ GV dùng bảng phụ 1: tinh_tong ( không sử dụng CTC trang 92 SGK ), cho HS nhận xét đoạn chương trình

+ Chỳ ý bảng phụ trình chiếu, sau nhận xét + GV chốt lại ý: đoạn CT có đoạn lệnh tương tự -> chương trình dài, khú theo dừi, khú hiệu chỉnh

+ Dùng bảng phụ 2: Chương trình tinh_tong có sử dụng chương trình

+ HS nhận xét so sánh đoạn chương trình + GV giải rhích : dùng lệnh:

var j: integer; tich:=1.0; for j:=1 to k

1.Khái niệm chương trình con Những tốn phức tạp phân chia thành nhiều nêu nhỏ, nêu nhỏ phân chia thành nhiều nêu nhỏ, q trình làm “mịn” dần tốn gọi cách thiết kế từ xuống

Khi lập trình để giải nêu chia thành khối, khối bao gồm lệnh để giải nêu đó, khối lệnh xây dựng thành CTC , sau chương trình xây dựng CTC này, cách lập trình gọi chương trình có cấu trúc Chương trình dóy lệnh mụ tả số thao tỏc định thực (được gọi ) từ nhiều vị trí chương trình

* Lợi ích việc sử dụng CTC

(110)

tich:=tich*x

+ Để tính luỹ thừa ta viết: Luythua(a,n), luythua(b,m), Luythua(c,p), luythua(d,q)

+ Và rừ đoạn lệnh thay CTC

+ Từ điều nêu cho HS nêu ích lợi CTC + GV giải thích rừ ích lợi việc sử dụng CTC + Các HS nêu lợi ích CTC

lệnh;

+ Hổ trợ việc thực chương trình lớn;

+ Phục vụ cho quỏ trình trừu tượng hố ;

+ Mở rộng khả ngôn ngữ; + Thuận tiện cho phát triển, nâng cấp chương trình;

IV Củng cố:

(111)

Hàm Thủ tục

Ngày soạn :4/4/2010 Ngày dạy :5/4/2010

Tiết PPCT : 41 Tuần : 32

Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 2) I: Mục tiêu :

1 Kiến thức:

Biết phân biệt hai loại chương trình con: Hàm thủ tục Biết cấu trúc chương trình

Biết phân biệt tham số hình thức ví i tham số thực sự, biến cục ví i biến tồn cục 2 Kỹ năng:

- Nhận biết hai loại tham số hình thức tham số thật - Nhận biết phạm vi hoạt động biến toàn cục, biến cục

- Cách thực chương trinh Thái độ:

- Phát huy tinh thần học tập theo nhóm II Đồ dùng dạy học:

-GV: Bảng phụ, máy chiếu(nếu có ) -HS: SGK, sách tập

IV Tiến trình học. ổn định :

2 Bài cũ : Câu 1: Trình bày khái niệm chương trình ?

Câu 2: Mục đích sử dụng chương trình ? Bài giảng :

Hoạt động GV & HS Nội dung

ĐVĐ: Chúng ta biết chương trình ? Lợi ích việc sử dụng chương trình lập trình Nhưng ta chưa biết chương trình chương trình có cấu trúc nào? Và phân loại nào?

-Trong nhiều ngôn ngữ lập trình chương trình phân làm loại?

-Trong ngôn ngữ pascal em cho biết số hàm thủ tục chuẩn mà em biết?

-HS trả lời câu hỏi:

+ Hàm: Sin(x), sqrt(x),length(x) + Writeln, readln,

-Xét hàm sin(x)

Ví i x=∏/6 giá trị hàm sin(x) cho kết bao nhiờu ? -HS trả lời câu hỏi:

Sin(x)=1/2

GV nhận xét : Sau thực tính tốn hàm sin(x) ví i x= ∏/6 cho giá trị 1/2

Vậy em cho biết hàm có đặc điểm ?(hay hàm ?).

-Xét thủ tục Writeln, Writeln(‘‘xin chao’’)

Thủ tục Writeln(‘xin chao’) làm ? cho kết ? có trả giá trị khơng ?.

Vậy em cho biết thủ tục có đặc điểm ?(hay hàm gì ?).

ĐVĐ : Trên sở phân loại hàm thủ tục ta tìm

2 Phân loại cấu trúc chương trình con.

a Phân loại:

+Hàm: Là chương trình thực số thao tác Trả lại giá trị qua tên hàm

+Thủ tục: Là chương trình thực số thao tác Khơng trả lại giá trị qua tên thủ tục

b Cấu trúc chương trinh con <Phần đầu>

[<Phần khai báo >] <Phần thân > +Phần đầu:

+ Để khai báo tên hàm thủ tục

+ Nếu hàm phải khai báo kiểu liệu chi giá trị trả hàm

+ Nhất thiết phải có +Phần khai báo :

+ Khai báo biến cho liệu vào/ra, biến dùng chương trình

+Phần thân :

(112)

Hoạt động GV & HS Nội dung hiểu cấu trúc hàm thủ tục (Chương trình con) tổ

chức ?

-Các em cho biết chương trình gồm phần ? (kiến thức củ).

-Học sinh trả lời:

[<Phần khai báo >] <Phần thân >

-Trong chương trình cấu trúc nú gồm phần ?

-Học sinh trả lời:

<Phần đầu>

[<Phần khai báo >] <Phần thân >

-Về chương trình chuơng trình có tương tự khơng ?

-Phần đầu dùng để làm ? -Phần Khai báo dùng để làm ? -Phần thân dùng để làm ?

Xét ví dụ : Tính luỹ thừa : luythua= xk tên chương

trình đặt luythua, tên biết chưa liệu vào x, k Vậy tính xk ta viết luythua(x,k) Khi x, k tham số

hình thức

-Vậy tham số hình thức ?

ĐVĐ : Đối biến cục bộ, ,biến toàn cục thỡ phạm vi hoạt động ?

ĐVĐ : Sau có chương trình con, muốn thực chuơng trình thỡ ta làm ?

-Hãy cho ví dụ lệnh gọi CTC ?

Xét ví dụ :CTC luythua(x,k) ví i x,k tham số hình thức Ví i biến : a =2, b=3

Lệnh gọi CTC Luythua(a,b) tham số hình thức x,k nhận giá trị tương ứng tham số thực a,b

-Học sinh đọc sách GK trả lời

những iệu vào/ra ta nhận liệu hay kết qủa mong muốn

*Khái niệm biến:

- Tham số hình thức: gồm biến khai báo cho liệu vào/ra

- Biến cục bộ: Gồm biến khái khai báo chương trình

- Biến tồn cục: Gồm biến khái khai báo chương trình

*Phạm vi hoạt động biến: -Biến cục bộ:

+ Chỉ sử dụng chương trình cuả nú mà thụi

+ Khơng thể sử dụng biến cục cuả chương trình cho chương trình chương trình khác

-Biến toàn cục:

+ Được sử dụng chương trình sử dụng chương trình

c Thực chương trình con: -Để thực gọi chương trình ta thực lệnh theo có pháp sau

Có pháp :

<tên chương trình con>(<tham số thực sự>)

Trong đó: tham số thực hằng, biến chứa liệu vào/

V Cũng cố kiến thức: -CTC gồm: Hàm thủ tục. -Cấu trúc chương trinh con. -Biến cục bộ, biến toàn cục.

(113)

Ngày soạn :4/4/2010 Ngày dạy :5/4/2010

Tiết PPCT : 42 Tuần : 32

Bài 18 : VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I MỤC TIÊU

1 Kiến thức:

- Biết cấu trúc chung vị trí thủ tục chương trình - Phân biệt tham số giá trị tham số biến

- Nắm khái niệm biến toàn cục biến cục 2 Kĩ năng:

- Nhận biết thành phần đầu thủ tục

- Nhận biết hai loại tham số hình thức đầu thủ tục

- Biết cách khai báo hai loại chương trình ví i tham số hình thức chúng - Sử dụng lời gọi chương trình thân chương trình

- Phân biệt khác hàm thủ tục - Phân biệt sử dụng biến toàn cục biến cục 3 Thái độ:

- Rèn luyện phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tuân thủ u cầu cơng việc chung

II CHUẨN BỊ :

Giáo viên : Máy vi tính máy chiếu projector để giới thiệu ví dụ.

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

III TIẾN TRÌNH LÊN LỚP :

1 Hoạt động 1: Tìm hiểu cấu trúc chung vị trí thủ tục chương trình chính.

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

- Chiếu chương trình ví dụ lên bảng (Ví dụ VD-thutuc1, trang 96) Giới thiệu cho học sinh cấu trúc thủ tục vị trí khai báo thủ tục, lời gọi thủ tục

2 Tìm hiểu cấu trúc thủ tục

- Hỏi: Vị trí thủ tục nằm phần chương trình chính?

- Hỏi: Cấu trúc thủ tục gồm phần?

- Ba phần: Tên thủ tục, khai báo thủ tục phần thân thủ tục

- Hỏi: Phân biệt giống khác chương trình chương trình chính?

- Giống: Cấu trúc chung

- Khác: Trong phần tên: Từ khóa đặt tên Procedurre, có tham số

- Giới thiệuc cấu trúc chung thủ tục

- Lời gọi thủ tục ta viết phần chương trình? Tìm hiểu tham số hình thức tham số thực - Chiếu ví dụ 2, VD_thutuc2, sách giáo khoa trang 98

- Yêu cầu học sinh nhận xét thủ tục ve_hcn ví dụ ví i ví dụ trước

- Hỏi: Quan sát chương trình cho biết, chương trình ta vẽ tất bao nhêu hình chữ nhật

- Tham số chdai, chrong gọi tham số hình thức

- Trong lời gọi thủ tục tham số hình thức thay

1 Cách viết sử dụng thủ tục a Cấu trúc thủ tục:

Procedure <Tên thủ tuc> [(<DS tham số>)];

[< phần khai báo>] Begin

[<Dãy lệnh>] End;

- Phần đầu thủ tục gồm tên dành riêng Procedure, tên thủ tục DS tham số có khơng có - Phần khai báo: Dùng để xác định hằng, kiểu, biến xác định chương trình khác sử dụng thủ tục

- Dãy câu lệnhh:Được viết cặp tên dành riêng Begin End tạo thành thân thủ tục

b VD thủ tục:

- Trong lời gọi thủ tục tham số hình thức thay tham số thực tương ứng giá trị cụ thể đgl tham số giá trị (tham trị)

(114)

các tham số thực

- So sánh tham số lời gọi ve_hcn(5,10); ve_hcn(a,b);

4 Tìm hiểu tham số giá trị tham số biến - Hỏi: Các tham số ví dụ thuộc loại nào?

- Chiếu chương trình VD_thambien1, sách giáo khoa trang 99 - Hỏi: Các tham số x,y thuộc loại nào?

- Diễn giải: Trong lời gọi thủ tục, tham số hình thức thay tham số thực tương ứng tên biến chứa dữ liệu ra gọi tham số biến

- Hỏi: x, y tham số giá trị hay tham số biến?

- Hỏi: Có nhận xét khai báo tham số hình thức tham trị tham biến?

- Chiếu vd_thambien2 giải thích để học sinh thấy khác biệt tham số giá trị tham số biến

hình thức thay tham số thực tương ứng tên biến chứa liệu đgl tham số biến (tham biến)

2.Hoạt động 2: Tìm hiểu cấu trúc chung vị trí hàm chương trình chính.

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

1 Nhắc lại kiến thức cũ hàm chuẩn

- Hỏi: Hãy kể tên số hàm chuẩn học cách sử dụng chúng

1 Suy nghĩ trả lời

- Hàm ABS(), SQRT(), ROUND() - Viết tên hàm cần gọi tham số

- Lời gọi hàm viết biểu thức nêu hạng, chí tham số hàm khác

2 Giới thiệu cấu trúc chung vị trí hàm chương trình

- Hỏi: So sánh giống khác hàm thủ tục Quan sát cấu trúc chung

- Giống: Có cấu trúc tương tự, có tham số

- Khác: Tên hàm phải quy đinh kiểu liệu; Trong thân hàm phải có lệnh Tên_hàm:=biểu_thức;

Bắt đầu hàm từ Function Tìm hiểu hàm thơng qua ví dụ

- Chiếu chương trình ví dụ rutgon_phanso, sách giáo khoa trang 101

- Hỏi: Trong chương trình có hàm - Hàm UCLN(x,y) dùng để làm gì? - Hỏi: Lời gọi hàm đâu?

- Hỏi: Có khác ví i thủ tục lời gọi hàm

- Chiếu chương trình ví dụ 2, Minbaso, sách giáo khoa, trang 102

- Hỏi: Trong chương trình có hàm? chức hàm?

- Có lời gọi hàm chương trình chính? Tìm hiểu biến cục biến tồn

- Chiếu chương trình ví du 2: Rutgon_phanso lên bảng - Hỏi: Có biến sử dụng chương trình?

II/ Dạng Hàm (Function) 1/ Cấu trúc:

Function <tên hàm>[<danh sách tham số>]: <kiểu liệu>;

[khai báo biến]; Begin

[<dãy lệnh>] End;

- <Kiểu liệu>: Kiểu liệu trả lại hàm kiểu integer, real, char, boolean, string

Vd: Function tong(x,y: integer): integer;

2/

Sử dụng hàm:

- Giống hàm chuẩn, viết tên hàm gọi thay tham số hình thức tham số thực tương ứng

- Lệnh gọi hàm tham gia vào biểu thức tốn hạng

Ví dụ: A:= 8*UCLN(x,y)-3;

Chú ý: Trong thân hàm phải có lệnh gán giá trị cho tên hàm <tên hàm>:= <biểu thức>;

3/ Phân biệt hàm thủ tục: a/ Giống nhau:

(115)

Các biến khai báo chỗ chương trình? - Yêu cầu học sinh: Phân biệt giống khác biến toàn biến cục

giống chương trình

- Đều chứa tham số, tuân theo quy định khai báo b/ Khác nhau:

- Tên hàm phải có kiểu liệu - Trong thân hàm phải có lệnh gán giá trị cho tên hàm

Ngày đăng: 02/05/2021, 00:26

Tài liệu cùng người dùng

Tài liệu liên quan