Vuong ngoc anh

Preview:

Citation preview

11

TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINHKHOA CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ THÔNG TIN

LỚP SƯ PHẠM TIN – VĂN BẰNG 2LỚP SƯ PHẠM TIN – VĂN BẰNG 2

BÀI THỰC HÀNHBÀI THỰC HÀNHPHƯƠNG PHÁP DẠY HỌC 2PHƯƠNG PHÁP DẠY HỌC 2

GVHD : Th.s Lê Đức LongSVTH : Vương Ngọc Anh

2

CHƯƠNG TRÌNH TIN HỌC LỚP 11

MỤC TIÊU CHƯƠNG TRÌNHTrang bị cho học sinh một số khái niệm cơ bản về lập trìnhvà ngôn ngữ lập trình bậc cao

Giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng các kiến thức về thuật toán, cấu trúc dữ liệu, ngôn ngữ lập trình cụ thể, sử dụng các chương trình con có sẵn

CHƯƠNG I

MỘT SỐ KHÁI NiỆM

VỀ LẬP TRÌNH VÀ

NGÔN NGỮ LẬP

TRÌNH

CHƯƠNG II

CHƯƠNG TRÌNH

ĐƠN GiẢN

CHƯƠNG III

CẤU TRÚCRẼ NHÁNH

VÀ LẶP

CHƯƠNG IV

KiỂU DỮ LiỆU CÓ

CẤU TRÚC

CHƯƠNG V

TỆP VÀ THAO TÁC VỚI TỆP

CHƯƠNG VI

CHƯƠNG TRÌNH

CON VÀ LẬP TRÌNH

CÓ CẤU TRÚC

BÀI 10 Cấu trúc lặp

(3,2,1)

3

BÀI 10 : CẤU TRÚC LẶP

Mục tiêu kiến thức :

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

- Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước.

Mục tiêu kỹ năng :

- Biết cách vận dụng đúng từng loại cấu trúc lặp vào tình huống cụ thể. Mô tả được thuật toán của một số bài toán có sử dụng lệnh lặp.

- Viết đúng các lệnh của cấu trúc lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước (không xác định).

Điểm khó – điểm trọng tâm :

- Hiểu cấu trúc vòng lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước.

- Biết cách vận dụng đúng từng loại cấu trúc lặp ở tình huống cụ thể. Mô tả được thuật toán của bài toán.

- Kiểm soát <điều kiện> để không lặp vô hạn đối với vòng lặp kiểm tra điều kiện.Kiến thức đã biết :

- Học sinh đã biết cấu trúc chương trình Pascal cơ bản, biết khai báo biến, cấu trúc “Rẽ nhánh”.

- Các bài toán cơ bản đã học ở lớp 10 UCLN, SNT. Sử dụng câu lệnh đơn, câu lệnh ghép.

- Kiến thức đã biết ngoài đời. ( bài toán đặt vấn đề : đổ nước vào thùng )

Kiến thức sẽ biết :

- Học sinh biết được cấu trúc lặp với số lần biết trước và lặp kiểm tra điều kiện (số lần chưa biết trước).

4

BÀI 10 : CẤU TRÚC LẶP ( Tiết 2 )

HOẠT ĐỘNG 1

10’

Ổn đỊnh lớp

Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa

xác định

HOẠT ĐỘNG 2

20’

Tìm hiểu cấu trúc lệnh lặp While trong ngôn ngữ lập trình Pascal

HOẠT ĐỘNG 3

15’

Rèn luyện kỹ năng trong vận dụng lệnh lặp

While qua ví dụ minh họa. Củng

cố

KẾ HOẠCH BÀI DẠY

5

BÀI 10 : CẤU TRÚC LẶP ( Tiết 2 )

HOẠT ĐỘNG 1

- Làm bài trắc nghiệm nhắc lại bài cũ.

- Cho bài toán đặt vấn đề.

- Đặt một số câu hỏi để học sinh trả lời.

