1. Trang chủ
  2. » Cao đẳng - Đại học

giao antin10

70 3 0

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

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

THÔNG TIN TÀI LIỆU

Nội dung

- Hình thành các kĩ năng cơ bản làm việc với kiểu mảng (một chiều) trong lập trình: Khai báo mảng, nhập dữ liệu cho mảng, đưa ra màn hình chỉ số và giá trị các phần tử của mảng, duyệt qu[r]

(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 ngơn ngữ lập trình

A MỤC TIÊU

- Biết khái niệm lập trình ngơn ngữ lập trình

- 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

- Hiểu khả ngơn ngữ lập trình bậc cao, phân biệt với ngôn ngữ máy hợp ngữ

- Biết vai trị chương trình dịch - Biết khái niệm biên dịch thông dịch B CHUẨN BỊ DẠY - HỌC

- Giáo viên: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) - Học sinh: Sách giáo khoa, sách tập, ghi

C TIẾN TRÌNH BÀI GIẢNG 1 Ổn định tổ chức:

Lớp 11 11 11 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ: 3 Bài mới:

Nội dung Hoạt động giáo viên - học sinh

Khái niệm lập trình:

Lập trình sử dụng cấu trúc liệu

GV: Như ta biết, tốn giải máy tính điện tử Khi giải tốn máy tính điện tử, sau bước xác định toán xây dựng lựa chọn thuật toán khả thi ta cần phải làm để máy tính hiểu thực thuật tốn lựa chọn để giải toán Theo em ta phải làm nào?

HS: Cần diễn tả thuật toán ngơn ngữ cho máy tính hiểu thực (Tiếng Anh, Tiếng Việt, ., ngơn ngữ lập trình.)

(2)

câu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật tốn

Ngơn ngữ lập trình phân loại:

Ngơn ngữ dùng để viết chương trình máy tính gọi ngơn ngữ lập trình

Ngơn ngữ lập trình chia làm loại: Ngơn ngữ máy, hợp ngữ, ngơn ngữ bậc cao Ngơn ngữ máy: chương trình viết ngơn ngữ máy nạp trực tiếp vào nhớ thực

Hợp ngữ: gần với ngôn ngữ máy mã lệnh thay tên viết tắt thao tác (thường tiếng Anh) Chương trình viết hợp ngữ phải dịch ngơn ngữ máy trước thực máy tính

Ngơn ngữ bậc cao: ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, phụ thuộc vào loại máy Chương trình viết ngơn ngữ bậc cao phải chuyển đổi thành chương trình ngơn ngữ máy mỡi thực

Chương trình dịch: Là 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 thực máy tính (chương trình viết ngơn ngữ máy)

lập trình cụ thể gọi lập trình

Yêu cầu HS phát biểu khái niệm lập trình HS: Phát biểu khái niệm lập trình

GV: Kết hoạt động lập trình gì? HS: Ta chương trình

GV: Ý nghĩa lập trình gi?

HS: Tạo chương trình giải tốn máy tính

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

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

GV: Hãy nêu loại ngôn ngữ lập trình mà em biết?

HS: ngơn ngữ máy, hợp ngữ, ngôn ngữ bậc cao

GV: Theo em ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao khác nào? HS: trả lời câu hỏi GV

GV: Làm để chuyển chương trình viết từ ngơn ngữ bậc cao thành chương trình viết ngơn ngữ máy? HS: Trả lời câu hỏi củaGV

GV: Vì người ta khơng lập trình ngơn ngữ máy để khỏi cơng chuyển đổi mà lại dùng ngôn ngữ bậc cao?

(3)

Chương trình dịch chia làm loại: thông dịch biên dịch

Thông dịch (interpreter): 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 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

GV: Giả sử em muốn giới thiệu trường cho du khách quốc tế biết tiếng Anh Em thực nào? HS: Trả lời (dịch câu giới thiệu, dịch giới thiệu đọc)

GV: Em cho biết ưu, nhược điểm cách?

HS: trả lời

GV: Để dịch từ chương trình ngơn ngữ bậc cao sang ngơn ngữ máy chương trình dịch thực theo cách tương tự

Yêu cầu HS nghiên cứu SGK để biết bước q trình thơng dịch, biên dịch HS: Nghiên cứu SGK

GV: Thơng dịch thích hợp với mơi trường nào? Biên dịch thích hợp với mơi trường nào? Cho ví dụ

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

4 Củng cố:

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

+ Có loại ngơn ngữ lập trình: ngơn ngữ máy, hợp ngữ, ngôn ngữ bậc cao + Tại người ta hay sử dụng ngơn ngữ lập trình bậc cao?

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

+ Phân biệt loại chương trình dịch: Thơng dịch biên dịch 5 Hướng dẫn nhà:

- Học theo SGK ghi

- Cho ví dụ số ngơn ngữ lập trình sử dụng kĩ thuật thơng dịch, biên dịch?

(4)

Ngày soạn: 24/08/2008

Tiết - §2 Các thành phần ngơn ngữ lập trình A Mục tiêu cần đạt:

Kiến thức:

- Biết ngơn ngữ lập trình có ba thành phần là: bảng chữ cái, cú pháp ngữ nghĩa Hiểu phân biệt ba thành phần

- Biết số khái niệm: tên, tên chuẩn, tên dành riêng (từ khóa), biến Kỹ năng:

- Phân biệt tên chuẩn với tên dành riêng tên tự đặt - Nhớ qui định tên, biến

- Biết cách đặt tên nhận biết tên sai qui định B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi,

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS D Tiến trình dạy học:

1 Ổn định tổ chức:

(5)

Ngày dạy Sĩ số

2 Kiểm tra cũ:

+ Tại người ta phải xây dựng ngơn ngữ lập trình bậc cao? + Biên dịch thông dịch khác nào?

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Có yếu tố để xây dựng nên ngơn ngữ Tiếng Việt?

HS: Độc lập suy nghĩ trả lời - Bảng chữ cái, số, dấu

- Cách ghép chữ thành từ, cách ghép từ thành câu

- Nghĩa từ câu

GV: Các ngôn ngữ khác (Anh, Pháp, ) xây dựng từ yếu tố nào?

HS: Trả lời

GV: Phân tích câu trả lời học sinh giới thiệu kiến thức

HS: Lắng nghe ghi nhớ

GV: Tổ chức cho HS hoạt động nhóm làm nhiệm vụ:

- Nêu chữ bảng chữ Tiếng Anh? - Các kí hiệu số sử dụng hệ đếm thập phân - Nêu số kí hiệu đặc biệt khác?

GV: Phân tích câu trả lời cho ví dụ bảng chữ ngôn ngữ Pascal

HS: Nghe, quan sát ghi nhớ

GV: Các ngơn ngữ lập trình khác bảng chữ có khác Ví dụ Pascal khơng sử dụng dấu ! ngôn ngữ C++ lại sử dụng kí hiệu

GV: Trong ngơn ngữ tự nhiên, ví dụ Tiếng Việt có qui tắc ngữ pháp ngơn ngữ lập trình có qui tắc để viết chương trình gọi cú pháp

Các ngơn ngữ lập trình khác cú pháp khác Ví dụ ngơn ngữ Pascal dùng cặp từ Begin – End để gộp nhiều lệnh thành lệnh C++ lại dùng cặp kí hiệu {}

GV: Lấy ví dụ

Mỗi ngơn ngữ khác có cách xác định ngữ nghĩa khác

GV: Giới thiệu thêm:

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

Mỗi ngơn ngữ lập trình thường có ba thành phần bảng chữ cái, cú pháp ngữ nghĩa

a Bảng chữ cái: tập kí tự dùng để viết chương trình Khơng phép dùng kí tự ngồi kí tự quy định bảng chữ

Ví dụ: Bảng chữ ngơn ngữ lập trình Pascal bao gồm: chữ in thường in hoa bảng chữ Tiếng Anh, 10 chữ số thập phân Ả Rập, kí tự đặc biệt (SGK T9)

b Cú pháp:là quy tắc để viết chương trình

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

(6)

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

+ Lỗi cú pháp chương trình dịch phát thơng báo cho người lập trình Chương trình khơng cịn lỗi cú pháp dịch sang ngơn ngữ máy

+ Lỗi ngữ nghĩa phát chạy chương trình

GV: Trong ngơn ngữ lập trình nói chung, đối tượng sử dụng chương trình phải đặt tên để tiện cho việc sử dụng Việc đặt tên ngơn ngữ lập trình khác khác nhau, có ngơn ngữ phân biệt chữ hoa, chữ thường, có ngơn ngữ khơng phân biệt chữ hoa, chữ thường

Hãy nghiên cứu SGK trang 10 nêu quy cách đặt tên ngôn ngữ Pascal

HS: nghiên cứu SGK trả lời GV: Đưa ví dụ Trong Pascal: Tên đúng: A, C21, PC_13, _23, _4c Tên sai: A CD (chứa dấu cách) 6fh (Bắt đầu chữ số) X#Y (Kí tự # khơng hợp lệ)

GV: Ngơn ngữ có loại tên tuỳ theo ngôn ngữ mà tên có ý nghĩa khác Trong soạn thảo chương trình, ngơn ngữ lập trình thường hiển thị tên dành riêng với màu chữ khác hẳn với tên cịn lại giúp người lập trình nhận biết tên tên danh riêng (từ khố) Trong ngơn ngữ Pascal, từ khố hiển thị màu trắng

HS: Nghe, quan sát ghi

GV: Các ngơn ngữ lập trình thường cung cấp số đơn vị chương trình có sẵn thư viện chương trình giúp người lập trình thực nhanh số thao tác thường dùng

Ví dụ:

Trong Pascal: abs, integer, real, sqr, sqrt, longint, byte, sin, cos, char,

Trong C++: cin, cout, getchar, HS: Nghe, quan sát ghi

GV: Giới thiệu tên người lập trình tự đặt lấy ví dụ

HS: Nghe ghi

(2)

Khi dấu + (1) phép cộng hai số thực, (2) phép cộng số nguyên

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

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ể

Tên ngôn ngữ Pascal:

- dãy liên tiếp (khơng có dấu cách) khơng qua 127 kí tự

- gồm chữ số, chữ dấu gạch (_)

- Bắt đầu chữ dấu gạch

Ngôn ngữ lập trình thường có 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 Tên dành riêng: Là tên đượ ngơn ngữ lập trình quy định với ý nghĩa xác định mà người lập trình khơng thể dùng với ý nghĩa khác Tên dành riêng cịn gọi từ khố

Ví dụ: Một số từ khoá:

Trong Pascal: Program, Var, Uses, Begin, End,

Trong ngôn ngữ C++: main, include, while, void,

Tên chuẩn: Là tên ngơn ngữ lập trình dùng với ý nghĩa định Tuy nhiên, người lập trình khai báo dùng chúng với ý nghĩa mục đích khác Ý nghĩa tên chuẩn quy định thư viện ngơn ngữ lập trình

Tên người lập trình tự đặt: được xác định cách khai báo trước sử dụng Các tên không trùng với tên dành riêng không trùng

(7)

GV: Giới thiệu khái niệm ngơn ngữ lập trình, loại hằng, lấy ví dụ

HS: Nghe ghi

GV: Yêu cầu HS cho ví dụ số học, xâu, lơgic

HS: Lấy ví dụ

GV: Biến đối tượng sử dụng nhiều viết chương trình Biến đại lượng thay đổi nên thường dùng để lưu trữ kết quả, làm trung gian cho tính tốn, Mỗi loại ngơn ngữ có loại biến khác cách khai báo khác

GV: Khi viết chương trình, người lập trình thường 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, ngơn ngữ lập trình thương cung cấp cho ta cách để đưa thích vào chương trình

- Ngơn ngữ lập trình khác cách viết thích khác

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ố học: số nguyên, số thực

+ Hằng lôgic: giá trị sai tương ứng với True false + Hằng xâu: chuỗi kí tự mã ASCII đặt cặp dấu nháy '' (Pascal), "" (C++)

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ác biến dùng chương trình phải khai báo

c Chú thích:

Trong viết chương trình viết thích cho chương trình Chú thích khơng làm ảnh hưởng đến chương trình nguồn chương trình dịch bỏ qua

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

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

4 Củng cố:

+ Các thành phần ngơn ngữ lập trình: Bảng chữ cái, cú pháp, ngữ nghĩa + Tên ngơn ngữ lập trình, loại tên

+ Hằng biến

+ Chú thích ngơn ngữ lập trình 5 Hướng dẫn nhà:

- Học theo SGK ghi

- Trả lời câu hỏi tập (SGK – Tr13)

TỔ TRƯỞNG KÝ DUYỆT

(8)

Tiết – Bài tập A Mục tiêu cần đạt:

Kiến thức:

- Ôn tập kiến thức học chương I Kỹ năng:

- Phân biệt thành phần ngơn ngữ lập trình - Biết viết tên ngôn ngữ lập trình Pascal B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

+ Hãy cho biết điểm khác tên dành riêng tên chuẩn? + Hãy tự viết tên theo quy tắc Pascal?

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Hệ thống lại kiến thức học chương I:

+ Tại cần có chương trình dịch? Chương trình dịch chia thành loại?

+ Ngơn ngữ lập trình bao gồm thành phần nào?

+ Tên ngôn ngữ lập trình thường gồm loại? Là loại nào?

+ Phân biệt biến?

GV: Đưa câu hỏi tập, yêu cầu HS trả lời Nếu HS gặp khó khăn hướng dẫn

HS: Trả lời câu hỏi tập theo hướng dẫn GV

Tóm tắt kiến thức:

+ Cần có chương trình dịch để chuyển chương trình nguồn thành chương trình đích Có loại chương trình dịch: Thơng dịch biên 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

+ Mọi đối tượng chương trình phải đặt tên:

- Tên dành riêng: Được dùng với ý nghĩa riêng, không dùng với ý nghĩa khác

- Tên chuẩn: Tên dùng với ý nghĩa định, cần dùng với ý nghĩa khác phải khai báo

- Tên người lập trình đặt: cần khai báo trước sử dụng

(9)

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

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

3 Biên dịch thông dịch khác nào?

4 Hãy cho biết khác tên dành riêng tên chuẩn?

5 Hãy tự viết ba tên theo quy tắc Pascal

6 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 k 'TRUE'

+ Biến: Đại lượng đặt tên Giá trị biến thay đổi q trình thực chương trình

Bài tập:

1 - Ngơn ngữ bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đơng đảo người lập trình (khơng cho người lập trình chuyên nghiệp)

