Bài giảng Tin học Lớp 11 - Cấu trúc lặp và câu lệnh For - Nguyễn Lê Hiếu

Bài giảng Tin học Lớp 11 - Cấu trúc lặp và câu lệnh For - Nguyễn Lê Hiếu

Các khái niệm

Lặp là việc thực hiện đi thực hiện lại một hoặc một vài công việc nào đó. Ví dụ: múc nước đổ vào thùng

Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp đó

trong thuật toán. Ví dụ:

 

Có những loại lặp nào?

Giống nhau: ở thao tác lặp: múc nước đổ vào thùng

Khác nhau: số lần lặp

 C: Số lần lặp là 100; D: Số lần lặp chưa biết

 

pptx 35 trang Ngát Lê 25/10/2024 480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học Lớp 11 - Cấu trúc lặp và câu lệnh For - Nguyễn Lê Hiếu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu 
1 
Lặp và cấu trúc lặp 
3 
Các bài tập áp dụng và nâng cao 
2 
Câu lệnh For 
Cấu trúc lặp và câu lệnh lặp 
Gv: Nguyễn Lê Hiếu 
THPT Lệ Thủy – Q. Bình 
Chương III: 
Cấu trúc rẽ nhánh và lặp 
Bài: CẤU TRÚC LẶP VÀ CÂU LỆNH FOR 
TIN HỌC 11 
Kiểm tra bài cũ 
BÀI TẬP TRẮC NGHIỆM 
(gồm 5 câu, mỗi câu 2 điểm) 
Chúc các em làm bài tốt! 
Câu 1 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trải lời của em là: 
Đáp án đúng là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Câu 1: Em hãy cho biết trong các cú pháp sau đây, đâu là cú pháp của câu lệnh If - then dạng đủ ? 
A) 
Begin End; 
B) 
If then ; 
C) 
If do ; 
D) 
If then else ; 
Câu 2 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trải lời của em là: 
Đáp án đúng là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Câu 2: Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong câu lệnh rẽ nhánh If - then ? 
A) 
A + B 
B) 
A > B 
C) 
N mod 100 
D) 
“A nho hon B” 
Câu 3 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trải lời của em là: 
Đáp án đúng là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Câu 3: Hãy chọn cách dùng sai . Muốn dùng biến X lưu giá trị nhỏ hơn trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau: 
A) 
if A < B then X := A; 
B) 
if A <= B then X := A else X := B; 
C) 
X := B; if A < B then X := A; 
D) 
if A < B then X := A else X := B; 
Câu 4 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trải lời của em là: 
Đáp án đúng là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Câu 4: Em cho biết khi chạy chương trình dưới thì báo lỗi ở dòng nào ? 
{ dòng 1} Var a, b, t : real; 
{ dòng 2} Begin 
{ dòng 3} 	if b<>0 then t := a/b; 
{ dòng 4} 	else 
{ dòng 5} 	writeln(‘Mau bang 0, khong chia duoc’); 
{ dòng 6} End. 
A) 
Dòng 1 
B) 
Dòng 3 
C) 
Dòng 4 
D) 
Dòng 5 
Câu 5 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trải lời của em là: 
Đáp án đúng là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Câu 5: Cho đoạn CT: 
	 x :=2; y:=3; 
	IF x > y THEN F:= 2*x – y 
	ELSE IF x=y THEN F:= 2*x ELSE F:= x*x + y*y ; 
Sau khi thực hiện CT, giá trị F là: 
A) 
F = 1 
B) 
F = 13 
C) 
F = 4 
D) 
Không xác định 
Kết quả kiểm tra bài cũ 
Điểm 
{score} 
Trên tổng điểm 
{max-score} 
Số lần làm bài 
{total-attempts} 
Question Feedback/Review Information Will Appear Here 
Xem lại 
Tiếp tục 
1. Các khái niệm 
Lặp là việc thực hiện đi thực hiện lại một hoặc một vài công việc nào đó. Ví dụ: múc nước đổ vào thùng 
Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp đó trong thuật toán . Ví dụ: 
True 
False 
Kiểm tra đầy thùng? 
Múc thêm 1 ca đổ vào thùng 
1. Các khái niệm 
Có những loại lặp nào? 
Ví dụ 1: 
Giống nhau: Ở thao tác lặp chạy vòng quanh sân 
Khác nhau : Số lần lặp 
 A: Số lần lặp là 10; B: Số lần lặp chưa biết 
