Cấu trúc lặp

10 323 0
Cấu trúc lặp

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

Thông tin tài liệu

Giáo viên: Th.s Phạm Quang Trung Tổ : LTCM TRƯỜNG CĐCN VIỆT ĐỨC Khoa: CÔNG NGHỆ THÔNG TIN CẤU TRÚC LẶP REPEAT . UNTIL Bài toán Một người có 2000.000 đồng mang đi gửi tiết kiệm tại một ngân hàng. Biết lãi suất ngân hàng là 0,65 % một tháng. Hỏi sau bao nhiêu tháng người đó có ít nhất 2500000 trong tài khoản? Phân tích Làm thế nào để tính được tổng số tiền của người đó sau mỗi tháng? Tổng tiền= Tổng tiền(tháng trước)+Tiền lãi Lãi tính bằng cách nào? Tiền lãi= Tổng tiền*Lãi suất CẤU TRÚC LẶP REPEAT . UNTIL Cú pháp: REPEAT <Công việc>; UNTIL <BT Logic>; Trong đó: - REPEAT, UNTIL: là các từ khoá - <Công việc>: là các câu lệnh của Pascal - <BT Logic>: chỉ nhận một trong 2 giá trị Đúng (True) hoặc Sai (False) Begin <Công việc> <BT Logíc> End Đúng Sai Hoạt động: Lưu đồ: Bước 1: Thực hiện <Công việc> Bước 2: Tính giá trị của biểu thức Logíc + Nếu <BT Logíc> đúng thì thoát khỏi vòng lặp + Nếu <BT Logíc> sai thì quay lại thực hiện <Công việc> Bài toán Một người có 2000000 đồng mang đi gửi tiết kiệm tại một ngân hàng. Biết lãi suất ngân hàng là 0,65 % một tháng. Hỏi sau bao nhiêu tháng người đó có ít nhất 2500000 trong tài khoản? Phân tích - Công việc lặp đi lặp lại là việc gì? - Quá trình lặp sẽ dừng lại khi nào? - Hãy thể hiện công việc dưới dạng các câu lệnh. uses crt; var i:byte; tt,tl,ls:real; begin tt:=2000000; write('Moi ban nhap lai suat:'); {**** ls:=0.65; *****} readln(ls); i:=0; tl:=0; repeat i:=i+1; tl:=(tt*ls)/100; tt:=tt+tl; until tt>=2500000; writeln('So thang can gui la:',i); readln; end. Begin i:=i+1; tl:=(tt*ls)/100; tt:=tt+tl; tt>=2500000 End Đúng Sai Hoạt động: Lưu đồ: Bước 1: Tính i:=i+1; tl:=(tt*ls)/100; tt:=tt+tl; Bước 2: Tính giá trị của biểu thức Logíc tt>=2500000 Kết quả 0 Tháng (i) Số tiền (tt) 2000000 1 2013000 2 2026084,5 35 2509067,085 Chú ý: - Nếu <công việc> gồm nhiều lệnh ta không phải dùng câu lệnh ghép. - Trong phần công việc phải có một lệnh làm thay đổi biểu thức logíc. Nếu không thì công việc sẽ lặp vô hạn. * Phân tích - Quá trình tính có phải là một quá trình lặp không? - Công việc lặp đi lặp lại là việc gì? - Quá trình lặp sẽ dừng lại khi nào? Bài tập: Tính tổng S=1+1/2+1/3+ .+1/k+ Quá trình tính sẽ dừng lại khi 1/k < e, với e được nhập vào từ bàn phím. uses crt; var i:word; s,e:real; begin Writeln('Chuong trinh tinh tong'); Write('Nhap gia tri dieu kien dung: e='); readln(e); S:=0; i:=0; repeat i:=i+1; s:=s+1/i; until 1/i<e; Writeln('ket qua cua tong la:',s:6:4); readln; end. . công việc sẽ lặp vô hạn. * Phân tích - Quá trình tính có phải là một quá trình lặp không? - Công việc lặp đi lặp lại là việc gì? - Quá trình lặp sẽ dừng. tiền(tháng trước)+Tiền lãi Lãi tính bằng cách nào? Tiền lãi= Tổng tiền*Lãi suất CẤU TRÚC LẶP REPEAT . UNTIL Cú pháp: REPEAT <Công việc>; UNTIL <BT Logic>;

Ngày đăng: 06/07/2013, 01:26

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan