- 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 trúc lặp với số lần lặp biết trớc For….. B
Trang 1Ngày soạn:
Ngày dạy:
Tiết 37 : Bài 7: Câu lệnh lặp
A/ Mục tiêu:
- 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 trúc lặp với số lần lặp biết trớc For… do trong Pascal
- Viết đúng đợc lệnh For do trong một số tình huống đơn giản
- Hiểu lệnh ghép trong Pascal
B/ Chuẩn bị:
GV: Giáo án, SGK
HS: SGK, đọc trớc bài 7: Câu lệnh lặp
C/ Tiến trình dạy - học:
Hoạt động của giáo viên Hoạt động của học sinh
Hoạt động 1: Các công việc phải thực hiện nhiều lần
GV yêu cầu HS đọc SGK khoảng 3
phút
Trong cuộc sống hàng ngày nhiều hoạt
động đợc lặp đi lặp lại nhiều lần
Ví dụ: Tiếng gà trống gáy, tiếng chim
hót, tiếng chuông đồng hồ báo thức em
vào mỗi buổi sáng,…, giờ trả bài kiểm, giờ trả bài kiểm
tra cô giáo lặp đi lặp lại việc gọi tên HS
và ghi điểm vào sổ điểm, cô giáo sẽ
ngừng lại khi đã vào điểm cho tất cả HS
trong lớp
Khi viết chơng trình cho máy tính cũng
vậy Để chỉ cho máy tính thực hiện
đúng công việc ta phải làm nh thế nào?
GV: Để viết một chơng trình trong
Pascal chào từng bạn trong lớp của em
(chơng trình cho phép nhập tên bạn từ
bàn phím và in ra lời chào tơng ứng)
Làm thế nào để chơng trình Pascal của
em có thể thực hiện việc lặp này?
HS đọc SGK
HS nghe GV giảng bài
HS: Phải viết lặp lại trong nhiều câu lệnh
Trang 2mục 2.
Hoạt động 2: Câu lệnh lặp - một lệnh thay cho nhiều lệnh
GV yêu cầu HS nghiên cứu ví dụ 1
(SGK)
Ví dụ 2: Giả sử cần tính tổng của 100
số tự nhiên đầu tiên
1+ 2 + 3 + …, giờ trả bài kiểm+ 100
Cách mô tả các hoạt động lặp trong
thuật toán nh trong các ví dụ trên đợc
gọi là caaus trúc lặp
* Mọi ngôn ngữ lập trình đều có cấu
trúc lặp
HS đọc ví dụ 1 (SGK)
HS mô tả thuật toán
Input: 100 số tự nhiên đầu tiên Output: Tổng 100 số tự nhiên đầu tiên
Bớc 1 Sum 0; i 0
Bớc 2 i i + 1 Bớc 3 Nếu i ≤ 100, thì Sum Sum + 1 và quay lại bớc 2
Bớc 4 Thông báo kết quả và kết thúc thuật toán
Hoạt động 3: Củng cố - luyện tập
GV cho HS làm bài tập 1/ SGK
Bài tập 2/ SGK: Tác dụng của câu lệnh
lặp với số lần biết trớc?
HS làm bài tập 1 (HS tự lấy ví dụ) Bài 2 (SGK): Câu lệnh lặp có tác dụng chỉ dẫn cho máy tính thực hiện lặp lại một câu lệnh hay nhóm câu lệnh với một số lần nhất định Câu lệnh lặp làm đơn giản và giảm nhẹ công sức của ngời viết chơng trình
Hoạt động 4: H ớng dẫn về nhà
- Xem lại các ví dụ mô tả thuật toán các bài toán về cấu trúc lặp (đã học ở các tiết trớc)
- Đọc và nghiên cứu trớc mục 3, mục 4 của bài 7
- Hiểu rõ mọi ngôn ngữ lập trình đều có cấu trúc lặp
Ngày soạn:
Ngày dạy:
Tiết 38: Bài 7: Câu lệnh lặp
A/ Mục tiêu:
- 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 trúc lặp với số lần lặp biết trớc For do trong Pascal
- Viết đúng đợc lệnh For … do trong một số tình huống đơn giản
Trang 3- Hiểu lệnh ghép trong Pascal.
B/ Chuẩn bị:
GV: Giáo án, SGK, …, giờ trả bài kiểm
HS: SGK, đọc trớc bài 7: Câu lệnh lặp,…, giờ trả bài kiểm
C/ Tiến trình dạy - học:
Hoạt động của giáo viên Hoạt động của học sinh
Hoạt động 1: Kiểm tra bài củ
GV nêu yêu cầu kiểm tra
- Để chỉ một hoạt động đợc lặp đi lặp
lại nhiều lần trong Pascal ta dùng câu
lệnh gì?
- Chỉ có ngôn ngữ lập trình Pascal mới
có cấu trúc lặp Đúng hay sai?
HS lên bảng kiểm tra HS: Câu lệnh lặp
HS: Sai (mọi ngôn ngữ lập trình đều có cấu trúc lặp)
Hoạt động 2: Ví dụ về câu lệnh lặp
GV giới thiệu cho HS câu lệnh lặp
th-ờng gặp trong Pascal
For < biến đếm> := <giá trị đầu> to <
giá trị cuối> do <câu lênh>
(GV giải thích ý nghĩa câu lệnh theo
nghĩa tiếng việt)
- For, to, do là các từ khoá
- Biến đếm có kiểu dữ liệu gì?
- Giá trị đầu và giá trị cuối nh thế nào?
- Câu lệnh có thể là câu lệnh đơn giản
hay câu lệnh ghép
GV: Hoạt động của câu lệnh nh sau:
Ban đầu biến đếm đợc gán bằng giá trị
đầu, mỗi lần câu lệnh viết sau từ khoá
do đợc thực hiện biến đếm đợc tăng lên
một đơn vị, câu lệnh đợc thực hiện cho
đến khi biến đếm lớn hơn giá trị cuối.
Số vòng lặp là biết trớc và bằng
Giá trị cuối - giá trị đầu + 1
GV cho HS đọc vídụ 3, 4 (SGK)
HS nghe GV giảng bài
HS: - biến đếm có giá trị đơn kiểu nguyên
- giá trị đầu và giá trị cuối là các biểu thức có
cùng kiểu với biến đếm và giá trị cuối phải lớn
hơn giá trị đầu
HS nghe GV giảng bài
HS đọc ví dụ 3, 4 (SGK)
Hoạt động 3 Tính tổng và tích bằng câu lệnh lặp
Ví dụ: Viết chơng trình tính tổng số tự Chơng trình tính tổng N số tự nhiên đâu tiên
Trang 4nhiên đầu tiên, với N là số tự nhiên đợc
nhập từ bàn phím
GV cho HS tự viết chơng trình trong 3
phút
Ví dụ: Kí hiệu N! là tích của N số tự
nhiên đầu tiên: N! = 1.2.3…, giờ trả bài kiểm N
Viết chơng trình tính N! và in ra màn
hình kết quả của nó
Program Tinh_tong;
Uses crt;
Var N, i: Integer;
S: longint;
Begin clrscr;
Write('Nhap so N = '); Readln(N);
S: = 0;
For i: = 1 to N do S: = S + i;
Writeln('Tổng của ' ,N, ' số tự nhiên đầu tiến = ', S);
Readln End
Program Giai_thua;
Var N, i: integer;
T: longint;
Begin Write('Nhap so N ='); Readln(N);
T: = 1;
For i : = 1 to N do T: = T*i Writeln(N, '! = ', T);
Readln End
Hoạt động 4: Củng cố – luyện tập luyện tập
Bài tập 5 (SGK): Các câu lệnh Pascal
sau có hợp lệ không? Vì sao?
(GV đa đề bài lên màn hình)
Bài 6 (SGK) Hãy mô tả thuật toán để
tính tổng sau
A =
) 2 (
1
5 3
1 4
.
2
1
3
.
1
1
n n
Kết quả: Trừ câu d còn tất cả các câu lệnh đều không hợp lệ
HS suy nghĩ làm bài
Thuật toán tính tổng
A =
) 1 (
1
5 3
1 4 2
1 3 1
1
n n
Bớc 1 Gán A 0, i 1
Bớc 2 A 1
( 2)
i i . Bớc 3 i i + 1
Bớc 4 Nếu i n, quay lại bớc 2
Bớc 5 Ghi kết quả A và kết thúc thuật toán.
Trang 5Hoạt động 5: H ớng dẫn về nhà
- Hiểu hoạt động của cấu trúc lặp với số lần lặp biết trớc For …, giờ trả bài kiểm do trong Pascal
- Viết đúng đợc lệnh For …, giờ trả bài kiểm do trong một số tình huống đơn giản
- Hiểu lệnh ghép trong Pascal
- Làm các bài tập trong SGK, hãy viết chơng trình tính tổng
A =
) 2 (
1
5 3
1 4 2
1 3 1
1
n n