Bài 10. Cấu Trúc Lặp

--- Bài mới hơn ---

  • Take For Granted Là Gì ? Cách Sử Dụng Take For Granted Đúng Cách
  • Take… For Granted: Cụm Từ Khó Dịch Nhưng Đầy Ý Nghĩa ” Trung Tâm Giáo Dục Nghề Nghiệp
  • Cùng Trau Dồi Các Cấu Trúc Hay
  • 11 Cụm Động Từ Với Take
  • Take Into Account Là Gì? Ý Nghĩa Và Cách Sử Dụng
  • BÀI GIẢNG

    MÔN TIN HỌC 11

    CHÀO MỪNG QÚY THẦY CÔ ĐẾN DỰ GiỜ

    SỞ GD&ĐT BÀ RỊA VŨNG TÀU

    TRƯỜNG THPT MINH ĐẠM

    Giáo viên: Trương Thị Liên

    Kiểm tra bài cũ

    Cho chương trình sau:

    Var a,d : byte;

    Begin

    d:=0;

    a:=5;

    If a mod 2 = 0 then d:=d+1;

    a:=6;

    If a mod 2 = 0 then d:=d+1;

    a:=24;

    If a mod 2 = 0 then d:=d+1;

    End.

    Câu 1: Chương trình trên sử dụng câu lệnh rẽ nhánh dạng nào?

    Câu 2: Sau khi chạy xong chương trình kết quả của d là bao nhiêu?

    A. 0 B. 1

    C. 2 D. 3

    Câu 3: Chương trình trên dùng để làm gì?

    Bài 10

    cấu trúc lặp

    I. Tìm hiểu lặp

    Lặp là việc thực hiện đi thực hiện lại một hoặc một vài công việc nào đó.

    Vd: Múc nước đổ vào đầy thùng

    – Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp đó trong thuật toán

    Bài 10: Cấu trúc lặp(tiết 1/3)

    ? lít

    Bài 1: Có 1 thùng với dung tích 100 lít, Hãy múc nước đổ đầy thùng đó với dụng cụ chứa 1 lít.

    Bài 2 : Có 1 thùng chưa biết dung tích, Hãy múc nước đổ đầy thùng đó với dụng cụ chứa 1 lít.

    Hãy cho biết quá trình đổ nước cho hai bài toán trên có điểm giống nhau và khác nhau thế nào?

    Bài 10: Cấu trúc lặp(tiết 1/3)

    I. Tìm hiểu lặp

    Lặp là việc thực hiện đi thực hiện lại một hoặc một vài công việc nào đó.

    Vd: Múc nước đổ vào đầy thùng

    – Cấu trúc lặp là dùng các thao tác để thể hiện việc lặp đó trong thuật toán

    Bài 10: Cấu trúc lặp(tiết 1/3)

    – Có hai dạng cấu trúc lặp: Lặp với số lần biết trước và lặp với số lần chưa biết trước.

    II. Lặp với số lần biết trước

    1. Bài toán:

    Với a là số nguyên dương.Tính tổng

    Gợi ý pp: Ta xem như s là một cái thùng, số hạng như một cái ca có dung tích nước khác nhau, khi đó việc tính tổng trên tương tự như việc đổ nước vào thùng s bằng cái ca

    + Có bao nhiêu lần đổ nước vào thùng?

    + Mỗi lần đổ một lượng bao nhiêu? Lần thứ n đổ bao nhiêu?

    + Mỗi lần đổ 1 ca nước vào thì dung lượng thùng bao nhiêu?

    + Phải thực hiện bao nhiêu lần tính tổng s?

    – Có 100 lần (n=100)

    – 1/(a+n)

    – s=s+1/(a+n)

    – 100 lần

    II. Lặp với số lần biết trước

    1. Bài toán:

    Với a là số nguyên dương.Tính tổng

    Lần n=1

    Lần n=0

    ……

    Lần n=100

    Lần n=2

    S = 0

    S = S + 1/(a+1)

    S = S + 1/(a+2)

    …..

    S = S + 1/(a+100)

    Input: sồ nguyên dương a

    Output: Tổng s

    Bước 1.Nhập… S..; N…;

    Bước 2. N……

    Bước 3. Điều kiện kết thúc

    thì chuyển đến bước 5;

    Bước 4. S………rồi

    làm gì?

    Bước 5. Đưa ra kết quả gì? rồi kết thúc.

    1. Bài toán:

    Với a là số nguyên dương.Tính tổng

    --- Bài cũ hơn ---

  • Cách Viết Bài Viết Anh 6 Thí Điểm (U1
  • Phân Biệt Try To Với Try Ving Trong Tiếng Anh?
  • Phân Biệt Like, Alike, Similar To Và The Same
  • Phân Biệt Similar To, Like, A Like Và The Same: 3+ Bí Quyết Mới
  • Cách Viết Cv/hồ Sơ Xin Việc Tiếng Anh Chuẩn 2022
  • Bài 8. Cấu Trúc Lặp Do

    --- Bài mới hơn ---

  • Bài 7. Cấu Trúc Lặp While
  • Chi Tiết Bài Học 12.vòng Lặp For Và While Trong Python
  • Bài 7. Câu Lệnh Vòng Lặp While Trong Python
  • Cấu Trúc When Và While Trong Tiếng Anh
  • Ielts Writing: Phân Biệt While, Meanwhile, Whereas, Whilst, As, When
  • Cấu trúc lặp do – while: Chức năng của vòng lặp do-while hoàn toàn giống vòng lặp while chỉ trừ có một điều là điều kiện điều khiển vòng lặp được tính toán sau khi sẽ được thực hiện ít nhất một lần ngay cả khi là biểu thức logic.

      – Trong sai đi. 

    Ví dụ 1:

    + Yêu cầu: Nhập một số có giá trị từ 0 đến 9, nếu nhập không đúng yêu cầu nhập lại. In ra số được nhập hợp lệ.

    + Code:

    using namespace std;

    int main() {

    int n;

    do{

    cout<<“n Nhap n = “;

    cout<<“n Nhap lai n !”;

    // in ket qua

    cout<<“n So da nhap hop le: “<<n;

    return 0;

    }

    Ví dụ 2:

    + Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím thỏa mãn 1<n<2014.

    + Code:

    using namespace std;

    int main() {

    int n;

    // su dụng do-while de nhap n

    do{

    cout<<“n Nhap n = “;

    cout<<“n Nhap lai n !”;

    // tinh tong

    int s = 0,i = 1;

    do{

    s = s+i;

    i++;

    }while(i<=n);

    // in ket qua

    cout<<“n Tong = “<<s;

    return 0;

    }

    Ví dụ 3:

    + Yêu cầu: Đếm số chẵn từ 0 đến n, với n nhập vào từ bàn phím thỏa mãn 4<=n<=1000.

    + Code:

    using namespace std;

    int main() {

    int n;

    // su dụng do-while de nhap n

    do{

    cout<<“n Nhap n = “;

    cout<<“n Nhap lai n !”;

    // dem so chan

    int dem = 0,i = 0;

    do{

    if (i%2==0) dem++;

    i++;

    }while (i<=n);

    // in ket qua

    cout<<“n Ket qua = “<<dem;

    return 0;

    }

    Ví dụ 4:

    + Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.

    + Code:

    using namespace std;

    int main() {

    cout<<“In ket qua: n”;

    int i = 1000;

    do{

    if(i%10+(i/10)%10+(i/100)%10+i/1000==10)

    cout<<i<<“;t”;

    i++;

    }while (i<=9999);

    return 0;

    }

    Ví dụ 5:

    + Yêu cầu: In ra màn hình bảng cửu chương.

    + Code:

    using namespace std;

    int main() {

    cout<<“In bang cuu chuong: n”;

    int i = 1;

    do{

    int j = 1;

    do{

    cout<<i<<“x”<<j<<“= “<<i*j<<“;t”;

    j++;

    }while (j<9);

    cout<<“n”;

    i++;

    } while (i<=9);

    return 0;

    }

    Ví dụ 6:

    + Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.

    + Code:

    using namespace std;

    int main() {

    cout<<“In so nguyen to nho hon 1000: n”;

    int i = 1;

    do

    {

    int test = 0,j = 2;

    do{

    if(i%j==0) {

    test = 1;

    break;

    }

    j++;

    }while (j<i);

    if(test==0) cout<<i<<“;t”;

    i++;

    }while (i<1000);

    return 0;

    }

    *** CHÚ Ý:

    – Các cấu trúc for, while, do-while có thể chuyển đổi qua lại cho nhau.

    – Câu lệnh break, continue:

      + break: khi gặp lệnh break vòng lặp kết thúc.

      + continue: khi gặp lệnh continue vòng lặp bỏ qua phần còn lại, bắt đầu vòng lặp mới.

    --- Bài cũ hơn ---

  • Bài 9: Cấu Trúc Lặp While, Do
  • Chi Tiết Bài Học Vòng Lăp While Và Do…while
  • Bài Tập Về Cấu Trúc So, Such, Too, Enough Lớp 8 Có Đáp An
  • Thì Hiện Tại Tiếp Diễn: Cấu Trúc Và Cách Sử Dụng
  • Làm Thế Nào Để Chia Động Từ
  • Cấu Trúc Lặp Trong Pascal

    --- Bài mới hơn ---

  • Welcome To My Blog :)
  • Internet Of Things (Iot) Với Esp8266
  • Tổng Hợp Kiến Thức & Kinh Nghiệm
  • Câu Hỏi Đuôi (Question Tags)
  • Câu Bị Động 2 Passive Sentences 2
  • Xin chào các bạn, Hôm nay WIKIPASCAL sẽ hướng dẫn các bạn về Cấu trúc lặp trong Pascal Pascal

    Trước hết chúng ta xét một ví dụ sau.

    Ví dụ 1

    :

     giả sử ta phải viết ra trên màn hình các số từ 0 đến 24, mỗi số chiếm một dòng :

    0

    1

    2

    23

    24

    Việc này có thể thực hiện bằng 25 lệnh writeln như sau :

    Code:

    Writeln (0) ; Writeln (1) ; ……………. Writeln (24) ;

    Cách viết này rõ ràng và tẻ nhạt trong khi nó có quy luật. Chúng ta có thể thay thế bằng cách dùng một lệnh Writeln ( I ) trong đó I là một biến nguyên bất kỳ nhận giá trị chạy từ 0 đến 24 như sau :​

    Code:

    For I := 0 To 24 Do Writeln ( I ) ;

    Vòng lặp For này có nghĩa là cho I chạy từ 0 ( giá trị đầu ) tới 24 ( giá trị cuối ), với mỗi giá trị của I, máy sẽ thực hiện công việc viết sau chữ Do, ở đây là viết ra giá trị của I.​

    Cụ thể hơn, vòng lặp For này được thực hiện từng bước như sau :

    1. Đầu tiên I lấy giá trị 0 là giá trị ban đầu. I nhỏ hơn giá trị cuôí là 24 nên lệnh Writeln ( I ) được thực hiện, viết ra giá trị 0.

    2. Sau đó, I nhận giá trị tiếp theo, tức là I := succ ( I ) = I + 1. Lúc này I = 1 và vẫn nhỏ hơn giá trị cuối là 24 nên lệnh writeln ( I ) được thực hiện : viết ra giá trị của I ( bằng 1 ) ra màn hình.

    3. Chương trình lại quay vòng về điểm 2 cho đến khi nào I = 25, lớn hơn giá trị cuối (24) thì dừng.​

    Mẫu viết tổng quát của ví dụ trên là :

    Code:

    For Bien_dieu_khien := Gia_tri_dau To Gia_tri_cuoi Do ;

    Nếu ta muốn viết các số từ 24 đến 0 ta lại viết như sau :

    Code:

    For I := 24 Downto 0 Do Writeln ( I ) ;

    Với mẫu viết tổng quát như sau :

    Code:

    For Bien_dieu_khien := Gia_tri_dau Downto Gia_tri_cuoi Do ;

    Trong mẫu 2, máy tính sẽ làm theo chiều ngược lại, tức là theo chiều giảm của biến điều khiển : đầu tiên biến điều khiển nhận giá trị ban đầu và sau đó thực hiện chu kì lặp như sau : chừng nào biến điều khiển còn lớn hơn hoặc bằng giá trị cuối thì thực hiện , sau mỗi lần thực hiện, biến điều khiển nhận giá trị trước nó, tức là :

    Bien_đieu_khien := Pred (Bien_đieu_khien) ;

    Ví dụ 2 : 

    tính tổng các số nguyên từ 50 đến 500 ta viết như sau :

    Code:

    Var I : integer ; Sum : real ; BEGIN Sum := 0 ; For I := 50 To 500 Do Sum := Sum + I ; (* hoặc For I := 500 Downto 50 Do Sum := Sum + I ; *) Writeln ( ' Tong = ', Sum ) ; END.

    Ví dụ 3 : 

    viết hai dòng các chữ cái hoa và nhỏ từ ‘A’ đến ‘Z’ ra màn hình với quy cách mỗi chữ chiếm 2 chỗ

    Code:

    USES CRT ; { đơn vị chương trình CRT để dùng thủ tục Clrscr } Var ch : char ; BEGIN Clrscr ; For ch := 'A' To 'Z' Do Write (ch : 2) ; Writeln ; For ch := 'a' To 'z' Do Write (ch : 2) ; Writeln ; END.

    Kết quả hiện ra màn hình :

    A B C D E F G H I J K L MN O P Q R S T U V WX Y Z

    A b c d e f g h I j k l m n o p q r s t u v w x y z

    Ví dụ 4 

    : phép thử biến ngày có phải ngày làm việc hay không được viết như sau :

    Code:

    Type ngay = (ChuNhat, Hai, Ba, Tu, Nam, Sau, Bay) ; Var Ngayx, ng : ngay ; BEGIN Ngayx := nam ; For ng := 'hai' To 'bay' Do If ngayx = ngay Then Writeln ( ' Ngay lam viec ' ); END.

    Cần lưu ý trong sau Do, không nên thay đổi tùy tiện giá trị của biến điều khiển. Làm như vậy rất nguy hiểm vì ta sẽ không còn chủ động kiểm soát được biến điều khiển. Ví dụ không nên dùng :​

    Code:

    For I := 1 To 10 Do I := I + 2 ;

    Ví dụ 5 

    các vòng For có thể lồng nhau :

    Code:

    For I := 1 To 5 Do For J := 1 To 8 Do Begin K := I + J ; Writeln (K) ; End ;

    Bạn hãy tự viết kết quả hiện ra màn hình.

    Có hai kiểu thực hiện vòng lặp không xác định :

    Với vòng lặp 

    Repeat…until

    ..

    Code:

    Repeat Until ;

    Với vòng lặp 

    While…do

    Code:

    While Do Begin ; End ;

    Trong lệnh Repeat… Until…, máy tính sẽ thực hiệncho đến khi có giá trị True theo chu kì xác định. Giữa Repeat và Until không cần dùng Begin và End. Có thể ví vòng Repeat… Until…với câu “Tiền trảm hậu tấu”.

    Còn trong vòng lặp While… Do…máy tính sẽ lặp đi lặp lại chu kỳ sau : chừng nào có giá trị True thì đi thực hiệnđược đặt giữa Begin và End.

    Như vậy sự khác nhau giữa hai loại vòng lặp trên là ở chỗ với vòng lặp Repeat, máy tính sẽ thực hiệntruớc và thử điều kiện củasau. Còn trong vòng While, máy sẽ thửtrước rồi thực hiệnsau.

    Cả hai vòng lặp đều có số lần lặp không xác định trước. Cần phải lưu ý là trong khi thực hiện lặp, ta phải có một lệnh làm thay đổi một biến nằm trong để thay đổi giá trị biểu thức nhằm dừng vòng lặp lại vì nếu không như vậy các vòng lặp sẽ chạy mãi không dừng.​

    Ví dụ 1:

    Tính tổng sau :

    A = 1 + 1/2 + 1/3 +… + 1/N

    Ví dụ này hoàn toàn có thể dùng vòng lặp 

    For 

    song ở đây ta áp dụng vòng lặp không xác định để làm ví dụ minh họa.

    Code:

    Program Tinh_tong ; Var I, N : Integer ; A : Real ; BEGIN Writeln (' N = ') ; Readln ( N ) ; A := 0 ; I := 1 ; Repeat A := A + 1/ I ; I := I + 1 ; (* thay đổi giá trị biểu thức Boolean *) Writeln (' Tong = ', a :10 : 8 ) ; END.

    Hoặc viết cách khác dưới dạng “đếm lùi” :

    Code:

    Var N : Integer ; A : Real ; BEGIN Writeln (' N = ') ; Readln ( N ) ; A := 0 ; Repeat A := A + 1/N N := N - 1 ; (* thay đổi giá trị biểu thức Boolean *) Until N = 0 ; Writeln (' Tong = ', A :10 : 8 ) ; END.

    Hoặc dùng vòng lặp 

    :

    Code:

    A := 0 ; I := 1 ; While I <= N Do Begin A := A + 1/ I ; I := I + 1 ; (* thay đổi giá trị biểu thức Boolean *) End ;

    Vòng lặp While luôn luôn đi với cặp từ khoá Begin và End còn trong vòng lặp Repeat không cần sử dụng cặp Begin và End.​

    Ví dụ 2:

    Chúng ta thường làm các vòng lặp không xác định như sau để quay vòng theo ý muốn :

    Code:

    Var Traloi : Char ; BEGIN Repeat ............... (* thay đổi điều kiện thủ tục *) Writeln (' Co tiep tuc nua khong ? ') ; Readln ( Traloi ) ; Until ( Traloi = 'K' ) or ( Traloi = 'k' ) ;

    III – Lệnh nhảy vô điều kiện Goto

    Lệnh Goto thuộc loại lệnh đơn giản, cho phép chương trình nhẩy vô điều kiện tới một vị trí trong chương trình thông qua tên nhãn. các nhãn là các số nguyên hoặc tên được khai báo trong phần Label của phần khai báo ở đầu chương trình, đặt cách nhau qua dấu phẩy. Trong chương trình, nhãn được đặt vào vị trí thích hợp theo sau là dấu hai chấm.​

    Ví dụ1

    :

    Code:

    Program Vi_du_nhan ; Label 1, 2 ; Var X, Y, I : Real ; BEGIN ................ 1 : X := X + 1 ; ................ ................ 2 : I := X + Y ; If I < 3 Then Goto1 ; ................ END.

    Sự có mặt của Goto trong chương trình chúng tỏ người lập trình chưa học cách nghĩ theo Pascal như lời của giáo sư Writh, tác giả của Pascal chuẩn, đã viết .

    Một điều ràng buộc của lệnh Goto là không được dùng Goto để nhảy vào chương trình con mặc dù có thể từ trong chương trình con nhảy ra ngoài.​

    Tuy được trang bị lệnh nhảy Goto song có thể nói Pascal rất ít khi dùng hoặc tuyệt đối không nên dùng lệnh Goto vì Goto sẽ làm mất tính “cấu trúc thuật toán ” của ngôn ngữ Pascal. Goto chính là khuyết điểm của ngôn ngữ Fortran. Các lệnh While…, Repeat… Until…, If… đã đủ khả năng cho phép người lập trình tránh dùng Goto. Ngôn ngữ Fortran là loại ngôn ngữ nghèo lệnh : nó chỉ có 3 kiểu lệnh : một kiểu vòng lặp Do tương tự như vòng For của Pascal, lệnh If thì chưa có cấu trúc Else và cuối cùng là Goto.Sự có mặt của Goto trong chương trình chúng tỏ người lập trình chưa học cách nghĩ theo Pascal như lời của giáo sư Writh, tác giả của Pascal chuẩn, đã viết .Một điều ràng buộc của lệnh Goto là không được dùng Goto để nhảy vào chương trình con mặc dù có thể từ trong chương trình con nhảy ra ngoài.​

    Code:

    I := 1 ; While I <= N Do Begin A := A + 1/ I ; I := I + 1 ; (* thay đổi giá trị biểu thức Boolean *) End ;

    Vòng lặp While luôn luôn đi với cặp từ khoá Begin và End còn trong vòng lặp Repeat không cần sử dụng cặp Begin và End.​

    Ví dụ 2

    :

    Chúng ta thường làm các vòng lặp không xác định như sau để quay vòng theo ý muốn :

    Code:

    Var Traloi : Char ; BEGIN Repeat ........ (* thay đổi điều kiện thủ tục *) Writeln (' Co tiep tuc nua khong ? ') ; Readln ( Traloi ) ; Until ( Traloi = 'K' ) or ( Traloi = 'k' ) ;

    Bài tập :

    1. Viết chương trình nhập vào số n. Tính giá trị biểu thức E = 1/1! + 1/2! + … + 1/n!.

    2. Một người gửi tiết kiệm không kì hạn với số tiền A đồng với lãi suất 0.3% mỗi tháng. Hỏi sau bao nhiêu tháng, người đó rút hêt tiền thì sẽ nhận được số tiền ít nhất là B=1.5A đồng. Biết rằng gửi tiết kiệm không kì hạn thì lãi sẽ không được cộng vào tiền gốc.

    --- Bài cũ hơn ---

  • Vòng Lặp Trong C (Bài 5)
  • Lập Trình C: Bài Tập Phần Vòng Lặp (Loop)
  • Bài Tập C++ Về Vòng Lặp(Full Bài Giải)
  • Hướng Dẫn Lập Trình C Cho Người Mới Bắt Đầu
  • Các Thành Phần Và Cấu Trúc Của Một Chương Trình C++
  • Bài 10: Cấu Trúc Lặp

    --- Bài mới hơn ---

  • Causative Verb – Make, Have, Let, Get – Với Ý Gây Khiến
  • Cấu Trúc So Sánh Đặc Biệt Trong Tiếng Anh Nhất Định Phải Biết
  • 4 Cách Dùng Neither Trong Tiếng Anh
  • Tìm Hiểu Tất Tần Tật Về Cấu Trúc Only When Trong Tiếng Anh
  • Provide, Offer, Supply, Give Trong Tiếng Anh – Cách Sử Dụng, Cấu Trúc
  • – Trong cuộc sống, có những hành động được gọi là lặp đi lặp lặp lại nhiều lần như:

    • Đánh răng mỗi ngày hai lần, học Tin học mỗi tuần 2 tiết, mỗi ngày tắm một lần…
    • Học cho đến khi thuộc bài, rửa tách trà cho đến khi sạch…

    – Trong Pascal, cách mô tả công việc (hoạt động) được lặp lại nhiều lần gọi là cấu trúc lặp. Có 3 loại cấu trúc vòng lặp như sau:

    • Cấu trúc for
    • Cấu trúc while do
    • Cấu trúc repeat

    1. Cấu trúc FOR

    – Cấu trúc FOR cho phép lặp lại nhiều lần một dãy lệnh mà số lần lặp lại đã biết trước.

    – Phát biểu FOR có 2 dạng:

    • Dạng tiến (đếm lên): FOR ….. TO ….. DO
    • Dạng lùi (đếm xuống): FOR ….. DOWNTO ….. DO

    – Cú pháp tổng quát:   

     

    – Sơ đồ khối:

     

     

    – Hoạt động: 

     

     

    • Bước 1: Thực hiện biểu thức 1 (gán giá trị khởi đầu)
    • Bước 2: Kiểm tra điều kiện lặp:
      • Nếu điều kiện lặp có giá trị ‘sai’ thì ra khỏi vòng lặp.
      • Ngược lại, nếu điều kiện lặp có giá trị ‘đúng’ thì chuyển tới bước 3.
    • Bước 3: Thực hiện khối lệnh sau for (thân của for), chuyển tới bước 4.
    • Bước 4: Thực hiện biểu thức 3 (tăng/ giảm biến đếm), rồi quay về bước 2.

     

    * Chú ý: 

    • Giá trị đầu, giá trị cuối là các biến hoặc hằng;
    • Biến đếm phải là kiểu rời rạc.

     

     

    – Ví dụ 1: Chương trình in một dãy số từ 0 đến 9

    PROGRAM Day_So;

    VAR i: Integer;

    BEGIN

    FOR i := 0 TO 9 DO

    Write (i);

    Readln;

    END.

     

    2. Câu lệnh While …Do

    – Cấu trúc:

    – Sơ đồ khối:

    – Hoạt động:

    • Bước 1: Kiểm tra điều kiện lặp:
      • Nếu điều kiện lặp sai thì thoát khỏi vòng lặp, chuyển sang lệnh tiếp theo.
      • Nếu điều kiện lặp đúng thì chuyển sang bước 2.
    • Bước 2: Thực hiện khối  các lệnh lặp.
    • Bước 3: Quay lại bước 1.

    – Ví dụ 2: Chương trình tính trung bình n số:  x1 + x2 + x3 + … + xn

    Program Trung_binh_Day_So;

    VAR  n, count: Integer;

    x, sum, average: real;

    BEGIN

    count := 1;

    sum := 0;

    Writeln('Nhập n = '); readln (n);

    WHILE  count  < n+1  DO

    BEGIN

    Writeln('Nhập giá trị thứ' , count,' của x = '); readln (x);

    sum := sum + x;

    count := count + 1;

    END;

    average :=  sum/n;

    Writeln('Trung bình là =' , average : 10 : 3 );

    Readln;

    END.

    --- Bài cũ hơn ---

  • Ngữ Pháp Tiếng Trung: Cách Sử Dụng Phó Từ 就(Jiù) Và 才(Cái)
  • Học Ngữ Pháp Tiếng Trung: Cách Dùng 就 Jiù Và 才 Cái
  • Cách Sử Dụng 要是…就 (Yàoshi…jiù) Trong Tiếng Trung
  • Học Viện Khoa Học Quân Sự
  • Làm Sao Để Phân Biệt 2 Từ Đồng Nghĩa Này?
  • Cấu Trúc Lặp Do … Loop While

    --- Bài mới hơn ---

  • Dùng Ngữ Pháp Tốt Hơn Với “until” Và “by”
  • Be About To Là Gì? Be Going To Là Gì? Cách Phân Biệt
  • Thì Tương Lai Gần (Near Future Tense)
  • Phân Biệt Will Và Be Going To
  • Ngữ Pháp Tiếng Anh: 90 Cấu Trúc Tiếng Anh Với V
  • Trái với cấu trúc lặp Do while là kiểm tra điều kiện trước khi thực hiện công việc, Cấu trúc lặp Do … Loop WhileDo … Loop Until lại thực hiện công việc sau đó mới kiểm tra điều kiện lặp (Cấu trúc Do… Loop While giống như cấu trúc Repeat … Until trong P As cal).

    Thực hành: Viết chương trình nhập vào một danh sách gồm Họ tên và điểm thi của sinh viên trong một lớp. Việc nhập kết thúc nếu họ tên nhập vào là một xâu rỗng.

    Hướng dẫn:

    • Công việc nhập lặp đi lặp lại do vậy cần sử dụng vòng lặp
    • Số lần lặp là không xác định nên không thể sử dụng vòng lặp for
    • Việc kiểm tra được tiến hành sau khi người dùng nhập họ tên, do vậy cần dùng vòng lặp Do … Loop While.

    Option Explicit

    ‘/// Định nghĩa kiểu bản ghi (Kiểu dữ liệu mới)

    ‘/// Kiểu bản ghi định nghĩa trong Form phải có thuộc tính là Private (không được là public)

    HoTen As String

    Diem As Integer

    Dim N As Integer ‘/// Dùng để lưu số lượng phần tử đã nhập vào

    N = 0

    Do

    N = N + 1

    SinhVien(N).HoTen = InputBox(“Họ tên của sinh viên thứ ” & N)

    SinhVien(N).Diem = InputBox(“Điểm của sinh viên thứ ” & N)

    ‘/// Hiển thị kết quả vừa nhập

    For i = 1 To N – 1

    MsgBox “Họ tên : ” & SinhVien(i).HoTen & ” Điểm: ” & SinhVien(i).Diem

    Next

    Option Explicit

    ‘/// Định nghĩa kiểu bản ghi (Kiểu dữ liệu mới)

    ‘/// Kiểu bản ghi định nghĩa trong Form phải có thuộc tính là Private (không được là public)

    HoTen As String

    Diem As Integer

    Dim N As Integer ‘/// Dùng để lưu số lượng phần tử đã nhập vào

    N = 0

    Do

    N = N + 1

    SinhVien(N).HoTen = InputBox(“Họ tên của sinh viên thứ ” & N)

    SinhVien(N).Diem = InputBox(“Điểm của sinh viên thứ ” & N)

    Loop Until SinhVien(N).HoTen = “”

    /// Hiển thị kết quả vừa nhập

    For i = 1 To N – 1

    Debug.Print “Họ tên : ” & SinhVien(i).HoTen & ” Điểm: ” & SinhVien(i).Diem

    Next

    Nhận xét:

      Cấu trúc Do … Loop While và cấu trúc Do … Loop Until đều thực hiện công việc lặp sau đó mới kiểm tra điều kiện nhưng trong cấu trúc lặp Do … Loop While thì việc lặp chỉ kết thúc nếu điều kiện là sai, còn Do … Loop Until thì kết thúc nếu điều kiện lặp là đúng (giống với Repeat until trong PAscal)

    --- Bài cũ hơn ---

  • Vòng Lặp Repeat .. Until Trong Pascal
  • Cách Dùng The Same Trong Tiếng Anh
  • Cấu Trúc “this Is The First Time” Trong Tiếng Anh
  • Cấu Trúc This Is The First Time: Cách Dùng, Chuyển Đổi Câu
  • Thì Tương Lai Tiếp Diễn Cấu Trúc, Cách Dùng Và Bài Tập Chi Tiết
  • Cấu Trúc Lặp Goto Trong C#.

    --- Bài mới hơn ---

  • Câu Lệnh Goto Trong C++ (Goto Statements)
  • 13 Quy Tắc Đánh Trọng Âm Tiếng Anh
  • 9 Quy Tắc Trọng Âm “nằm Lòng” Nếu Muốn Nói Tiếng Anh Hay.
  • Quy Tắc Nhấn Trọng Âm Từ & Trọng Âm Câu Chuẩn Xác Dành Cho Người Mới Học!
  • Tổng Hợp Quy Tắc Đánh Dấu Trọng Âm Cơ Bản Trong Tiếng Anh Giao Tiếp
  • Dẫn nhập

    Ở các bài học trước, chúng ta đã cùng nhau tìm hiểu về CẤU TRÚC CƠ BẢN CỦA VÒNG LẶP. Ở bài này chúng ta sẽ cùng đi sâu vào chi tiết cách sử dụng vòng lặp goto

    Nội dung

    Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

    Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

    Cấu trúc của một vòng lặp goto

    Cái tên goto có thể hiểu là đi đến đâu đó. Thường sử dụng cấu trúc goto người ta sẽ đi kèm một câu điều kiện (có thể không cần).

    • goto là từ khóa thông báo cho trình biên dịch biết sẽ đi đến nhãn ngay sau để tiếp tục thực thi code.

    Các ví dụ sử dụng goto:

    static void Main(string args) { int a = 2; switch(a) { case 1: // label case 1 Console.WriteLine("Case 1"); break; case 2: // label case 2 Console.WriteLine("Case 2"); goto case 1; // dịch chuyển tới label case 1 break; // Đoạn code này thừa vì sẽ không bao giờ thực thi case 3: // label case 3 Console.WriteLine("Case 3"); break; } Console.ReadKey(); }

    Ta thấy chương trình đi vào case 2 sau đó gặp dòng code goto case 1; nên đã nhảy lên thực thi dòng code

    case 1: // label case 1 Console.WriteLine("Case 1"); break;

    rồi mới kết thúc chương trình.

    Một ví dụ khác kết hợp với câu điều kiện:

    static void Main(string args) { int a = 2; // nếu a == 2 if (a == 2) { // dịch chuyển tới vị trí label a_Is_2 goto a_Is_2; } Console.WriteLine("A == 1"); a_Is_2: Console.WriteLine("A == 2"); Console.ReadKey(); }

      Kết quả sẽ in ra màn hình dòng chữ “A == 2”. Dòng chữ “A == 1” không được in ra do đoạn code Console.(“A == 1”); bị bỏ qua vì câu lệnh goto dịch chuyển đến label a_Is_2: nằm bên dưới nó.

    Vậy rõ ràng lần này chương trình không đi theo trình tự từ trên xuống dưới mà bị dịch chuyển ngược lên trên trở lại bởi câu lệnh goto.

    Bản chất của goto là nhảy đến bất cứ nơi đâu có label . Mọi câu lệnh khác khi goto bỏ qua đều bị trình biên dịch bỏ qua.

    Chỉ cần câu điều kiện lặp luôn thỏa mãn thì vòng lặp sẽ lặp mãi.

    static void Main(string[] args) { int a = 2; Ifinity_Loop: // nếu a == 2 if (a == 2) { // dịch chuyển tới vị trí label a_Is_2 goto a_Is_2; } Console.WriteLine("A == 1"); a_Is_2: Console.WriteLine("A == 2"); goto Ifinity_Loop; // dịch chuyển tới vị trí label Ifinity_Loop Console.ReadKey(); }

    Chúng ta thấy khi chạy chương trình sẽ in ra hàng loạt dòng “A == 2” do đoạn code Console.WriteLine(“A == 2”); được lặp lại liên tục. Đoạn code làm phát sinh vấn đề này là ở đây:

    • Ban đầu chương trình sẽ đi đến đoạn code goto a_Is_2;.
    • Sau đó lại bị đoạn code goto Ifinity_Loop; đưa ngược lại label Ifinity_Loop.
    • Mãi không thể nào kết thúc quá trình lặp lại này dẫn đến một vòng lặp vô tận.

    Kết luận

    Qua bài này chúng ta đã nắm được cách sử dụng goto và label. Đây là một cấu trúc được khuyến cáo là đi từ trên xuống ). hạn chế sử dụng (không dùng thì tốt hơn) trong lập trình C# vì nó có thể phá vỡ cấu trúc của một chương trình (

    Bài sau chúng ta sẽ tiếp tục tìm hiểu về cấu trúc lặp tiếp theo đó là CẤU TRÚC VÒNG LẶP FOR TRONG C#.

    Tải xuống

    Tài liệu

    Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Cấu trúc lặp Goto trong C#. dưới dạng file PDF trong link bên dưới.

    Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

    Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện chúng tôi để nhận được sự hỗ trợ từ cộng đồng.

    --- Bài cũ hơn ---

  • Hướng Dẫn Đánh Số Trang Trong Excel 2022, 2013, 2010, 2007, 2003
  • 35 Cấu Trúc Câu Thông Dụng Với Động Từ
  • 7 Cấu Trúc Band 7 Cho Writing Task 1
  • Giải Đề Và Bài Mẫu Ielts Writing Task 2 Cho Chủ Đề News ” Anh Ngữ Zim
  • Hướng Dẫn Cách Viết Vòng Lặp Do Loop Trong Vba
  • Bài 7. Cấu Trúc Lặp While

    --- Bài mới hơn ---

  • Chi Tiết Bài Học 12.vòng Lặp For Và While Trong Python
  • Bài 7. Câu Lệnh Vòng Lặp While Trong Python
  • Cấu Trúc When Và While Trong Tiếng Anh
  • Ielts Writing: Phân Biệt While, Meanwhile, Whereas, Whilst, As, When
  • Sử Dụng Và Viết Sao Cho Đúng
  • Cấu trúc lặp while: Chức năng của nó đơn giản chỉ là lặp lại còn thoả mãn.

    Cú pháp:

    while (biểu thức điểu khiển) { Khối lệnh; }

    Trong đó:

         – còn thực hiện khi cần có sự tác động để [biểu thức điều khiển] sai.

    Ví dụ 1:

    + Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím.

    + Code:

    using namespace std;

    int main() {

    int n;

    // nhap n

    cout<<“n n = “;

    // tinh tong

    int s = 0,i = 0;

    while(i<=n){

    s = s+i;

    i++;

    }

    // in ket qua

    cout<<“n Tong = “<<s;

    return 0;

    }

    Ví dụ 2:

    + Yêu cầu: Đếm số chẵn nhỏ hơn n, với n nhập vào từ bàn phím.

    + Code:

    using namespace std;

    int main() {

    int n;

    // nhap n

    cout<<“n n = “;

    // dem so chan

    int dem = 0,i = 0;

    while (i<=n){

    if (i%2==0) dem++;

    i++;

    }

    // in ket qua

    cout<<“n Ket qua = “<<dem;

    return 0;

    }

    Ví dụ 3:

    + Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.

    + Code:

    using namespace std;

    int main() {

    cout<<“In ket qua: “;

    int i = 1000;

    while (i<=9999)

    {

    if(i%10+(i/10)%10+(i/100)%10+i/1000==10)

    cout<<i<<“;t”;

    i++;

    }

    return 0;

    }

    Ví dụ 4:

    + Yêu cầu: In ra màn hình bảng cửu chương.

    + Code:

    using namespace std;

    int main() {

    cout<<“In bang cuu chuong: n”;

    int i = 1;

    while (i<=9)

    {

    int j = 1;

    while (j<9){

    cout<<i<<“x”<<j<<“= “<<i*j<<“;t”;

    j++;

    }

    cout<<“n”;

    i++;

    }

    return 0;

    }

    Ví dụ 5:

    + Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.

    + Code:

    using namespace std;

    int main() {

    cout<<“In so nguyen to nho hon 1000: n”;

    int i = 1;

    while (i<=1000)

    {

    int test = 0,j = 2;

    while (j<i){

    if(i%j==0) {

    test = 1;

    break;

    }

    j++;

    }

    if(test==0) cout<<i<<” ; “;

    i++;

    }

    return 0;

    }

    --- Bài cũ hơn ---

  • Bài 8. Cấu Trúc Lặp Do
  • Bài 9: Cấu Trúc Lặp While, Do
  • Chi Tiết Bài Học Vòng Lăp While Và Do…while
  • Bài Tập Về Cấu Trúc So, Such, Too, Enough Lớp 8 Có Đáp An
  • Thì Hiện Tại Tiếp Diễn: Cấu Trúc Và Cách Sử Dụng
  • Cấu Trúc Lặp While, Do .. While

    --- Bài mới hơn ---

  • Vòng Lặp While Trong Python
  • Các Cấu Trúc Lặp Trong Python: For Và While
  • Bài 25: Vòng Lặp While Trong Python
  • Whereas Là Gì ? Giải Nghĩa Từ “whereas” Và Các Từ Gợi Ý Liên Quan
  • Whereas Là Gì? Các Từ Đồng Nghĩa Whereas
  • Cấu trúc lặp for

    Toán tử for dùng để xây dựng cấu trúc lặp có dạng sau:

    for ( biểu thức 1; biểu thức 2; biểu thức 3)

    Lệnh hoặc khối lệnh ;

    Toán tử for gồm ba biểu thức và thân for. Thân for là một câu lệnh hoặc một khối lệnh viết sau từ khoá for. Bất kỳ biểu thức nào trong ba biểu thức trên có thể vắng mặt nhưng phải giữ dấu ; .

    Thông thường biểu thức 1 là toán tử gán để tạo giá trị ban đầu cho biến điều khiển, biểu thức 2 là một quan hệ logic biểu thị điều kiện để tiếp tục chu trình, biểu thức ba là một toán tử gán dùng để thay đổi giá trị biến điều khiển.

    Hoạt động của toán tử for:

    Toán tử for hoạt động theo các bước sau:

    Xác định biểu thức 1

    Xác định biểu thức 2

    Tuỳ thuộc vào tính đúng sai của biểu thức 2 để máy lựa chọn một trong hai nhánh:

    Nếu biểu thức hai có giá trị 0 ( sai ), máy sẽ ra khỏi for và chuyển tới câu lệnh sau thân for.

    Nếu biểu thức hai có giá trị khác 0 ( đúng ), máy sẽ thực hiện các câu lệnh trong thân for.

    Tính biểu thức 3, sau đó quay lại bước 2 để bắt đầu một vòng mới của chu trình.

    Chú ý :

    Nếu biểu thức 2 vắng mặt thì nó luôn được xem là đúng. Trong trường hợp này việc ra khỏi chu trình for cần phải được thực hiện nhờ các lệnh break, goto hoặc return viết trong thân chu trình.

    Trong dấu ngoặc tròn sau từ khoá for gồm ba biểu thức phân cách nhau bởi dấu ;. Trong mỗi biểu thức không những có thể viết một biểu thức mà có quyền viết một dãy biểu thức phân cách nhau bởi dấu phảy. Khi đó các biểu thức trong mỗi phần được xác định từ trái sang phải. Tính đúng sai của dãy biểu thức được tính là tính đúng sai của biểu thức cuối cùng trong dãy này.

    Trong thân của for ta có thể dùng thêm các toán tử for khác, vì thế ta có thể xây dựng các toán tử for lồng nhau.

    Khi gặp câu lệnh break trong thân for, máy ra sẽ ra khỏi toán tử for sâu nhất chứa câu lệnh này. Trong thân for cũng có thể sử dụng toán tử goto để nhảy đến một ví trí mong muốn bất kỳ.

    Ví dụ 1:

    Nhập một dãy số rồi đảo ngược thứ tự của nó.

    #include “stdio.h”

    float x;x;x);

    }

    Cách 2:

    #include “stdio.h”

    float x,x,x);

    }

    Cách 3:

    #include “stdio.h”

    float x;x;x));

    }

    Ví dụ 2:

    Tính tích hai ma trận mxn và nxp.

    #include “stdio.h”

    float x,y,z,c;

    main()

    {

    int i,j;

    printf(” nhap gia tri cho ma tran X “);

    for (i=0;i<=2;++i)

    for (j=0;j<=1;++j)

    {

    printf(” x=”,i,j);

    scanf(“%f”,&c);

    x=c;

    }

    printf(” nhap gia tri cho ma tran Y “);

    for (i=0;i<=1;++i)

    for (j=0;j<=3;++j)

    {

    printf(” y=”,i,j);

    scanf(“%f”,&c);

    y=c;

    }

    for (i=0;i<=3;++i)

    for (j=0;j<=4;++j)

    z

    }

    Break, continue, return

    Câu lệnh break

    Câu lệnh break cho phép ra khỏi các chu trình với các toán tử for, while và switch. Khi có nhiều chu trình lồng nhau, câu lệnh break sẽ đưa máy ra khỏi chu trình bên trong nhất chứa nó không cần điều kiện gì. Mọi câu lệnh break có thể thay bằng câu lệnh goto với nhãn thích hợp.

    Ví dụ:

    Biết số nguyên dưưng n sẽ là số nguyên tố nếu nó không chia hết cho các số nguyên trong khoảng từ 2 đến căn bậc hai của n. Viết đoạn chưưng trình đọc vào số nguyên dưưng n, xem n có là số nguyên tố.

    # include “stdio.h”

    # include “math.h”

    unsigned int n;

    main()

    {

    int i,nt=1;

    printf(” cho n=”);

    scanf(“%d”,&n);

    for (i=2;i<=sqrt(n);++i)

    if ((n % i)==0)

    {

    nt=0;

    break;

    }

    if (nt)

    printf(” %d la so nguyen to”,n);

    else

    printf(” %d khong la so nguyen to”,n);

    }

    Câu lệnh continue

    Trái với câu lệnh break, lệnh continue dùng để bắt đầu một vòng mới của chu trình chứa nó. Trong while và do while, lệnh continue chuyển điều khiển về thực hiện ngay phần kiểm tra, còn trong for điều khiển được chuyển về bước khởi đầu lại ( tức là bước: tính biểu thức 3, sau đó quay lại bước 2 để bắt đầu một vòng mới của chu trình).

    Chú ý:

    Lệnh continue chỉ áp dụng cho chu trình chứ không áp dụng cho switch.

    Ví dụ:

    Viết chưưng trình để từ một nhập một ma trận a sau đó:

    Tính tổng các phần tử dưưng của a.

    Xác định số phần tử dưưng của a.

    Tìm cực đại trong các phần tử dưưng của a.

    #include “stdio.h”

    float a[j];

    ++soptd; }

    printf(” So phan tu duong la: %d”,soptd);

    printf(” Tong cac phan tu duong la: %8.2f”,tongduong);

    printf(” Cuc dai phan tu duong la: %8.2f”,cucdai);

    }

    Lệnh return

    Lệnh return được dùng để kết thúc các hàm tại bất cứ điểm nào. Trong một hàm lệnh return còn có thể được trả về giá trị của hàm và kết thúc hàm.

    Ví dụ

    int cong(int a, int b){

    return a+b;

    }

    Hàm trên sẽ trả về giá trị của a+b được xác định trong hàm.

    --- Bài cũ hơn ---

  • Hướng Dẫn Sử Dụng Cấu Trúc Lặp (Vòng Lặp While) Trong Lập Trình C++
  • He Thong Bai Trac Nghiem Chuong 3
  • Sự Khác Nhau Giữa While Và Meanwhile: Cách Dùng, Cấu Trúc
  • Vòng Lặp While Trong C++
  • Vòng Lặp While Trong C++ (While Statements)
  • Cấu Trúc Vòng Lặp For, While, Do

    --- Bài mới hơn ---

  • Cách Sử Dụng For, During Và While Trong Tiếng Anh
  • If, Even If, Whether, Unless, But, For, Otherwise, Provided, Suppose
  • Phân Biệt Except Và Except For
  • Hiểu Ngay Cấu Trúc Accuse
  • Cách Dùng Cấu Trúc Be + To Infinitive
  • đây là bài viết về vòng lặp trong C bao gồm có vòng lặp for, vòng lặp while, vòng lặp do-while các bạn có thể tải sẵn bài tâp và code của mình TẠI ĐÂY để tiện theo dõi bài viết.

    sau đây là chi tiết :

    – Một trong những điểm mạnh lớn nhất của máy tính là khả năng thực hiện một chuỗi các lệnh lặp đi lặp lại. Điều đó có được là do sử dụng các cấu trúc lặp trong ngôn ngữ lập trình. Trong bài này bạn sẽ tìm hiểu các loại vòng lặp khác nhau C.

    1. Vòng lặp

    – Vòng lặp là một đoạn mã lệnh trong chương trình được thực hiện lặp đi lặp lại cho đến khi thỏa mãn một điều kiện nào đó. Vòng lặp là một khái niệm cơ bản trong lập trình cấu trúc. Trong C có các loại vòng lặp sau (for, while, do…while)

    – Ta sử dụng các toán tử quan hệ và toán tử logic trong các biểu thức điều kiện để điều khiển sự thực hiện của vòng lặp.

    2. Vòng lặp “for”

    – Cú pháp tổng quát của vòng lặp “for” như sau:

    for (khởi tạo giá trị cho biến điều khiển; biểu thức điều kiện; biểu thức thay đổi giá trị của biến điều khiển)

    – Khởi tạo giá trị cho biến điều khiển là một câu lệnh gán giá trị ban đầu cho biến điều khiển trước khi thực hiện vòng lặp. Lênh này chỉ được thực hiện duy nhất một lần. Biểu thức điều kiện là một biểu thức quan hệ, xác định điều kiện thoát cho vòng lặp. Biểu thức thay đổi giá trị của biến điều khiển xác định biến điều khiển sẽ bị thaddooior thế nào sau mỗi lần vòng lặp được lặp lại (thường là tăng hoặc giảm giá trị của biến điều khiển). Ba phần trên được phân cách bởi dấu chấm phẩy. Câu lệnh trong than vòng lặp có thể là một lệnh duy nhất (lệnh đơn) hoặc lệnh phức (nhiều lệnh).

    – Vòng lặp for sẽ tiếp tục được thực hiện chừng nào mà biểu thức điều kiện còn . Khi biểu thức điều kiện là sai (false), chương trình sẽ thoát ra khỏi vòng lặp for

    – Toán tử “phẩy (comma)”: phần biểu thức trong toán tử for có thể được mở rộng để thêm vào các lệnh khởi tạo hay các lệnh thay đổi giá trị của biến. Cú pháp như sau:

    – Các biểu thức trên được phân tách bởi toán tử phẩy “,”, và được thực hiên từ trái sang phải. Thứ tự của các biểu thức là quan trọng trong trường hợp giá trị của biểu thức thứ hai phục thuộc vào giá trị của biểu thức thứ nhất. Toán tử này có độ ưu tiên thấp nhất trong các toán tử của C.

    3. Vòng lặp “for” lông nhau

    – Một vòng lặp for được gọi là lông nhau khi nó nằm bên trong một vòng lặp for khác. Nó sẽ có dạng tương tự như sau:

    sơ đồ khối

    – Vòng lặp for khi không có bất kỳ thành phần nào sẽ là một vòng lặp vô tận. Tùy nhiên, lệnh break bên trong vòng lặp sẽ cho phép thoát khỏi vòng lặp.

    4. Vòng lặp “while”

    – Cấu trúc lặp thứ hai trong C là vòng lặp while. Cú pháp tổng quát như sau:

    sơ đồ khối:

    – Trong đó, câu_lệnh có thể là rỗng, hay một lệnh đơn, hay một khối lệnh. Nếu vòng lặp while chứa một tập lệnh thì chúng phải được đặt trong cặp ngoặc xoắn {}. điều_kiện có thể là biểu thức bất kỳ. Vòng lặp sẽ được thực hiện lặp đi lặp lại khi điều kiện trên là đúng (true). Chương trình sẽ chuyển đến thực hiện lệnh tiếp theo sau vòng lặp khi điều kiện trên là sai (false).

    – Vòng lặp for có thể được sử dụng khi số lần thực hiện vòng lặp đã được xác định trước. Khi số lần lặp không biết trước, vòng lăp while có thể được sử dụng.

    5. Vòng lặp “do…while”

    – Vòng lặp do … while còn được gọi là vòng lặp do trong C. Không giống như vòng lặp forwhile, vòng lặp này kiểm tra điều kiện tại cuối vòng lặp. Điều này có nghĩa là vòng lặp do…while sẽ được thực hiện ít nhất một lần, ngay cả khi điều kiện la sai (false) ở lần chạy đầu tiên. Cú pháp tổng quát của vòng lặp do…while viết như sau:

    sơ đồ khối

    – Cặp dấu ngoặc “{}” là không cần thiết khi chỉ có một câu lệnh hiện diện trong vòng lặp, nhưng việc sử dụng dấu ngoặc “{}” là một thói quen tốt. Vòng lặp do…while lặp đến khi điều_kiện mang giá trị false. Trong vòng lặp do…while, câu_lệnh (khối các câu lệnh) sẽ được thực thi trước, và sau đó điều_kiện được kiểm tra. Nếu điều_kiện là true, chương trình sẽ quay lại thực hiện lệnh do. Nếu điều kiện là false, chương trình chuyển đến thực hiện lệnh nằm sau vòng lặp. Tương tự như vòng lặp for, các vòng lặp while và do…while cũng có thể lồng vào nhau.

    1. Khai báo một biến có độ tuổi của con người. In tên nhiều lần của người dùng như tuổi tác của mình

    code vòng lặp do – while:

    2. Chương trình sẽ hiển thị ngay cả con số 1-30.

    3. Những con số hiển thị chương trình 10-0 trong thứ tự đảo ngược

    4. Chương trình sẽ chấp nhận số nguyên và hiển thị chúng cho đến khi bằng không (0) được nhập

    6. Viết chương trình in ra hàng loạt 100, 95, 90, 85, ………., 5.

    8. Viết chương trình để tạo ra các loạt Fibonacci. (1,1,2,3,5,8,13, ………)

    /* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

    int main(int argc, char *argv) {

    int a,b,i,j;

    printf(“vao so:”);

    scanf(“%d”,&a);

    i=0;

    j=1;

    b=0;

    do{

    printf(“%d “,b);

    b=i+j;

    j=i;

    i=b;

    }

    while (b<=a);

    printf(“nnn”);

    system(“pause”);

    return 0;

    }

    --- Bài cũ hơn ---

  • Cấu Trúc Enough, So That, Too To, Such That
  • Cấu Trúc, Cách Dùng Since Và For Trong Tiếng Anh Căn Bản
  • Cấu Trúc, Cách Dùng Since Và For Trong Tiếng Anh Chuẩn Xác Nhất
  • Cách Sử Dụng & Phân Biệt Cấu Trúc Since Và For Trong Tiếng Anh
  • Hiện Tại Hoàn Thành: For Và Since Trong Tiếng Anh
  • Bài 9: Cấu Trúc Lặp While, Do

    --- Bài mới hơn ---

  • Bài 8. Cấu Trúc Lặp Do
  • Bài 7. Cấu Trúc Lặp While
  • Chi Tiết Bài Học 12.vòng Lặp For Và While Trong Python
  • Bài 7. Câu Lệnh Vòng Lặp While Trong Python
  • Cấu Trúc When Và While Trong Tiếng Anh
  • Trong bài viết này mình sẽ giới thiệu đến các bạn nốt 2 cấu trúc lặp còn lại trong C/C++ là whiledo-while. Khi đã hiểu và vận dụng được vòng lặp thì bạn đã có thể làm được cũng khá nhiều thứ với lập trình rồi đấy.

    1. Cấu trúc lặp while

    – Cú pháp:

    { }

    – Cách thức hoạt động của while: Đầu tiên chương trình kiểm tra điều kiện

    • Nếu điều kiện sai thì thoát khỏi while

    • Nếu điều kiện đúng thì thực hiện khối lệnh, sau đó lại quay về kiểm tra điều kiện và làm tương tự như thế cho đến khi điều kiện sai thì thoát khỏi while.

    – Có thể thấy while hoạt động gần giống với if, chỉ khác là if chỉ kiểm tra điều kiện một lần, còn while thì lặp đi lặp lại nhiều lần.

    – Và cấu trúc for ở bài trước tương đương với cấu trúc while như sau:

    { }

    Hãy thử làm ví dụ xuất ra màn hình các số nguyên từ một đến 10 bằng vòng lặp while xem sao ?

    2. Cấu trúc lặp do – while

    – Cú pháp:

    do { }

    – Cách thức hoạt động của do – while hơi khác so với while: Đầu tiên chương trình thực hiện khối lệnh, sau đó mới kiểm tra điều kiện:

    • Nếu điều kiện sai thì thoát khỏi do-while

    • Nếu điều kiện đúng thì quay lại thực hiện khối lệnh, sau đó lại kiểm tra điều kiện và làm tương tự như thế cho đến khi điều kiện sai thì thoát khỏi do-while.

    – Xét một ví dụ: Nhập vào một số nguyên n thuộc đoạn . Và ta sẽ sử dụng vòng lặp, với khối lệnh là thông báo và nhập số nguyên n, còn điều kiện duy trì vòng lặp là khi n không thuộc đoạn [0; 9]. Ta có thể viết như sau:

    printf("Nhap so nguyen n (0-9): "); do { scanf("%d", &n); printf("Khong hop le. Nhap lai: "); } printf("Ban vua nhap so: %dn", n);

    Rất đơn giản phải không nào ? Cảm ơn các bạn đã theo dõi.

    Chia sẻ:

    Like this:

    Số lượt thích

    Đang tải…

    --- Bài cũ hơn ---

  • Chi Tiết Bài Học Vòng Lăp While Và Do…while
  • Bài Tập Về Cấu Trúc So, Such, Too, Enough Lớp 8 Có Đáp An
  • Thì Hiện Tại Tiếp Diễn: Cấu Trúc Và Cách Sử Dụng
  • Làm Thế Nào Để Chia Động Từ
  • Tổng Hợp Mẫu Câu Tiếng Anh Giao Tiếp Chủ Đề Mời Bạn Đi Chơi
  • Web hay
  • Links hay
  • Guest-posts
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100