- Giáo viên giải thích và đưa ra một kết luận để chuyển ý “ Qua ví dụ, ta thấy có một dạng bài toán có sự lặp lại của một số lệnh nhưng không biết trước được số lần lặp. Cần có một cấu trúc điều khiển lặp lại một công việc nhất định khi thỏa mãn một điều kiện nào đó. Ở dạng toán này cũng có 1 dạng chủ yếu đó là máy sẽ kiểm tra và tính giá trị của điều kiện, nếu điều kiện nhận giá trị đúng thì thực hiện công việc (1 lần). Giá trị của đk sẽ thay đổi sau mỗi lần thực hiện công việc, nếu điều kiện còn đúng thì tiếp tục thực hiện công việc đó đến một lúc nào đó mà điều kiện lặp không còn đúng nữa thì cấu trúc lặp sẽ được kết thúc. ” . Để tránh trường hợp lặp vô hạn trong công việc cần có 1 lệnh mà sau một vài lần lặp sẽ làm điều kiện sai, thì vòng lặp mới dừng được. (yêu cầu học sinh ghi tóm tắt vào vở khi giáo viên thuyết trình và tóm lược trên bảng_phần in nghiêng)

“Trước khi nghiên cứu câu lệnh để mô tả cấu trúc lặp như trên chúng ta cùng xây dựng thuật toán để giải bài toán trên. (Học sinh làm việc theo nhóm 4 em để xây dựng thuật giải) Gv đưa ra câu chuyển “ việc lặp với số lần chưa biết trước chỉ sẽ kết thúc khi một điều kiện cho trước được thỏa mãn, để mô tả cấu trúc lặp như vậy trong Pascal sẽ dùng câu lệnh While . . . Do.

6

BÀI 10 : CẤU TRÚC LẶP ( Tiết 2 )

HOẠT ĐỘNG 2

- Giáo viên yêu cầu học sinh nghiên cứu sách giáo khoa và trả lời câu hỏi về cấu trúc chung của lệnh lặp. - Giáo viên giải thích <điều kiện> và <câu lệnh>. (yêu cầu học sinh ghi bài) - Yêu cầu học sinh làm việc nhóm 4 để có thể đưa ra nhận xét về hoạt động của câu lệnh While…do. Giáo viên đặt câu hỏi gợi ý - Yêu cầu học sinh xem SGK và gọi học sinh lên bảng vẽ lại sơ đồ thực hiện lệnh While…do. - Giáo viên treo sơ đồ mẫu và giải thích hoạt động của câu lệnh While…do (học sinh ghi bài). Lưu ý học sinh đây là sơ đồ lặp với số lần lặp chưa biết trước. Chuyển ý qua hoạt động 3. “Để tìm hiểu rõ hơn về lệnh lặp này, chúng ta cùng giải quyết bài toán đầu giờ được nêu, và thêm một ví dụ minh họa.

7

BÀI 10 : CẤU TRÚC LẶP ( Tiết 2 )

HOẠT ĐỘNG 3

- Giáo viên nêu ví dụ 1 (bài toán tính tổng ở phần đặt vấn đề). - Yêu cầu học sinh phân tích để xác định <điều kiện> và <câu lệnh>. Giáo viên gợi ý- Học sinh viết chương trình của bài toán trên.- Giáo viên nêu ví dụ 2 : Viết chương trình nhập vào 2 số nguyên dương M và N. Tìm ước số chung lớn nhất của 2 số đó. -Yêu cầu học sinh phân tích để xác định <điều kiện> và <câu lệnh>. Giáo viên gợi ý- Yêu cầu học sinh viết chương trình hoàn thiện bài toán ở nhà.- Củng cố bài học bằng câu hỏi trắc nghiệm dùng Qiuz trong iSpring Presenter

8

CÂU HỎI GỢI Ý

Bài toán_ Viết chương trình tính tổng:S= 1/a + 1/a+1 + 1/a+2 + … + 1/a+N + … cho đến khi 1/a+N <0,0001 H: Sự khác nhau của bài toán này và bài toán đã viết ở tiết trước.TL: Bài trước cho giới hạn N. Bài này cho giới hạn S.H: Lặp bao nhiêu lần TL: Chưa xác định ngay được.H: Lặp đến khi nào TL: Đến khi điều kiện 1/a+N <0,0001 được thỏa.Thuật giải: Bước 1: S 1/a; N 0; {khởi tạo S và N}. Bước 2: Nếu 1/(a+N)<0,0001 thì chuyển đến bước 5; Bước 3: N N+1; Bước 4: S+1/(a+N); rồi quay lại bước 2; Bước 5: Đưa ra màn hình rồi kết thúc.

