Em hãy viết cú pháp của câu lệnh rẽ nhánh If-then dạng thiếu và dạng đủ?. •Rẽ nhánh dạng thiếu: If then ; Ví dụ: If Delta... Dạng 1dạng tiến... Giá trị đầu, giá trị cuối là các biểu
Trang 1
Trang 2Trả lời:
Kiểm tra bài cũ
? Em hãy viết cú pháp của câu lệnh rẽ nhánh If-then dạng thiếu và dạng đủ? Cho ví dụ minh họa?
•Rẽ nhánh dạng thiếu:
If <điều kiện> then <câu lệnh>;
Ví dụ: If Delta<0 then write(‘Phuong trinh vo nghiem’);
•Rẽ nhánh dạng đủ:
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Ví dụ: If Delta<0 then write(‘Phuong trinh vo nghiem’)
else write(‘Phuong trinh co nghiem’);
Trang 3Bài 10
BÀI GiẢNG ĐIỆN TỬ TIN HỌC LỚP 11
Trang 4Bài toán 1:
Bài toán 2:
S
S
Các bài toán đặt vấn đề: Tính tổng S , với a là số nguyên và a>2.
cho đến khi 1
0.0001
1 Lặp:
Trang 5Xuất phát
1
S
a
1
a
Lần 1
1 2
a
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm 1/(a+i)
(với i =1, 2, 3 , ,N)
S
S
a a a a N
Cho đến khi 1
0.0001
a N
Trang 6* Bài toán 1: * Bài toán 2:
S
S
a a a a N
Cho đến khi 1
0.0001
a N
Số lần lặp là biết trước.
Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi: 1 0.0001
a N
Việc tăng giá trị cho tổng
S được lặp đi lặp lại 100
lần.
Số lần lặp là chưa biết trước.
Trang 7CẤU TRÚC LẶP
Trang 81 Bài toán đặt vấn đề :
- Dữ liệu ra(output) : Tổng S;
Lập chương trình tính tổng của Bài toán 1:
- Dữ liệu vào(Input) : Nhập a;
Hãy xác định
INPUT và
OUTPUT của bài toán trên?
S
Trang 9PHÂN TÍCH BÀI TOÁN VỚI N = 100
NHẬN XÉT:
S0 = 1/a
S1 = S0 + 1/(a+1)
S2 = S1 + 1/(a+2)
S3 = S2 + 1/(a+3)
S100 = S99 + 1/(a+100)
1
a
S
Bắt đầu từ S1 việc tính S được lặp đi lặp lại 100 lần theo quy luật:
Si = Si-1+ 1/(a+i);
víi i ch¹y tõ 1 100
1 1
a
1 2
a
1 3
a
100
Trang 10
S
Nhập a
S 1/a ; i 1
i > 100 ?
S S + 1/(a+i)
Đưa ra S rồi kết thúc!
B1 : Nhập a;
B2 : S 1/a; i 1;
B3 : Nếu i > 100 thì đưa ra giá
trị S rồi Kết thúc;
B4 : S S + 1/(a+i);
B5 : i i +1 quay lại B3.
i i+1
Trang 11S
Nhập a
S 1/a ; i 100
i < 1 ?
S S + 1/(a+i)
Đưa ra S rồi kết thúc!
B1 : Nhập a;
B2 : S 1/a; i 100;
B3 : Nếu i < 1 thì đưa ra giá trị
S rồi Kết thúc;
B4 : S S + 1/(a+i);
B5 : i i - 1 quay lại B3.
i i -1
Trang 12For <biến đếm> := <giá trị đầu> to <giá trị cuối> do < câu lệnh>;
Ví dụ: S:=1/a;
For i:=1 to 100 do S:=S+1/(a+i);
b Dạng 2(dạng lùi)
For <biến đếm> := <giá trị cuối> downto <giá trị đầu> do < câu lệnh>;
Ví dụ: S:=1/a;
For i:=100 downto 1 do S:=S+1/(a+i);
a Dạng 1(dạng tiến)
Trang 13 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 phải nhỏ hơn hoặc bằng giá trị cuối
For i:= 100 downto 1 do write(i);
Lưu ý: Giá trị biến đếm được điều chỉnh tự động, vì vậy câu
lệnh sau DO không được thay đổi giá trị biến đếm.
Trong đó
Biến đếm là biến thường có kiểu nguyên hoặc kí tự.
Ví dụ: For i:=1 to 10 do write(i);
For i:=‘a’ to ‘z’ do write(i);
Trang 15Các nội dung cần ghi nhớ!
a Dạng tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
b Dạng lùi:
For <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do <câu lệnh>;
Trang 16Bài học hôm nay đến đây kết thúc!
Xin chào các thầy cô và các em học sinh!