1. Trang chủ
  2. » Giáo án - Bài giảng

Tiết 12 - Cấu trúc lặp - T1

20 519 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Cấu trúc lặp
Trường học Trường Đại Học
Chuyên ngành Tin học
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 20
Dung lượng 323 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CẤU TRÚC LẶP  Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán  Hiểu cấu trúc lặp kiểm tra điều kiện trước, sau  Vận dụng cấu trúc lặp vào tình huống cụ thể  Mô tả được thu

Trang 1

Câu 1: Trình bày cấu trúc và ý

nghĩa của câu lệnh If - Then?

Câu 2: Câu lệnh ghép có dạng gì?

Khi nào ta sử dụng câu lệnh ghép?

Kiểm tra bài cũ

Trang 2

Bài 10 CẤU TRÚC LẶP

 Hiểu nhu cầu của cấu trúc lặp trong biểu diễn

thuật toán

 Hiểu cấu trúc lặp kiểm tra điều kiện trước, sau

 Vận dụng cấu trúc lặp vào tình huống cụ thể

 Mô tả được thuật toán của

một số bài toán có sử dụng cấu trúc lặp

 Viết đúng các câu lệnh về lặp

 Viết được thuật toán của

một số bài toán đơn giản

Trang 3

1 Khái niệm lặp 1 Khái niệm lặp

Vd1: Bài toán gửi tiền vào ngân hàng:

Gửi 1 000 000đ vào ngân hàng, lãi suất là 2% một tháng, Tính số tiền thu được sau mỗi tháng.

Cách tính tiền thu được sau mỗi tháng?

Tiền của tháng sau = gốc+lãi tháng trước

Trang 4

1 020 000+20 400 Lãi 2% Tháng thứ 2

Vốn 1 020 000

1 040 000+20 808 Lãi 2% Tháng thứ 3

Vốn 1 040 400

1 000 000+20 000 Lãi 2% Tháng thứ 1

1 040 400

1 061 208

Trang 5

Công việc tính toán này

được lặp đi lặp lại

sau mỗi tháng

Gốc của tháng sau = gốc+lãi tháng trước

Trang 6

Vd2 :

Ta sẽ phải lặp đi lặp lại một số thao tác

như sau với mỗi học sinh:

+ Nhập họ tên học sinh (hoặc số báo

danh);

+ Nhập điểm (các môn);

+ Tính tổng điểm hoặc tính điểm trung

bình;

Trang 7

 Lặp có nghĩa là làm đi làm lại nhiều lần cùng một thao tác

Trong lập trình, cũng có những thao tác, những câu lệnh lặp đi lặp lại nhiều

lần tạo thành một cấu trúc lặp.

 Có 2 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 không biết trước.

Tóm lại:

Trang 8

Vd3: Tính và đưa kết quả ra màn hình

Tổng S =1+2+3+ … +N

Tìm cách để lập

trình giải các bài

toán này?

Trang 9

Nếu N =10, S=?;

lập trình giải như

thế nào?

S:=0;

i=1  S:=S+1=1;

i=2  S:=S+2=3;

………

i=10  S:=S+10=55;

S=1+2+3+ … +10;

Gợi ý

Tính và đưa kết quả ra màn hình

Tổng S =1+2+3+ … +N;

Trang 10

S:=0;

i=1  S:=S+1;

i=2  S:=S+2;

………

i=10  S:=S+10;

…………

i=100  S:=S+100

Nếu N =100, lập

trình giải như thế

nào?

Em có nhận xét gì

về cách giải này?

Trang 11

Thuật giải:

- Đầu tiên gán giá trị 0 cho tổng S

 - Cho biến đếm ( chẳng hạn i) tăng dần

từ 1 đến N, cứ mỗi giá trị của i, thực hiện

câu lệnh S:=S+i;

Công việc lặp này được thực hiện N lần

2) Lặp với số lần biết trước:

Vd3: Tính và đưa kết quả ra màn hình

Tổng S =1+2+3+ … +N

Trang 12

- Câu lệnh for-do: Lặp với số lần biết trước

 Trong Pascal, có 2 loại câu lệnh lặp có

số lần biết trước:

 - Lặp dạng tiến:

For <biến đếm>:=<giá trị đầu> to

<giá trị cuối> do <câu lệnh>;

 - Lặp dạng lùi:

For <biến đếm>:=<giá trị cuối> downto

<giá trị đầu> do <câu lệnh>;

Trang 13

Trong đó Trong đó :

 - Biến đếm thường là biến kiểu số nguyên

 - Giá trị đầu, giá trị cuối là biểu thức cùng

kiểu với biến đếm Giá trị đầu phải nhỏ hơn

hay bằng giá trị cuối.

 - Ở dạng lặp tiến: Biến đếm tự tăng dần

từ giá trị đầu đến giá trị cuối

 - Ở dạng lặp lùi: Biến đếm tự giảm dần từ

giá trị cuối đến giá trị đầu

 - Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần

Trang 14

 Thuật toán 1a;

 B1: S  0; i 1;

B2: Nếu i >10  B5

 B3: S  S+i;

B4: i i +1;  B2

 B5: Đưa ra S ; Kết thúc

 Thuật toán 1b;

 B1: S  0; i 10;

B2: Nếu i <1  B5

 B3: S  S+i;

B4: i i -1;  B2

 B5: Đưa ra S ; Kết thúc

Mô tả thuật toán:

Tính và đưa kết quả ra màn hình

Tổng S =1+2+3+ … +N; Với N=10So sánh hai thuật toán?

Thuật toán lặp bao nhiêu lần?

Trang 15

Chú ý:

- Sau mỗi lần lặp, biến đếm Tựï động tăng lên (dạng tiến) hoặc giảm xuống (dạng lùi)

-Trong vòng lặp, không được có câu lệnh tác động đến giá trị của biến đếm

-Trong câu lệnh FOR DO, Nếu giá trị đầu

= giá trị cuối thì vòng lặp sẽ được thực hiện 1

lần

Trang 16

Vd4:Tính và đưa kết quả ra màn hình tổng.

S =1+2+3+ … +N;

Cho đến khi S 20

Giải bài toán như

thế nào?

Bài toán này có giống bài

toán trước không?

Cách giải có giống cách giải bài trên không?

Trang 17

Thuật giải:

- Đầu tiên gán giá trị 0 cho tổng S

- Kiểm tra, nếu S<20 thì cho biến đếm

(chẳng hạn i) tăng lên 1 đơn vị rồi thực hiện câu

lệnh S:=S + i; sau đó lại kiểm tra.

Không biết được phải lặp bao nhiêu lần, vì chỉ

khi nào S>=20 thì ngưng lại không lặp nữa.

b) Lặp với số lần không biết trước:

Vd3: Tính và đưa kết quả ra màn hình

Tổng S =1+2+3+ … +N cho đến khi S>=20

Trang 18

Hãy đánh dấu vào ô đúng hoặc sai

những câu dưới đây?

Câu 1: Cấu trúc lặp có hai loại lặp: Lặp với số lần biết trước và lặp với số lần không biết trước.

Câu 2: Cấu trúc lặp dạng tiến: For <biến đếm>:=

<giá trị cuối> to <giá trị đầu> do <câu lệnh>;

Câu 3:Cấu trúc lặp dạng lùi: For <biến đếm>:=

<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;

Câu 4: Giá trị đầu, giá trị cuối là các biểu thức

cùng kiểu.

Đúng Sai

Trang 19

Hãy đánh dấu vào ô đúng hoặc sai

những câu dưới đây?

Câu 5: X là biến kiểu thực; Ta có câu lệnh lặp For X:=1 to 100 do

Câu 6: S, i là kiểu nguyên; Câu lệnh

For i:=1 to 1 do S:=S+1; Sẽ lặp 2 lần

Câu 7: Sau DO muốn thực hiện nhiều lệnh phải sử dụng câu lệnh ghép.

Câu 8: Câu lệnh lặp For do ; nếu <Giá trị đầu> lớn hơn <Giá trị cuối>; câu lệnh sau DO không thực hiện.

Đúng Sai

Trang 20

Về nhà các em học bài và xem trước phần kế tiếp của bài học hôm nay

Ngày đăng: 01/06/2013, 08:47

TỪ KHÓA LIÊN QUAN

w