Cấu trúc lặp

Một phần của tài liệu Bài giảng tin học đại cương (Trang 38 - 46)

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

Một phần của tài liệu Bài giảng tin học đại cương (Trang 38 - 46)

Tải bản đầy đủ (PDF)

(97 trang)