intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

CÂU LỆNH REPEAT

Chia sẻ: Lotus_0 Lotus_0 | Ngày: | Loại File: PDF | Số trang:10

544
lượt xem
21
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Cú pháp, lưu đồ, cách thức hoạt động : Cú pháp: REPEAT LệnhP; UNTIL Ðiềukiện ; Ý nghĩa: Chừng nào Ðiềukiện còn sai thì cứ làm LệnhP, cho đến khi Ðiềukiện đúng thì không làm LệnhP nữa mà chuyển sang lệnh kế tiếp ở phía dưới.

Chủ đề:
Lưu

Nội dung Text: CÂU LỆNH REPEAT

  1. CÂU LỆNH REPEAT 9.3.1. Cú pháp, lưu đồ, cách thức hoạt động : Cú pháp: REPEAT LệnhP; UNTIL Ðiềukiện ; Ý nghĩa: Chừng nào Ðiềukiện còn sai thì cứ làm LệnhP, cho đến khi Ðiềukiện đúng thì không làm LệnhP nữa mà chuyển sang lệnh kế tiếp ở phía dưới. Cách thức hoạt động của REPEAT:
  2. Bước 1: Làm LệnhP, rồi kiểm tra Ðiềukiện, nếu Ðiềukiện đúng thì chuyển sang lệnh tiếp theo ở phía dưới, ngược lại, nếu Ðiềukiện sai thì quay lại bước 1. LệnhP cũng được gọi là thân của vòng lặp REPEAT, nếu nó gồm nhiều lệnh thì các lệnh đó không cần phải đặt trong khối begin va?end. Nếu Ðiềukiện không bao giờ đúng thì LệnhP sẽ phải làm hoài, lúc đó ta có vòng lặp vô hạn. Trong trường hợp này, muốn dừng chương trình, hãy gõ đồng thời hai phím Ctrl và Pause (^Pause). Ðể tránh các vòng lặp vô hạn, trong thân của lệnh REPEAT cần có ít nhất một lệnh có tác dụng làm biến đổi các đại lượng tham gia trong Ðiềukiện để đến một lúc nào đó thì Ðiềukiện sẽ đúng và do đó vòng lặp sẽ kết thúc. Các vòng lặp có số lần lặp biết trước đều có thể giải được bằng lệnh REPEAT. Ðặc biệt, cũng như lệnh WHILE, lệnh REPEAT rất thích hợp với các vòng lặp có số lần lặp không biết trước 9.3.2. Các ví dụ về lệnh Repeat : Ví dụ 9.12: Ðảm bảo tính hợp lý của dữ liệu nhập từ bàn phím.
  3. Khi giải phương trình bậc hai Ax2+Bx+C=0, ta thường giả thiết A 0, khi tính S=N!, ta thường yêu cầu N 0. Sự hạn chế phạ m vi đối với các dữ liệu nhập sẽ đảm bảo tính hợp lý của chúng và làm giảm bớt các phức tạp khi biện luận. Ðể buộc người sử dụng phải nhập A 0, nếu nhập A=0 thì bắt nhập lại cho tới khi nhập A 0 mới thôi, ta dùng cấu trúc : Repeat Write(‘Nhập A khác không : ‘); Readln(A); Until A 0; Ðể đảm bảo chắc chắn nhập N thỏa điều kiện 0
  4. Until (0
  5. { Tìm BSCNN của M và N } Var M, N, Max, BSCNN : Integer; Begin Repeat Write(‘ Nhập M và N dương :’); Readln(M, N); Until (M>0) and (N>0); If N>M then Max:=N else Max:=M; BSCNN:=0; Repeat BSCNN:=BSCNN + Max; Until (BSCNN mod N=0) and (BSCNN mod M=0) ; Writeln(‘ Bội số chung nhỏ nhất= ‘, BSCNN) ;
  6. Readln; End. Chạy Chép file nguồn Ví dụ 9.14: Thiết kế để chạy nhiều lần một chương trình. Trong Turbo Pascal, mỗi lần muốn chạy chương trình ta phải gõ cặp phím Ctrl và F9 (viết tắt là ^F9), điều này sẽ bất tiện nếu cần chạy chương trình nhiều lần ứng với các bộ dữ liệu thử khác nhau. Cấu trúc sau đây cho phép ta chạy chương trình một số lần theo ý muốn: REPEAT { Các lệnh của chương trình} Write(‘ Tiếp tục nữa không (Y/N) ? :’); Readln(Traloi); {5} UNTIL (Traloi =‘N’) or ( Traloi=‘n’); Ở đây, Traloi là một biến kiểu ký tự (Char);
  7. Sau khi thực hiện xong {các lệnh của chương trình }, nếu muốn chạy tiếp , nếu muốn dừng thì gõ N . thì ta gõ phím Y Chú ý : lệnh Readln(Traloi); ở dòng thứ {5} có thể thay bằng: Traloi:=Readkey; Hàm Readkey thuộc thư viện CRT cho kết qủa là một ký tự gõ từ bàn phím, nó khác lệnh Readln(Traloi) ở chỗ là khi nhập ký tự ta không cần phải Enter. Chương trình dưới đây cho phép thực hiện một số lần việc : in tam giác cân đặc có chiều cao m (0
  8. Const sao =‘*’; Var k, j, m: integer; Traloi : Char ; Begin REPEAT {9} Clrscr; Repeat {11} Write(‘ Nhập m (0
  9. { In hai cạnh bên của tam gíac } For k:=1 to m-2 do begin Write(chr(32): m-k-1); { in m-k-1 ký tự trắng} For j:=1 to 2*k+1 do Write(sao); { in 2k+1 dấu *} Writeln; end; For k:=1 to 2*m-1 do Write(sao); {in cạnh đáy} Writeln; Write(‘ Tiếp tục nữa không (Y/N) ?: ‘); Readln( Traloi); UNTIL (Traloi=‘N’) or ( Traloi=‘n’); {28} End. Chạy
  10. Chép file nguồn Chương trình 9.14 là một ví dụ về hai câu lệnh Repeat lồng nhau, điều này xảy ra khi thân của một lệnh Repat lại chứa một lệnh Repeat khác: lệnh Repeat thứ nhất, từ dòng {9} đến dòng {28}, chứa lệnh Repeat thứ hai từ dòng {11} đến dòng {15}. 9.3.3. So sánh các lệnh For, While và Repeat: Lệnh For dùng cho các vòng lặp có số lần lặp đã biết trước Lệnh While hay Repeat tổng quát hơn lệnh For, dùng được cho tất cả các loại vòng lặp, nhưng thường dùng cho các vòng lặp có số lần lặp chưa biết trước. Lệnh While và Repeat khác nhau ở điểm sau: lệnh While kiểm tra điều kiện trước, nếu đúng mới thực hiện các lệnh ghi trong thân của nó ( lệnhP ), còn lệnh Repeat thực hiện lệnhP rồi mới kiểm tra điều kiện. Vì thế, lệnh Repeat sẽ thực hiện các lệnh ghi trong thân của nó ít nhất được một lần. Ngoài ra, lệnh While kết thúc khi điều kiện sai, lệnh Repeat kết thúc khi điều kiện đúng.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2