1. Trang chủ
  2. » Giáo án - Bài giảng

Vòng lặp For

19 705 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 206 KB

Nội dung

Mục tiêu: a Kiến thức: - Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình; - Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nà

Trang 1

Tiết 37, 38: CÂU LỆNH LẶP

I Mục tiêu:

a) Kiến thức:

- Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập

trình;

- Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một

số lần;

- Hiểu hoạt động của câu lênh lặp với số lần biết trước for do trong Pascal;

- Biết lệnh ghép trong Pascal.

Trang 2

b) Kỹ năng:

- Viết đúng lệnh for do trong một số tình huống đơn giản;

- Hiểu cách viết đúng các quy tắc, cú pháp trong ngôn ngữ cụ thể khi dùng vòng lặp for;

- Đọc hiểu được chương trình có sử dụng vòng lặp

for do;

c) Thái độ:

-Nhận thức được vai trò quan trọng của vòng lặp xác định for do là giúp thực hiện các công việc lặp lại

nhiều lần một cách khoa học, nhanh chóng, không dài dòng, tránh nhàm chán, dễ sai sót và tốn thời gian;

- Có ý thức trong học tập.

Trang 3

GV: - Giáo án, máy Projector, bảng và bút;

- Một số ví dụ bài tập về vòng lặp for do;

HS: - SGK, vở để ghi;

III Lưu ý sư phạm:

- Dạy để học sinh hiểu cách sử dụng vòng lặp for do trong mọi ngôn ngữ lập trình;

- Ứng dụng vòng lặp được minh họa bằng ngôn ngữ Pascal, không phải nhất nhất áp đặc học sinh vào

ngôn ngữ Pascal;

- Không nên đưa vào các kiến thức ngoài SGK quá

nhiều nhằm tránh gây quá tải đối với học sinh.

Trang 4

IV Hoạt động dạy và học:

A.Kiểm tra bài cũ: câu điều kiện, cấu trúc rẽ nhánh B.Bài mới:

1 Hoạt động 1: Giới thiệu các công việc phải lặp nhiều lần

Mục tiêu: giúp học sinh nhận biết và phân biệt được

các công việc lặp lại nhiều lần trong đời sống hằng

ngày

Trang 5

Câu hỏi: Trong đời sống hằng

ngày có rất nhiều công việc được

lặp đi lặp lại, em nào cho biết

một vài ví dụ?

GV cho thêm vào ví dụ: mỗi

sáng thứ 2 đều chào cờ đầu tuần,

hoặc cô giáo lặp đi lặp lại việc gọi

học sinh lên trả bài và ghi điểm,

cô giáo sẽ ngừng lại cho đến khi

đã vào điểm cho tất cả học

sinh

GV chốt lại: đó là các công việc,

các hoạt động được thực hiện

bằng cách lặp đi lặp lại nhiều lần,

được chia làm 2 kiểu lặp: lặp với

số lần nhất định, biết trước và lặp

với số lần không xác định được

Câu hỏi: ví dụ nào là lặp với số

lần xác định được, ví dụ nào là

lặp với số lần không xác định

được?

GV: Nhận xét đánh giá

- GV cho học sinh ghi vào vở

Thảo luận trả lời:

-Tiếng gà gáy mỗi sáng, tiếng trống trường sau mỗi tiết học,

đánh răng trước khi đi ngủ và mỗi sáng thức dậy

- Hằng ngày em đi học

HS lắng nghe

Một vài học sinh trả lời

HS Lắng nghe

HS ghi vào vở

1 Các công việc phải thực hiện nhiều lần:

- lặp với số lần nhất định và biết trước:

đánh răng mỗi ngày 2 lần, ngày ăn cơn 3 lần

- lặp với số lần không thể xác định trước: học cho đến khi thuộc bài

Trang 6

HĐ giáo viên HĐ học sinh Nội dung

-Xét VD1 : Vẽ 3 hình vuông

bằng nhau

Ta phải vẽ lần lượt 3 hình

Nhưng với câu lệnh lặp, ta chỉ

cần vẽ một hình vuông, rồi lặp

lại cho 2 hình vuông kia Ta có

thuật toán như thế nào?

- Gọii một HS nêu thuật toán

- GV: nhận xét, giải thích các

bước lặp của thuật toán

VD1:HS quan sát

- Một HS nêu thuật toán:

B1: Vẽ hình vuông đầu tiên

B2: Xét nếu hình vuông vẽ được ít hơn 3 thì di chuyển

về phải 2 đơn vị, trở

về bước 1để tiếp tục vẽ; Ngược lại kết thúc thuật toán

- HS: thảo luận, bổ sung

2 Câu lệnh lặp – một lệnh thay cho nhiều lệnh:

2 Hoạt động 2: Giới thiệu câu lệnh lặp, cấu trúc lặp.