- Chương trình viết ngơn ngữ bậc cao nói chung khơng phụ thuộc vào phần cứng MT chương trình thực nhiều MT khác

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

- 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 mơ tả thuật tốn

2 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ữ lập trình bậc cao thành chương trình thực MT cụ thể INPUT: chương trình nguồn (viết ngơn ngữ bậc cao)

OUTPUT: chương trình đích (viết ngôn ngữ máy)

3

Biên dịch Thông 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 chương trình nguồn thành chương trình đích thực máy lưu lại để sử dụng sau cần thiết

- Lần lượt dịch câu lệnh ngôn ngữ máy thực câu lệnh vừa dịch báo lỗi không dịch

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

(10)

7 Hãy chọn biểu diễn tên biểu diễn đây:

a ‘***’ b -5+9-0 c PpPpPp d +23.36 e FA33C9 f (2)

8 Trong biểu diễn đây, biểu diễn từ khoá Pascal?

a END b Integer c Real d Sqrt e ‘end’ f Var

9 Tại phải kiểm tra tính đắn chương trình viết nhiều liệu thử nghiệm khác nhau?

10 Trong chương trình cịn lỗi cú pháp, thơng thường chương trình biên dịch hay thơng dịch phát lỗi nhanh sao?

7 C, E

8 A, F

9 Chương trình có nhiều nhánh có nhiều dạng lỗi ngữ nghĩa khác

10 Chương trình biên dịch phát lỗi nhanh chương trình biên dịch kiểm tra lỗi cú pháp trước dịch Chương trình thơng dịch vừa dịch vừa thực câu lệnh, lỗi cú pháp phát thực tới câu lệnh

4 Củng cố:

+ Hệ thống kiến thức trọng tâm chương I 5 Hướng dẫn nhà:

- Xem lại tập chữa

- Đọc đọc thêm " Ngôn ngữ Pascal"

(11)

Ngày soạn: 3/9/2008

Tiết - §3 Cấu trúc chương trình §4 Một số kiểu liệu chuẩn §5 Khai báo biến

A Mục tiêu cần đạt: 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 Pascal: 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ơgíc miền

- Hiểu cách khai báo biế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

- Biết cách khai báo đúng, nhận biết khai báo sai B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A5 11A6 11A7 11A8 Ghi

(12)

2 Kiểm tra cũ: 3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Khi viết tập làm văn em thường viết theo cấu trúc phần? Tại phải viết theo cấu trúc vậy?

HS: Viết theo cấu trúc phần (mở bài, thân bài, kết luận) Viết để dễ viết, dễ đọc, dễ hiểu nội dung

GV: Vậy chương trình máy tính thường có phần?

HS: Đưa ý kiến

GV: Giới thiệu cấu trúc chung chương trình

HS: Nghe ghi

GV: Ta biết chương trình thường gồm phần: Phần khai báo phần thân.Vậy phần khai báo gồm thành phần nào? Phần thân chương trình gồm thành phần nào? sau tìm hiểu

GV: Giới thiệu loại khai báo lấy ví dụ minh họa

HS: Nghe giảng ghi chép

GV: tất biến dùng chương trình phải đặt tên phải khai báo cho chương trình dịch biết để lưu trữ xử lí Biến nhận giá trị

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

Một chương trình viết ngơn ngữ bậc cao thường gồm phần: phần khai báo phần thân Phần khai báo có khơng, phần thân bắt buộc phải có

Cấu trúc mô tả sau: [< phần khai báo>]

< phần thân >

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

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

Khai báo tên chương trình: Phần có khơng

Trong Pascal:

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

Program Vi_du; Khai báo thư viện: Trong pascal:

Uses <tên thư viện>; Ví dụ: Uses Crt; Trong C++:

#include <tên thư viện> Ví dụ: #include <conio.h> Khai báo hằng:

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

Ví dụ: Const MaxN=1000; PI=3.1416; KQ='Ket qua'; Trong C++:

const int MaxN=1000; const float PI=3.1416; const char* KQ="Ket qua"; Khai báo biến:

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

(13)

mỗi thời điểm thực chương trình gọi biến đơn Cách khai báo biến ta tìm hiểu sau GV: Giới thiệu thành phần phần thân chương trình

HS: Nghe giảng

GV: Sau ta xét ví dụ chương trình đơn giản

(sử dụng bảng phụ chương trình viết sẵn máy tính để minh họa giải thích)

HS: Quan sát nghe giảng

GV: Khi 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: Họ tên: văn Đểm: số thực

Số thứ tự: số nguyên

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

GV: phân tích ý kiến giới thiệu kiểu liệu (sử dụng ngôn ngữ Pascal để minh họa)

HS: Quan sát, nghe giảng ghi

GV: Khai báo biến khai báo nằm phần khai báo chương trình

GV: Ở ta xét khai báo biến đơn

Sau ta tìm hiểu cách khai báo biến ngơn ngữ lập trình Pascal.(GV giới thiệu cách khai báo biến, lấy ví dụ giải thích)

HS: Quan sát, nghe ghi

GV: Đưa số khai báo (có sai) Yêu cầu HS xác định khai báo đúng, khai báo sai

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

định cặp dấu hiệu mở đầu kết thúc tạo thành thân chương trình Ví dụ: Trong Pascal:

begin

[<dãy lệnh>] end.

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

II Một số kiểu liệu chuẩn: Mỗi ngơn ngữ lập trình thường cung cấp số kiểu liệu chuẩn cho biết phạm vi giá trị lưu trữ,dung lượng nhớ cần thiết để lưu trữ phép toán tác động lên liệu

Một số kiểu liệu chuẩn thường dùng cho biến đơn Pascal: 1 Kiểu nguyên

2 Kiểu thực 3 Kiểu kí tự: 4 Kiểu lơgíc: III Khai báo biến:

Mọi biến dùng chương trình cần khai báo tên kiểu liệu Tên biến dùng để xác lập quan hệ biến với địa nhớ nơi lưu trữ giá trị biến Mỗi biến khai báo lần

Cách khai báo biến đơn Pascal:

var <DS biến> : <kiểu liệu>; Trong đó:

+ DS biến nhiều biến, tên biến viết cách dẫy phẩy;

+ kiểu liệu: kiểu liệu chuẩn kiểu liệu người lập trình định nghĩa

Ví dụ 1:

var a, b, c:integer; m, n: real; Ví dụ 2:

(14)

GV:Nêu số ý khai báo biến HS: nghe giảng

N: word; K: Boolean;

4 Củng cố:

+ Cấu trúc chung chương trình? Các thành phần chương trình? + Các kiểu liệu chuẩn Pascal

+ Cách khai báo biến Pascal 5 Hướng dẫn nhà:

- Học theo ghi SGK

- Nhớ kiểu liệu chuẩn cách khai báo biến Pascal

TỔ TRƯỞNG KÝ DUYỆT

Ngày soạn: 7/9/2008

Tiết - §6 Phép tốn, biểu thức, câu lệnh gán A Mục tiêu cần đạt:

Kiến thức:

- 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

Kỹ năng:

- Viết lệnh gán

(15)

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

Nêu ví dụ khai báo biến kiểu thực biến kiểu kí tự Tính nhớ cấp phát?

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: - Để mơ tả thao tác thuật tốn, ngơn ngữ lập trình sử dụng số khái niệm bản: phép toán, biểu thức, gán giá trị

- Hãy kể tên phép toán em học toán học?

HS: - Phép toán: cộng, trừ, nhân, chia, lấy số dư, chia lấy nguyên, so sánh

GV: Trong ngơn ngữ lập trình Pascal có phép tốn đó, diễn đạt cách khác

- Yêu cầu HS nghiên cứu SGK cho biết nhóm phép tốn?

HS:Nghiên cứu SGK trả lời

- Phép toán DIV, MOD sử dụng cho kiểu liệu nào?

HS: - Chỉ sử dụng cho kiểu nguyên

- Kết phép toán quan hệ thuộc kiểu liệu nào?

HS: - Thuộc kiểu Logic

GV: - Trong toán học ta làm quen với khái niệm biểu thức, cho biết yếu tố xây dựng nên biểu thức?

HS: Gồm phần: toán hạng toán tử

GV: - Nếu toán mà toán hạng biến số, số hàm số toán tử phép tốn số học biểu thức có tên gọi gì?

HS: - Biểu thức số học

GV: Giới thiệu khái niệm biểu thức số học lập

1 Phép tốn:

Các ngơn ngữ lập trình có phép tốn số học cộng, trừ, nhân, chia đại lượng thực, phép toán chia nguyên lấy phần dư, phép toán quan hệ,

Kí hiệu phép tốn tốn học Pascal (SGK)

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

(16)

trình quy tắc viết BT số học lập trình GV: Trong tốn học, biểu thức số học gồm dấu ngoặc phép tốn cộng, trừ, nhân, chia thứ tự thực phép toán nào?

HS: Trong ngoặc trước, ngoặc sau; nhân chia trước, cộng trừ sau

GV: Trong lập trình thứ tự thực phép toán tương tự

GV: - Sử dụng phép toán số học, biểu diễn biểu thức toán học sau thành biểu thức ngơn ngữ lập trình?

4a + 6xy : 5c xy

z ;

2 2

x y x

z z

  

HS: Thực theo yêu cầu GV GV: Nêu phần ý SGK (Tr 25)

GV: Trong toán học ta làm quen với số hàm số học, kể tên số hàm đó?

HS: - Hàm trị tuyệt đối, hàm bậc hai, hàm sin, hàm cos

GV: Các ngôn ngữ lập trình có thư viện chứa số chương trình tính giá trị hàm tốn học thường dùng Các chương trình gọi hàm số học chuẩn

- Đưa bảng chứa số hàm chuẩn, yêu cầu HS điền thêm thông tin chức hàm, kiểu đối số kiểu hàm số

HS: - Quan sát, nghiên cứu SGK lên bảng điền vào bảng

GV: Cho biểu thức

2 4

b b ac

a

  

, biểu diễn biểu thức sang biểu thức ngơn ngữ lập trình?

HS: Lên bảng viết biểu thức

GV: - Khi biểu thức số học liên kết với phép toán quan hệ ta biểu thức mới, biểu thức gọi biểu thức gì?

HS: - Gọi biểu thức quan hệ

GV: - Hãy lấy 1VD biểu thức quan hệ? HS: Lấy ví dụ

GV: - Yêu cầu HS nghiên cứu SGK, cho biết cấu trúc chung biểu thức quan hệ?

HS: Ngiên cứu SGK trả lời

GV: - Thứ tự thực biểu thức quan hệ? HS: + Tính giá trị biểu thức

+ Thực phép toán quan hệ

( )

* Quy tắc viết BT số học lập trình:

+ Chỉ dùng cặo ngoặc trịn để xác định trình tự tính tốn cần thiết + Viết từ trái qua phải + Không bỏ qua dấu nhân (*) tích

* Thứ tự thực phép toán: + Thực phép toán ngoặc trước, ngoặc sau

+ Thực từ trái sang phải theo thứ tự: *, /, DIV, MOD, +, -

Ví dụ:

4*a+6*x*y/ 5*c x*y/z

((x+y))/(1-(2/z)))+(x*x/(2*z))

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

Một số hàm số học chuẩn thường dùng: sqr(x) sqrt(x) abs(x) ln(x) exp(x) sin(x) cos(x) Ví dụ:

Trong tốn học: 4

b b ac

a

  

Trong Pascal:

(-b+sqrt(b*b-4*a*c))/(2*a) 4 Biểu thức quan hệ:

Hai biểu thức kiểu liên kết với phép toán quan hệ cho ta biểu thức quan hệ

Biểu thức quan hệ có dạng:

<BT1> <phép toán quan hệ> <BT2>

(17)

GV:- Cho biết kết phép toán quan hệ thuộc kiểu liệu học?

HS: Kiểu lơgíc

GV: Lấy thêm ví dụ phân tích HS: Nghe giảng

GV: Giới thiệu BT lơgic đơn giản BT lôgic HS: Nghe ghi

GV: Hãy cho ví dụ BT lơgic? HS: Lấy ví dụ

GV: Trong tốn học ta có biểu thức -10≤ x ≤ 15 Hãy biểu diễn BT ngơn ngữ lập trình? HS: Viết BT ngơn ngữ lập trình

GV: giới thiệu lệnh gán

GV: Đưa ví dụ lệnh gán Pascal: x:=1; x:= y*z; x:=x+1; a:=a-1;

Hãy cho biết cấu trúc lệnh gán pascal? HS: Trả lời câu hỏi

GV: lấy thêm ví dụ phân tích HS: Nghe giảng

GV: Chức lệnh gán? HS: Suy nghĩ trả lời

GV: Lưu ý HS: Kiểu biểu thức phải phù hợp với kiểu biến Lấy ví dụ phân tích

HS: Nghe giảng

GV: Giới thiệu thêm VD Var i, m: integer; Begin

m:= 4; i:= 6; m:= m- 1; i:= i+ 1; writeln (‘i= ’, i); writeln (‘m= ’, m); readln;

End

- Chương trình in hình giá trị bao nhiêu? (In hình m= i= 7)

x<5 i+1>=2*j

Trình tự thực BT quan hệ: + Tính giá trị biểu thức + Thực phép toán quan hệ Kết giá trị BT quan hệ: kiểu lơgíc

5 Biểu thức lôgic:

Biểu thức lôgic đơn giản: biến lôgic lôgic

Biểu thức lôgic: biểu thức lôgic đơn giản, biểu thức quan hệ liên kết với phép toán lôgic Giá trị BT lôgic: True False

Ví dụ:

(A < B) and (X = Y0) (5 < 13) or ((4 * - 6) > 10) (-10 <= x) AND (x <= 15) 6 Câu lệnh gán:

Lệnh gán lệnh ngơn ngữ lập trình

Lệnh gán Pascal: <tên biến> := <biểu thức>;

Chức năng: đặt cho biến có tên vế trái dấu ":=" giá trị giá trị biểu thức vế phải

Ví dụ:

x1:= -b/a – x2; k:=k+1;

m:=m-2;

4 Củng cố:

- Các phép toán Turbo Pascal: Số học, Quan hệ, Logic - Các biểu thức Turbo Pascal: Số học, Quan hệ, Logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến:= biểu_thức; 5 Hướng dẫn nhà:

(18)

TỔ TRƯỞNG KÝ DUYỆT Ngày soạn: 9/9/2008

