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