A 
A: chạy 10 vòng quanh sân 
B 
B: chạy quanh sân đến khi mệt 
1. Các khái niệm 
Có những loại lặp nào? 
Ví dụ 2: 
Giống nhau: ở thao tác lặp : múc nước đổ vào thùng 
Khác nhau : số lần lặp 
 C: Số lần lặp là 100; D: Số lần lặp chưa biết 
C: đổ nước đầy thùng 
D: đổ nước đầy thùng 
1. Khái niệm 
Có những loại lặp nào? 
Lặp với số lần lặp biết trước 
Lặp với số lần lặp chưa biết trước 
Nội dung tiếp theo 
2. LẶP VỚI SỐ LẦN LẶP BIẾT TRƯỚC 
Chúc các em học tốt! 
2. Lặp với số lần lặp biết trước 
Bài toán 1: Viết chương trình tính tổng S 
Câu hỏi: 
Có bao nhiêu lần đổ nước vào thùng 
Mỗi lần ta đổ một lượng bao nhiêu? 
Khi gõ lệnh ta gặp phải vấn đề gì? 
100 lần 
1/(a+i); S=S+1/(a+i); 
Gõ tổng 100 số hạng 
01:00 
00:59 
00:58 
00:57 
00:56 
00:55 
00:07 
00:06 
00:05 
00:04 
00:03 
00:02 
00:01 
00:00 
Thời gian 1 phút bắt đầu! 
(để tiện cho BGK, thời gian được rút ngắn lại) 
2. Lặp với số lần lặp biết trước 
Xác định bài toán và viết thuật toán: 
Bài toán 1: 
03:00 
02:59 
02:58 
02:57 
02:56 
02:55 
00:07 
00:06 
00:05 
00:04 
00:03 
00:02 
00:01 
00:00 
Thời gian 3 phút bắt đầu! 
(để tiện cho BGK, thời gian được rút ngắn lại) 
Xác định bài toán: Input: a; Output: S 
Thuật toán : 
Bước 1: Nhập a; i  0; S  0; 
Bước 2: i  i +1; 
Bước 3: Nếu i >100 thì chuyển đến bước 5; 
Bước 4: S  S + 1/(a+i); 
	 	 Quay lại bước 2; 
Bước 5: Thông báo giá trị tổng S rồi kết thúc . 
3. Câu lệnh FOR 
Cú pháp dạng tiến: 
Ví dụ: 
For i:=1 to 5 do writeln(‘ i= ‘, i); 
FOR := TO DO ; 
Trong đó: 
Biến đếm: là biến kiểu nguyên, kí tự hoặc miền con 
Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm 
 thực hiện khi giá trị đầu <= giá trị cuối 
i= 1 
i= 2 
i= 3 
i= 4 
i = 5 
Kết quả khi thực hiện: 
Số lần lặp = 
GT cuối – GT đầu + 1 
3. Câu lệnh FOR 
Cú pháp dạng lùi: 
Ví dụ: 
For i:=5 down to 1 do writeln(‘ i=‘, i); 
FOR := DOWNTO DO ; 
Trong đó: 
Biến đếm: là biến kiểu nguyên, kí tự hoặc miền con 
Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm 
 thực hiện khi giá trị đầu <= giá trị cuối 