Tiết - §7 Các thủ tục chuẩn vào/ra đơn giản §8 Soạn thảo, dịch, thực hiệu chỉnh chương trình A Mục tiêu cần đạt:

Kiến thức:

- Biết lệnh vào/ra đơ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

Kỹ năng:

- Viết số lệnh vào/ra đơ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

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

Viết biểu thức toán học Pascal:

1 x xy yz

 

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: - Khi giải 1bài toán ta phải đưa liệu vào MT xử lý, việc đưa liệu lệnh gán làm cho chương trình có tác dụng với liệu cố định Để chương trình giải nhiều tốn, ta phải sử dụng thủ tục nhập liệu

- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục nhập liệu ngôn ngữ lập trình Pascal

HS: Read/ Readln (<tên_biến1>, …,

Các thủ tục chuẩn vào/ra đơn giản Pascal để nhập liệu vào từ bàn phím đưa thơng tin hình

1 Nhập liệu vào từ bàn phím: Read(tên biến1, tên biến2, , tên biến k);

Readln(tên biến1, tên biến2, ., tên biến k);

(19)

<tên_biếnk>);

GV: Khi viết chương trình giải phương trình ax + b = 0, ta phải nhập vào đại lượng nào? Viết lệnh nhập?

HS: - Phải nhập giá trị cho biến a b Read(a, b);hoặc Readln(a, b);

GV: Lấy ví dụ giải thích Cho thực chương trình máy tính hướng dẫn cách nhập liệu

HS: Nghe giảng quan sát

GV: - Sau xử lý xong, kết tìm được lưu nhớ Để thấy kết hình ta sử dụng thủ tục xuất liệu

- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục xuất liệu ngôn ngữ Pascal?

HS: - Nghiên cứu SGK trả lời

Write/ Writeln (<tham_số1>, …, tham_sốk>); GV: Lấy ví dụ phân tích

HS: Nghe giảng

GV: Khi viết chương trình giải phương trình ax + b = 0, ta phải đưa hình giá trị nghiệm –b/ a, ta phải viết lệnh nào?

HS: - Viết lệnh Writeln (-b/ a);

GV: Chiếu chương trình Pascal.Yêu cầu HS xác định phần: Khai báo, thân chương trình Giải thích ý nghĩa lệnh chương trình HS: Trả lời câu hỏi GV

GV: Phân tích giải thích chương trình Chạy chương trình HS quan sát

HS: Nghe quan sát

GV: Tiếp tục chiếu chương trình Pascal: Program VD;

Var x, y, z: real; Begin

Writeln (‘ Nhap so: ’); Readln (x, y); z:= x + y;

Writeln (x:8:3,' + ',y:8:3,' = ' ,z:8:3); Readln

End.

Chạy chương trình, thay đổi kiểu liệu, qui cách in để HS quan sát cho nhận xét

HS: Quan sát nhận xét

GV: nêu ý (SGK – Tr31) Lấy thêm ví dụ giải thích

HS: Nghe giảng theo dõi SGK

read(N); readln(a, b, c);

2 Đưa liệu hình: write(<danh sách kết quả>);

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

trong đó: danh sách kết tên biến đơn, biểu thức Ví dụ:

write('Hay nhap gia tri M: '); readln(M);

write('Nhap so nguyen duong N<= 100: ');

readln(N);

Ví dụ: Chương trình có sử dụng thủ tục vào/ra:

Program Vidu; Var N:byte; Begin

Write(‘Lop ban co bao nhieu nguoi? ’);

Readln(N);

Writeln ('Vay la ban co ',N-1,' nguoi ban lop ' );

Writeln ('Go ENTER de ket thuc chuong trinh.' );

Readln End.

(20)

GV: Để sử dụng TP, máy phải có file chương trình cần thiết Tham khảo SGK cho biết tên file chương trình đó?

HS: Nghiên cứu SGK trả lời

GV: Khởi động Turbo Pascal giới thiệu hình làm việc Pascal

HS: Quan sát nghe giảng

GV: Sử dụng máy chiếu để hướng dẫn học sinh cách soạn, lưu, dịch, thực hiệu chỉnh chương trình Pascal

HS: Quan sát nghe giảng

GV: Đưa chương trình có lỗi Thực dịch -> phát lỗi cú pháp yêu cầu HS sửa lỗi HS: Quan sát sửa lỗi

GV: Cho thực chương trình sửa hết lỗi để HS quan sát

HS: Nghe giảng quan sát

GV: Giới thiệu chương trình giải phương trình bậc ax + b =

Program PT_bac1; Var

Begin

Readln (a, b);

If a<> then write (-b/ a) Else write (‘PTVN’); Readln;

End.

- Yêu cầu HS tìm Test để chứng minh chương trình sai? (a = 0, b = > PT vô số nghiệm)

3 Làm quen với môi trường Turbo Pascal:

Các tệp tin cần có để chạy Turbo Pascal: turbo.exe, turbo.tpl, graph.tpu, egavga.bgi.

Màn hình làm việc Pascal: + Thanh tiêu đề

+ Thanh bảng chọn

+ Tên tệp chương trình hành + Con trỏ, tọa độ trỏ (dòng, cột)

+ Vùng soạn thảo + Phím chức 4 Làm việc với Pascal:

+ Soạn thảo: Như soạn thảo văn + Lưu chương trình: Nhấn F2, nhập tên tệp ấn ENTER

+ Biên dịch chương trình: Alt + F9 + Chạy chương trình: Ctr + F9

+ Đóng cửa số chương trình: Alt + F3 + Thốt khỏi Pascal: Alt + X

4 Củng cố:

- Nhập liệu: Read/ Readln (<danh_sách_biến_vào>); - Xuất liệu: Write/ Writeln (<danh_sách_kết_quả_ra>);

- Khởi động TP Soạn chương trình Dịch lỗi cú pháp Thực chương trình Tìm lỗi thuật tốn hiệu chỉnh

- Viết chương trình nhập độ dài bán kính tính chu vi, diện tích hình trịn tương ứng? 5 Hướng dẫn nhà:

- Học theo ghi SGK

- Ôn lại toàn kiến thức học

(21)

TỔ TRƯỞNG KÝ DUYỆT

Ngày soạn: 15/9/2008

Tiết – Bài tập thực hành (T1) A Mục tiêu cần đạt:

Kiến thức:

- Biết viết chương trình Pascal hồn chỉnh đơn giản;

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

Kỹ năng:

- Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện, tìm lỗi thuật tốn hiệu chỉnh

- Bước đầu biết phân tích hồn thành chương trình đơn giản Pascal Thái độ: Tự giác, tích cực chủ động thực hành.

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, phịng máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

(22)

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT GV: Chiếu nội dung chương trình giải phương trình

bậc ẩn số (SGK – T34) lên hình Yêu cầu HS thực nội dung:

a) Soạn chương trình vào máy

b) Lưu chương trình lên đĩa với tên PTB2.PAS c) Dịch (nhấn Alt+F9) sửa lỗi cú pháp (nếu có) d) Thực chương trình (nhấn Ctrl + F9) Nhập liệu -3 2, quan sát kết thơng báo hình

e) Trở hình soạn thảo

f) Thực lại chương trình Nhập liệu -2, quan sát kết thơng báo hình

g) Sửa lại chương trình cho khơng dùng biến D Thực chương trình sửa với liệu

h) Sửa lại chương trình nhận câu c) cách thay đổi công thức tính x2

i) Thực chương trình sửa với liệu 1; -5; Quan sát kết hình

k) Thực chương trình với liệu 1; 1; quan sát kết hình

HS: Thực yêu cầu theo hướng dẫn GV

GV: Quan sát, uốn nắn HS thao tác soạn thảo, dịch, sửa lỗi thực chương trình Thực thay đổi thông số quy cách đưa liệu dạng số hình cho HS quan sát

HS: Nghe giảng quan sát

Nội dung:

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

program Giai_PTB2; uses crt;

var a, b, c, D:real; x1, x2:real; begin

clrscr;

write('a, b, c: '); readln(a,b,c); D:=b*b - 4*a*c;

x1:= (-b – sqrt(D))/(2*a); x2:= -b/a – x1;

write('x1 = ',x1:6:2, ' x2 = ',x2:6:2);

readln end.

Sửa: readln(a,b,c);

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

x2:= -b/a – x1;

write('x1 = ',x1:6:2, ' x2 = ',x2:6:2);

readln(a,b,c); D:=b*b - 4*a*c;

x1:= (-b – sqrt(D))/(2*a); x2:= (-b + sqrt(D))/(2*a);

write('x1 = ',x1:6:2, ' x2 = ',x2:6:2);

Thực chương trình với liệu 1; 1; xuất thơng báo lỗi lí u cầu thực tính bậc số âm

4 Củng cố:

- Các bước để hoàn thành chương trình:

+ Phân tích tốn để xác định liệu vào, liệu + Xác định thuật tốn

+ Soạn chương trình vào máy + Lưu chương trình

+ Biên dịch chương trình

(23)

5 Hướng dẫn nhà:

- Ôn lại toàn kiến thức học

- Viết chương trình nhập vào độ dài cạnh tam giác Tính chu vi, diện tích tam giác đó?

- Tìm hiểu thêm mơi trường Pascal thông qua phụ lục B (SGK Tr 122 – 128)

TỔ TRƯỞNG KÝ DUYỆT

Ngày soạn: 17/9/2008

Tiết – Bài tập thực hành (T2) A Mục tiêu cần đạt:

Kiến thức:

- Biết viết chương trình Pascal hồn chỉnh đơn giản;

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

Kỹ năng:

- Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện, tìm lỗi thuật tốn hiệu chỉnh

- Bước đầu biết phân tích hồn thành chương trình đơn giản Pascal Thái độ: Tự giác, tích cực chủ động thực hành.

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, phịng máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

(24)

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ: 3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Chiếu lên hình hình vẽ yêu cầu:

Viết chương trình tính diện tích phần hình tơ màu với a nhập từ bàn phím

GV: Phân tích tốn hướng dẫn HS xác định thơng tin vào/ra tốn

HS: Xác định Input/Output tốn

GV: Nêu cách tích diện tích phần hình tơ màu

HS: Nêu cách tính

GV: Hướng dẫn HS phân tích liệu vào/ra từ xác định số biến cần dùng, kiểu biến HS: Nghe giảng làm theo hướng dẫn GV GV: Yêu cầu HS viết chương trình soạn thảo vào máy Dịch, sửa lỗi thực chương trình với a = (a = -3) Quan sát, kết hình HS: Thực theo yêu cầu GV

GV: Chiếu lên hình tập số

GV: Phân tích tốn hướng dẫn HS xác định thơng tin vào/ra toán

HS: Xác định Input/Output tốn GV: Nêu cách tích?

HS: Nêu cách tính

GV: Hướng dẫn HS phân tích liệu vào/ra từ xác định số hằng, biến cần dùng, kiểu

Bài tập 1:

Input: bán kính a đường trịn. Output:Diện tích phần hình tơ màu

Cách tính:

+ Tính diện tích hình trịn bán kính a (S1)

+ Tính diện tích hình vng cạnh a

2 (S2)

+ Diện tích phần tơ màu: S1 – S2 Chương trình:

program Bai1; uses crt;

var a, s: real; begin

clrscr;

write('Nhap ban kinh hinh tron a = '); readln(a);

S:=pi*a*a – sqr(a*sqrt(2)); writeln('Dien tich: ',S:9:2); readln

end.

Bài tập 2: Lập trình tính đưa ra hình vận tốc v chạm đất vật rơi từ độ cao h, biết v=

2 gh , g gia tốc rơi tự

do g = 9,8 m/s2 Độ cao h (m) được

a a

- a

(25)

biến

HS: Nghe giảng làm theo hướng dẫn GV GV: Yêu cầu HS viết chương trình soạn thảo vào máy Dịch, sửa lỗi thực chương trình với h = Quan sát, kết hình

HS: Thực theo yêu cầu GV

nhập vào từ bàn phím Input: Độ cao h. Output:vận tốc v. Cách tính:

+ Tính theo cơng thức v=

2 gh Chương trình:

program Bai2; uses crt;

const g = 9.8; var h, v: real; begin

clrscr;

write('Nhap cao h = '); readln(h);

v := sqrt(2*g*h);

writeln('Van toc cham dat la: ', v:9:2, ' m/s ');

readln end. 4 Củng cố:

- Hệ thống nội dung giảng

- Nhấn mạnh lỗi HS hay mắc, cách khắc phục - Nhận xét thực hành, rút kinh nghiệm

5 Hướng dẫn nhà:

- Ơn lại tồn kiến thức học

- Trả lời câu hỏi làm tập SGK Tr– 35,36

TỔ TRƯỞNG KÝ DUYỆT

(26)

Tiết – Bài tập A Mục tiêu cần đạt:

Kiến thức:

- Củng cố nội dung đạt tiết thực hành Kỹ năng:

- Biết sử dụng thủ tục chuẩn vào/ra - Biết xác định Input Output

B Phương tiện dạy học:

+ GV: Sách giáo khoa, SBT, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi học làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS:Nêu vấn đề, HĐ nhóm D Tiến trình dạy học:

1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

Kết hợp kiểm tra 3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Đưa câu hỏi để HS củng cố lại kiến thức học chương II HS: Trả lời câu hỏi GV

I Nhắc lại kiến thức bản: - Cấu trúc chương trình:

[<Phần khai báo>] <Phần thân>

- Một số kiểu liệu chuẩn thường dùng Pascal: Kiểu nguyên (Integer, Byte, Word, Longin), Kiểu thực (Real, Extended), Kiểu kí tự (Char), Kiểu Logic (Boolean)

- Khai báo biến:

<Tên biến> : <Kiểu liệu>; Các biến phải khai báo, biến khai báo 1lần

(27)

GV: Treo bảng ghi thông tin tập (hoặc chiếu lên màm hình) Yêu cầu HS cho nhận xét kiểu mà X, P nhận Từ lựa chọn đáp án tìm đáp án tốt

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

GV: Treo bảng ghi nội dung tập (hoặc chiếu lên hình)

- Diện tích hình vng cạnh A nhận giá trị phạm vi nào? (10000 đến 40000)

- Khai báo chứa giá trị phạm vi đó?

- Khai báo tốt sao?

GV: Yêu vầu HS nhắc lại cách viết biểu thức toán học thành biểu thức Pascal

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

GV: Yêu cầu HS lên bảng viết biểu thức HS: lên bảng làm tập

