a/ Cấu trúc For..To..Do
For Biên điều khiển := Giá trị đầu To
Giá trị cuối Do <Công việc>
Sơ đồ hoạt động
Đ
Begin
Biến điều khiển := Giá trị đầu
Biến điều khiển >Giá trị cuối
Do <Công viêc>
Biến điều khiển := Biến điều khiển +1
End S
VD: Tớnh n! Program tinh_giai_thua; Var I, N, GT: Integer; Begin Write(‘n = ‘); Readln(n); GT:=1; For I:=0 To N Do GT:=GT*I; Write(‘ N! = ‘,GT); Readln; End. b/ Cấu trỳc While...Do Cụng dụng và cỳ phỏp nhập lệnh. */ Cụng dụng
- Cấu trỳc While … do sử dụng trong cỏc bài toỏn cú số lần lặp chưa biết trước. - Cấu trỳc While … do sử dụng trong cỏc trường hợp lặp lại 1 cụng việc nhất định khi thỏa món 1 điều kiện nào đú.
*/ Cỳ phỏp nhập lệnh
while
< điều kiện > Do
< Lệnh cần lặp >
*/ Lưu đồ thuật toỏn
Begin
Lệnh cần lặp End
Đ
s BT ĐK
*. Nguyờn lý hoạt động
- Kiểm tra BT – ĐK
- Nếu BT – ĐK cú giỏ trị đỳng thỡ thực hiện cụng việc cần lặp quay lại b1 - Nếu BT – ĐK sai End.
Vd: Tớnh số thỏng gửi
Program Tinh_thang;
Uses Crt;
Cont laixuat=0,004; Var tiengui,tienthu: Real;
T: integer; Begin
Clrscr;
Write(„Nhap tiengui: ‟); Readln(tiengui); Write(„ so tien co khi thu ve : ‟);
Readln(tienthu); T:=0;
While tiengui < tienthu do Begin
Tiengui: = tiengui + tiengui* laixuat; T:=T+1;
End;
Write(„so thang can gui la:‟,T,‟thang‟); Readln;
End.
b/ Cấu trỳc Repeat . . . Until Cụng dụng và cỳ phỏp nhập lệnh.
*) Cụng dụng
- Cấu trỳc vũng lặp Repeat … Until sử dụng trong cỏc bài toỏn cú số vũng lặp khụng biết trước.
- Cấu trỳc vũng lặp Repeat … Until sử dụng trong cỏc bài toỏn lập trỡnh khi người sử dụng muốn tiếp tục bài toỏn trong trường hợp thay đổi biến mà khụng phải quay trở lại chương trỡnh
*) Cỳ phỏp nhập lệnh. Repeat
< Cụng việc > Until < BT_ điều kiện > Repeat: lặp.
Until: cho đến khi.
Nờu sự khỏc nhau cơ bản giữa vũng lặp for … downto … to và Repeat
…Until.
Lƣu đồ thuật toỏn và nguyờn lý hoạt động
*/ Lưu đồ thuật toỏn.
*/ Nguyờn lý hoạt động
- Cụng việc sẽ được lặp đi lặp lại cho tới khi nào BT-ĐK sai
- Nếu BT-ĐK đỳng vaongf lặp Repeat .. Until sẽ kết thỳc cụng việc.
*/ Bài tập ỏp dụng
BT1: Nhập N tnhs N!
Program Tinh_N; Uses Crt;
Var N,I,GT: integer; Begin Clrscr; đ Begin BT_điều kiện <Công viêc> End
Write(„ Nhập N‟); Readln(N); GT:=1; I:=0; Repeat I: = I+1; GT:= GT*I; Until I=N; Write („ N!=‟,GT); Readln; End.
Bài tập: tớnh lói xuất ngõn hàng a) Lưu đồ thuật toỏn
b) Lời giải
Program Tinh_Lai_xuat;
Begin
Tiền gửi, Số thỏng, Lói xuất
Tienthu:= Tiengui
I:=0
I: I + 1
Tienthu: Tienthu + Tienthu* Laixuat
I: Sothang Đ In tienthu End
Uses Crt;
Var tiengui,sothang,I: longint; Laixuat,tienthu: real; BEGIN Clrscr ; Write(„tiengui =‟); Readln(tiengui); Write(„sothang =‟); Readln(sothang); Write(„laixuat =‟); Readln(laixuat); Tienthu: Tiengui; I: = 0; Repeat I: = I + 1;
Tienthu: = Tienthu + Tienthu* Laixuat; Until I: = sothang ;
Write(„so tien thu ve la=‟, tienthu:0:0); Readln;
End.
d/ Bài tập1: Tìm USCLN của 2 số A, B Program Tim_USCLN; Uses Crt; Var A, B: Integer; Begin Clrscr; Write(' A = '); Readln(A); Write(' B = '); Readln(B); Repeat
If A> B Then A:= A - B Else B:= B - A;
Until A = B;
Readln; End. Bài tập 2: Program Tinh_N; Uses Crt; Var N, I, GT: Integer; Begin Clrscr; Write(' N = '); Readln(N); GT:= 1; I:= 0; Repeat I:= I + 1; GT:= GT * I; Until I = N; Write(' N! = ', GT); Readln; End. Bài tập 3: Program Sap_xep; Var I,N,KT,J:Integer; A: Array[1..100] of integer; Begin
Write(' So phan tu trong mang n = ');Readln(n); For I:=1 to N do
Begin Write(' A[',I,']=');Readln(A[I]); End; Writeln('Mang A co dang');
for I:=1 to N do
Write(' ',A[i]); Writeln;
For I:=1 To N Do Begin
KT:=0;
For J:=2 To A[I] Div 2 do If A[I] Mod J = 0 then KT:=1; If KT = 0 then Write(' ',A[i]); End; Readln; End.
CHƯƠNG IV: Kỹ NĂNG LắP RáP VàCài đặt phần mềm MáY TíNH