i= 5 
i= 4 
i= 3 
i= 2 
i= 1 
Kết quả khi thực hiện: 
Số lần lặp = 
GT cuối – GT đầu + 1 
3. Câu lệnh FOR 
Cú pháp: 
FOR := DOWNTO DO ; 
Ví dụ: Xuất ra màn hình hai dòng ‘I love Pascal’ 
Writeln (‘I love Pascal ’); 
Writeln (‘I love Pascal ’); 
Xuất ra màn hình 100 dòng ‘I love Pascal’ 
FOR := TO DO ; 
Oh no 
For i:= 1 to 100 do Writeln(‘I love Pascal ’); 
Hoặc 
For i:= 100 downto 1 do Writeln(‘I love Pascal’); 
20 
19 
05 
04 
03 
02 
01 
00 
20 giây bắt đầu 
Oh yeahhh 
3. Câu lệnh FOR 
Ví dụ: Xuất bảng chữ cái tiếng Anh ra màn hình 
4. Một số ví dụ 
Em hãy xác định: 
Giá trị đầu, giá trị cuối. 
Lệnh cần lặp lại, sau đó viết câu lệnh để tính tổng S 
Câu trả lời là: 
Giá trị đầu là 1, giá trị cuối là 100. 
Lệnh cần lặp lại: S := S + 1/(a+i); 
S := 0; 
For i:=1 to 100 do S:=S+1/(a+i); 
01:00 
00:59 
00:58 
00:57 
00:56 
00:55 
00:07 
00:06 
00:05 
00:04 
00:03 
00:02 
00:01 
00:00 
Thời gian 1 phút bắt đầu! 
Bài toán 1: 
4. Một số ví dụ 
Bài toán 1: 
4. Một số ví dụ 
Bài toán 2 : Một người có số tiền là S , ông ta gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng . Hỏi sau 12 tháng gửi tiết kiệm (không rút tiền lãi hàng tháng), ông ta được tổng cộng là bao nhiêu tiền? 
Xác định bài toán : 
Input: Số tiền ban đầu S; Output: Số tiền thu được sau 12 gửi 
Phân tích bài toán : 
Với số tiền S, sau mỗi tháng sẽ có tiền lãi là 0.015*S. 
Số tiền này sẽ được cộng vào trong số tiền ban đầu để tính lãi cho tháng tiếp theo. 
S := S + 0.015*S 
4. Một số ví dụ 
Bài toán 2 : Một người có số tiền là S , ông ta gửi tiết kiệm ngân hàng với lãi suất 1.5%/tháng . Hỏi sau 12 tháng gửi tiết kiệm (không rút tiền lãi hàng tháng), ông ta được tổng cộng là bao nhiêu tiền? 
Câu hỏi 
Dấu hiệu lặp là gì? 
Lặp bao nhiêu lần? 
Viết thuật toán bằng SĐK? 
03:00 
02:59 
02:58 
02:57 
02:56 
02:55 
00:07 
00:06 
00:05 
00:04 
00:03 
00:02 
00:01 
00:00 
Thời gian 3 phút bắt đầu! 
03:00 
02:59 
02:58 
02:57 
02:56 
02:55 
00:07 
00:06 
00:05 
00:04 
00:03 
00:02 
00:01 
00:00 
Thời gian 3 phút bắt đầu! 
4. Một số ví dụ 
Chương trình b ài toán 2 : 
Biến đếm được điều chỉnh tự động, ta không tác động vào biến đếm 
5. Bài tập cuối bài 
BÀI TẬP TRẮC NGHIỆM 
(gồm 5 câu, mỗi câu 2 điểm) 
Chúc các em làm bài tốt! 
Câu 1 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Cho hai dạng lặp FOR trong PASCAL như sau: ( trong đó : ) 
Dạng tiến: FOR := TO DO ; 
Dạng lùi: FOR := DOWNTO DO ; 
Chọn phát biểu sai trong các phát biểu đưới dây : 
A) 
Biến đếm là biến đơn, kiểu nguyên hoặc kí tự hoặc miền con. 
B) 
Với mỗi giá trị của biến đếm trong khoảng từ giá trị đầu đến giá trị cuối, câu lệnh sau DO được thực hiện một lần. 
C) 
Phải có lệnh thay đổi biến đếm trong mỗi sau DO trong cấu trúc lặp này, vì giá trị của biến đếm không được tự động điều chỉnh sau mỗi lần thực hiện câu lệnh lặp. 
D) 
Ở dạng lặp tiến câu lệnh sau DO được thực hiện tuần tự, với biến đếm lần lượt nhận giá trị từ giá trị đầu đến giá trị cuối. 
Câu 2 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Hãy cho biết đâu là đoạn lệnh lặp bằng câu lệnh For để tính: 
S = 1 + 2 + 3 + ... + 10? 
A) 
S:=0; for i:=1 to 10 do begin S:=S+i; i:=i+1; end; 
B) 
S:=0; for i:=1 to 10 do S:=i + 1; 
C) 
S:=0; for i:=1 to 10 do S:=S + i; 
D) 
S:=0; for i:=1 downto 10 do S:=S + i; 
Câu 3 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? 
For i := 10 downto 1 do write(i, ‘ ’); 
A) 
1 2 3 4 5 6 7 8 9 10 
B) 
10 9 8 7 6 5 4 3 2 1 
C) 
Đưa ra 10 dấu cách 
D) 
Không đưa ra kết quả gì 
Câu 4 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau đưa ra màn hình kết quả gì ? 
For i := 10 to 1 do write(i, ‘ ’); 
A) 
1 2 3 4 5 6 7 8 9 10 
B) 
10 9 8 7 6 5 4 3 2 1 
C) 
Đưa ra 10 dấu cách 
D) 
Không đưa ra kết quả gì 
Câu 5 
Em trả lời đúng rồi - Click để tiếp tục nhé! 
Em trả lời sai rồi - Click để tiếp tục nhé! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Em phải hoàn thành bài tập trước khi tiếp tục! 
Trả lời 
Bỏ chọn 
Trong NNLT Pascal, đoạn chương trình sau thực hiện công việc gì ? 
 T := 0 ; 
 For i := 1 to N do 
	If (i mod 3 = 0) and (i mod 5 = 0) then T := T + i ; 
