Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 10. Cấu trúc lặp

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Hồ Thị Minh Tâm
Ngày gửi: 12h:49' 06-03-2022
Dung lượng: 1.5 MB
Số lượt tải: 127
Số lượt thích: 0 người
Ví dụ 1: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + … + 8 + 9 + 10
Vậy đoạn lệnh trong pascal như sau:
S:=0;
For i:=1 to 10 do S:=S+i;
Ví dụ 2: Hãy viết đoạn lệnh tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Nếu nhập N=1 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=10 thì việc cộng dồn lặp lại mấy lần?
Nếu nhập N=30 thì việc cộng dồn lặp lại mấy lần?
1 lần
4 lần
7 lần
….v…v…..
S=1
S=10
S=28
Đặt vấn đề !!!
Vậy giải bài toán này như thế nào?
Bằng cách nào viết được chương trình của bài toán?
Cú pháp:

While <điều kiện> do ;

Trong đó:
<điều kiện> là biểu thức logic;

là câu lệnh đơn hay câu lệnh ghép.
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
Thoát
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
INPUT: N (N>0)
OUTPUT: S=1+2+3+4+…. trong khi S <= N.
Ví dụ 2: Hãy viết chương trình tính tổng:
S = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + …
cho đến khi giá trị của S không được vượt quá một số N nhập từ bàn phím (N>0).
Thuật toán:
Bước 1: Nhập vào số N (N>0); S ← 0; i ← 1;
Bước 2: Nếu S + i > N thì chuyển đến bước 5;
Bước 3: S ← S + i;
Bước 4: i ← i+1; rồi quay lại bước 2;
Bước 5: Xuất kết quả S ra màn hình, kết thúc.
Chương trình hoàn chỉnh:
program vi_du_2;
uses crt;
Var S, N, i: longint;
Begin
clrscr;
write(‘Nhap so N’); readln(N);
S:=0; i:=1;
while (S + i <= N) do
begin
S:=S+i;
i:=i+1;
end;
write(‘Tong s=‘, s);
readln;
End.
Ví dụ 3: Hãy viết chương trình nhập vào một số N
nguyên dương và kiểm tra nếu N không thỏa mãn thì phải bắt người dùng nhập lại N.
- Bước 2:
Khi N > 0
- Bước 3:
Nhập lại N;
- Bước 1: Nhập N.
Đưa ra N là số nguyên dương
=> Kết thúc
* Vòng lặp chỉ dừng khi N > 0
Đ
S
- Bước 4: Đưa ra N là số nguyên dương=> Kết thúc.
=> Bước 4
THUẬT TOÁN
Nhập lại N
=> Bước 2;
Chương trình hoàn chỉnh:
program vi_du_3;
uses crt;
Var N: integer;
Begin
clrscr;
write(‘Nhap so N’);
readln(N);
while (N <= 0) do
Begin
write(‘Hay nhap lai N’);
readln(N);
end;
write(‘Gia tri N=‘, N);
readln;
End.
Câu lệnh
Điều kiện
Đúng
Sai
Sơ đồ hoạt động của câu lệnh While – do:
Thoát
Một số lưu ý:
Nếu ngay lần kiểm tra điều kiện đầu tiên mà kết quả là sai (False) thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
Một số lưu ý:
Số lần kiểm tra điều kiện cho kết quả đúng (True) cũng chính là số lần lặp.
Một số lưu ý:
Cần mô tả điều kiện chính xác, phù hợp để tránh rơi vào vòng lặp vô tận (không thể kết thúc).
Câu 1:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=1;
While (i < 5) do
Begin
S := S + i;
i := i + 1;
End;
A. S=9
B. S=10
C. S=11
Câu 2:
Hãy tính giá trị của s trong đoạn lệnh sau:
S:=0;
i:=10;
While not(i<=0) do
Begin
S := S + i;
i := i - 1;
End;
A. S=55
B. S=50
C. S=51
 
Gửi ý kiến