Violet
Baigiang

Tìm kiếm theo tiêu đề

Tin tức thư viện

Khắc phục hiện tượng không xuất hiện menu Bộ công cụ Violet trên PowerPoint và Word

12099162 Kính chào các thầy, cô. Khi cài đặt phần mềm , trên PowerPoint và Word sẽ mặc định xuất hiện menu Bộ công cụ Violet để thầy, cô có thể sử dụng các tính năng đặc biệt của phần mềm ngay trên PowerPoint và Word. Tuy nhiên sau khi cài đặt phần mềm , với nhiều máy tính sẽ...
Xem tiếp

Quảng cáo


Coccoc-300x250

Hỗ trợ kĩ thuật

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Bài giảng

Bài 10. Cấu trúc lặp

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thị Ngọc
Ngày gửi: 23h:23' 18-01-2022
Dung lượng: 2.9 MB
Số lượt tải: 216
Số lượt thích: 0 người
Bài 10
CẤU TRÚC LẶP
1. LẶP
Quan sát ví dụ sau:
Dung tích
30 Lít
- VD1: Người thứ nhất dùng một chiếc xô dung tích 1 lít đổ đầy nước vào một chiếc thùng có dung tích 30 lít. Hỏi bao nhiêu lần đổ thì đầy?
- VD2: Người thứ 2 dùng một chiếc xô dung tích 1 lít đổ đầy nước vào một chiếc thùng không rõ dung tích. Hỏi bao nhiêu lần đổ thì đầy?
Sau
30 lần
đổ
Chừng
Nào đầy
thùng
Quá trình như vậy được gọi là lặp
cho đến khi
bài toán 1:
bài toán 2:
Tính tổng S, với a là số nguyên và a>2
Xuất phát
Lần 1
Lần 2

+…
Lần i

Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?

1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với i=1; 2; 3 ; ...;)
a + i

Cùng tìm thuật toán

+…
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trưuớc.
Việc tăng giá trị cho tổng S đuược lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S đưuợc lặp đi lặp lại 100 lần.
tìm sự khác biệt
? Số lần lặp chuưa biết truước.
1/ LẶP
Các loại cấu trúc lặp:
+ Lặp với số lần biết trước.
+ Lặp với số lần chưa biết trước .
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Câu hỏi: Trong các hoạt động dưuới đây, hoạt động nào là hoạt động lặp với số lần biết trưuớc?
Bài toán:
- Dữ liệu ra (Output) : Tổng S
- Dữ liệu vào (Input) : a (a nguyên, a>2)
Với a >2, a là số nguyên. Lập chương trình tính tổng sau:
2/ Lặp với số lần biết trước và câu lệnh For - do
Phân tích bài toán (ý TU?NG)

Nhận xét:
Ban đầu : S := 1/a
Cộng lần 1: S1: = S + 1/(a+1)
Cộng lần 2: S2: = S1 + 1/(a+2)
Cộng lần 3: S3: = S2 + 1/(a+3)


.....
Cộng lần 100: S100: = S99 + 1/(a+100)
Bắt đầu từ lần cộng 1 việc tính S đưuợc lặp đi lặp lại 100 lần theo quy luật
Ssau := Strưuớc+ 1/(a+N)
với N chạy từ 1 ? 100
. . . . . . . . . . . . . . . . . . . .
B1: S?1/a; N?0;
B3: Nếu N >100 thì chuyển đến buước 5;

B4: S? S + 1/(a+N) rồi quay lại bưuớc 2;
B2: N ? N +1;
Xây dựng thuật toán 1a
Nhận xét:
Liệt kê

B5: Đuưa S ra màn hình, rồi kết thúc;
Thuật toán trên, giá trị N bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp N tăng lên 1 cho đến khi N > 100 (N= 101) thì kết thúc lặp (thực hiện 100 lần).
Dựa vào thuật toán trên, em hãy cho biết giá trị N bắt đầu
tham gia vòng lặp là bao nhiêu và kết thúc khi nào?
B1: S?1/a; N?101;
B3: Nếu N < 1 thì đưua ra giá trị S rồi Kết thúc;

B4: S? S + 1/(a+N) rồi quay lại buước 2;
B2: N ? N -1;
Xây dựng thuật toán 1b
Liệt kê

B5: Đuưa S ra màn hình, rồi kết thúc;
 for, to, downto, do: Là từ khóa trong Pascal;
 Biến đếm: Là biến đơn, thường có kiểu nguyên
 Giá trị đầu, giá trị cuối: Là các biểu thức cùng kiểu
với biến đếm (Giá trị đầu nhỏ hơn hoặc bằng giá trị cuối)
FOR := TO DO < Câu lệnh >;
Dạng 2 (dạng lùi)
FOR < Biến đếm > := < Giá trị cuối > DOWNTO < Giá trị đầu > DO;
Dạng 1 (dạng tiến)
2/ Lặp với số lần biết trước và câu lệnh For - do
Ví dụ: FOR n:=1 TO 100 DO S:=S+1/n;
Ví dụ: FOR n:=100 DOWNTO 1 DO S:=S+1/n;
FOR := TO DO < Câu lệnh >;
Hoạt động:
sau từ khóa DO sẽ được thực hiện lặp lại với nhận lần lượt các giá trị liên tiếp tăng từ đến
Dạng 2 (dạng lùi)
FOR < Biến đếm > := < Giá trị cuối > DOWNTO < Giá trị đầu > DO ;
Dạng 1 (dạng tiến)
2/ Lặp với số lần biết trước và câu lệnh For - do
Hoạt động:
sau từ khóa DO sẽ được thực hiện lặp lại với nhận lần lượt các giá trị liên tiếp giảm từ đến

