Chuyển đến nội dung chính

VÒNG LẶP KHÔNG XÁC ĐỊNH WHILE..DO; REPEAT .. UNTIL

VÒNG LẶP KHÔNG XÁC ĐỊNH  WHILE..DO; REPEAT .. UNTIL

- Vòng lặp While..do
While <điều kiện > Do  <câu lệnh>;

  • Câu lệnh sau do được thực hiện khi điều kiện được thỏa mãn (điều kiện =true); vòng lặp kết thúc khi điều kiện không thỏa (điều kiện =false)


- Vòng lặp Repeat .. until;
Repeat
<câu lệnh>;
Until <điều kiện>;

  • Lặp lại câu lệnh cho đến khi nào  thỏa mãn điều kiện  (điều kiện =true) thì dừng lại; 

Bài tập: Nhập vào một số nguyên A thỏa mãn (0<A<100), Tính tổng các số nguyên từ 1 đến A (S=1+2+...+A).


  • Vận dụng câu lệnh While .. do
uses crt;
var A,I:  Integer; S:longint;

begin
         a:=0;
         while not ((a>0) and (a<100)) do
         begin
         write('Nhap gia tri cua A:'); read(A); 
         end;

         s:=0;
          for i:=1 to A do s:=s+i;
          write('Tong S=1+2+...+',a,'=', s);
reakey;
end.



  • Vận dụng câu lệnh Repeat..until
  • uses crt;
    var A,I:  Integer; S:longint;

    begin
            repeat
            write('Nhap gia tri cua A:');
            read(A); 
            until  (a>0) and (a<100)); 

             s:=0;
              for i:=1 to A do s:=s+i;
              write('Tong S=1+2+...+',a,'=', s);
    reakey;
    end.

    Bài tập : Viết chương trình tính tổng S = 1+2+...+N  bằng 3 cách khác nhau
      
    Cách 1: Dùng vòng lặp FOR.
    Program TinhTong;
    Uses crt;
    Var N,i,S:integer;
    Begin
    Clrscr;
    Write('Nhap vao gia tri cua N :'); Readln(N);
    S:=0;
    For i:=1 to N do S:=S+i;
    Writeln('Ket qua la :',S);
    Readln; 
    End.
    Cách 2: Dùng vòng lặp REPEAT.
    Program TinhTong;
    Uses crt;
    Var N,i,S:integer;
    Begin
    Clrscr;
    Write('Nhap vao gia tri cua N :'); Readln(N);
    S:=0; i:=1;
    Repeat
    S:=S+i;
    i:=i+1;
    Until i>N;
    Writeln('Ket qua la :',S);
    Readln; 
    End.
    Cách 3: Dùng vòng lặp WHILE.
    Program TinhTong;
    Uses crt;
    Var N,i,S:integer;
    Begin
    Clrscr;
    Write('Nhap vao gia tri cua N :'); Readln(N);
    S:=0; i:=1;
    While i<=N Do
    Begin
    S:=S+i;
    i:=i+1;
    End;
    Writeln('Ket qua la :',S);
    Readln; 
    End.

    Nhận xét

    Đăng nhận xét

    Bài đăng phổ biến từ blog này

    DÃY ĐAN DẤU TRONG PASCAL

    DÃY ĐAN DẤU TRONG PASCAL Dãy đan dấu là dãy không có 2 phần tử cạnh nhau có dấu giống nhau. ví dụ: -2 4 -9 5 -23 8 là dãy đan dấu Thủ tục kiểm tra dãy đan dấu trong dãy số: procedure dandau; var i,j:integer;     kt:boolean; begin kt:=true; for i:=1 to N-1 do                 begin                 j:=i+1;                 if a[i] *a[j] >0 then kt:=false;                 end; If kt=true then write('Day A la day dan dau') else write('Day A khong phai day dan dau'); end;

    Tam giác số (Pascal)

    TAM GIÁC SỐ  (Câu 4. Hội thi Tin Học Trẻ Phú Yên lần thứ XIX - năm 2016)                              7                          3       8                      8      1       0                   2     7        4       4                 4    5      2       6       5 Cho một tam giác gồm các số nguyên không âm (xem hình trên). Hãy viết chương trình tính tổng lớn nhất của các số nằm trên lộ trình từ đỉnh xuống: - Tại mỗi bước đi, lộ trình có thể đi xuống phía bên trái hoặc xuống phía bên phải. - Số hàng trong tam giác lớn hơn...