GV: Treo nội dung tập (hoặc chiếu lên hình) Với phần GV yêu cầu HS xác định thứ tự thực phép tính biểu thức từ biết cách chuyển sang biểu thức tốn học

HS: học sinh lên bảng viết biểu thức

GV: Treo hình ghi nội dung thơng tin tập (hoặc chiếu lên hình).Với hình GV yêu cầu Hs nhận xét đặc

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

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

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

READ/ READLN (Danh sách vào); WRITE/ WRITELN (Danh sách ra); II Bài tập:

Bài tập (SGK – Tr35):

Khai báo khai báo câu b d Tuy nhiên khai báo câu d tốt

Bài tập (SGK – Tr 35):

- Vì cạnh A nhận giá trị nguyên phạm vi từ 100 đến 200 nên khai báo b, c, d

- Cách khai báo c tốt tiết kiệm nhớ cần lưu trữ

Bài tập (SGK – Tr35):

(1+z)*((x+y/z)/(a-1/(1+x*x*x)))

Bài tập (SGK – Tr36): a) ab2=2a

b b)

(ab)c

2 = abc

2 c) (

1 ab)

c =

b ac

d) b

a2 +b

Bài tập (SGK – Tr36):

(28)

điểm điểm nằm vùng gạch chéo Từ viết biểu thức lơgic tương ứng

HS: Hình a) ((y<1) or (y=1)) and ((y>abs(x) or (y=abs(x))

Hình b) (y>=-1) and (y<=1) and (x>=-1) and (x<=1)

GV: Treo hình SGK – Tr36 (hoặc chiếu lên hình).Yêu cầu HS nêu nhận xét diện tích phần hình gạch chéo so với diện tích hình trịn bán kính a

HS: Diện tích phần gạch chéo ½ diện tích hình trịn cạnh a

GV: u cầu HS xác định Input/Output toán Xác định số biến cần dùng chương trình, kiểu biến

HS: Thực theo yêu cầu GV

GV: Chia nhóm yêu cầu HS viết chương trình theo nhóm

HS: Hoạt động nhóm

GV: u cầu đại diện nhóm trìnhbày Nhận xét, sửa sai

Bài tập (SGK – Tr36):

Nhận xét: Diện tích phần gạch chéo nửa diện tích hình trịn bán kính a (a>0)

Input: Bán kính a hình trịn (a>0) Output: S= pi a2

2 Chương trình: var a: real; begin

write('Nhap ban kinh a (a>0): '); readln(a);

write('Dien tich phan gach cheo la: ',a*a*pi/2:20:4);

readln end.

4 Củng cố:

- Hệ thống nội dung giảng

- Nhấn mạnh lỗi HS hay mắc, cách khắc phục - Quy trình giải tốn máy tính:

+ Phân tích tốn để xác định liệu vào, liệu + Xác định thuật tốn

+ Soạn chương trình vào máy + Lưu chương trình

+ Biên dịch chương trình

+ Thực hiệu chỉnh chương trình 5 Hướng dẫn nhà:

- Ơn lại tồn kiến thức học

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

b Trung bình cộng giá trị tuyệt đối a b

(29)

Ngày soạn: 21/09/2008

Chương III – CẤU TRÚC RẼ NHÁNH VÀ LẶP Tiết 10 - §9 Cấu trúc rẽ nhánh (Tiết 1) A Mục tiêu cần đạt:

Kiến thức:

- Hiểu nhu cầu cấu trúc rẽ nhánh biểu diễn thuật toán - Hiểu câu lệnh rẽ nhánh (dạng thiếu dạng đủ)

- Hiểu câu lệnh ghép Kĩ năng:

- Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số toán đơn giản - Viết lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi học làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS: Đặt vấn đề, nêu vấn đề,

D Tiến trình dạy học: 1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

(30)

2 Kiểm tra cũ: 3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Trong thực tế hàng ngày, có nhiều việc thực điều kiện thỏa mãn Ví dụ:

+ Nếu mai trời mưa Châu nhà xem TV

+ Nếu mai trời khơng mưa Châu đến nhà Ngọc

+ Nếu mai trời khơng mưa Châu đến nhà Ngọc, mưa Châu nhà xem TV

Yêu cầu HS tìm số ví dụ tương tự HS: Lấy ví dụ

GV: Yêu cầu HS nêu cấu trúc chung cách diễn đạt

HS: Nếu thì, khơng

GV: Trong nhiều thuật toán, thao tác phụ thuộc vào kết nhận từ bước trước Cấu trúc dùng để mơ tả mệnh đề có dạng gọi cấu trúc rẽ nhánh thiếu đủ

GV: nêu bước giải phương trình bậc hai:

ax2 + bx + c = (a ≠ 0).

HS: Nêu bước giải

GV: Chia học sinh thành nhóm yêu cầu HS vẽ sơ đồ khối mơ tả thuật tốn

HS: Thực theo nhóm Đại diện nhóm lên bảng trình bày Các nhóm cịn lại quan sát, nhận xét

GV: Nhận xét, đánh giá bổ sung

1 Rẽ nhánh:

Cấu trúc dùng để mô tả mệnh đề có dạng:

Nếu (1)

Nếu thì, khơng (2)

được gọi cấu trúc rẽ nhánh thiếu (mô tả mệnh đề 1) đủ (mơ tả mệnh đề dạng 2) Ví dụ: Để giải phương trình bậc hai: ax2 + bx + c = (a ≠ )

Ta thực theo bước + Tính Delta: D = b2 – 4ac

+ Nếu D < kết luận phương trình vơ nghiệm

+ Nếu D >= kết luận phương trình có nghiệm

Sơ đồ khối:

Các ngơn ngữ lập trình có câu lệnh để mơ tả cấu trúc rẽ nhánh

Nhập a, b, c

D  b2 - 4ac

D≥

Tính đưa nghiệm thực

kết thúc Thông báo vô

nghiệm kết thúc

(31)

GV: Các ngơn ngữ lập trình có câu lệnh để mô tả cấu trúc rẽ nhánh Sau ta xét câu lệnh mô tả cấu trúc rẽ nhánh ngôn ngữ Pascal

GV: Giới thiệu cấu trúc lệnh If – then HS: Nghe, ghi quan sát

GV:Lưu ý HS sau Then sau Else có câu lệnh chương trình

GV: Với hai dạng này, dạng dùng thuận tiện hơn?

HS: Suy nghĩ tìm câu trả lời

GV: Gợi ý để HS đưa tùy trường hợp cụ thể mà dùng dạng thiếu hay dạng đủ GV: Treo (hoặc chiếu lên hình) sơ đồ câu lệnh (dạng thiếu - dạng đủ) giải thích hoạt động câu lệnh

HS: Quan sát nghe giảng

GV: Đưa ví dụ có sử dụng lệnh rẽ nhánh, khơng có câu lệnh rẽ nhánh thực

HS: Quan sát nghe giảng

GV: ví dụ 3, sử dụng cách nhanh HS: cách tiện

GV: Phân tích tiện lợi cách số lệnh mà máy phải thực

GV: Tiếp tục đưa ví dụ thực tế yêu cầu học sinh sử dụng câu lệnh if – then để mô tả

HS: Thực theo yêu cầu GV

GV: Ta biết câu lệnh if – then

2 Câu lệnh if – then:

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

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.lệnh1> else <C.lệnh 2>; Trong đó:

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

Câu lệnh, câu lệnh 1, câu lệnh câu lệnh Pascal

Ý nghĩa câu lệnh:

- Dạng thiếu: Nếu điều kiện câu lệnh thực hiện, điều kiện sai câu lệnh bị bỏ qua khơng thực

- Dạng đủ: Nếu điều kiện thực câu lệnh 1, ngược lại (nếu điều kiện sai) thực câu lệnh

Ví dụ 1:

if D<0 then writeln('Phuong trinh vo nghiem ');

Ví dụ 2:

if a mod = then write(a, ' chia het cho 3 ')

else write(a, ' khong chia het cho 3');

Ví dụ 3: Tìm giá trị lớn (max) trong hai số a b:

cách 1:

max := a; if b>a then max := b; cách 2:

if a> b then max := a else max := b;

3 Câu lệnh ghép:

(32)

sau then, sau else có câu lệnh Vậy muốn thực nhiều câu lệnh sau then hay sau else làm nào?

HS: Đưa ý kiến

GV:Khi ta cần gộp nhiều câu lệnh lại coi câu lệnh chương trình Các ngơn ngữ lập trình cho phép gộp dãy câu lệnh thành câu lệnh ghép (hay câu lệnh hợp thành)

GV: Đưa số ý HS: Nghe ghi

GV: Lấy ví dụ phân tích cho học sinh hiểu ý nghĩa câu lệnh ghép

HS: Quan sát, nghe ghi

GV: Đưa tình thực tế bắt buộc phải sử dụng câu lệnh ghép yêu cầu HS dùng câu lệnh Pascal để thể

HS: Thực theo yêu cầu GV

begin

<các câu lệnh>; end;

Chú ý:

- Trước else khơng có dấu ;

- Thuật ngữ câu lệnh hiểu chung cho câu lệnh đơn câu lệnh ghép

Ví dụ:

if D<0 then writeln('Phuong trinh vo nghiem.')

else begin

x1:=(-b-sqrt(D))/(2*a); x2:= -b/a – x1;

end;

4 Củng cố:

- Hệ thống giảng, nhấn mạnh kiến thức trọng tâm:

+ Câu lệnh if – then dạng thiếu: Cấu trúc, ý nghĩa, sơ đồ hoạt động + Câu lệnh if – then dạng đủ: Cấu trúc, ý nghĩa, sơ đồ hoạt động

+ Câu lệnh ghép: cấu trúc, ý nghĩa 5 Hướng dẫn nhà:

- Học theo ghi SGK

- Đọc trước mục "Một số ví dụ" SGK – Tr41

TỔ TRƯỞNG KÝ DUYỆT

Ngày soạn: 23/09/2008

(33)

A Mục tiêu cần đạt: Kiến thức:

- Hiểu nhu cầu cấu trúc rẽ nhánh biểu diễn thuật toán - Hiểu câu lệnh rẽ nhánh (dạng thiếu dạng đủ)

- Hiểu câu lệnh ghép Kĩ năng:

- Sử dụng cấu trúc rẽ nhánh mô tả thuật toán số toán đơn giản

- Viết lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ áp dụng để thể thuật toán số toán đơn giản

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi học làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS: Đặt vấn đề, nêu vấn đề,

D Tiến trình dạy học: 1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

+ Cú pháp if <BT điều kiện> then <câu lệnh>; có nghĩa là: A Nếu BT điều kiện nhận giá trin thực câu lệnh B Nếu BT điều kiện nhận giá trị sai thực câu lệnh

C Nếu BT điều kiện nhận giá trị sai thực câu lệnh ngược lại thực câu lệnh khác

D Đáp án B C

+ Cú pháp if <BT điều kiện> then <câu lệnh 1> else <câu lệnh 2>; có nghĩa là: A Nếu BT điều kiện sai thực câu lệnh cịn khơng thực câu lệnh B Nếu BT điều kiện thực câu lệnh cịn khơng thực câu lệnh C Nếu BT điều kiện thực câu lệnh cịn không thực câu lệnh D Tất đáp án sai

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Giờ học trước tìm hiểu cấu trúc rẽ nhánh câu lệnh ghép Hôm vận dụng kiến thức học để giải số toán

4 Một số ví dụ:

(34)

GV: Nêu yêu cầu ví dụ Yêu cầu HS xác định Input/ Output toán

HS: xác định Input/Output toán GV: Yêu cầu HS nêu bước giải minh họa sơ đồ khối

HS: Nêu bước giải, minh họa sơ đồ khối

GV: Nhận xét, bổ sung hướng dẫn học sinh xây dựng chương trình theo giải thuật đưa

HS: xây dựng chương trình theo hướng dẫn giáo viên

GV: Nhận xét, bổ sung đưa chương trình mẫu Chạy kiểm thử chương trinh với liệu khác học sinh quan sát (nếu có máy chiếu)

HS:Quan sát kết chạy chương trình

GV: Đưa tốn ví dụ u cầu HS xác định Input/Output toán

HS: Xác định Input/Output toán GV: Yêu cầu HS nêu thuật toán, vẽ sơ đồ khối

HS: Nêu thuật toán, vẽ sơ đồ khối

GV: Hướng dẫn HS xây dựng chương trình theo thuật tốn đưa

HS: Xây dựng chương trình theo hướng dẫn giáo viên

GV: Nhận xét, bổ sung đưa chương trình mẫu Chạy kiểm thử chương trinh với liệu khác học sinh quan sát (nếu có máy chiếu)

HS:Quan sát kết chạy chương trình

ax2 + bx + c = 0, với a ≠ 0 Input: Các hệ số a,b, c nhập từ bàn phím. Output: Đưa hình nghiệm thực thơng báo "Phuong trinh vo nghiem" Chương trình:

program Giai_PTB2; uses crt;

var a, b, c: real; D, x1, x2: real; begin

clrscr;

write('a, b, c: '); readln(a,b,c); D:= b*b – 4*a*c;

if D<0 then writeln('Phuong trinh vo nghiem')

else begin

x1:= (-b – sqrt(D))/(2*a); x2:= -b/a – x1;

writeln('x1 = ',x1:8:3,' x2 = ', x2:8:3);

end; readln end.

Ví dụ 2: Tìm số ngày năm N, biết rằng năm nhuận năm chia hết cho 400 chia hết cho khơng chia hết cho 100 Ví dụ năm 2000, 2004 năm nhuận có số ngày 366,các năm 1900, 1945 năm nhuận có số ngày 365

Input: N nhập từ bàn phím.

Output: Đưa số ngày năm N màn hình

Chương trình:

program Nam_nhuan; uses crt;

(35)

clrscr;

write('Nam: '); readln(N);

if (N mod 400 = 0) or ((N mod = 0) and (N mod 100 <>0)) then SN:= 366 else SN:=365;

writeln('So cua nam ', N,' la: ', SN); readln

end. 4 Củng cố:

- Hệ thống giảng, nhấn mạnh kiến thức trọng tâm: Bài tập:

1 Trong ngôn ngữ Pascal, câu lệnh sau đúng? A if a = then a:=d+1;

else a:=d+2; B if a = then a:=d+1 else a:=d+2;

C if a = then a=d+1 else a=d+2; D if a = then a:=d+1 else a:=d+2 Kết đoạn chương trình sau gì?

var x: integer; begin

x:=10;

if (x-3)>5 then

writeln('Xin chuc mung!'); end.

A Khơng hiển thị B In kết

C In hình câu: "Xin chuc mung!" D In kết

5 Hướng dẫn nhà:

- Học theo ghi SGK

- Xem lại ví dụ tập chữa

- Viết phương trình giải phương trình bậc ax + b =

(36)

Ngày soạn: 23/09/2008

Chương III – CẤU TRÚC RẼ NHÁNH VÀ LẶP Tiết 12 - §10 Cấu trúc lặp (Tiết 1)

A Mục tiêu cần đạt: Kiến thức:

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

- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước - Biết cách vận dụng đắn loại cấu trúc lặp vào tình cụ thể Kĩ năng:

- Mơ tả thuật toán số toán đơn giản có sử dụng lệnh lặp - Viết lệnh lặp kiểm tra điều kiện trước, lặp với số lần định trước - Viết thuật giải số toán đơn giản

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi học làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS: Đặt vấn đề, nêu vấn đề,

(37)

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi Ngày dạy

Sĩ số

2 Kiểm tra cũ: 3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Đưa tốn 1.Phân tích giúp HS đưa phương pháp tính

Gợi ý phương pháp: ta xem S thùng, có số hạng ca nhỏ có dung tích khác Khi việc tính tổng tương tự việc đổ ca nước vào thùng S

HS: Nghe GV hướng dẫn

- Có lần đổ nước vào thùng? HS: - Phải thực 100 lần

GV: Mỗi lần đổ lượng bao nhiêu? Lần i đổ bao nhiêu? Phải viết lệnh? HS: Mỗi lần đổ

1

a i ; Phải viết 100 lệnh. GV: Như viết chương trình để tính tổng S ta gặp khó khăn gì?

HS: Suy nghĩ trả lời

GV: Các công việc lặp lặp lại số hữu hạn lần.Cấu trúc để mô tả thao tác lặp lại toán gọi cấu trúc lặp với số lần biết trước.Các ngơn ngữ lập trình có câu lệnh mơ tả cấu trúc lặp với số lần biết trước

GV: Đưa toán

Sự khác toán2 toán 1? - Lặp lần? Lặp đến nào? HS: Suy nghĩ trả lời câu hỏi GV GV: Qua tốn ta thấy có dạng tốn có lặp lại số lệnh trước số lần lặp Như việc xây dựng chương trình để giải gặp khó khăn.Cần có cấu trúc điều khiển lặp lại cơng việc định thoả mãn

1 Lặp:

Với a số nguyên a>2 Ta xét tốn sau đây:

Bài tốn 1: Tính đưa hình tổng S=1

a+ a+1+

1

a+2+ +

1 a+100

Cách tính: Xuất phát S=1

a

Tiếp theo, cộng vào tổng S giá trị

a+N với N = 1, 2,3, , 100

Công việc kết thúc thực 100 lần cộng

Bài tốn 2: Tính đưa hình tổng S=1

a+ a+1+

1

a+2+ +

1 a+N+

cho đến a1

+N <0,0001

Cánh tính: Xuất phát S=1

a

Tiếp theo, cộng vào tổng S giá trị

(38)

điều kiện câu lệnh mô tả cấu trúc lặp dạng

GV: Cấu trúc để môt tả thao tác lặp toán gọi cấu trúc lặp với số lần chưa biết trước Các ngôn ngữ lập trình có câu lệnh mơ tả cấu trúc lặp với số lần chưa biết trước

GV: Đưa bảng giới thiệu thuật toán giải toán 1(như SGK – Tr43) Yêu cầu HS đưa nhận xét hai thuật toán

HS: Điều kiện kết thúc lặp thuật toán nhau, số lần lặp biết trước (100 lần)

- Giá trị N bắt đầu tham gia cộng lặp 1, sau lần lặp tăng lên N>100 kết thúc

- Ta nói cách lặp thuộc dạng tiến

- Giá trị N bắt đầu tham gia cộng lặp 100, sau lần lặp giảm N<1 kết thúc - Ta nói cách lặp thuộc dạng lùi

GV: Để mơ tả cấu trúc lặp với số lần biết trước,Pascal dùng câu lệnh lặp for – Tương ứng với thuật tốn có dạng for – để mơ tả Các em nghiên cứu SGK-Tr43 để tìm hiểu câu lệnh lặp for – do.

HS:Nghiên cứu SGK

GV: nêu khác for dạng tiến for dạng lùi?

HS: Trả lời

GV: Nhận xét, bổ sung Giới thiệu dạng câu lệnh for, hoạt động dạng for HS: Nghe giảng

GV: Lưu ý, sau có câu lệnh thực Nếu muốn có nhiều câu lệnh thực phải sử dụng câu lệnh ghép

Giá trị biến đếm điều chỉnh tự động, câu lệnh viết sau không thay đổi giá trị biến đếm

GV: Treo bảng (hoặc chiếu lên hình) ví

Cơng việc kết thúc điều kiện

a+N <0,0001 thỏa mãn

Như số lần lặp chưa biết trước

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

Hai thuật toán giải toán 1:

Thuật toán 1 Thuật toán 2 B1: S:=1/a; N:=0;

B2: N:=N+1; B3: Nếu N>100 chuyển đến B5; B4: S:= S+1/(a+N) quay lại B2; B5: Đưa S hình kết thúc

B1: S:=1/a; N:=101;

B2: N:=N-1;

B3: Nếu N<1thì chuyển đến B5; B4: S:= S+1/(a+N) quay lại B2; B5: Đưa S hình kết thúc Pascal dùng câu lệnh lặp for – với hai dạng tiến lùi để mô tả cấu trúc lặp với số lần biết trước

+ Dạng lặp tiến:

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

+ Dạng lặp lùi:

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

(39)

dụ1

Phân tích bước thuật tốn chương trình, câu trúc lặp sử dụng, đại lượng: biến đếm, giá trị đầu, giá trị cuối, câu lệnh thực

HS: Quan sát nghe giảng

GV: Treo bảng giới thiệu tốn ví dụ 2( chiếu lên hình).u cầu HS xác định Input/Output, nêu thuật giải tóm tắt HS: Thực theo yêu cầu GV

GV: Treo bảng (hoặc chiếu lên hình) chương trình giải tốn ví dụ Phân tích câu trúc lệnh sử dụng

HS: Nghe giảng

Ví dụ 2: Chương trình nhập từ bàn phím 2 số nguyên dương M N (M < N), tình đưa hình tổng số chia hết cho phạm vi từ M đến N

4 Củng cố:

- Hệ thống giảng, nhấn mạnh kiến thức trọng tâm: + Nhu cầu phải sử dụng cấu trúc lặp, câu lệnh lặp

+ Câu lệnh for – Pascal: dạng, cấu trúc, hoạt động 5 Hướng dẫn nhà:

- Học theo ghi SGK - Xem lại ví dụ

- Đọc trước mục "3 Lặp với số lần chưa biết trước câu lệnh while – do"

TỔ TRƯỞNG KÝ DUYỆT

Ngày soạn: 3/10/2008

(40)

Kiến thức:

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

- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước - Biết cách vận dụng đắn loại cấu trúc lặp vào tình cụ thể Kĩ năng:

- Mơ tả thuật tốn số tốn đơn giản có sử dụng lệnh lặp - Viết lệnh lặp kiểm tra điều kiện trước, lặp với số lần định trước - Viết thuật giải số toán đơn giản

B Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi học làm tập nhà C Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS: Đặt vấn đề, nêu vấn đề,

D Tiến trình dạy học: 1 Ổn định tổ chức:

Lớp 11A1 11A2 11A5 11A6 11A7 11A8 Ghi

Ngày dạy Sĩ số

2 Kiểm tra cũ:

- Viết cấu trúc câu lệnh For – dạng tiến, dạng lùi Giải thích thành phần cấu trúc? Nêu hoạt động dạng?

3 Bài mới:

HOẠT ĐỘNG CỦA GV VÀ HS YÊU CẦU CẦN ĐẠT

GV: Đưa toán giới thiệu thuật toán SGK (Tr 45) Yêu cầu HS vẽ sơ đồ khối mô tả thuật toán

HS: Thực vẽ sơ đồ khối

3 Lặp với số lần chưa biết trước câu lệnh While – do

Bài tốn 2:Tính đưa kết hình tổng:

S=1

a+ a+1+

1

a+2+ +

1 a+N+

cho đến a1

+N <0,0001 (với a số

nguyên, a>2) Thuật giải:

Bước 1: S 1/a; N  0; {khởỉ tạo S N} Bước 2: Nếu 1/(a+N)<0,0001 chuyển đến bước 5;

Bước 3: N  N +1;

Bước 4: SS+1/(a+N), quay lại bước 2;

Bước 5: Đưa S hình kết thúc. NhËp a

1/(a+N) < 0,0001

§­a­ra­S,­ kÕt­thóc S ← 1/a; N:=0;

N ← N+1

S ← S+ 1/(a+N)

Đúng

(41)

GV: Cấu trúc lặp sử dụng để mơ tả thuật tốn toán cấu trúc lặp với số lần chưa biết trước Để mô tả cấu trúc ngôn ngữ Pascal dùng câu lệnh While – do Yêu cầu HS tìm hiểu thơng tin SGK về câu lệnh While –

HS: Đọc thông tin SGK

GV: Giới thiệu câu lệnh While – giải thích thành phần Đưa sơ đồ khối thể câu lệnh Yêu cầu HS dựa vào sơ đồ khối nêu hoạt động câu lệnh

HS: Dựa vào sơ đồ khối nêu hoạt động câu lệnh

GV: Một khác lệnh cần lặp FOR WHILE gì?

HS: câu lệnh WHILE phải có lệnh tăng biến số

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

HS: - Thực hiện:

Tính biểu thức điều kiện trước Thực lệnh cần lặp sau

GV: Hướng dẫn HS xây dựng chương trình giải tốn

HS: Xây dựng chương trình

GV: Nhận xét, bổ sung, chạy chương trình cho HS quan sát kết

GV: Đưa tốn ví dụ2 u cầu HS xác định Input/Output toán Nêu thuật giải

HS: Xác định Input/Output nêu thuật giải Bước1: Nhập M, N;

Bước2 Nếu M=N ƯCLN:= M; chuyển đến bước 5;

Bước3 Nếu M>N M:=M-N ngược lại N:=N-M;

Bước4 Quay lại bước 2;

Bước5 Đưa kết ƯCLN kết thúc GV: Yêu cầu HS vẽ sơ đồ khối

HS: Lên bảng vẽ sơ đồ khối

GV: Hướng dẫn HS xây dựng chương trình giải tốn

Câu lệnh While – do:

While <điều kiện> <câu lệnh>; Trong đó:

Điều kiện biểu thức lơgic;

Câu lệnh câu lệnh đơn ghép. Ví dụ 1: Chương trình giải tốn 2. program Tong_2;

uses crt; var s: real;

a, N: integer; begin

clrscr;

write(‘ Hay nhap gia tri a vao !’); readln(a);

S:=1.0/a; N:=0;

while not (1/(a+N) < 0.0001) do begin

N:=N+1;

S:= S+1.0/(a+N); end;

writeln(‘Tong S la: ‘, s:8:4); readln

end.

Ví dụ 2: Chương trình tìm ước chung lớn (ƯCLN) hai số nguyên dương M N

program UCLN; uses crt;

var M,N: integer; begin

clrscr;

write(‘M, N = ‘); readln(M, N); while M<>N do

if M>N then M:=M-N else N:=N-M; writeln(‘UCLN = ‘,M);

(42)

HS: Xây dựng chương trình giải tốn GV: Nhận xét, bổ sung, chạy chương trình cho HS quan sát kết

4 Củng cố:

- Hệ thống giảng, nhấn mạnh kiến thức trọng tâm: + Nhu cầu phải sử dụng cấu trúc lặp, câu lệnh lặp + Câu lệnh While – Pascal

5 Hướng dẫn nhà:

- Học theo ghi SGK

- Xem lại ví dụ, làm tập (SGK - Tr 50, 51) - Xem trước nội dung thực hành (SGK – Tr 49,50)

Ngày soạn: 30/12/2011 Tuần thứ: 20 Ngày dạy : 02/01/201207/01/2012 Tiết thứ: 20 Lớp dạy : 11B111B6

Bài tập thực hành (T1) I Mục đích yêu cầu:

1 Kiến thức:

- Củng cố kiến thức cấu trúc rẽ nhánh

- Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) cách hợp lí Kỹ năng:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh - Làm quen với việc hiệu chỉnh chương trình

