Diễn đàn công nghệ & giải trí
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Diễn đàn công nghệ & giải trí

Diễn đàn công nghệ - học tập & giải trí lớp 09tc trường Đại Học Khoa Học Tự Nhiên
 
Trang ChínhPortalTìm kiếmLatest imagesĐăng kýĐăng Nhập
Top posters
12betvn (762)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
Phạm Quang Nam (705)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
Nguyên An (674)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
mmmmaabb012 (160)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
dragon0388 (140)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
anhtraidalat (139)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
NguyenHuuHung (125)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
fly1571988 (117)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
giaquynh.nguyen (108)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 
playback (103)
Bài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_lcapBài Ôn Tập Vòng Lặp Trên Lớp nà . Voting_barBài Ôn Tập Vòng Lặp Trên Lớp nà . Vote_rcap 

Share|

Bài Ôn Tập Vòng Lặp Trên Lớp nà .

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down
Tác giảThông điệp
anhtraidalat
Mod
Mod
anhtraidalat

Tổng số bài gửi : 139
Experience : 232
Danh Vọng : 6

Bài Ôn Tập Vòng Lặp Trên Lớp nà . Empty
Bài gửiTiêu đề: Bài Ôn Tập Vòng Lặp Trên Lớp nà . Bài Ôn Tập Vòng Lặp Trên Lớp nà . EmptyMon Aug 09, 2010 8:30 pm

Vòng lặp - Loop
1. while và do … while 1
2. Vòng lặp for 3
3. Các trường hợp đặc biệt khi dùng vòng lặp 5
4. Các lỗi và cách sửa 6

1. while và do … while
Cú pháp:
while ( <điều kiện> )
{
<lệnh 1>
<lệnh 2>
….
} do {
<lệnh 1>
<lệnh 2>
….
} while ( <điều kiện> );

Ý nghĩa:
trong khi ( <điều kiện> vẫn còn đúng )
thì
thực hiện <lệnh 1>
thực hiện <lệnh 2>


quay lại kiểm tra <điều kiện> nếu đúng thì lặp tiếp, sai thì thoát Thực hiện
<lệnh 1>
<lệnh 2>

Xong ròi kiểm tra <điều kiện>, nếu đúng thì quay lại lặp tiếp, sai thì thoát

Thí dụ 1:
int i = 0;
while (i != 0)
{
i++;
}

 ngay lúc đầu vòng lặp, điều kiện (i !=0)
sai nên sẽ thoát khỏi vòng lặp, câu lệnh i++ ko được thực hiện.
Kết quả: i == 0 int j = 0;
do{
j++;
} while ( j != 0 );

 ban đầu vô vòng lặp, câu lệnh j++ sẽ được thực hiện  j được tăng lên 1. Sau đó kiểm tra điều kiện j != 0 đúng, nên quay lại đầu vòng lặp, j lại tiếp tục tăng 1 …. Lặp vô tận!!!


Thí dụ 2:
int i = 0;
while (i <= 0)
{
i++;
}

 ngay lúc đầu vòng lặp, điều kiện (i <=0) sai nên sẽ thoát khỏi vòng lặp, câu lệnh i++ ko được thực hiện.
Kết quả: i == 0 int j = 0;
do{
j++;
} while ( j<= 0 );

 ban đầu vô vòng lặp, câu lệnh j++ sẽ được thực hiện  j được tăng lên 1. Sau đó kiểm tra điều kiện j <= 0 sai, nên thoát khỏi vòng lặp.
Kết quả: j == 1

Thí dụ minh họa:
Viết chương trình nhập và 2 số a, b. Tính tổng, hiệu, tích, thương. Sau đó cho phép người ta nhập vào 2 số a, b mới và tính toán kết quả. Làm cho đến khi người ta chán thì thôi.
Hướng dẫn:
Công việc mang tính lặp đi lặp lại, nên dùng vòng lặp. Vì chưa xác định lặp bao nhiêu lần, nên không dùng vòng for được. Dùng while hoặc do … while.
while
char c;
while (1)
{


//nhập 2 số a,b
//tính tổng hiệu tích thương
//xuất kq ra màn hình




//hỏi ý kiến người dùng
printf(“Nhập số mới?”);
c=getch();
if (c == ‘n’)
break;
}
- while(1) tức là lặp hoài, số khác 0 tương đương với <điều kiện> luôn luôn đúng, số 0 tương đương với <điều kiện> sai.
- mới vô khai báo c, c chưa được gán giá trị ban đầu, chtr sẽ gán cho c giá trị bất kỳ, cho nên mình ko nên dùng biến c lúc này.
Cách 2 là
char c=’a’;
while (c != ‘n’)
….