A) 
Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến N ; 
B) 
Tính tổng các ước thực sự của N ; 
C) 
Tìm một ước số của số N ; 
D) 
Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến N ; 
Kết quả bài tập cuối bài 
Điểm 
{score} 
Trên tổng điểm 
{max-score} 
Số lần làm 
{total-attempts} 
Question Feedback/Review Information Will Appear Here 
Làm lại 
Tiếp tục 
Tóm tắt 
Rẽ nhánh 
If then 
If then 
else 
Chương III 
Rẽ nhánh – Lặp 
If a mod 2 = 0 then write(a, ‘la so chan ’) else write(a, ‘la so le’) ; 
If a mod 2 = 0 then write(a, ‘la so chan’); 
Lặp 
 For to do 
For downto 
 do 
Biết trước 
S:=0; 
For i:= 100 downto 1 do S:= S+i; 
S:=0; 
For i:=1 to 100 do S:=S+i; 
While do 
Chưa biết trước 
S:=0; i:=0; 
While i<= 100 do 
 Begin 
 i:=i+1; 
 S:=S+i; 
 End; 
Repeat Until 
S:=0; i:=0; 
Repeat 
 i:=i+1; 
 S:=S+i; 
Until i =100 
Tóm tắt 
Cú pháp câu lệnh For : 
FOR := TO DO ; 
FOR := DOWNTO DO ; 
Biến đếm: là biến kiểu nguyên, kí tự hoặc miền con 
Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm 
 thực hiện khi giá trị cuối >= giá trị đầu 
Không tác động vào biến đếm. 
Bài tập làm thêm: 
Hoàn thiện Bài toán 1, bài toán 2; 
Làm bài tập 5.a, 6 sách giáo khoa trang 51 
Xem thêm nội dung phụ lục B, C sách giáo khoa trang 131, 139 
Tài liệu tham khảo 
Thank you! 

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_lop_11_cau_truc_lap_va_cau_lenh_for_nguyen.pptx
  • docThiet lap Flash- bi loi-.doc
  • doc_ Thuyet minh _ For.doc