3 Thái độ: Tự giác, tích cực chủ động thực hành II Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, phòng máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành IV Tiến trình dạy học:

1 Ổn định tổ chức:1’ 2 Kiểm tra cũ:4’

- Nêu cấu trúc câu lệnh rẽ nhánh (dạng thiếu, dạng đủ)? Giải thích thành phần nêu hoạt động?

3 Bài mới:

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

10’ GV: Yêu cầu HS đọc thơng tin SGK – Tr 49 để tìm hiểu số Pi-ta-go

HS: Đọc thông tin SGK

GV: Hãy cho ví dụ số Pi-ta-go? HS: Ví dụ số: 3, 4, lập thành số Pi-ta-go vì:

32 + 42 = 52.

GV: Để kiểm tra ba số a, b, c có phải Pytago hay không, ta phải kiểm tra đẳng thức nào?

Bài tốn Bộ số Pi-ta-go Nội dung chương trình: program Pi_ta_go; uses crt;

var a,b,c:integer; a2, b2,c2: longint; begin

clrscr;

(43)

15’

10’

HS: Kiểm tra xem có đẳng thức đẳng thức sau thỏa mãn không?

a2 = b2 + c2

b2 = a2 + c2

c2 = a2 + b2

GV: Đưa toán: Viết chương trình nhập từ bàn phím số ngun dương a, b, c kiểm tra xem chúng có số Pi-ta-go hay không?

Yêu cầu HS xác định Input/Output xây dựng thuật giải cho toán

HS: Xác định Input/Output – xây dựng thuật giải tốn

GV: Giới thiệu chương trình giải tốn (SGK – Tr 49, 50) Chia nhóm thực hành tổ chức cho HS gõ chương trình vào máy

HS: Thực theo yêu cầu GV

GV: Chú ý: trước else khơng có dấu chấm phẩy (;)

