Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (172.41 KB, 5 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<i>Ngày soạn: </i>
<i>Ngày dạy: </i>
<i>Tiết 37</i>
<b>Bài 7: CÂU LỆNH LẶP</b>
<b>I. MỤC TIÊU</b>
<b>1. Kiến thức:</b>
- 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.
<b>2. Kĩ năng:</b>
- Viết đúng được lệnh For...do trong một số tình huống đơn giản.
<b>3. Thái độ:</b>
- Nghiêm túc trong học tập, ham thích lập trình trên máy để giải các bài tập.
<b>4. Định hướng phát triển năng lực</b>
Năng lực tự học; giải quyết vấn đề; sáng tạo; giao tiếp; tự quản lý; hợp tác;
sử dụng công nghệ thông tin và truyền thông; sử dụng ngôn ngữ.
<b>II. PHƯƠNG PHÁP</b>
- Vấn đáp, thuyết trình, thảo luận.
<b>III. CHUẨN BỊ</b>
<b>1. Giáo viên: Nội dung bài, máy tính, SGK.</b>
<b>2. Học sinh: Chuẩn bị nội dung bài học ở nhà, SGK.</b>
<b>IV. TIẾN TRÌNH </b>
<b>1. Ổn định tổ chức: (1’)</b>
<b>2. Kiểm tra bài cũ: Không.</b>
<b>3. Bài mới:</b>
<i> a). Giới thiệu dẫn nhập:</i>
<i> Để máy tính thực hiện tính tổng của 100 số tự nhiên đầu tiên thì chúng ta</i>
phải ra lệnh cho máy bằng lệnh nào? Để trả lời cho câu hỏi trên chúng ta đi vào
nghiên cứu bài học ngày hôm nay...
<i> b). Nội dung bài mới: (37’)</i>
<b>Hoạt động của GV và HS</b> <b>Nội dung </b>
<i>- Mục tiêu: Biết các cơng việc thực</i>
hiện lặp lại nhiều lần.
<i>- Hình thức tổ chức: cá nhân, nhóm</i>
<i>- Kỹ thuật: Động não, vấn đáp, suy</i>
nghĩ.
<i>- Phương pháp: Đàm thoại, đặt vấn</i>
đề, trực quan, thảo luận nhóm.
GV: Hàng ngày chúng ta thường
phải làm một số việc lặp đi lặp lại
một số lần, em hãy lấy ví dụ về một
<b>* Khởi động (5'):</b>
số việc hàng ngày em phải làm?
HS: Trả lời.
HS: Lấy thêm VD khác.
GV: Qua những ví dụ các bạn vừa
lấy ra trên bảng thì những cơng việc
nào chúng ta đã biết trước số lần lặp
đi lặp lại và công việc nào chúng ta
chưa biết số lần lặp lại của nó?
HS: Tách ví dụ thành hai loại (một
loại đã biết trước số lần lặp và một
loại chưa biêt số lần lặp )
GV: Nhận xét và chốt lại.
<b> - Mục tiêu: Biết nhu cầu cần có cấu</b>
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>- Hình thức tổ chức: cá nhân, nhóm</i>
<i>- Kỹ thuật: Động não, vấn đáp, suy</i>
nghĩ.
<i>- Phương pháp: Đàm thoại, đặt vấn</i>
đề, trực quan, thảo luận nhóm.
GV: Yêu cầu HS lên bảng vẽ 3 hình
vng cạnh 20cm, cách nhau 2 đơn
vị.
HS: Thực hiện trên bảng.
GV: Yêu cầu 1 HS khác mô tả lại
cách vẽ 3 hình vng.
HS: Lặp lại thao tác vẽ hình vng
3 lần cách nhau 2 đơn vị.
GV: Mơ tả thuật toán.
GV: Yêu cầu HS lên bảng vẽ một
hình vuông cạnh 1 đơn vị độ dài
(20cm) và yêu cầu cả lớp theo dõi
bạn thực hiện các thao tác trên bảng.
GV: Yêu cầu 1 HS khác mô tả lại các
<b>1. Câu lệnh lặp - một lệnh thay cho</b>
<b>nhiều lệnh (16')</b>
<b>Ví dụ 1: Giả sử ta cần vẽ 3 hình vng</b>
có cạnh 1 đơn vị. Mỗi hình vng là
ảnh dịch chuyển của hình bên trái nó
một khoảng 2 đơn vị. Do đó ta chỉ cần
lặp lại thao tác vẽ hình vng 3 lần.
Thuật tốn để vẽ 3 hình vng có thể
thực hiện như sau:
Bước 1: Vẽ hình vng.
Bước 2: Nếu số hình vng đã vẽ được
ít hơn 3 thì di chuyển bút vẽ về bên phải
2 đơn vị và trở lại bước 1, ngược lại kết
thúc thuật toán.
<b>Thuật tốn mơ tả các bước để vẽ hình</b>
<b>vng.</b>
Bước 1: k ← 0 (k là số đoạn thẳng đã
vẽ được).
Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn
vị độ dài và quay thước 900<sub> sang phải.</sub>
Bước 3: Nếu k<4 thì quay lại bước 2;
ngược lại kết thúc.
Trong đó: k là biến đếm để ghi lại số
cạnh đã vẽ được.
<b>Ví dụ 2: Thuật tốn tính tổng của 100</b>
số tự nhiên đầu tiên: S= 1+2+3+ … +
100
Bước 1: S ← 0; i ← 0.
Bước 2: i← i + 1
bước bạn vẽ trên bảng.
Vậy khi bạn vẽ 1 hình vng đã thực
hiện bao nhiêu thao tác? (hs có thể
chỉ trả lời 4 thao tác là vẽ 4 đoạn
thẳng).
GV: Gợi ý thêm thao tác quay thước.
Các thao tác đó như thế nào?
GV: Như vậy khi vẽ hình vng có
những thao tác lặp đi lặp lại. Thuật
tốn sau sẽ mô tả các bước để vẽ
hình vng.
GV: Mơ tả thuật tốn trên bảng.
GV: Mơ tả thuật tốn tính tổng các
số tự nhiên từ 1→ 100
Cấu trúc mơ tả thuật tốn như trên
GV: Kết luận.
quay lại bước 2.
Bước 4: Thơng báo kết quả và kết thúc
thuật tốn.
Trong đó: i là biến đếm.
- Cách mơ tả các hoạt động lặp trong
thuật toán trên gọi là cấu trúc lặp.
- Mọi ngơn ngữ lập trình đều có cách
chỉ thị cho máy tính thực hiện cấu trúc
lặp chỉ với 1 câu lệnh. Đó là câu lệnh
<i><b>lặp.</b></i>
<i>- Mục tiêu: Hiểu hoạt động của câu</i>
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.
<i>- Hình thức tổ chức: cá nhân, nhóm</i>
<i>- Kỹ thuật: Động não, vấn đáp, suy</i>
nghĩ.
<i>- Phương pháp: Đàm thoại, đặt vấn</i>
đề, trực quan, thảo luận nhóm.
GV: Trình bày cấu trúc vịng lặp For
<i><b>…do</b></i>
HS: Ghi cấu trúc vòng lặp vào vở.
GV: Giải thích từng thành phần
trong cấu trúc lệnh.
HS: Nghe, ghi chép.
GV: vận dụng câu lệnh viết vịng lặp
cho ví dụ 1 phần 1
Var i, tong: integer;
Begin
Tong:=0;
For i: = 1 to 5 do
Tong:= tong + i;
Write(‘tong=’,tong);
Readln;
End.
<b>2. Câu lệnh lặp For …do (16')</b>
- Trong pascal câu lệnh lặp thường gặp có
dạng:
+ Câu lệnh lặp dạng tiến:
<i><b>For <biến đếm>:= <giá trị đầu> to</b></i>
<i><b><giá trị cuối> do <câu lệnh>;</b></i>
<b>Trong đó: </b>
<i><b>+ For, to, do là các từ khoá.</b></i>
+Biến đếm là biến kiểu nguyên.
+ Giá trị đầu, giá trị cuối là số cụ thể
hoặc là biểu thức có kiểu cùng kiểu với
biến đếm, giá trị cuối phải lớn hơn giá
trị đầu.
<b>Ý nghĩa: Khi thực hiện, ban đầu biến</b>
đếm sẽ nhận giá trị đầu. Câu lệnh sẽ
được thực hiện nhiều lần, mỗi lần thực
hiện câu lệnh là một lần lặp và sau mỗi
lần lặp biến đếm sẽ tự động tăng lên 1
đơn vị, tăng cho đến khi giá trị của biến
đếm bằng giá trị cuối thì vịng lặp được
dừng lại.
+ Số lần lặp = giá trị cuối - giá trị đầu +
1
GV: Cho chạy chương trình mẫu đã
gõ trước trong máy, yêu cầu học sinh
quan sát kết quả.
GV: Giải thích kết quả của chương
trình
HS: Đọc và tìm hiểu chương trình ví
dụ 3.
HS: Một em đứng tại chỗ phân tích
hoạt động của ví dụ.
HS: Các em khác thảo luận và cho ý
kiến.
GV: Trình bày cấu trúc câu lệnh
ghép
HS: Nghe, ghi chép.
GV: Cho chạy chương trình mẫu đã
gõ trước trong máy, yêu cầu học sinh
quan sát kết quả.
GV: Giải thích kết quả của chương
trình.
<b>Lần</b>
<b>lặp</b>
<b>thứ</b>
<b>i</b> <b>Kết quả viết ra màn hình</b>
1 1 Day la lan lap thu 1
2 2 Day la lan lap thu 2
3 3 Day la lan lap thu 3
4 4 Day la lan lap thu 4
5 5 Day la lan lap thu 5
6 6 Day la lan lap thu 6
7 7 Day la lan lap thu 7
8 8 Day la lan lap thu 8
9 9 Day la lan lap thu 9
10 10Day la lan lap thu 10
HS: Đọc và tìm hiểu chương trình ví
dụ 4.
HS: Một em đứng tại chỗ phân tích
hoạt động của ví dụ.
HS: Các em khác thảo luận và cho ý
kiến.
GV: Trình bày cấu trúc câu lệnh
ghép
HS: Nghe, ghi chép.
GV: Cho chạy chương trình mẫu đã
<b>Ví dụ 3 (SGK-57): In ra màn hình thứ</b>
tự lần lặp.
Program lap;
Var i: integer;
Begin
For i:=1 to 10 do
Writeln(‘day la lan lap thu’,
i);
Readln;
End.
<b>Ví dụ 4 (SGK-57) Viết chương trình</b>
đưa ra màn hình những chữ “O” theo
hình trứng rơi.
Uses crt;
Var i: integer;
Begin
Clrscr;
For i:=1 to 10 do
Begin
Writeln(‘O’);
Delay(100);
End;
Readln;
End.
- Tập hợp các câu lệnh con được đặt
trong cặp từ khoá Begin… End;
được gọi là câu lệnh ghép.
- Câu lệnh có thể là câu lệnh đơn hoặc
câu lệnh kép.
gõ trước trong máy, yêu cầu học sinh
quan sát kết quả.
GV: Giải thích kết quả của chương
trình.
<b>4. Củng cố (5’): </b>
- ử dụng câu lệnh for...do để viết đoạn câu lệnh nhập tên và hiển thị ra màn
hình lời chào cho các bạn trong lớp.
Giả sử lớp có 40 bạn thì chương trình có thể được viết như sau:
<b>Program Chao_hoi;</b>
<b>Var i: integer; ten: string;</b>
<b>Begin</b>
<b>For i:= 1 to 40 do</b>
<b>Begin</b>
Write('Nhap ten cua ban: '); Readln(ten);
Writeln('Chao ban ', ten);
<b>End;</b>
<b>End.</b>
- Cú pháp câu lệnh lặp For…do?
<b> 5. Hướng dẫn về nhà (2’): </b>
- Về nhà xem lại các kiến thức đã học.
- Bài tập 1, 2 SGK, bài tập 1-4 Vở bài tập.
- Chuẩn bị phần tiếp theo của bài.