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

Giáo án Tin học 11 - Cấu trúc lặp (tiết 1)

7 10 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 7
Dung lượng 108,71 KB

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

Nội dung

+ Khác: Trong câu lệnh If … then dạng thiếu, nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình còn trong câu lệnh If … then dạng đủ[r]

Trang 1

Giáo án lý thuyết

Cấu trúc lặp (Tiết 1)

I Mục tiêu:

1 Kiến thức:

- Biết được ý nghĩa của cấu trúc lặp

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

- Biết sử dụng đúng 2 dạng lệnh lặp for trong ngôn ngữ lập trình Pascal

2 Kỹ năng:

- Bước đầu sử dụng được lệnh lặp for để lập trình giải quyết một số bài toán đơn giản

II Đồ dùng dạy học:

1 Chuẩn bị của giáo viên:

- Bảng phụ: Sơ đồ khối 2 thuật toán Tong_1a và Tong_1b

III Nội dung:

1 ổn định tổ chức lớp:

Kiểm tra sĩ số: Tổng số: Vắng:

Có phép: Không phép:

2 Kiểm tra bài cũ:

Câu 1: (7đ) Trình bày cú pháp của câu lệnh If … then … ở hai dạng thiếu

và đủ Hãy cho biết sự giống và khác nhau giữa hai câu lệnh trên?

Câu 2: (2đ) Viết câu lệnh thực hiện việc tìm số lớn nhất của 2 số a và b? TL: Câu 1: - Cú pháp câu lệnh If … then …

+ Dạng thiếu: If <điều kiện> then <câu lệnh>;

+ Dạng đủ: If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;

Trang 2

- Sự giống và khác nhau giữa hai câu lệnh trên:

+ Giống: Cùng là câu lệnh cấu trúc rẽ nhánh, khi gặp một điều kiện nào

đó thì chọn thực hiện thao tác thích hợp

+ Khác: Trong câu lệnh If … then dạng thiếu, nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình còn trong câu lệnh If … then dạng đủ, nếu điều kiện không đúng thì thực hiện câu lệnh 2 sau đó mới thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của chương trình

Câu 2: If a > b then max := a else max := b;

Hoặc: max := a; If b > a then max := b;

3 Bài mới:

Đặt vấn đề: Để in ra màn hình 10 dòng chữ “Thi đua dạy tốt, học tốt”

ta dùng câu lệnh nào và phải dùng bao nhiêu lệnh? (TL: Câu lệnh Write(‘Thi dua day tot, hoc tot’); và phải đánh 10 lần câu lệnh trên) Vậy để in ra 1000 dòng chữ như thế ta phải thực hiện như thế nào? Có cách nào để giảm bớt độ phức tạp và đỡ tốn thời gian hơn cách ta đánh 1000 câu lệnh Write như trên không? Chúng ta vào bài hôm nay: Bài 10: Cấu trúc lặp

1 Lặp:

Với a là số nguyên dương và a>=2,

- Bài toán 1: Tính và đưa ra màn

hình tổng:

S =

100

1

2

1 1

1 1

a a

a

a

GV: Đưa ra bài toán tính tổng 1, hãy xác

định công thức để tính tổng?

HS: Rất khó xác định được công thức

GV gợi ý phương pháp: Ta xem S như một cái thùng, các số hạng như những cái ca có dung tích khác nhau Khi đó việc tính tổng trên tương tự như việc đổ các ca nước vào thùng S Vậy có bao nhiêu lần đổ nước vào thùng? Mỗi lần

Trang 3

đổ 1 lượng là bao nhiêu? (Lần thứ i đổ một lượng là bao nhiêu?)

HS: Phải thực hiện 100 lần đổ nước vào thùng Mỗi lần đổ một lượng bằng

i

a 1

GV: Như vậy phải viết bao nhiêu lệnh? HS: Phải viết 100 lệnh

- Bài toán 2: Tính và đưa ra màn

hình tổng:

2

1 1

1

N a a

a

a

cho đến khi < 0,0001

N

a 1

GV: Gợi ý tương tự như bài toán 1 Như vậy ở bài toán 2 có bao nhiêu lần đổ nước vào thùng?

HS: Thực hiện N lần đổ nước vào thùng GV: Đổ đến khi nào thì dừng?

HS: Cho đến khi <0,0001

N

a 1

Lặp là điều khiển thực hiện công

việc lặp đi lặp lại khi chưa đủ số lần

lặp hoặc khi một điều kiện nào đó

còn đúng (còn thoả mãn)

-> Cấu trúc lặp để mô tả các thao tác lặp

được phân biệt 2 loại là: lặp với số lần biết trước (bài toán 1, cụ thể lặp 100 lần)

và lặp với số lần chưa biết trước (bài toán 2, cụ thể cho đến khi

N

a 1

<0,0001)

GV: Qua 2 bài toán trên, em hiểu thế nào là lặp?

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

2 Lặp với số lần biết trước và câu

lệnh For… do…

Thuật toán Tong_1a:

B1: S 1/a; N 0; 

GV: Yêu cầu học sinh theo dõi 2 thuật toán Tong_1a và Tong_1b (SGK – Tr43)

để giải bài toán 1 Giáo viên treo bảng phụ và giải thích thuật toán:

Trang 4

B2: N N + 1;

B3: Nếu N > 100 thì chuyển đến b5;

B4: S S + 1/(a+N) rồi quay lại b 2;

B5: Đưa S ra màn hình, rồi kết thúc;

Thuật toán Tong_1b:

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

B2: N N - 1;

B3: Nếu N < 1 thì chuyển đến b5;

B4: S S + 1/(a+N) rồi quay lại b 2;

B5: Đưa S ra màn hình, rồi kết thúc;