GV: Yêu cầu HS lưu chương trình lên đĩa thực chạy chương trình, nhập giá trị a=3, b=4, c=5

HS: thực theo yêu cầu GV GV: Cho HS thực Y/c câu h HS: Thực theo yêu cầu GV

GV: Hãy nhận xét kết quả? Giải thích nguyên nhân kết lại thay đổi GV: Kiểm tra làm số HS

a2:=a; b2:=b; c2:=c; a2:=a2*a; b2:=b2*b; c2:=c2*c;

if (a2=b2+c2) or (b2=a2+c2) or (c2=a2+b2)

then writeln('Ba so da nhap la bo so Pi_ta_go ')

else writeln('Ba so da nhap khong la bo so Pi_ta_go ');

readln end.

KQ: a,b,c:

Ba so da nhap la bo so Pi_ta_go

Thay dãy lệnh a2:=a;

b2:=b; c2:=c;

a2:=a2*a; b2:=b2*b; c2:=c2*c; Bằng dãy lệnh

a2:=a*a; b2:=b*b; c2:=c*c; 4 Củng cố:2’

- Trước else dấu chấm phảy (;)

- Khi nhập giá trị cho biến giá trị cách dấu cách - Lưu lại chương trình vừa chỉnh sửa

- Thốt khỏi Pascal, tắt máy tính qui trình Hướng dẫn nhà:3’

- BTVN: 4,5,6 SGK trang 51

HD: + 4: áp dụng câu lệnh rẽ nhánh

+ 5: áp dụng câu lệnh lặp for n:=1 to 50 V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ………

(44)

Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 30/12/2011 Tuần thứ: 20 Ngày dạy : 02/01/201207/01/2012 Tiết thứ: 21 Lớp dạy : 11B111B6

Bài tập thực hành (T2) I Mục đích yêu cầu:

1 Kiến thức:

- Củng cố kiến thức cấu trúc rẽ nhánh

- Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) cách hợp lí Kỹ năng:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh - Làm quen với việc hiệu chỉnh chương trình

3 Thái độ: Tự giác, tích cực chủ động thực hành II Phương tiện dạy học:

+ GV: Sách giáo khoa, sách giáo viên, phòng máy tính, máy chiếu (nếu có) + HS: Sách giáo khoa, sách tập, ghi, học nhà

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

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành IV Tiến trình dạy học:

1 Ổn định tổ chức :1’ Kiểm tra cũ:4’

- Nêu cấu trúc câu lệnh rẽ nhánh (dạng thiếu, dạng đủ)? Giải thích thành phần nêu hoạt động?

3 Bài mới:

TG Hoạt động cuả GV HS YÊU CẦU CẦN ĐẠT

10’

15’

GV: Đưa toán (bài tập SGK – Tr 51)

Yêu cầu HS thực bước: - Xác định Input/Output

- Xây dựng thuật giải - Viết chương trình

- Soạn thảo chương trình máy tính - Dịch, chạy hiệu chỉnh chương trình HS: Hoạt động theo nhóm, thực yêu cầu giáo viên

Viết chương trình tính: ;

;

2 2

2

2

nÕu nÕu vµ nÕu vµ

x y x y

z x y x y y x

x y y x

   

 

    

  

 

(45)

10’ GV: Yêu cầu nhóm HS chạy, kiểm thử chương trình với liệu khác nhau, thực chạy câu lệnh, theo dõi giá trị biểu thức điều kiện, giá trị Z, quan sát rẽ nhánh để kiểm tra tính đắn

Nhận xét, sửa sai cho điểm nhóm làm tốt

GV: Kiểm tra chấm điểm nhóm

Output: Tính z. Chương trình: Program bai4a; Uses crt;

Var x, y, z:real; begin

clrscr;

write(‘nhap x va y: ‘); readln(x,y);

if (sqr(x)+sqr(y))<=1 then z:= sqr(x) + sqr(y)

else

if y>=x then z := x+y else z := 0.5;

writeln( ‘z = ‘, z:5:1); readln

end.

4 Củng cố:2’

- Nhấn mạnh cách theo dõi giá trị biến chạy chương trình - Trước else khơng có dấu chấm phảy (;)

- Khi nhập giá trị cho biến giá trị cách dấu cách - Lưu lại chương trình vừa chỉnh sửa

- Thốt khỏi Pascal, tắt máy tính qui trình Hướng dẫn nhà:3’

- Ơn lại kiến thức 10

- Trả lời câu hỏi làm tập SGK (trang 50 + 51) + 6: áp dụng câu lênh While – do:

Ga:=0; cho:=0;

while (ga*2+(36-ga)*2) <>100 begin

ga:=ga+1; cho:-36-ga; end;

V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ………

(46)

Hồ Phước Điền

Ngày soạn: 05/01/2012 Tuần thứ: 21 Ngày dạy : 09/01/201214/01/2012 Tiết thứ: 22 Lớp dạy : 11B111B6

CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC KIỂU MẢNG (Tiết 1)

I - Mục đích yêu cầu: Kiến thức:

- Kiểu mảng kiểu liệu có cấu trúc, cần thiết hữu ích nhiều chương trình

- Mảng chiều dãy hữu hạn phần tử kiểu

- Các ngơn ngữ lập trình thơng dụng cho phép người lập trình xây dựng kiểu liệu mảng chiều

- Để mô tả mảng chiều cần khai báo kiểu phần tử cách đánh số phần tử (mỗi phần tử có số)

- Có thể tham chiếu phần tử mảng tên mảng số tương ứng phần tử

Kỹ năng:

- Cách khai báo kiểu liệu mảng chiều ngôn ngữ pascal

- Phân biệt khái niệm kiểu số, kiểu phần tử mảng, biết cách xác định kiểu phần tử, kiểu số mảng ngôn ngữ pascal

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

- Nhận biết định danh phần tử kiểu mảng chiều xuất chương trình

- Biết cách viết khai báo mảng đơn giản với số kiểu miền kiểu nguyên II Phương tiện:

GV: - SGK, sách tập, sách giáo viên tin 11 - Giáo án, máy tính, máy chiếu (Projector) HS: - SGK tin học 11

- Học làm tập nhà

III Phương pháp: Thuyết trình, vấn đáp gợi mở. IV Tiến trình dạy học:

Ổn định tổ chức: 1’ Kiểm tra cũ:

- Kết hợp kiểm tra 3 Bài mới:

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

10’ Hoạt động 1: tìm hiểu lợi ích việc sử dụng mảng chiều.

(47)

25’

real, extended, char, booolean), ta làm để:

- Lưu trữ xử lý dãy số?

- Lưu trữ xử lý họ tên người? - Lưu trữ xử lý bảng kết thi tốt nghiệp?

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

GV: Giải thích kiểu liệu có cấu trúc Trong chương tìm hiểu số kiểu liệu ngôn ngữ Pascal để trả lời ba câu hỏi

GV: Đưa toán: Nhập vào nhiệt độ (trung bình) ngày tuần, tính đưa hình nhiệt độ trung bình tuần số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tuần

Yêu cầu HS xác định liệu vào, liệu ra?

HS: trả lời

GV: Giới thiệu chương trình giải tốn ngơn ngữ Pascal

GV: Quan sát chương trình cho biết muốn tính nhiệt độ trung bình n ngày năm (giả sử n = 365) gặp khó khăn gì?

HS: Phải khai báo nhiều biến, chương trình phải viết nhiều câu lệnh

GV: Để giải vấn đề ta sử dụng kiểu mảng chiều để mô tả liệu Hoạt động 2: kiểu mảng chiều

GV: Đưa khái niệm mảng chiều số yếu tố liên quan lập trình nói chung

GV: Đưa ví dụ minh họa

- Input: t1, t2, t3, t4, t5, t6, t7 - Output: tb, dem

Chương trình: SGK trang 53, 54

1 Kiểu mảng chiều:

- Mảng chiều dãy hữu hạn phần tử kiểu, mảng đặt tên phần tử mang số Để mô tả mảng chiều ta cần xác định kiểu phần tử cách đánh số phần tử

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

+ Số lượng phần tử mảng + Kiểu liệu phần tử

+ Cách khai báo biến mảng chiều

+ Cách truy nhập vào phần tử mảng Ví dụ:

A 12 21 36 17 64

1 2 3 4 5

Trong đó: Tên mảng: A

(48)

GV: Đưa chương trình giải tốn tổng quát với N ngày ngôn ngữ Pascal sâu phân tích hai chương trình HS thấy tiện lợi sử dụng mảng

GV: Thơng qua chương trình để giới thiệu cách khai báo mảng số khái niệm liên quan

GV: Đưa ví dụ khai báo mảng chiều hợp lệ

Kiểu liệu pt: Kiểu nguyên Khi truy cập đến phần tử thứ 36

Chương trình giải tốn tổng qt với N ngày Pascal:

SGK trang 54.

a Khai báo mảng chiều: - 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 biến mảng qua kiểu mảng chiều:

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 với n1, n2 biểu thức nguyên xác định số đầu số cuối (n1<=n2);

+ Kiểu phần tử kiểu phần tử mảng Ví dụ:

type

ArrayReal = array[-100 200] of real;

ArrayBoolean = array[-n+1 n+1] of Boolen; ArrayInt = array[-100 0] of integer;

Trong n nguyên

Tham chiếu tới phần tử mảng chiều xác định tên mảng với số, viết cặp ngoặc [ ]

Ví dụ, tham chiếu tới nhiệt độ ngày thứ 20, mảng A ta viết A[20]

4 Củng cố:4’

- Cách khai báo mảng chiều?Cách tham chiếu đến phần tử mảng?

- Cho ví dụ khai báo mảng chiều hợp lệ? Chỉ rõ yếu tổ: Tên mảng, kiểu số, kiểu phần tử, mảng có phần tử?

5 Hướng dẫn nhà:4’

- Nắm vững cách khai báo mảng chiều, khái niệm có liên quan - Lấy ví dụ khai báo mảng chiều theo cách

- Ơn lại thuật tốn: tìm giá trị lớn dãy số nguyên, xếp tráo đổi V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

(49)

Hồ Phước Điền

Ngày soạn: 05/01/2012 Tuần thứ: 21 Ngày dạy : 09/01/201214/01/2012 Tiết thứ: 23 Lớp dạy : 11B111B6

CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC KIỂU MẢNG (Tiết 2)

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

- Củng cố làm HS hiểu sâu sắc thuật tốn tìm kiểm, xếp mà HS học lớp 10

- Minh họa, củng cố nâng cao hiểu biết học sinh tiết mảng chiều (cấu trúc, cách khai báo, cách tham chiếu phần tử lợi ích kiểu liệu II - Phương tiện dạy học:

+ GV: - SGK, sách tập, sách giáo viên tin 11 - Giáo án, máy tính, máy chiếu (Projector) + HS: - SGK tin học 11

- Học làm tập nhà

III - Phương pháp dạy học: Thuyết trình, vấn đáp gợi mở. IV - Tiến trình dạy học:

Ổn định tổ chức: 1’ Kiểm tra cũ:5’

- Trình bày cách khai báo mảng chiều? Cho ví dụ minh họa?(chỉ rõ: Tên mảng, kiểu số, kiểu phần tử, …)

Bài mới:

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

10’ Hoạt động 1: nhắc lại Input, output, ý tưởng giải toán

GV: Trong tiết học trước đã nắm cách khai báo mảng chiều, cách truy nhập đến phần tử mảng, lợi ích kiểu liệu Hôm nghiên cứu số ví dụ để hiểu rõ khái niệm, lợi ích kiểu mảng

GV: Đưa tốn ví dụ u cầu HS xác định thông tin: INPUT, OUTPUT

HS: Xác định liệu vào,

GV: Hãy nêu ý tưởng để giải toán này?

b Một số ví dụ:

Ví dụ 1: Tìm phần tử lớn dãy số nguyên.

Input: Số nguyên dương N (N ≤ 250) dãy N số nguyên dương A1, A2, …, AN., số

đều không vượt 500

Output: Chỉ số giá trị phần tử lớn dãy số cho (nếu có nhiều phần tử lớn cần đưa số chúng)

Ý tưởng:

+ Đặt số A1 số lớn (Max)

(50)

20’

5’

HS: trả lời

Hoạt động 2: xây dựng chương trình GV: Hướng dẫn HS xây dựng chương trình giải tốn ngôn ngữ Pascal:

- Để lưu trữ số nguyên dương A1,

A2, …, AN ta sử dụng mảng

chiều Hãy viết dòng lệnh khai báo?

GV: Để nhập vào N phần tử dãy số ta làm nào?

HS: khai báo mảng chiều (số phần tử mảng >= số phần tử dãy số) sau nhập n giá trị

GV: Đặt Max phần tử Duyệt từ phần tử thứ đến hết Nếu phần tử lớn hớn Max gán Max phần tử lưu lại số

GV: Phân tích kỹ thao tác xử lí mảng chiều: nhập phần tử, duyệt phần tử mảng chiều

Hoạt động 3: hướng dẫn ví dụ 2 GV: cho HS nhắc lại ý tưởng HS: trả lời

GV: nhận xét, hướng dẫn yêu cầu HS đọc chương trình SGK trang 57

đổi Max = A[i] lưu lại vị trí i

Chương trình: program TimMax; uses crt;

const

Nmax=250; type

ArrInt = array[1 Nmax] of integer; Var

N, i, Max, csmax: Integer; A: ArrInt;

begin clrscr;

write(‘Nhap so luong phan tu cua day so, N = ‘);

readln(N); for i:=1 to N begin

write(‘phan tu thu ‘,i,’ = ‘); readln(A[i]);

end;

Max:=A[1]; csmax:=1; for i:=2 to N

if A[i] > Max then begin

Max:=A[i]; csmax:=i; end;

writeln(‘Gia tri cua phan tu Max: ‘,Max); writeln(‘Chi so cua phan tu Max: ‘,csmax);

readln end

Ví dụ 2:SGK trang 57

Củng cố:2’

(51)

- Nhấn mạnh kiến thức: khai báo mảng, khái niệm, thao tác xử lí mảng đề cập chương trình

Hướng dẫn nhà:2’

- Tương tự chương trình trên, em viết chương trình tìm phần tử nhỏ dãy số nguyên

V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2011 Hướng dẫn tập sự

(52)

Ngày soạn: 05/01/2012 Tuần thứ: 22 Ngày dạy : 30/01/201204/02/2012 Tiết thứ: 24, 25 Lớp dạy : 11B111B6

Bài tập I Mục đích yêu cầu:

- Củng cố cho học sinh hiểu biết kiểu liệu mảng

- Nâng cao kĩ sử dụng số câu lệnh số kiểu liệu thơng qua việc tìm hiểu, chạy thử chương trình có sẵn

- Hình thành kĩ làm việc với kiểu mảng (một chiều) lập trình: Khai báo mảng, nhập liệu cho mảng, đưa hình số giá trị phần tử mảng, duyệt qua tất phần tử mảng để xử lý phần tử

- Nắm ba thuật toán đơn giản thường gặp với liệu kiểu mảng: Tính tổng phần tử thỏa mãn điều kiện đó; đếm số phần tử thỏa mãn điều kiện đó; tìm phần tử lớn (hay nhỏ nhất) mảng với vị trí mảng

II Phương tiện dạy học:

+ GV: - SGK, sách tập, sách giáo viên tin 11 - Giáo án, phịng máy tính

+ HS: - SGK tin học 11

- Học làm tập nhà III Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành IV Tiến trình dạy học:

1 Ổn định tổ chức: 2 Kiểm tra cũ:

- Kết hợp kiểm tra kiến thức Bài mới:

TG Hoạt động GV HS Yêu cầu cần đạt

10’ Yêu cầu chung:

GV: Chia HS nhóm (lấy HS theo tổ lớp)

GV: Giới thiệu cho HS đọc đề: - Yêu cầu HS xác định liệu đầu vào, đầu

HS: Xác định thông tin vào, toán

GV: Yêu cầu HS phân tích tốn, viết đoạn chương trình thực việc khai báo, nhập mảng A, kiểm tra phần tử có chẵn hay khơng?(Thực

Bài 1: Viết chương trình nhập vào dãy n số(n ≤ 100):

a) Hiển thị dãy số hình.

b) Tính tổng số dãy đưa kết hình.

