1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo án Tin học lớp 11 - Bài 12: Cấu trúc lặp

5 8 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 139,7 KB

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

Nội dung

Trong lËp tr×nh, cã nh÷ng thao t¸c ph¶i lặp đi lặp lại một số lần, khi đó ta gọi là cÊu tróc lÆp Lặp thường có 2 loại: + Lặp với số lần biết trước + Lặp với số lần không biết trước GV: §[r]

Trang 1

Đ12: cấu trúc Lặp

(Tiết PPCT: 12)

Ngày soạn: ……… Ngày đăng ký giáo án:

Người duyệt giáo án (TTCM duyệt, BGH duyệt):

I Mục Tiêu:

1 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 &" và câu lệnh For - Do

2 Kỹ năng:

Biết vận dụng &/ cấu trúc lặp và câu lệnh For - Do vào từng tình huống cụ thể

II chuẩn bị:

1 Giáo viên:

Giáo án, máy tính, máy chiếu

2 Học sinh:

Sách giáo khoa và tài liệu tham khảo

III tổ chức dạy học:

Kiểm tra bài cũ:

1 Nêu cấu trúc và sự hoạt động của câu lệnh IF - THEN dạng thiếu và dạng đủ?

2 Nêu khái niệm và cấu trúc câu lệnh ghép

HS: Lên bảng trả lời câu hỏi

GV: Đánh giá, cho điểm

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

a Mục tiêu:

- Học sinh thấy &/ sự cần thiết của cấu trúc lặp trong lập trình

b Nội dung:

Bài toán 1: Viết

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

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

1 Bài toán 1: Tính tổng:

1

1 1

1

S

Trang 2

- Hãy xác định công thức toán học để tính

tổng?

- Gợi ý

cái thùng, số hạng

tích khác nhau, khi đó việc tính tổng trên

- Có bao nhiêu lần đổ

- Mỗi lần một

đổ bao nhiêu?

- Phải viết bao nhiêu lệnh?

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

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

N a a

a

a

S

2

1 1

1

1

với điều kiện 1  0 , 0001

 N

a

- Hỏi: Sự khác nhau của bài toán này với

bài toán đã viết ở tiết &"B

- Hỏi: lặp lại bao nhiêu lần?

- Hỏi: lặp đến khi nào?

=> số lần lặp & biết &"

Trong lập trình, có những thao tác phải

lặp đi lặp lại một số lần, khi đó ta gọi là

cấu trúc lặp

Lặp

+ Lặp với số lần biết &"

+ Lặp với số lần không biết &"

GV: Để thực hiện tính tổng S ta phải thực

hiện

GV: Ta đã biết &/ câu lệnh IF – THEN

Nếu & câu lệnh này vào việc giải 2 bài

toán này thì em có nhận xét gì?

GV: H& ra cách giải bài toán 2 bằng các

lệnh IF –THEN sau:

S:=0;

If (1/a>0,0001) Then S:=S+1/a;

If (1/(a+1)>0,0001) Then S:=S+1/(a+1);

If (1/(a+2)>0,0001) Then S:=S+1/(a+2);

GV: Y/c HS nhận xét cách giải trên

- Rất khó xác định công thức tính

- Theo dõi gợi ý

- Có 100 lần đổ

- Mỗi lần đổ 1

ai

- Phải viết 100 lệnh

- Bài &" cho giới hạn N

- Bài này: cho giới hạn S

- W& xác định ngay &/

- Đến khi điều kiện 1 < 0.0001 &/

thoã mãn

- HS suy nghĩ để & ra cách giải quyết bài toán

- HS: H& ra các lệnh thực hiện các thao tác tính tổng

- H& ra ý kiến của mình

Trang 3

GV: Nhận xét:

- Theo

thêm chỉ dừng khi 1/(a+N) < 0,0001

- Với bài toán 1, N=100 thì việc thực hiện

câu lệnh lặp lên đến 100 lần

kiện để kiểm tra không biết phải thực hiện

=> Với cách

đều thực hiện quá dài

Để thực hiện việc lặp

Pascal cung cấp cho ta một số câu lệnh lặp

để mô tả các cấu trúc lặp trên

Hoạt động 2: Xây dựng thuật toán cho bài toán 1

a Mục tiêu: Viết thuật toán cho bài toán 1, trên cơ sở đó xây dựng thuật toán 1b

Nêu vấn đề cho cấu trúc câu lệnh lặp với số lần biết &" ở cả 2 dạng

b Nội dung:

Thuật toán 1a:

Bước 1: N  0; S 1/a;

Bước 2: N  N + 1;

Bước 3: Nếu N>100 thì chuyển đến &" 5

Bước 4: S  S+1/(a+N) quay lại &" 2

Bước 5: H& S ra màn hình rồi kết thúc.

Thuật toán 1b:

Bước 1: N  101; S 1/a;