In ra 9 s? 1

In ra các số từ 1 đến 10

In ra các số từ 1 đến 9

Không phương án nào đúng
Cu l?nh sau dy cho k?t qu? l gì?
s:=1; for i:=1 to 9 do
writeln(s);
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Begin
Ghép nhiều câu lệnh

Các câu lệnh d?ng ti?n sau có hợp lệ không? vì sao ?
TL : không hợp lệ, vì giá trị đầu lớn hơn giá trị cuối
For i:=100 to 1 do Write(‘A’);
For i:=1.5 to 10.5 do Write(‘A’);
TL : không hợp lệ, vì giá trị đầu, giá trị cuối là dữ liệu kiểu số thực
For i:=1 to 10 do Write(‘A’);
TL : Hỵp lƯ, k?t qu? : AAAAAAAAAA
For i:=10 to 12 do Write(‘A’);
TL : Hỵp lƯ, k?t qu? : AAA
ví dụ 1: Viết chưuơng trình in ra mn hỡnh 20 cõu: chao cac ban.
Program vidu1;
Uses crt;
Var i: integer;
Begin
clrscr;
For i:= 1 to 20 do
writeln(‘chao cac ban LOP 11A4’);
Readln;
End.
ví dụ 2: Cài đặt thuật toán Tong_1a
1. Bài toán
Dữ liệu ra (Output) : Tổng S
Dữ liệu vào (Input) : Nhập a
Hãy x¸c ®Þnh INPUT, OUTPUT vµ nªu thuËt to¸n gi¶i bµi to¸n trªn?
Cho đến khi
Tính giá trị tổng S, với a là số nguyên và a>2.
thì dừng lại.
II. Lặp với số lần lặp không biết trưuớc
Bưuớc 2:
S:=1/a; N:=1;
{Khởi tạo S và N}
Bưuớc 3:
Nếu 1/(a+N) < 0.0001
=> Bước 5
Bưuớc 4:
S:=S+1/(a+N);
N:=N+1;
=> quay lại bước 3
Thuật toán
Bưuớc 1: Nhập a.
Đuưa ra S
=> Kết thúc
? Vòng lặp chỉ dừng khi 1/(a+N)<0.0001
S
Đ
Bưuớc 5: In S => Kết thúc.
WHILE <Điều kiện> DO ;
Điều kiện
Đúng
Câu lệnh
Điều kiện: Là biểu thức
quan hệ hoặc lôgic.

Câu lệnh: Là một câu lệnh của Pascal.
Sai
2. Lặp với số lần lặp không biết truước
Trong đó:
Chừng nào điều kiện còn đúng thì câu lệnh còn đuược thực hiện.
WHILE 1/(a+N) >= 0.0001 DO
Begin
S:=S+1/(a+N);
N:=N+1;
END;
3. Một số ví dụ
a
Bài toán đặt vấn đề:
Nhận xét:
Chừng nào 1/(a+N)>=0.0001 thì còn thực hiện:
+ Tăng giá trị của tổng S thêm 1/(a+N).
+ Tăng N thêm 1 đơn vị.
Tính giá trị tổng S, với a là số nguyên và a>2
thì dừng lại.
Cho đến khi
Chưuơng trình
Program Bai_toan;
Uses Crt;
Var a,N:Integer;
S:Real;
BEGIN
Clrscr;
Write(`Nhap gia tri cua a= `);Readln(a);
S:=1/a;N:=1;
WHILE 1/(a+N)>=0.0001 DO
BEGIN
S:=S+1/(a+N);
N:=N+1;
END;
Writeln(`Gia tri cua tong S = `,S:8:3);
Readln;
END.
Begin
Thực hiện theo điều kiện
Ghép nhiều câu lệnh

Hãy chỉ ra lỗi trong các câu lệnh sau?
X:=10;
While x:=10 do x:=x+5;
A)
X:=10;
While x=10 do x=x+5;
B)
C)
S:=10; N:=0;
While S<=10 do
n:=n+1;
S:=S+n;
Begin
Thực hiện theo điều kiện
Hãy chỉ ra lỗi trong các câu lệnh sau?
X:=10;
While x:=10 do x:=x+5;
A)
X:=10;
While x=10 do x=x+5;
B)
S:=10; N:=0;
While S<=10 do
n:=n+1;
S:=S+n;
C)
Thừa dấu :
Thiếu dấu :
Thiếu từ khóa begin và end;
Hãy nhí!
Câu lệnh rẽ nhánh.
Câu lệnh lặp
IF <đk> THEN ;
trong pascal
FOR ... TO ... DO ....
IF <đk> THEN
ESLE ;
FOR ... Downto ... DO ...
While <đk> Do ;
Dạng khuyết.
Dạng đầy đủ.
Lặp với số lần lặp biết
trưu?c.
Lặp với số lần lặp không biết trưuớc.
 
Gửi ý kiến