(53)

10’

10’

hiện theo nhóm)

HS: Thực theo yêu cầu GV GV: Cho HS ghép đoạn lệnh tạo nên chương trình

GV: Nhận xét cho điểm HS

GV: cần phải khai báo nmax không?

HS: không

var A: array[1 100] of integer;

Bài giải 1a)

program cau1a; uses crt;

const nmax=100;

var A: array[1 nmax] of integer; n,i: Integer;

begin clrscr; {nhập mảng}

write(‘Nhap so phan tu cua day n = ‘); readln(n);

for i:=1 to n begin

writeln(‘nhap phan tu thu’,i); readln(A[i]);

end; {hiển thị}

for i:=1 to n

write(‘A[’,i,’]=’,A[i]:5); readln

end 1b)

program cau1b; uses crt;

const nmax=100;

var A: array[1 nmax] of integer; s,n,i: Integer;

begin clrscr; {nhập mảng}

write(‘Nhap so phan tu cua day n = ‘); readln(n);

for i:=1 to n begin

writeln(‘nhap phan tu thu’,i); readln(A[i]);

(54)

10’

GV: Câu lệnh: s:=s + A[i]; thực lần?

HS: tùy theo mảng A có phần tử

HS:quan sát trả lời câu hỏi GV GV: Yêu cầu HS chạy thử chương trình với dãy số : 11 15 HS: Chạy thử chương trình

Kết quả: tong cua day so la: 55

GV: Hướng dẫn HS dùng thêm biến đếm d kiểu nguyên để lưu số chữ số chẵn dãy Giá trị khởi đầu d bao nhiêu? HS: var d : integer;

Khởi tạo d:=0

GV: Yêu cầu HS chạy thử chương trình với dãy số : 11 15 HS: Chạy thử chương trình

Kết quả: so chu so chan cua day so la:

S:=S+A[i];

Writeln(‘tong cua day so la:’,S); readln

end

1c) tương tự khai báo nhập mảng câu a, b {kiểm tra dãy có số chẵn}

d:=0;

for i:=1 to n

if A[i] mod 2=0 then d:=d+1;

Writeln(‘so chu so chan cua day so la:’,d);

Tiết 25

20’

GV: Chia HS nhóm (lấy HS theo tổ lớp)

GV: Giới thiệu cho HS đọc đề:

- Yêu cầu HS xác định liệu đầu vào, đầu

- Ý tưởng giải toán HS:

2a dãy số nguyên gồm n phần tử, số nguyên K

- dùng thuật tốn tìm kiếm 2b dãy sốnguyên gồm n phần tử

- tương tự toán 1b

GV: u cầu HS phân tích tốn, viết đoạn chương trình thực việc khai báo, nhập mảng A, kiểm tra phần tử có K hay khơng?(Thực theo nhóm)

HS: Thực theo yêu cầu GV GV: Cho HS ghép đoạn lệnh tạo nên chương trình

Bài 2: Nhập vào dãy số nguyên gồm N phần tử

(N <= 100)

a Nhập vào số nguyên K, tìm xem K có trong dãy khơng? Nếu có đưa các vị trí dãy Nếu khơng thì thơng báo “Khơng tìm thấy”. Vd: Dãy A gồm phần tử: 12

5

Nhap so can tim: 5  Cac vi tri cua la:

b Tính tích số chẵn dãy

vd: Dãy A gồm phần tử: 13 4 10

 Tich cac so chan la: 80

2a

bài giải: uses crt;

var a: array[1 100] of integer; i,n,dem,k: integer;

begin

(55)

20’

readln(n); for i:=1 to n begin

writeln('nhap so thu: ',i,' '); readln(a[i]);

end;

write('nhap so can tim: '); readln(k);

writeln('cac vi tri cua ',k,' la: '); for i:=1 to n

if a[i] = k then begin

write(i:4); dem:=dem+1; end;

writeln; {xuong dong}

if dem = then writeln('khong tim thay vi tri nao');

readln end 2b

bài giải: uses crt;

var a: array[1 100] of integer; i,n: integer;

tich: longint; begin

writeln('nhap sl phan tu: '); readln(n);

for i:=1 to n begin

writeln('nhap so thu: ',i,' '); readln(a[i]);

end; tich:=1;

for i:=1 to n

if a[i] mod =0 then tich:=tich*a[i]; writeln('tich cac so chan la: ',tich); readln

end

Củng cố:2’

- Cách lưu lại chương trình với tên khác sửa để chương trình

- Ghi nhớ thuật toán duyệt tất phần tử mảng, tìm phần tử thỏa mãn điều kiện cho trước để xử lý

(56)

- Tìm hiểu chương trình Bài (SGK – Tr64) V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2011 Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 05/01/2012 Tuần thứ: 23 Ngày dạy : 06/01/201211/02/2012 Tiết thứ: 26,27 Lớp dạy : 11B111B6

(57)

I Mục tiêu cần đạt:

- Củng cố cho học sinh hiểu biết kiểu liệu mảng

- Nâng cao kĩ sử dụng số câu lệnh số kiểu liệu thông qua việc tìm hiểu, chạy thử chương trình có sẵn

- Hình thành kĩ làm việc với kiểu mảng (một chiều) lập trình: Khai báo mảng, nhập liệu cho mảng, đưa hình số giá trị phần tử mảng, duyệt qua tất phần tử mảng để xử lý phần tử

- Nắm ba thuật toán đơn giản thường gặp với liệu kiểu mảng: Tính tổng phần tử thỏa mãn điều kiện đó; đếm số phần tử thỏa mãn điều kiện đó; tìm phần tử lớn (hay nhỏ nhất) mảng với vị trí mảng

II Phương tiện dạy học:

+ GV: - SGK, sách tập, sách giáo viên tin 11 - Giáo án,phịng máy tính

+ HS: - SGK tin học 11

- Học làm tập nhà III Phương pháp dạy học:

Các phương pháp nhằm tích cực hóa hoạt động học tập HS, thực hành IV Tiến trình dạy học:

1 Ổn định tổ chức:2’ 2 Kiểm tra cũ:

- Kết hợp kiểm tra kiến thức 3 Bài mới:

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

Tiết 26

GV: Chia HS theo nhóm (2HS/1 máy) HS: bắt đầu thực hành

GV: quan sát HS thực hành GV: chấm điểm vài HS

1 thực hành tiết 24

Tiết

27 GV: Chia HS theo nhóm (2HS/1 máy)HS: bắt đầu thực hành GV: quan sát HS thực hành

GV: chấm điểm vài HS

2 thực hành tiết 25

Củng cố:

- Nhấn mạnh thuật tốn tìm đếm phần tử mảng thỏa mãn yêu cầu (lớn nhất, nhỏ nhất, bội (ước) sô nguyên, …)

- Nhấn mạnh cách nhập liệu cho mảng, duyệt tất phần tử mảng - Lưu lại toàn chương trình vừa thực

- Thốt khỏi Pascal, tắt máy tính qui trình Hướng dẫn nhà:

- Tự viết lại chương trình theo yêu ccầu 1, - Trả lời câu hỏi tập → (SGK – Tr 79, 80) V Kiểm tra – đánh giá:

(58)

VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2012 Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 10/02/2012 Tuần thứ: 24 Ngày dạy : 13/01/201218/02/2012 Tiết thứ: 28,29 Lớp dạy : 11B111B6

(59)

I - Mục đich yêu cầu:

- Củng cố cho HS kiến thức kỹ có lập trình với kiểu liệu mảng - Củng cố cho HS thuật toán xếp phần tử dãy (bằng tráo đổi) kĩ diễn đạt thuật tốn chương trình sử dụng kiểu liệu mảng

II - Phương tiện:

+ GV: - SGK, sách tập, sách giáo viên tin 11 - Giáo án, phịng máy tính

+ HS: - SGK tin học 11

- Học làm tập nhà III - Phương pháp : thực hành IV - Tiến trình dạy học: Ổn định tổ chức: 2’

Kiểm tra cũ: kiểm tra trình thực hành Bài mới:

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

5’ 10’

18’

10’

GV: cho HS thực hành tập:

Viết Chương trình giải bài tốn xếp dãy N số bằng tráo đởi.(ví dụ 2/57 SGK) Yêu cầu HS xác định: Input, Output

HS: Xác định thông tin Input, Output

GV: Hướng dẫn HS cài đặt chương trình

băng ngơn ngữ Pascal sau giới thiệu chương trình mẫu để HS quan sát, tìm hiểu Yêu cầu HS gõ chương trình vào máy, tìm hiểu, chạy thử để kiểm nghiệm

HS: Thực theo yêu cầu GV

GV: yêu cầu HS chạy thử chương trình với N lớn (100<=N<=250) nhận xét thời gian chạy chương trình

1) Chương trình giải tốn xếp dãy N số tráo đổi.

Input: dãy số gồm N số chưa xếp Output: dãy số xếp Chương trình:

(60)

HS: thực yêu cầu GV

GV: Hãy sửa lại chương trình để chương trình xếp dãy số theo chiều không tăng?

HS: Sửa lại chương trình Thay If A[i]> A[i+1] then

bởi If A[i]< A[i+1] then … Chạy chương trình để kiểm tra

Tiết 29

5’

10’

20’

Yêu cầu HS xác định: Input, Output

HS: Xác định thông tin Input, Output

2a Input: dãy số nguyên gồm N phần tử

Output: in số bội trung bình cộng số

2b Input: dãy số nguyên gồm N phần tử

Output: Đưa số âm vị trí số âm

GV: Hướng dẫn HS cài đặt chương trình

bằng ngơn ngữ Pascal Yêu cầu HS gõ chương trình vào máy, tìm hiểu, chạy thử để kiểm nghiệm

HS: Thực theo yêu cầu GV

GV: yêu cầu HS chạy thử chương trình với N lớn (100<=N<=250) nhận xét thời gian chạy chương trình

2 Nhập vào dãy số nguyên gồm N phần tử (N <= 100)

a.Tính TB cộng bội số đưa bội số đó

vd: Dãy gồm phần tử: 10 13Cac boi so cua la:

6 3

TB Cong la: 4.5

b

Đưa số âm có dãy vị trí chúng ví dụ: Dãy A gồm phần tử: 15 -7 -20

Cac so am la: -7 vi tri la: 3

-20 vi tri la: 5 Bài giải:

2a

program bai2a; uses crt;

var a: array[1 100] of integer; i,n,dem,s: integer;

tbc: real; begin

writeln('nhap sl phan tu: '); readln(n);

for i:=1 to n begin

writeln('nhap so thu: ',i,' '); readln(a[i]);

end;

writeln('cac boi so cua la: '); for i:=1 to n

(61)

5’

HS: thực yêu cầu GV

GV: Kiểm tra HS chấm điểm

GV: Cho HS vệ sinh phịng máy tính

HS: thực yêu cầu GV

write(a[i]:4); dem:=dem+1; s:=s+a[i]; end;

writeln; {xuong dong} tbc:= s/dem;

writeln('tb cong la: ',tbc:6:1); readln

end 2b

Program cau2b; uses crt;

var a: array[1 100] of integer; i,n: integer;

begin

writeln('nhap sl phan tu: '); readln(n);

for i:=1 to n begin

writeln('nhap so thu: ',i,' '); readln(a[i]);

end;

writeln('cac so am la: '); for i:=1 to n

if a[i] < then begin

write(a[i]:4);

writeln(' vi tri la: ',i); end;

readln end

Củng cố:2’

- Kỹ thuật nhập liệu cho mảng, in mảng, duyệt mảng, đếm số phần tử thỏa mãn yêu cầu

5.Dặn dò: 2’

BTVN: Viết chương trình nhập vào N (N≤100) số nguyên,một số nguyên dương k (k ≤N) Tính đưa hình tổng k số dãy N số vừa nhập

Hướng dẫn:

- khai báo mảng để lưu trữ dãy số

- nhập số nguyên K (khi nhập ý k ≤N)

(62)

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2012 Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 15/02/2012 Tuần thứ: 25 Ngày dạy : 20/02/201225/02/2012 Tiết thứ: 30, 31 Lớp dạy : 11B111B6

CHƯƠNG IV: KIỂU DỮ LIỆU CĨ CẤU TRÚC §12 KIỂU XÂU (Tiết 1)

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

- Biết xâu dãy kí tự (có thể coi xâu mảng chiều) - Biết cách khai báo xâu, truy cập phần tử xâu

- Biết sử dụng số thủ tục, hàm thông dụng xâu

- Cài đặt số chương trình đơn giản có sử dụng xâu II - Phương tiện dạy học:

(63)

+ HS: - SGK tin học 11 III - Phương pháp dạy học:

- Các PP nhằm tích cực hóa hoạt động học tập HS: Thuyết trình, vấn đáp gợi mở IV - Tiến trình dạy học:

Ổn định tổ chức: Kiểm tra cũ:

Hỏi: Nêu cách tham chiếu tới phần tử mảng chiều ? cho VD ? Bài mới:

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

10’

25’

Hoạt động 1: tìm hiểu kiểu liệu kiểu xâu GV: Nêu khái niệm xâu ?

HS: Trả lời

GV:Y/c Hs khác nhận xét, cho VD ? HS: Trả lời

GV: Cho HS nhận xét số kí tự xâu ? HS: Trả lời

GV: Y/c HS cho VD xâu có kí tự trống, xâu rỗng, nhận xét số lượng kí tự xâu

HS: Trả lời

GV: Giới thiệu cách tham chiếu tới phần tử xâu ?

GV: Cho VD ? Cho HS nhận xét ?

Hoạt động 2: Khai báo liệu kiểu xâu thao tác xử lí xâu

GV: Giới thiệu cách khai báo biến xâu ? Cho VD ?

* Một số khái niệm:

- Xâu dãy kí tự bảng mã ASCII

- Có thể xem xâu mảng chiều Mỗi kí tự xâu phần tử mảng

- Số lượng kí tự xâu gọi độ dài xâu

- Xâu có độ dài gọi xâu rỗng

- Trong ngôn ngữ Pascal, tham chiếu tới phần tử thường viết: <tên biến xâu>[chỉ số]

- Chỉ số phần tử xâu thường đánh số

Ví dụ:

A T I N H O C

1

- Tên xâu: A

- Độ dài xâu (số kí tự xâu): - Tham chiếu đến kí tự thứ i ta viết A[i]

Ví dụ: A[5] = ‘H’

Cách khai báo xử lí xâu trong ngơn ngữ Pascal:

1 Khai báo biến xâu:

(64)

GV: Độ dài lớn xâu ?Vì ? HS: Trả lời

GV: nhắc lại định nghĩa biểu thức số học ? Từ đưa khái niệm biểu thức xâu ?

HS: Trả lời

GV: Y/c HS định nghĩa cách ghép xâu ? Cho VD ? HS: Trả lời

GV: Hãy nhắc lại phép toán học kiểu liệu chuẩn ?

HS: Trả lời

GV: giới thiệu phép so sánh xâu, cho VD ?

Trong đó:

+ String: tên dành riêng

+ Độ dài lớn xâu không vượt 255

Ví dụ: Var hoten: string[26];

Chú ý: Khi khai báo xâu bỏ qua phần khai báo [độ dài lớn của xâu], độ dài lớn của xâu nhận giá trị ngầm định 255 Ví dụ: Var chuthich: string;

2 Các thao tác xử lí xâu:

a Biểu thức xâu, phép ghép xâu: Biểu thức xâu biểu thức tốn hạng biến xâu biến kí tự

* Phép ghép xâu: Kí hiệu ‘+’ dùng để ghép nhiều xâu thành xâu

VD: ‘Ha ‘ + ‘Noi’  ‘Ha Noi’

b Phép so sánh: =, <>, >, <, >=, <= Quy ước:

+ Xâu rỗng xâu: ‘’

+ Xâu A = B chúng giống hệt

VD: ‘Tin hoc’ = ‘Tin hoc’ + Xâu A> B nếu:

- Kí tự khác chúng xâu A có mã ASCII lớn xâu B

- Xâu B đoạn đầu xâu A Ví dụ:

‘Ha Noi’ > ‘Ha Nam’ ‘Xau’ < ‘Xau ki tu’ …

20’ KIỂU XÂU (TT)

Hoạt động 1: Tìm hiểu số thủ tục hàm dùng để xử lí xâu c Các thủ tục hàm chuẩn xử lí xâu:

GV: Đưa số câu hỏi:

- Làm biết ký tự dấu cách? - Làm để xóa vài kí tự?

- Làm để thêm vào xâu vài kí tự?

(65)

- Làm biết xâu có kí tự?

Trên sở giới thiệu số hàm, thủ tục thông dụng kiểu xâu GV: Hướng dẫn HS lập bảng

Thủ tục Ý nghĩa Ví dụ

1 Delete(st,vt,n) Xóa n kí tự biến xâu st bắt đầu từ vị trí vt. S = ‘Song Hong’Delete(S,5,5)

 S = ’Hong’ insert(s1,s2,vt) Chèn xâu s1 vào xâu s2, bắt đầu vị trí vt. S1 = ’1’, S2 = ’Hinh 2’Insert(s1,s2,6)

 S2 =’Hinh 1.2’

Hàm Ý nghĩa Ví dụ

1 copy(s,vt,n) Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt xâu S S = ‘Tin hoc’Copy(S,5,3) = ‘hoc’ Length(S) Cho giá trị độ dài xâu S S = ‘Tin hoc’

Length(S) = Pos(S1,S2) Cho vị trí xuất

của xâu S1 xâu S2 S=’ABCDBCE’ Pos(‘BC’,S) = Pos(‘G’,S)=0 Upcase(ch) Cho chữ in hoa ứng với chữ

cái ch Upcase(ch) = ‘A’ch = ’a’ 20’ Hoạt động 2: Rèn luyện kỹ vận dụng hàm

thủ tục

GV: Treo bảng phụ HS: Quan sát

GV: Y/c HS trả lời số câu hỏi:

- Độ dài xâu khai báo ?

- Ý nghĩa hàm Length(a), Length(b) HS: Trả lời

GV: nhận xét

Trình chiếu VD1 Var a,b: string; Begin

Writeln(‘nhap ho ten thu nhat’); Readln(a);

Writeln(‘nhap ho ten thu hai’); Readln(b);

If length(a)>length(b) then writeln(a)

else writeln(b); readln

End GV: Treo bảng phụ thứ

HS: Quan sát

GV: Ý nghĩa lệnh X:=length(b); HS: Trả lời

GV: Nhận xét

GV: Cho HS giải thích câu lệnh For i:=k downto write(a[i]);

HS: in kí tự theo chiều ngược lại

Trình chiếu VD Var x:byte; a, b: string; begin

Writeln(‘nhap ho ten thu nhat’); Readln(a);

Writeln(‘nhap ho ten thu hai’); Readln(b);

X:=length(b);

If a[1]=b[x] then writeln(‘trung nhau’) else writeln(‘khong trung nhau’);

readln End

(66)

GV: Quan VD vai trò hàm length(); HS: trả lời

GV: nhận xét Củng cố:3’

- Nhắc lại số khái niệm? Lấy vị dụ minh họa?

- Nêu thủ tục hàm chuẩn thông dụng kiểu xâu? Ý nghĩa, Ví dụ? 5.Dặn dò: 2’

- Nắm khái niệm xâu

- Nắm cách khai báo xâu, lấy ví dụ minh họa

- Nắm hiểu ý nghĩa thủ tục hàm thông dụng xâu, vận dụng vào trường hợp cụ thể

- Đọc trước ví dụ (SGK – Tr 71, 72) V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2012 Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 20/02/2012 Tuần thứ: 26 Ngày dạy : 27/02/201203/032/2012 Tiết thứ: 32 Lớp dạy : 11B111B6

BÀI TẬP

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

1 Kiến thức:

- Củng cố cho HS kiến thức kỹ có lập trình với kiểu xâu 2 Kỹ năng:

- Vận dụng hàm thủ tục kiểu liệu xâu để giải tập, thao tác xử lí xâu

II Chuẩn bị:

1 GV: Giáo án, SGK, máy chiếu. 2 HS: Vở ghi, học cũ nhà.

III Phương pháp: GV hướng dẫn cho HS giải tập IV Tiến trình lên lớp:

1 Ổn định lớp, kiểm tra sỉ số: 1’

2 Kiểm tra cũ: Kiểm tra trình giải tập. 3 Bài mới:

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

(67)

15’

15’

cũ kiêu liệu xâu. GV: đặt câu hỏi

- Nêu cách khai báo biến kiểu xâu kí tự ? Cho VD ?

- Nêu tên, ý nghĩa, cho VD hàm thủ tục để xử lí xâu kí tự ? GV: Gọi HS lên bảng trình bày HS: Lên bảng

GV: Goi HS lớp nhận xét, sửa lỗi (nếu có sai) cho điểm HS * Hoạt động 2: Vận dụng lý thuyết để giải số tập.

GV: Cho HS đọc đề nêu input output toán

HS: Đọc đề trả lời

GV: Cho HS nêu hướng giải toán

HS: suy nghĩ trả lời GV: Nhận xét, bổ sung

GV: Cho HS viết chương trình hồn chỉnh dựa vào ý tưởng

GV: nhận xét, sửa lỗi chương trình HS: ghi

GV: Cho HS đọc đề nêu input output toán

HS: Đọc đề trả lời

GV: Cho HS nêu hướng giải toán

HS: suy nghĩ trả lời GV: Nhận xét, bổ sung

GV: Cho HS viết chương trình hồn chỉnh dựa vào ý tưởng

Xem lại ghi bài.

2.Vận dụng:

Bài 1: Viết chương trình nhập vào xâu kí tự dếm đưa hình số kí tự xâu vừa nhập vào

Input: nhập vào xâu kí tự

Output: đưa thơng báo số kí tự xâu Ý tưởng:

Vận dụng hàm Length() để tính độ dài xâu kí tự nhập vào độ dài số kí tự xâu

Chương trình Program bt1; Uses crt; Var s: string; x: byte; begin clrscr;

writeln(‘nhap vao xau ki tu’); readln(s);

x:=length(s);

writeln(‘so ki tu cua xau la : ’, x); readln

end

Bài 2: Nhập vào xâu kí tự sau đố in xâu đảo ngược xâu chữ in hoa hình Input: Nhập vào xâu kí tự s

Output: Đưa hình xâu: xâu đảo ngược s xâu chữ in hoa xâu s Ý tưởng:

+ áp dụng hàm Length(), duyệt phần tử xâu theo chiều ngược lại đồng thời in phần tử xâu s

(68)

GV: nhận xét, sửa lỗi HS: ghi vào

clrscr;

writeln(‘nhap vao xau ki tu’); readln(s);

x:=length(s); {in xau dao nguoc}

Write(‘xau dao nguoc cua xau s la :’); For i:=x downto write(s[i]); {in xau chu in hoa}

For i:= to x write(upcase(s[i])); Readln

End

4 Củng cố: 2’ Nhấn mạnh hàm thủ tục tập để thấy vai trò chúng

5 dặn dò: 2’ V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2012 Hướng dẫn tập sự

Hồ Phước Điền

Ngày soạn: 20/02/2012 Tuần thứ: 26 Ngày dạy : 27/02/201203/032/2012 Tiết thứ: 32 Lớp dạy : 11B111B6

BÀI TẬP (TT)

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

a Kiến thức:

- Củng cố cho HS kiến thức kỹ có lập trình với kiểu xâu b. Kỹ năng:

- Vận dụng hàm thủ tục kiểu liệu xâu để giải tập, thao tác xử lí xâu

II Chuẩn bị:

a GV: Giáo án, SGK, máy chiếu. b HS: Vở ghi, học cũ nhà.

III. Phương pháp: GV hướng dẫn cho HS giải tập IV.Tiến trình lên lớp:

1 Ổn định lớp, kiểm tra sỉ số: 1’

2 Kiểm tra cũ: Kiểm tra trình giải tập. 3 Bài mới:

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

(69)

15’

20’

GV: Y/C HS đọc đề toán xác đinh Input Output toán

HS: Thực Y/C GV

Input: nhập vào xâu kí tự

Output: đưa số kí tự chữ số xâu vừa nhập

GV:Cho HS tìm hướng giải tốn

GV: hướng dẫn: kí tự chữ số ‘0’<=kí tự <=’9’

HS: suy nghĩ trả lời

dùng biến đếm duyệt qua phần tử phần tử nằm đoạn tăng biến đếm lên đưn vị

GV: y/c HS viết chương trình cho tốn

HS: Viết chương trình

* Hoạt động 2: Vận dụng lý thuyết để giải số tập.

GV: Cho HS đọc đề nêu input output toán

HS: Đọc đề trả lời

GV: Cho HS nêu hướng giải toán

HS: suy nghĩ trả lời

GV: Nhận xét HS không trả lời GV đưa ý tưởng

GV: Hướng dẫn cho HS viết chương trình hồn chỉnh dựa vào ý tưởng

3.Bài tập nâng cao:

* đề:Viết chương trình đếm số ký tự chữ số trong xâu ký tự nhập vào từ bàn phím.

Chương trình: Uses Crt;

Var St:String;

i,d, x:Byte; Begin

Write(‘Nhap xau St: ‘); Readln(St); x:=length(st);

For i:=1 to x

If (St[i]>=‘0’) and (St[i]<= ‘9’) Then

d:=d+1;

Write(‘So ky tu chu so xau: ‘, d);

Readln; End

* Đề: Viết chương trình nhập vào xâu ký tự từ bàn phím Thơng báo lên hình các chữ có xâu số lượng chúng ( Không phân biệt chữ hoa hay chữ thường).

Ý tưởng:

- Dùng mảng dem với số chữ để lưu trữ số lượng chữ xâu

- Duyệt qua tất ký tự xâu St: Nếu ký tự chữ tăng biến mảng dem[St[i]] lên đơn vị

Chương trình: Uses Crt;

Var St:String;

dem: Array[‘A’ ’Z’] Of Byte; i:Byte;

ch:Char; Begin

Write(‘Nhap xau St: ‘); Readln(St); {Khởi tạo mảng}

(70)

GV: nhận xét, sửa lỗi chương trình HS: ghi

GV: nhận xét, sửa lỗi

For i:=1 To Length(St) Do

If Upcase(St[i]) IN [‘A’ ’Z’] Then Inc(dem[Upcase(St[i])]);

{Liệt kê ký tự hình} For ch:=’A’ To ‘Z’ Do

If dem[ch]>0 Then Writeln(ch,’: ’,dem[ch]); Readln;

End

4 Củng cố: 2’ Nhấn mạnh hàm thủ tục tập để thấy vai trò chúng

5 dặn dò: 2’

Về nhà xem lại chương trình tiết tập chuẩn bị tiết sau thực hành V Kiểm tra – đánh giá:

……… ……… VI Rút kinh nghiệm:

……… ……… Khánh Vĩnh, ngày tháng năm 2012 Hướng dẫn tập sự

Ngày đăng: 21/05/2021, 16:39

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w