H: Cấu trúc chung của của lệnh lặp While là gì? TL: là While <điều kiện> do <câu lệnh>.Gv giải thích: <điều kiện> là biểu thức quan hệ hoặc logic là điều kiện để lặp lại. <câu lệnh> là một lệnh cần phải lặp lại, nó là câu lệnh đơn hoặc lệnh ghép của Pascal. H: dựa vào cấu trúc chung hãy cho biết máy sẽ thực hiện tính <điều kiện> trước hay thực hiện lệnh trước ?TL: Tính biểu thức điều kiện trước. Thực hiện lệnh cần lặp sau.Giải thích hoạt động của câu lệnh While…do: <câu lệnh> viết sau từ khóa <do> được thực hiện khi biểu thức <điều kiện> còn nhận giá trị true . Biểu thức <điều kiện> được tính giá trị trước khi <câu lệnh> được thực hiện, nếu biểu thức <điều kiện > đã nhận giá trị false ngay từ đầu thì <câu lệnh> không được thực hiện lần nào. Nếu biểu thức <điều kiện> luôn nhận giá trị true thì <câu lệnh> được thực hiện mãi, ta gọi là vòng lặp vô hạn. Để tránh trường hợp lặp vô hạn

trong công việc cần có 1 lệnh mà sau một vài lần lặp sẽ làm điều kiện sai, thì vòng lặp mới dừng được.

Điều kiệnsai

câu lệnh

đúngSơ đồ mẫu

9

Bài toán_ Viết chương trình tính tổng:S= 1/a + 1/a+1 + 1/a+2 + … + 1/a+N + … cho đến khi 1/a+N <0,0001 Gợi ý H: điều kiện để tiếp tục lặp là gì? TL: 1/a+N <0,0001 H: Lệnh cần lặp TL: S:=S+1.0/(a+N) và tăng N mỗi lần 1 đvị;Yêu cầu “ Các em nghiên cứu sách giáo khoa (trang 47) viết chương trình tính tổng của bài toán trên”Program Tong_2;user crt;var S: real; a, N: interger;begin write(‘ hay nhap gia tri a vao!’); readln(a); S:=1.0/a; N:=0; {bước 1}while not (1/(a+N)<0.0001) do {bước 2} ( not : )

begin N:=N+1; {bước 3} ( tăng N 1 đvị _ lệnh này sau một số lần lặp sẽ làm đk sai thi dừng sai)

S:=S+1.0/(a+N); {bước 4} end; writeln(‘ Tong S la : ’ , S:8:4); {bước 5} readlnend.Gọi 1 Hs lên bảng viết lại, Gv thu giấy viết bài của các em còn lại.

CÂU HỎI GỢI Ý

10

Ví dụ 2: Viết chương trình nhập vào 2 số nguyên dương M và N. Tìm ước số chung lớn nhất của 2 số đó.

Gợi ý H: điều kiện để tiếp tục lặp là gì? TL: M<>N H: Lệnh cần lặp TL: M:=M-N; hoặc N:=N-M;Yêu cầu “ Các em nghiên cứu sách giáo khoa (trang 47) xây dựng thuật toán tìm ƯCLN ”Lưu ý học sinh: trong bài này sẽ có sử dụng câu lệnh của cấu trúc rẽ nhánh (dạng đủ) if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>

Cho học sinh làm trắc nghiệm Giáo viên củng cố bằng yêu cầu:- Các em hãy chỉ ra hai câu hỏi quan trọng cần đặt ra khi gặp bài toán dạng này để giúp các em giải bài toán?Học sinh suy nghĩ và trả lời:- Điều kiện nào để lặp lại.- những lệnh nào cần lặp lại.

CÂU HỎI GỢI Ý

11

Đề bài

Đáp án

Đề bài Đáp án

Recommended