- Cho ng ta nhập vô 1 ký tự, nếu ký tự đó là n thì thoát khỏi vòng lặp, dùng lệnh break, còn không phải thì thôi.
- Nếu dùng cách 2 thì ko cần lệnh break vì đã có đk dừng là khi c==’n’.
- Những trường hợp dùng while(1) thì cần có lệnh break.

do … while
char c;
do {
//nhập 2 số a,b
//tính tổng hiệu tích thương
//xuất kq ra màn hình

//hỏi ý kiến người dùng
printf(“Nhập số mới?”);
c=getch();
} while (c != ‘n’);
2. Vòng lặp for
Cú pháp
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

Ý nghĩa
1. Mới vô thực hiện <lệnh 1>
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

2. Rồi kiểm tra <điều kiện>
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

3. Nếu <điều kiện> đúng thì thực hiện <các lệnh bên trong vòng lặp>, nếu sai thì thoát khỏi vòng lặp
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

4. Sau khi thực hiện hết <các lệnh bên trong vòng lặp>, quay lại đầu vòng for, thực hiện <lệnh 2>
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

5. Kiểm tra <điều kiện>, đúng thì lặp tiếp, sai thì dừng vòng lặp
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}

6. Cuối mỗi lần lặp, chtr lại thực hiện <lệnh 2>, kiểm tra <điều kiện> ….
for ( <lệnh 1> ; <điều kiện> ; <lệnh 2>)
{
<các lệnh bên trong vòng lặp>
….
}
Thí dụ:
int j;
for (j = 0 ; j < 10 ; j++)
{
<...>
}
1. Mới vô gán j = 0, kiểm tra j < 10, đúng  thực hiện các lệnh <…>
2. Xong ròi quay lại thực hiện lệnh j++, khi này j==1, kiểm tra j < 10, đúng  thực hiện các lệnh <…>
3. Xong ròi quay lại thực hiện lệnh j++, lúc này j==2, kiểm tra j < 10, đúng  thực hiện các lệnh <…>
4. …
5. Cho tới j==10, kiểm tra j < 10, sai  thoát khỏi vòng lặp.
Sau khi thoát khỏi vòng lặp, j có giá trị 10
3. Các trường hợp đặc biệt khi dùng vòng lặp

• while (1) , while (2) , while(100) …. đều là lặp vô tận, vì các số khác 0 coi như là các <điều kiện> luôn luôn đúng. Cho nên cần lệnh break bên trong để thoát khỏi vòng lặp, nếu không chtr lặp hoài thì sao!
• while (0) , số 0 tương đương với <điều kiện> sai, tức là ko thực hiện vòng lặp, chẳng có ý nghĩa gì, để vô cho biết chớ chả biết ứng dụng vô chỗ nào.
o Tương tự cho for (j = 0 ; 1 ; j++) …
• for ( int j = 10 ; j >=0 ; j--) khai báo biến j ngay chỗ này luôn cũng được
• j = 2;
for ( ; j < 10 ; j ++) có thể đề trống nếu trước đó j đã có giá trị rồi và ta muốn dùng giá trị đó trong vòng lặp.
• for ( j = 10 ; j >0 ; j = j – 2) mỗi lần ta có thể giảm j đi vài đơn vị, ko nhất thiết lúc nào cũng j = j +/- 1. j = j *4, j = j/3 vẫn được.
• for ( ; ; ; ) ko biết chuyện gì sẽ xảy ra  Sinh viên tự nghiên cứu.
4. Các lỗi và cách sửa
Về Đầu Trang Go down

Bài Ôn Tập Vòng Lặp Trên Lớp nà .

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn công nghệ & giải trí :: Tập thể lớp 09TC Trường ĐH Khoa Học Tự Nhiên - Q5, TP. HCM :: Giáo trình - Tài liệu môn học-
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất
quan ao tre em | thoi trang tre em | thoi trang be gai | thoi trang be trai | me va be | ao khoac cho be