- Biết diễn đạt đúng các câu lệnh, soạn được chương trình giải các bài toán đơn giản áp dụng các loại cấu trúc điều khiển.. Thái độ:3[r]
(1)Ngày soạn 14/11/2008
§10 CẤU TRÚC LẶP
(TIẾT 1) A MỤC TIÊU:
1 Kiến thức:
- Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán
- Hiểu cấu trúc lặp với số lần lặp biết trước, cấu trúc lặp kiểm tra điều kiện trước - Bước đầu hình thành kĩ lập trình có cấu trúc lặp
2 Kỹ năng:
- Biết vận dụng đắn loại cấu trúc lặp vào tình cụ thể - Mơ tả thuật tốn số tốn đơn giản có sử dụng lệnh lặp
- Biết diễn đạt câu lệnh, soạn chương trình giải tốn đơn giản áp dụng loại cấu trúc điều khiển
3 Thái độ:
- Xác định thái độ nghiêm túc học tập tiếp xúc với nhiều qui định nghiêm ngặt lập trình,
- Tiếp tục rèn luyện phẩm chất cần thiết người lập trình - Ham muốn giải tập lập trình
B PHƯƠNG PHÁP: Nêu tình có vấn đề, câu hỏi gợi mở
C CHUẨN BỊ CỦA GIÁO VIÊN, HỌC SINH:
1 Chuẩn bị giáo viên: giáo án, phấn, bút, sổ điểm, SGK, dụng cụ trực quan, chương trình minh họa
2 Chuẩn bị học sinh: SGK, vở, bút, thuật toán giáo viên yêu cầu tập nhà
D TIẾN TRÌNH LÊN LỚP:
I Ổn định:
II Kiểm tra cũ:
GV: gọi học sinh lên bảng làm tập nhà:
+ Hãy xây dựng thuật tốn tính tổng đưa kết hình S=1+2+3+…+N, biết N nhập vào từ bàn phím
+ Hãy xây dựng thuật tốn tính tổng S, biết
S= 1+2+3+…+N dừng S>100
III Bài mới:
1 Đặt vấn đề: Cho chương trình sau:
Nhận xét kết thực chương trình Tiết
(2)Trong câu lệnh học có lệnh thể cơng việc thực nhiều lệnh khơng? Vậy muốn thực cơng việc nhiều lần phải làm nào?
2 Triển khai bài:
Hoạt động 1: Tìm hi u v l pể ề ặ
Hoạt động thầy trò Nội dung học
Đề toán toán yêu cầu học sinh nhà làm tập
Kiểm tra học sinh nêu thuật toán toán
Gọi tổ lên bảng dán thuật tốn tổ
HS: quan sát bạn thực bảng suy nghĩ thuật toán
GV: gọi học sinh lớp nhận xét
thuật toán bạn
HS: nhận xét bạn bảng
GV: sửa thuật toán toán đưa
GV: tổng hợp ý kiến đưa thuật toán
GV: thuật thuật tốn
chương trình mơ Crocodile yêu cầu học sinh nhận xét điểm giống khác thuật toán
GV: hãy suy nghĩ thuật toán toán
+ Giống nhau:
Cơng việc tính tổng lặp lặp lại nhiều lần;
+ Khác nhau:
- Thuật tốn dừng tính tổng i>N, lặp với số lần lặp biết trước (N lần); - Thuật tốn dừng tính tổng S>100; lặp với số lần chưa biết trước (S>100)
1 Lặp:
a Bài tốn 1: Tính tổng đưa kết
hình
S=1+2+3+…+N, biết N nhập vào từ bàn phím
* Thuật tốn tong1a;
Bước 1: Nhập N Bước 2: S ← 0; i ←1;
Bước 3: Nếu i >N chuyển đến B6 Bước 4: S ← S+i;
Bước 5: i ← i +1; quay lại Bước Bước 6: Đưa S ; Kết thúc
* Thuật toán tong1b;
Bước 1: Nhập N Bước 2: S ← 0; i ←N;
Bước 3: Nếu i <1 chuyển đến B6 Bước 4: S ← S+i;
Bước 5: i ← i -1; quay lại Bước Bước 6: Đưa S ; Kết thúc
b Bài tốn 2: Tính tổng S, biết
S= 1+2+3+…+N dừng S>100
*Thuật toán tong_2:
Bước 1: S ←0; N ←0;
Bước 2: Nếu S >100 chuyển đến B5 Bước 3: N ←N+1;
Bước 4: S ← S+N; quay lại Bước Bước 5: Đưa S ; Kết thúc
Kết luận:
Trong lập trình, có thao tác, câu lệnh lặp lặp lại nhiều lần tạo thành cấu trúc lặp
(3)- Lặp với số lần chưa biết trước
Hoạt động 2: Lặp với số lần biết trước câu lệnh for – do
Hoạt động thầy trị Nội dung học
Từ thuật tốn tong_1a gợi ý để học sinh nêu lên thuật toán Tong_1b
GV: nhận xét thuật toán học sinh đưa
HS: chú ý lắng nghe
GV: thực minh họa thuật toán theo tong1a tong1b chương trình mơ
GV: gọi HS nhận xét kết sau thực thuật tốn
Nói chung số thuật tốn có thao tác thực lặp lặp lại số lần liên tiếp
=> Lặp với số lần biết trước
GV: thực lệnh cú pháp Pascal yêu cầu học sinh nhận xét
For i:=1 to 10 Writeln(i); For i:=10 downto Writeln(i);
HS: quan sát câu lệnh thực nhận xét câu lệnh
GV: Giải thích cú pháp câu lệnh
GV:
- Muốn in giá trị từ đến 100 làm nào? - Sử dụng hai cú pháp viết lại đoạn in số
- Thấy khác in giá trị nào?
HS:
For i:=1 to 100 write(i:4); For i:=100 downto write(i:4);
GV: Chạy đoạn lệnh chương trình Pascal yêu cầu học sinh nhận xét:
For i:=1 to 10
Begin Write(i); i:= i+1; End; X:=5; y:=15;
2 Lặp với số lần biết trước câu lệnh for - do:
* Thuật toán tong1a;
Bước 1: Nhập N Bước 2: S ! 0; i !1;
Bước 3: Nếu i >N chuyển đến B6 Bước 4: S ! S+i;
Bước 5: i ! i +1; quay lại Bước Bước 6: Đưa S ; Kết thúc
* Thuật toán tong1b;
Bước 1: Nhập N Bước 2: S ! 0; i !N;
Bước 3: Nếu i <1 chuyển đến B6 Bước 4: S ! S+i;
Bước 5: i ! i -1; quay lại Bước Bước 6: Đưa S ; Kết thúc
* Dạng lặp tiến:
For <biến đếm>:=<Giá trị đầu> to <Giá trị cuối> do <câu lệnh>;
* Dạng lặp lùi:
For <biến đếm>:=<Giá trị cuối>
downto <Giá trị đầu> do <câu lệnh>; Trong đó:
- Biến đếm biến đơn, thường có kiểu số nguyên
- Giá trị đầu giá trị cuối: biểu thức kiểu với biến đếm giá trị đầu phải nhỏ giá trị cuối.
Cách thực For- do:
- Ở dạng lặp tiến, câu lệnh sau thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
(4)For x:=x+1 to y
Begin Write(x:4); x:=2; end;
HS: suy nghĩ trả lời
GV: tập hợp ý kiến giải thích cho hs
- Trong vịng lặp khơng nên có câu lệnh gán giá trị làm thay đổi biến điều khiển Trong TP cho phép FP thơng báo lỗi biên dịch
- Các giá trị đầu giá trị cuối biểu thức Giá trị tính trước vào vòng lặp làm nhiệm vụ giá trị đầu giá trị cuối Do đó, vịng lặp có biến nằm biểu thức bị thay đổi giá trị đầu giá trị cuối không thay đổi
GV: áp dụng cú pháp học thuật tốn 1a em lên viết câu lệnh lặp tính tổng
HS: suy nghĩ, áp dụng cú pháp để trả lời câu hỏi
GV: Chạy chương trình Pascal
HS: ý quan sát kết chạy chương trình
GV: Mở chương trình Violet để trắc nghiệm số câu hỏi
đầu đến giá trị cuối.
Chú ý:
- Giá trị đầu giá trị cuối biểu thức
- Trong vịng lặp khơng nên có câu lệnh làm thay đổi giá trị biến điều khiển
Chương trình thuật tốn 1:
Program tong1; Var S,i,N:byte; Begin
Write('Nhap gia tri N: '); Readln(N); S:=0;
For i:=1 to N S:=S+i; Writeln(‘Tong la: ‘,S); Readln;
End
IV Củng cố:
Câu 1: Kết S sau thực đoạn lệnh sau:
S:=0; For i:=1 to do; S:=S+i; a b c 3 d
Câu 2: Đoạn lệnh sau cho kết S bao nhiêu:
S:=0; For i:=3 downto S:=S+1; a b c 3 d
Câu 3: Hãy chọn đúng/ sai cho phát biểu sau đây:
(5)b X biến kiểu thực; Ta có câu lệnh lặp For X:=1 to 100 S:=s+x; c S, i kiểu nguyên; Câu lệnh For i:=1 to S:=S+1;
Câu lệnh S:=S+1; lặp lần
d Sau DO muốn thực nhiều lệnh phải sử dụng câu lệnh ghép.
I
V Dặn dò, hướng dẫn học sinh học tập nhà
- Xem lại cách viết chương trình TP đơn giản Làm tập 3,5a, SGK (trang 51)
2 P = 1- + - +…+(-1)n+1n P=1*2*3*4*…*n
- Chuẩn bị mới: Bài 10 Cấu trúc lặp (tt) Duyệt Tổ trưởng CM/ Hiệu trưởng :