Bài 10. Cấu trúc lặp
Chia sẻ bởi Nguyễn Phương Thảo |
Ngày 10/05/2019 |
62
Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11
Nội dung tài liệu:
Thùng
Thùng
Nước
Nước
VÍ DỤ ĐẶT VẤN ĐỀ
Đổ 3 ca nước vào trong thùng
Đổ nước vào thùng cho đến khi thùng đầy nước
Tìm điểm giống và khác nhau trong 2 trường hợp trên?
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ( với i =1; 2; 3 ; ...;N)
Xuất phát
Lần 1
Lần 2
+.
Lần N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
PHÂN TÍCH BÀI TOÁN
Sau bao nhiêu lần thực hiện thì bài toán sẽ dừng?
Bài toán 1: Khi N = 100
Bài toán 2: Khi
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Nhận xét : Lặp là thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.
Bài 10
Cấu trúc lặp
(2 tiết)
Cấu trúc lặp
I. Lặp với số lần lặp biết trưuớc
II. Lặp với số lần lặp không biết trưuớc
FOR := TO DO < câu lệnh>;
Ví dụ: S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;
2. Dạng 2 ( Dạng lùi):
FOR := DOWNTO DO ;
Ví dụ: S:=1;
FOR i:=100 DOWNTO 2 DO S:=S+1/i;
1. Dạng 1 (dạng tiến):
I. Lặp với số lần lặp biết trưuớc
Hoạt động nhóm
Cc cu lƯnh Pascal sau c hỵp lƯ khng? V sao ?
Trường hợp 1
For i:=100 to 1 do
Write(‘A’);
For i:=1.5 to 10.5 do
Write(‘A’);
For i:=1 to 10 do
Begin
Write(‘A’);
i:=i+1;
End;
Trường hợp 2
Trường hợp 3
For i:=‘a’ to ‘z’ do
Write(‘i’);
Trường hợp 4
? Giỏ tr? d?u, giỏ tr? cu?i l cỏc bi?u th?c cựng ki?u v?i bi?n d?m, giỏ tr? d?u ph?i nh? hon giỏ tr? cu?i.
For i:= 100 to 200 do write(i);
? Giỏ tr? bi?n d?m du?c di?u ch?nh t? d?ng, vỡ v?y cõu l?nh sau DO khụng du?c thay d?i giỏ tr? bi?n d?m.
? Bi?n d?m l bi?n ki?u s? nguyờn ho?c kớ t?.
For i:=1 to 10 do write(i);
For i:=`a` to `z` do write(i);
I. Lặp với số lần lặp biết trưuớc
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Hãy xác định giá trị khởi đầu của S, quy luật thay đổi giá trị của S và số lần lặp.
I. Lặp với số lần lặp biết trưuớc
Nhóm 1: Xác định thuật toán để sử dụng dạng lặp tiến.
Nhóm 2: Xác định thuật toán để sử dụng dạng lặp lùi.
Nhóm 3: Viết chương trình để giải bài toán trên. Áp dụng lệnh lặp tiến.
Nhóm 4: Viết chương trình để giải bài toán trên. Áp dụng lệnh lặp lùi.
Hoạt động nhóm
Program Tong_1a;
Uses crt;
Var S:real; a,n:Integer;
Begin
clrscr;
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=1 to 100 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:2); (* Buoc 5 *)
Readln;
End.
Program Tong_1b;
Uses crt;
Var S:real; a,n:Integer;
Begin
clrscr;
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=100 downto 1 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:2); (* Buoc 5 *)
Readln;
End.
Chương trình sau cho ra kết quả gì?
Program MAU;
Var a,n:Integer;
Begin
a:=0;
For n:= a+1 to a+3 do
a:=a+n;
write(‘Ket qua la’, a);
Readln;
End.
Ket qua la 6
Hoạt động nhóm
CỦNG CỐ
Với a là số nguyên và a>2. Tính tổng
Cách 1:
Cách 2:
S:=1/a;
For n:=2 to 100 do
Begin
s:=s+1/(a+n); n:=n+2;
End;
S:=1/a;
For n:=2 to 100 do
If n mod 2=0 then
s:=s+1/(a+n);
Đúng
Hoạt động nhóm
CỦNG CỐ
Viết chương trình giải bài toán:
Nhập vào số tự nhiên N và tính tích T
Hoạt động nhóm
CỦNG CỐ
1. Viết chương trình nhập vào n nguyên dương . Tính và đưa ra màn hình tổng sau:
HƯỚNG DẪN HỌC Ở NHÀ
2. Đọc và tìm hiểu câu lệnh While-do; Repeat-Until
3. Viết thuật toán và chương trình cho bài toán 2 phần đặt vấn đề.
Thùng
Nước
Nước
VÍ DỤ ĐẶT VẤN ĐỀ
Đổ 3 ca nước vào trong thùng
Đổ nước vào thùng cho đến khi thùng đầy nước
Tìm điểm giống và khác nhau trong 2 trường hợp trên?
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ( với i =1; 2; 3 ; ...;N)
Xuất phát
Lần 1
Lần 2
+.
Lần N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
PHÂN TÍCH BÀI TOÁN
Sau bao nhiêu lần thực hiện thì bài toán sẽ dừng?
Bài toán 1: Khi N = 100
Bài toán 2: Khi
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Nhận xét : Lặp là thực hiện công việc lặp đi lặp lại khi chưa đủ số lần lặp hoặc khi có một điều kiện nào đó còn đúng.
Bài 10
Cấu trúc lặp
(2 tiết)
Cấu trúc lặp
I. Lặp với số lần lặp biết trưuớc
II. Lặp với số lần lặp không biết trưuớc
FOR
Ví dụ: S:=1;
FOR i:=2 TO 100 DO S:=S+1/i;
2. Dạng 2 ( Dạng lùi):
FOR
Ví dụ: S:=1;
FOR i:=100 DOWNTO 2 DO S:=S+1/i;
1. Dạng 1 (dạng tiến):
I. Lặp với số lần lặp biết trưuớc
Hoạt động nhóm
Cc cu lƯnh Pascal sau c hỵp lƯ khng? V sao ?
Trường hợp 1
For i:=100 to 1 do
Write(‘A’);
For i:=1.5 to 10.5 do
Write(‘A’);
For i:=1 to 10 do
Begin
Write(‘A’);
i:=i+1;
End;
Trường hợp 2
Trường hợp 3
For i:=‘a’ to ‘z’ do
Write(‘i’);
Trường hợp 4
? Giỏ tr? d?u, giỏ tr? cu?i l cỏc bi?u th?c cựng ki?u v?i bi?n d?m, giỏ tr? d?u ph?i nh? hon giỏ tr? cu?i.
For i:= 100 to 200 do write(i);
? Giỏ tr? bi?n d?m du?c di?u ch?nh t? d?ng, vỡ v?y cõu l?nh sau DO khụng du?c thay d?i giỏ tr? bi?n d?m.
? Bi?n d?m l bi?n ki?u s? nguyờn ho?c kớ t?.
For i:=1 to 10 do write(i);
For i:=`a` to `z` do write(i);
I. Lặp với số lần lặp biết trưuớc
Bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
Hãy xác định giá trị khởi đầu của S, quy luật thay đổi giá trị của S và số lần lặp.
I. Lặp với số lần lặp biết trưuớc
Nhóm 1: Xác định thuật toán để sử dụng dạng lặp tiến.
Nhóm 2: Xác định thuật toán để sử dụng dạng lặp lùi.
Nhóm 3: Viết chương trình để giải bài toán trên. Áp dụng lệnh lặp tiến.
Nhóm 4: Viết chương trình để giải bài toán trên. Áp dụng lệnh lặp lùi.
Hoạt động nhóm
Program Tong_1a;
Uses crt;
Var S:real; a,n:Integer;
Begin
clrscr;
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=1 to 100 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:2); (* Buoc 5 *)
Readln;
End.
Program Tong_1b;
Uses crt;
Var S:real; a,n:Integer;
Begin
clrscr;
Write (‘Nhap vao a>2’); Readln(a);
s:=1/a; (* Buoc 1 *)
For n:=100 downto 1 do (* Buoc 2, buoc 3 *)
S:=S+1/(a+n); (* Buoc 4 *)
write(‘Tong S la’,S:5:2); (* Buoc 5 *)
Readln;
End.
Chương trình sau cho ra kết quả gì?
Program MAU;
Var a,n:Integer;
Begin
a:=0;
For n:= a+1 to a+3 do
a:=a+n;
write(‘Ket qua la’, a);
Readln;
End.
Ket qua la 6
Hoạt động nhóm
CỦNG CỐ
Với a là số nguyên và a>2. Tính tổng
Cách 1:
Cách 2:
S:=1/a;
For n:=2 to 100 do
Begin
s:=s+1/(a+n); n:=n+2;
End;
S:=1/a;
For n:=2 to 100 do
If n mod 2=0 then
s:=s+1/(a+n);
Đúng
Hoạt động nhóm
CỦNG CỐ
Viết chương trình giải bài toán:
Nhập vào số tự nhiên N và tính tích T
Hoạt động nhóm
CỦNG CỐ
1. Viết chương trình nhập vào n nguyên dương . Tính và đưa ra màn hình tổng sau:
HƯỚNG DẪN HỌC Ở NHÀ
2. Đọc và tìm hiểu câu lệnh While-do; Repeat-Until
3. Viết thuật toán và chương trình cho bài toán 2 phần đặt vấn đề.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Phương Thảo
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)