Bước 2: N  N - 1;

Bước 3: Nếu N < 1 thì chuyển đến &" 5 Bước 4: S  S+1/(a+N) quay lại &" 2

Bước 5: H& S ra màn hình rồi kết thúc.

c Cách tiến hành:

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

1 Y/c học sinh viết thuật toán giải bài toán

Gọi HS lên trình bày thuật toán

Gọi học sinh khác lên nhận xét đánh giá

- Chuẩn hoá lại thuật toán cho học sinh

GV: Có thể thay đổi kiểm tra điều kiện

N>100 để dừng việc tính tổng hay không?

GV: Dẫn dắt và & ra Thuật toán Tong_1b

Gọi HS lên trình bày thuật toán 1b bằng

cách thay điều kiện dừng lặp

1 Thảo luận theo nhóm để viết thuật toán:

- Trình bày thuật toán

- Nhận xét, đánh giá kết quả của nhóm khác

- H& ra ý kiến

- Trình bày thuật toán dạng lùi

- Theo dõi và ghi nhớ

3 Hoạt động 3: Tìm hiểu lệnh lặp for của ngôn ngữ lập trình Pascal

a Mục tiêu:

Học sinh biết &/ cấu trúc chung của lệnh FOR Hiểu &/ ý nghĩa của thành

phần trong lệnh Biết &/ sự thực hiện của máy khi gặp FOR vẽ sơ đồ thực hiện

đó

Trang 4

b Nội dung:

* Dạng tiến:

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

Biến đếm: là kiểu nguyên, kiểu ký tụ hoặc miền con.

Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm Giá trị đầu

phải nhỏ hơn hoặc bằng giá trị cuối

Sự thực hiện của máy:

Bước 1: Tính giá trị đầu, giá cho biến đếm.

Bước 2: Nếu biến đếm <= giá trị cuối thì thực hiện lệnh cần lặp và tăng biến

đếm lên 1 đơn vị, và quay lại &" 2

Sơ đồ thực hiện:

* Dạng lùi:

Cấu trúc: FOR < biến đếm>:= <giá trị cuối> downto <giá trị đầu > DO <lệnh cần

lặp>;

Biến đếm:

Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm Giá trị đầu phải lớn

hơn hoặc bằng giá trị cuối

Sự thực hiện của máy:

Bước 1: Gán giá trị đầu cho biến đếm.

Bước 2: Nếu biến đếm >= giá trị cuối thì thực hiện lệnh cần lặp và giảm biến

đếm lên 1 đơn vị, và quay lại &" 2

Sơ đồ thực hiện:

Biến đếm:=G.trị đầu

Lệnh lặp cần biến đếm tăng 1

Biến đếm<=G.trị Cuối

S

Đ

Biến đếm:=G.trị đầu

Lệnh lặp cần biến đếm giảm 1

Biến đếm>=G.trị Cuối

S

Đ

Trang 5

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

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

1 Yêu cầu học sinh nghiên cứu SGK và

cho biết cấu trúc cung của FOR?

- Giải thích:

<Biến đếm>: là kiểu nguyên kiểu ký tự

- Hỏi: ý nghĩa của <giá trị đầu> <giá trị

cuối>, kiểu dữ liệu của chúng

-Hỏi: Trong bài toán tính tổng, <giá trị

đầu> <giá trị cuối> là bao nhiêu?

- Hỏi: Khi lệnh khác nhau cần lặp lại ta

viết

- Hỏi: trong lệnh tính tổng, lệnh nào cần

lặp lại?

- Hỏi: em có nhận xét gì về <giá trị

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

- Dẫn dắt: Khi có lệnh FOR &/ gọi là

lệnh FOR tiến Turbo Pascal còn có một

loại lệnh for nữa là lệnh for lùi

2 Hãy yêu cầu trình bày cấu trúc của

lệnh for lùi

- Hỏi; so sánh <giá trị đầu> và <giá trị

cuối>?

- Hỏi: Trong 2 bài toán trên lệnh for nào

là phù hợp?

1 Đọc SGK để trả lời FOR < biến đếm>:= <giá trị đầu> to

<giá trị cuối > DO <lệnh cần lặp>;

- Dùng để làm giới hạn cho biến đếm

- Cùng kiểu với <biến đếm>

- <Giá trị đầu > là 1; <giá trị cuối> là 100

- Ta phải sử dụng lệnh ghép (Begin…end;)

S:=S + 1 ;

ai

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

Cấu trúc:

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

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

- Sử dụng dạng tiến là phù hợp

IV Củng cố:

Hiểu &/ ý nghĩa của cấu trúc lặp

Hiểu &/ cú pháp và sự hoạt động của câu lệnh for-do ở cả 2 dạng

Ngày đăng: 01/04/2021, 21:18

🧩 Sản phẩm bạn có thể quan tâm

w