+ Tong_1a: Giá trị N khi bắt đầu tham

gia vòng lặp là 1 và mỗi lần lặp N tăng lên 1 giá trị cho đến khi N>100 thì kết thúc

+ Tong_1b: Giá trị N khi bắt đầu tham

gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 giá trị cho đến khi N<1 thì kết thúc lặp

GV: Những bước nào được lặp lại trong

2 thuật toán trên? Trong mỗi thuật toán

N nhận giá trị là bao nhiêu? Quá trình lặp đến khi nào thì dừng?

HS: 2 thuật toán đều lặp lại b2, 3, 4 + Thuật toán Tong_1a: Ban đầu N = 0, kết thúc vòng lặp N = 101, dừng khi thực hiện đủ 100 lần lặp

+ Thuật toán Tong_1a: Ban đầu N =

101, kết thúc vòng lặp N = 0, dừng khi thực hiện đủ 100 lần lặp

GV: 2 thuật toán trên có số lần lặp là như nhau và thực hiện 100 lần

GV: Lặp với số lần biết trước: Dùng để thực hiện câu lệnh 1 số lần xác định Dạng này dùng một biến điều khiển để

điều khiển vòng lặp Trong Pascal, mỗi lần thực hiện câu lệnh thì biến điều khiển (giả sử là i) được tăng (giảm) tự

Trang 5

động, đến khi biến điều khiển đạt giá trị xác định thì vòng lặp kết thúc

a Cú pháp câu lệnh:

Dạng tiến:

For <biến đếm>:=<giá trị đầu> to

<giá trị cuối> do <câu lệnh>;

Dạng lùi:

For <biến đếm> := <giá trị cuối>

downto <giá trị đầu> do <câu

lệnh>;

GV: Trong Pascal, lặp với số lần biết trước được thể hiện qua câu lệnh For …

do và có 2 dạng tiến và lùi Đưa ra cú pháp câu lệnh

Trong đó: <biến đếm> là biến đơn,

thường có kiểu nguyên

For, to, downto, do: là các từ khoá

Giá trị đầu, giá trị cuối là các biểu

thức cùng kiểu với biến đếm và giá

trị đầu phải nhỏ hơn hoặc bằng giá

trị cuối

Câu lệnh: là 1 câu lệnh của Pascal

(có thể là đơn hoặc ghép)

GV: Bài toán được nêu ở phần đặt vấn

đề được giải quyết như sau: Thay vì viết

1000 lần câu lệnh Write (‘Thi dua day tot, hoc tot’); giờ ta chỉ cần viết 1 câu lệnh For có thể in ra 1000 dòng chữ trên

và có thể hơn thế nữa Câu lệnh như sau: + Dạng tiến: For i:=1 to 1000 do

Write (‘Thi dua day tot, hoc tot’);

+ Dạng lùi: For i:=1000 downto 1 do Write (‘Thi dua day tot, hoc tot’);

GV: ý nghĩa của <giá trị đầu>, <giá trị cuối> và kiểu dữ liệu của chúng?

HS: Dùng làm giới hạn cho biến đếm, cùng kiểu với biến đếm

b Hoạt động:

Dạng lặp tiến: Câu lệnh viết sau từ

GV: Chú ý: Giá trị của biến đếm được

điều chỉnh tự động vì vậy câu lệnh viết

Trang 6

khoá ‘Do’ được thực hiện tuần tự

với biến đếm lần lượt nhận các giá

trị liên tiếp tăng từ <giá trị đầu>

đến <giá trị cuối>

Dạng lặp lùi: Câu lệnh viết sau từ

khoá ‘Do’ được thực hiện tuần tự

với biến đếm lần lượt nhận các giá

trị liên tiếp giảm từ <giá trị cuối>

đến <giá trị đầu>

sau ‘Do’ không được thay đổi biến đếm vì như thế sẽ gây ra tình trạng khó theo dõi và quản lý vòng lặp For … do

GV: Em có nhận xét gì về <giá trị đầu>

và <giá trị cuối>? Nếu giá trị đầu > giá trị cuối thì vòng lặp có được thực hiện không?

HS: <giá trị đầu> <= <giá trị cuối>; Nếu giá trị đầu > giá trị cuối thì vòng lặp không được thực hiện

c Ví dụ 1: Chương trình cài đặt các

thuật toán Tong_1a và Tong_1b

Tính và đưa ra màn hình tổng:

S =

100

1

2

1 1

1 1

a a

a

a

GV: Xác định giá trị đầu, giá trị cuối và lệnh cần lặp?

HS: Giá trị đầu là 1, giá trị cuối là 100, lệnh cần lặp là: S := S + ;

i

a 1

GV: Nhìn vào thuật toán Tong_1a hãy viết đoạn câu lệnh thực hiện việc tính tổng S trên?

HS: S := 1/a;

For N := 1 to 100 do

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

GV: Yêu cầu học sinh tiếp tục hoàn chỉnh và chạy thử chương trình ở nhà

Trang 7

4 Củng cố:

- Những nội dung đã học:

+ Cấu trúc chung của lệnh lặp For

+ Sơ đồ thực hiện của lệnh lặp for

- Câu hỏi và bài tập về nhà:

+ Xem ví dụ 2 Sgk – Tr44, 45

+ Giải bài tập 5a, 6 – Sgk – Tr51

+ Viết chương trình nhập vào 1 số nguyên dương n rồi tính:

S1 = 1 + 3 + 5 + … + (2*n + 1)

S2 = 13 + 23 + 33 + … + n3

Nhận xét của giáo viên hướng dẫn

Ngày đăng: 01/04/2021, 22:10

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

TÀI LIỆU LIÊN QUAN

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

w