Mục tiêu: Biết câu lệnh lặp với số lần biết trước và chức năng nó Cách thực hiện: Cho một số ví dụ để hoc sinh trình bày thuật

toán GV nhận xét và đưa ra kết luận.

Trang 7

VD2: Tính tổng của 100 số tự

nhiên đầu tiên S= 1+2+3+

+100

Gọi một học sinh nêu thuật toán

- GV: nhận xét, giải thích các

bước lặp của thuật toán

VD3: In ra màn hình số lần lặp từ

15

- GV: nhận xét, giải thích các

bước lặp của thuật toán

* Qua 3 ví dụ GV giải thích đưa ra

kết luận: Cách mô tả các hoạt

động trong thuật toán như ở các

ví dụ được gọi là cấu trúc lặp Vậy

cấu trúc lặp có vai trò gì?

- GV: chốt lại cho HS ghi vào vở

* Giải thích câu lệnh lặp: là cách

để điều kiển máy tính thực hiện

cấu trúc lặp

VD2:Một HS nêu thuật toán:

B1: S0; i 0 B2: ii + 1 B3: nếu i<=100 thì SS+i và quay lại B2

B4: kết thúc thuật toán

- HS: thảo luận, bổ sung

VD3: HS trình bày thuật toán:

B1: i1 B2: Viết ra lần lặp thứ i, ii+1 B3: nếu i<=5 thì quay lại B2 B4: Kết thúc thuật toán

- HS: thảo luận, bổ sung

- HS thảo luận trả lời

HS ghi vào vở

- Cấu trúc lặp được sử dụng

để chỉ thị cho máy tính thực hiện lặp đi lặp lại một hoạt động nào đó cho đến khi một điều kiện nào

đó được thỏa mãn

- Câu lệnh lặp:

là “cách” để chỉ thị máy tính thực hiện cấu trúc lặp.

Trang 8

HĐ giáo viên HĐ học sinh Nội dung

-Trở lại với VD2 : minh họa

với ngôn ngữ pascal: HS quan sát ví dụ

- HS lên viết cấu trúc

- Thảo luận nhận xét

3 Ví dụ về câu lệnh lặp:

Cấu trúc :

3 Hoạt động 3: Cấu trúc câu lệnh lặp

Mục tiêu:

- Biết cấu trúc câu lệnh của vòng lặp biết trước số lần lặp

for do

- Hiểu nguyên tắc hoạt động của câu lệnh lặp

- Hiểu câu lệnh đơn, câu lệnh ghép.

Cách thực hiện: Sử dụng ngôn ngữ pascal để minh họa ví dụ

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

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

Program Lap;

Var i: integer;

Begin

For i:= 1 to 5 do

Writeln(‘Day la lan lap thu:’, i);

Readln;

End.

Cấu trúc lặp đã được mô

tả bằng câu lệnh lặp

của ngôn ngữ pascal.

Câu hỏi: dựa vào ví dụ, mời 1

bạn lên viết cấu trúc câu lệnh lặp

-GV nhận xét đưa ra cấu trúc câu

lệnh lặp

B1: i 1 B2: Viết ra lần lặp thứ i, i i+1 B3: nếu i<=5 thì quay lại B2 B4: Kết thúc thuật toán

Trang 9

Cùng HS phân tích cú pháp:

+ Giá trị đầu, giá trị cuối luôn là

kiểu dữ liệu gì?

+ biến đếm: biến đầu tiên được

gán giá trị đầu, mỗi lần thực

hiện thì biến đếm tăng 1 đơn vị

từ giá trị đầu đến giá trị cuối

Vậy biến đếm có kiểu dữ liệu

gì? Giá trị cuối như thế nào so

với giá trị đầu?

- Cùng học sinh phân tích

hoạt động: Đầu tiên biến đếm

gán bằng giá trị đầu, sau đó giá

trị biến đếm tăng dần 1 đơn vị

từ giá trị đầu đến giá trị cuối

và câu lệnh được thực hiện mỗi

lần tăng biến đếm cho đến khi

biến đếm vượt quá giá trị cuối

thì kết thúc.

- Dữ liệu kiểu số nguyên

- HS trả lời:

kiểu nguyên, giá trị cuối >=

giá trị đầu

-HS ghi vào vở

-HS lắng nghe

Trong đó:

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

cuối : là các biểu thức có cùng kiểu với biến đếm Giá trị cuối phải lớn hơn hoặc bằng giá trị đầu;

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

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

Trang 10

HĐ giáo viên HĐ học sinh Nội dung

Cho HS ghi hoạt động vào

vở.

Cho HS ghi ví dụ vào vở

* Bài tập ví dụ: Dùng lênh

for do viết đoạn lệnh nhập

tên và hiển thị ra màn hình

40 bạn trong lớp em.

- Gọi một HS lên bảng viết

HS theo dõi

HS Ghi vở

HS theo dõi

HS ghi ví dụ vào vở

HS viết vào giấy nháp

