NỘI DUNG:- Viết lại cấu trúc tổng quát của câu lệnh rẽ nhánh dạng thiếu và đủ.. - Nêu hoạt động của mỗi loại.. - Viết cấu trúc của câu lệnh ghép trong TP... Dạng rẽ nhánh Hoạt động Câu
Trang 1GV: LƯƠNG ĐOÀN NHÂN
TRƯỜNG THPT DƯỠNG ĐIỀM
Trang 2NỘI DUNG:
- Viết lại cấu trúc tổng quát của câu lệnh
rẽ nhánh dạng thiếu và đủ.
- Nêu hoạt động của mỗi loại.
- Viết cấu trúc của câu lệnh ghép trong TP.
Trang 3Dạng rẽ nhánh Hoạt động Câu lệnh ghép
Dạng BEGIN <CÂU LỆNH>; END;
Dạng thiếu:
If <đk> then <cl>;
Điều kiện sẽ được tính
và kiểm tra, nếu điều kiện đúng thì câu lệnh sau then sẽ được thực hiện.Nếu điều kiện sai thì câu lệnh được bỏ qua
Dạng đủ:
If <đk> then <cl1>
else <cl2>;
Điều kiện sẽ được tính
và kiểm tra, nếu điều
kiện đúng thì cl1 sẽ được
thực hiện, nếu đk sai thì
cl2 sẽ được thực hiện.
Trang 4LOGO
Trang 5Biết sử dụng câu lệnh lặp của Turbo Pascal
Biết sử dụng câu lệnh lặp của Turbo Pascal
Trang 7lă ̣p đi lă ̣p la ̣i
Viê ̣c cô ̣ng các số ha ̣ng vào tổng S đươ ̣c
lă ̣p đi lă ̣p la ̣i
Bài toán 1
Trang 10If (1/(a+1)>0.0001) then S:=S+1/(a+1);
If (1/(a+2)>0.0001) then S:=S+1/(a+2);
If (1/(a+3)>0.0001) then S:=S+1/(a+3);
…
Ta có thể giải như sau:
Nhâ ̣n xét lời giải theo
cách trên?
Trang 11Output: tổng S
Trang 12Thuâ ̣t toán tong_1a
Bước 1 Nhâ ̣p số a;
Bước 2 S = 1/a; N = 0;
Bước 3 N = N + 1;
Bước 4 Nếu N > 100 thì chuyển đến bước 6 Bước 5 S = S + 1/(a + N), quay lại bước 3; Bước 6 Đưa S ra màn hình, kết thúc.
Trang 13Thuâ ̣t toán tong_1b
Bước 1 Nhâ ̣p số a;
Bước 2 S = 1/a; N = 101;
Bước 3 N = N - 1;
Bước 4 Nếu N < 1 thì chuyển đến bước 6 Bước 5 S = S + 1/(a + N), quay lại bước 3; Bước 6 Đưa S ra màn hình, kết thúc.
Trang 14SO SÁNH HAI THUẬT TOÁN SAU:
Trang 15for <biến đếm> := <giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
Ví dụ:
for i:=1 to 50 do write(i:4);
for n:=1 to 100 do s:=s+1/n;
Trang 16for i:=5 to 8 do write(i:4) ;
Trang 17XÁC ĐỊNH BIẾN ĐẾM, GT ĐẦU, GT CUỐI?
Trang 18for i := 5 5 to 8 8 do write(i:4) ;
5678
Dạng lặp tiến hoạt động như thế nào?
Trang 19for <biến đếm> := <giá trị cuối>
Ví dụ:
for i:=50 downto 1 do write(i:4);
for n:=100 downto 1 do s:=s+1/n;
Trang 20For N:=1 to 100 do S:=S + 1/(a+N); For N:=100 downto 1 do S:=S + 1/(a+N);
NHẬN XÉT GÌ VỀ GT ĐẦU, GT CUỐI?
Trang 21Vì sẽ làm thay đổi giá trị biến đếm, dẫn đến thay đổi số lần lặp
Trang 22NÊN CHỌN DẠNG FOR NÀO?
For N:=1 to 100 do S:=S + 1/(a+N); For N:=100 downto 1 do S:=S + 1/(a+N);