Bài giảng Thế giới lập trình - Cấu trúc lặp
Cấu trúc lặp
Cấu trúc lặp là cấu trúc cho phép thực thi một đoạn mã trong chương trình nhiều lần.
Quá trình lặp của đoạn mã này được điều khiển bằng một điều kiện gọi là điều kiện lặp. Trong khi điều kiện lặp còn đúng thì vòng lặp sẽ được lặp lại. Khi điều kiện lặp là sai thì vòng lặp sẽ kết thúc và lệnh ngay phía sau vòng lặp sẽ được thực thi.
Các câu lệnh chứa bên trong vòng lặp gọi là thân của vòng lặp.
Ví dụ: vẽ lưu đồ giải thuật nhập vào 10 số và tính tổng 10 số đó
Nội dung chính Giới thiệu cấu trúc lặp Vòng lặp while Vòng lặp repeat until Vòng lặp for Lệnh goto1 Thế giới lập trìnhCấu trúc lặpCấu trúc lặp là cấu trúc cho phép thực thi một đoạn mã trong chương trình nhiều lần.Quá trình lặp của đoạn mã này được điều khiển bằng một điều kiện gọi là điều kiện lặp. Trong khi điều kiện lặp còn đúng thì vòng lặp sẽ được lặp lại. Khi điều kiện lặp là sai thì vòng lặp sẽ kết thúc và lệnh ngay phía sau vòng lặp sẽ được thực thi.Các câu lệnh chứa bên trong vòng lặp gọi là thân của vòng lặp.Ví dụ: vẽ lưu đồ giải thuật nhập vào 10 số và tính tổng 10 số đó2 Thế giới lập trình3 Thế giới lập trìnhCấu trúc lặpCó 4 vòng lặp cơ bảnVòng lặp whileVòng lặp repeat – untilVòng lặp forLệnh nhảy goto4 Thế giới lập trìnhVòng lặp whileVòng lặp while dùng để thực thi các lệnh mã giả trong khi điều kiện lặp còn đúng. Nếu điều kiện lặp sai, vòng lặp while sẽ kết thúc và câu lệnh ngay phía sau vòng lặp được thực hiện.Vòng lặp while có cú pháp như sauwhile(điều kiện lặp)begin //các câu lệnh trong thân vòng lặpendNếu ngay từ đầu điều kiện lặp không đúng thì các câu lệnh bên trong vòng lặp while sẽ không được thực hiện. 5 Thế giới lập trìnhVòng lặp while - Ví dụ minh họa: Jane là giáo viên tại trường Scholar, cô Jane cần tính điểm trung bình cho lớp học của cô phụ trách lớp học của cô Jane có 30 học viên. Vẽ lưu đồ giải thuật và mã giả cho bài tóan trên.Lưu đồ giải thuật:6 Thế giới lập trình7 Thế giới lập trìnhMã giảbegin numeric nMarks, nTotal, nCounter, nAvg nMarks = 0 nTotal = 0 nCounter = 0 nAvg = 0 while (nCounter < 30) //while the condition is true begin display “Enter the total marks of a student” accept nMarks nTotal = nTotal + nMarks nCounter = nCounter + 1 //increments the counter by one end nAvg = nTotal / nCounter //calculates the average display “The average marks of the class is” display nAvg //displays the average end 8 Thế giới lập trìnhVòng lặp repeat untilVòng lặp repeat until thực hiện một đoạn mã giả cho đến khi điều kiện lặp đúng. Vòng lặp repeat until có cú pháp như sau: repeat begin // các câu lệnh bên trong vòng lặp end until (điều kiện lặp)9 Thế giới lập trìnhVòng lặp repeat until (tiếp theo)Khác với vòng lặp while, vòng lặp repeat until sẽ thực hiện trước các lệnh bên trong thân vòng lặp trước, sau đó mới xét đến điều kiện lặp. Do đó vòng lệnh repeat until sẽ được thực hiện ít nhất 1 lần.Nếu điều kiện lặp là sai thì vòng lặp repeat until sẽ quay lại thực hiện tiếp, nếu điều kiện lặp là đúng thì vòng lặp repeat until sẽ kết thúc.10 Thế giới lập trìnhVòng lặp repeat until – ví dụ minh họaVẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào hai số sau đó tính tổng của hai số đó. Sau đó chương trình có chức năng hỏi người dùng là có muốn tiếp tục không? Nếu người dùng trả lời là “Yes” thì chương trình được tiếp tục thực hiện, nếu người dùng trả lời “No” thì kết thúc chương trình.Lưu đồ giải thuật:11 Thế giới lập trình12 Thế giới lập trìnhMã giảbegin numeric nNum1, nNum2, nSum character cChoice repeat begin display “Enter the first number” accept nNum1 display “Enter the second number” accept nNum2 nSum = nNum1 + nNum2 display nSum display “Do you wish to calculate the sum of more numbers?” accept cChoice end until(cChoice = “No”) //until the choice entered is “No” end 13 Thế giới lập trìnhVòng lặp forVòng lặp for được dùng trong trường hợp ta biết trước số lần lặp trước khi vòng lặp được thực hiện. Vòng lặp for được cấu thành từ 3 thành phần cơ bản được phân cách bằng dấu chẩm phảy (;) như sau:Biểu thức khởi động: biến điều khiển vòng lặp được gán cho giá trị ban đầu.Điều kiện lặp: điều kiện lặp được kiểm tra ở đầu vòng lặp, nếu điều kiện lặp đúng thì vòng lặp được thực hiện, nếu điều kiện lặp sai, vòng lặp for sẽ kết thúc.14 Thế giới lập trìnhVòng lặp for (tiếp theo)Biểu thức tăng/giảm biến điều khiển vòng lặp: giá trị của biến điều khiển vòng lặp được tăng hoặc giảm.Cú pháp của vòng lặp for như sau: for(biểu thức khởi động; điều kiện lặp; biểu thức tăng/giảm biến điều kiển) begin //các câu lệnh bên trong vòng lặp for end15 Thế giới lập trìnhVòng lặp for - ví dụ minh họaVẽ lưu đồ giải thuật và viết mã giả chương trình hiển thị tất cả các số chẳng bé hơn hoặc bằng 100. Lưu đồ giải thuật16 Thế giới lập trình Mã giả begin numeric nCounter for(nCounter=2;nCounter<=100; nCounter=nCounter+2) begin display nCounter end end 17 Thế giới lập trìnhCâu lệnh nhảy gotoCâu lệnh nhảy goto được dùng trong tình huống là sự thực thi của giải thuật không tuân theo một thứ tự tuần tự.Trong chương trình bạn có thể nhảy đến vị trí bất kỳ bằng câu lệnh goto. Để đánh dấu vị trí mà chương trình có thể nhảy đến bạn cần phải gán nhãn cho nó.Cú pháp lệnh nhãy goto như sau: nhãn 1: // các câu lệnh goto nhãn 1; 18 Thế giới lập trìnhCâu lệnh nhảy goto (tiếp theo)Lệnh nhảy goto cung cấp sự linh động trong việc điều khiển dòng chảy của chương trình trong giải thuật. Tuy nhiên lệnh nhảy goto có một số điểm không thuận lợi như sau:Nó phá vở dòng chảy của chương trình vì lệnh nhảy goto cho phép nhảy đến một nhãn bất kỳ.Nhiều câu lệnh goto được dùng sẽ làm tăng độ phức tạp của chương trình.Lệnh nhảy goto làm cho chương trình không có tính cấu trúc do đó rất khó để bắt lỗi và sửa lỗi. 19 Thế giới lập trìnhCâu lệnh goto – ví dụ minh họaViết mã giả cho chương trình hiển thị các số chẵng nhỏ hơn 100. begin numeric nCounter nCounter=2 Label1: nCounter=nCounter+2 display nCounter //displays all the even numbers if(nCounter<=100) goto Label1 //transfers the control to Label1 end 20 Thế giới lập trìnhTóm tắtCấu trúc lặp là cấu trúc cho phép thực thi một đoạn mã trong chương trình nhiều lần.Quá trình lặp của đoạn mã này được điều khiển bằng một điều kiện gọi là điều kiện lặp. Trong khi điều kiện lặp còn đúng thì vòng lặp sẽ được lặp lại. Khi điều kiện lặp là sai thì vòng lặp sẽ kết thúc và lệnh ngay phía sau vòng lặp sẽ được thực thi.Có 4 loại vòng lặpVòng lặp whileVòng lặp repeat – untilVòng lặp forLệnh nhảy goto21 Thế giới lập trìnhBài tậpBài 1: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình tính tổng của các số chẵng nhỏ hơn 100.Bài 2: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào số n, sau đó tính n giai thừa.Bài 3: Vẽ lưu đồ giải thuật và viết mã giả cho chương trình nhập vào 10 số bất kỳ, sau đó in ra số lớn nhất trong 10 số đã nhập.22 Thế giới lập trình
File đính kèm:
- bai_giang_the_gioi_lap_trinh_cau_truc_lap.ppt