gán bằng giá trị đầu, sau đó giá trị biến đếm tăng dần 1 đơn

vị từ giá trị đầu đến giá trị cuối và câu lệnh được thực hiện mỗi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối thì kết thúc.

Ví dụ một chương trình viết bằng Pascal:

GV Cho chạy chậm VD3:

-Một HS lên bảng viết

Trang 11

Câu hỏi : Ở VD2 và bài

tập bạn làm em thấy

trong câu lệnh lặp có gì

khác nhau?

GV chốt lại: sau khóa do

có nhiều câu lệnh thì

phải gói trong khối

begin end Begin end

này được coi là câu lệnh

ghép của pascal, sau end

là dấu ;

- HS thảo luận trả lời

+ VD2: sau do là 1 câu lệnh

+ Bài tập: sau do

là các câu lệnh nằm trong khối Begin end

HS lắng nghe ghi vào vở

* Chú ý: Câu lệnh

có thể là câu lệnh đơn hoặc câu lệnh ghép

Trang 12

4 Hoạt động 4: một số ví dụ sử dụng câu lệnh lặp Mục tiêu:

- làm quen thêm với các tình huống sử dụng câu lệnh lặp for do và lệnh ghép

- Hướng dẫn học sinh viết chương trình bằng ngôn ngữ

lập trình.

Cách tiến hành: Sử dụng ngôn ngữ pascal để giải các

bài toán.

Trang 13

*Cho HS ghi đề ví dụ 4

vào vở và làm.

- Gọi một HS nhắc lại

thuật toán tính tổng N.

- GV hướng dẫn cách

làm :

+ Tổng N rất lớn nên khai

báo kiểu dữ liệu gì?

+ gán S 0, giá thị đầu

= 1thi S:= S+1

HS ghi đề vào vở

HS trả lời

-HS tự làm vào giấy nháp

4 Tính tổng và tích bằng câu lệnh lặp:

Ví dụ 4: Tính tổng của N số

tự nhiên đầu tiên, N được nhập từ bàn phím.

Program Tinh_tong;

Var N, i : integer;

S: real;

Begin Write(‘Nhap so N = ’); readln(N);

S:= 0;

For i := 1 to N do S:= S+i;

Writeln(‘Tong cua’,N, ‘so

tu nhien dau tien S=’, S);

End.

Trang 14

HĐ giáo viên HĐ học sinh Nội dung

*Cho HS ghi đề ví dụ 5 vào

vở và làm

- Giải thích tích N số tự nhiên

đầu tiên là N!=1.2.3 N

- Gọi một HS trình bày thuật

toán tính tổng N

- GV hướng dẫn thuật toán

và cách làm :

+ Tích N rất lớn nên khai báo

kiểu dữ liệu gì?

+gán P 1 và khi giá trị đầu

=1 thì P:=P*1

* GV gọi 2 HS lên bảng giải

- GV sửa bài và cho HS ghi

vào vở

* Nhắc nhở HS: cấu trúc lặp

được được viết ở mọi ngôn

ngữ lập trình, ta đang viết

bằng pascal, ta cũng có thể

viết bằng ngôn ngữ khác( C,

java, basic )

HS ghi đề vào vở

HS trả lời

- HS tự làm vào giấy nháp

- 2 HS lên bảng

-HS nhận xét, bổ sung

-Ghi vào vở

HS lắng nghe

Ví dụ 5: Tính tích của N số

tự nhiên đầu tiên.(Kí hiệu: N!=1.2.3 N)

Program Tinh_giai_thua; Var N, i : integer;

P: real;

Begin Write(‘Nhap so N = ’); readln(N);

P:= 1;

For i := 1 to N do P:= P*i;

Writeln(N, ‘! = ’,P );

End.

* Chú ý: N! là số rất lớn nên cần khai báo biến chứa giá trị của nó đủ lớn

Trang 15

- Cũng cố lại câu lệnh lặp

- Cho bài tập về nhà

- Làm các bài tập ở sách giáo khoa

- Làm các bài tập trong bài thực hành 5 để tiết sau thực hành.

- Nhận xét tiết học, đánh giá tiết học

HẾT

Trang 16

Lần lặp

Trang 17

Program lap;

Var i: integer;

Begin

For i:= 1 to 5 do

Writeln(‘Day la lan lap thu:’,i);

Readln;

End.

Trang 18

Program chao_hoi;

Var i:integer; ten: string;

Begin

For i:=1 to 40 do

Begin

Write(‘nhap ten:’); readln(ten); Write(‘chao ban:’,ten);

End;

End.

Trang 19

Program chao_hoi;

Var i:integer; ten: string;

Begin

For i:=1 to 40 do

Begin

Write(‘nhap ten:’); readln(ten); Write(‘chao ban:’,ten);

End;

End.

Ngày đăng: 09/06/2013, 01:26

Xem thêm

TỪ KHÓA LIÊN QUAN

w