Tải bản đầy đủ (.ppt) (14 trang)

Cau lenh lap Whiledo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (756.17 KB, 14 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1></div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Câu lệnh WHILE ...DO</b>


<b>Câu lệnh WHILE ...DO</b>


<b>Trường THPT TRẦN THỊ TÂM</b>


<b>Trường THPT TRẦN THỊ TÂM</b>


<b>Bài 10</b>



<b>Bài 10</b>



<b>Cấu trúc lặp</b>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>1</b>
<b>2</b>
<b>3</b>


<b>BÀI TOÁN MỞ ĐẦU</b>


<b>LỆNH LẶP VỚI SỐ LẦN CHƯA ĐỊNH TRƯỚC</b>


<b>VÍ DỤ ÁP DỤNG</b>


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>1. BÀI TOÁN MỞ ĐẦU</b>



...


1



...


3




1


2



1


1



1












<i>N</i>


<i>S</i>



0001


.



0


1




<i>N</i>




cho đến khi


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Xuất phát </b>




<i>S</i>

1

<sub>2</sub>




<b>N =1 </b>


3


1



<b>N= 2</b>


<b>+ …</b>


<b> N</b>


<i>N</i>



1




<b>Xuất phát </b> <b><sub>S = 0 </sub></b>


<b>N= 3</b>


1



1



<b>Ý TƯỞNG</b>



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>GIẢI THUẬT</b>



B1: S 0; N1;


B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;


B4: N N+1;


Quay lại B2


B5: Đưa S ra màn hình.
Kết thúc


<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>S:=0; </b>
<b>N:=1</b>
<b>S:=0; </b>


<b>N:=1</b>


<b>S:=S+1/N</b>
<b>S:=S+1/N</b>



<b>1/N<</b>
<b>0.000</b>


<b>1</b>
<b>1/N<</b>
<b>0.000</b>


<b>1</b>


<b>Kết thúc</b>
<b>Kết thúc</b>


<b>N := N+1</b>
<b>N := N+1</b>


<b>Â</b>


<b>S</b>


<b>Xuất: S</b>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>2. CÂU LỆNH WHILE - DO</b>


1. Cú pháp:


While <Điều kiện> Do < Câu lệnh > ;


2. Sơ đồ khối:


<b>Đkiện</b>



<b>Đkiện</b>


<b>Câu lệnh</b>


<b>Câu lệnh</b>


<b>Â</b>


<b>S</b>


3. Thực hiện lệnh:


B1: Kiểm tra <Điều kiện>


B2: Nếu Đúng thì


2.1. Thực hiện <Câu lệnh >
2.2. Biến đổi đk;


2.3. Quay về bước 1


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>CHƯƠNG TRÌNH BÀI TỐN</b>



Program Tinh_tong;


Var s: Real ; n: integer ;


Begin


S := 0; n:=1



While (1/n >= 0.0001) Do
Begin


s:=s+1/n;
n:=n+1;


End;


Write (‘ Tong s=: ’, s:8:4);


Readln
End.
<b>Bắt đầu</b>
<b>Bắt đầu</b>
<b>S:= 0; </b>
<b>N:=1</b>
<b>S:= 0; </b>
<b>N:=1</b>


<b>Xuất: S</b>


<b>Xuất: S</b>


<b>S:=S+1/N</b>
<b>S:=S+1/N</b>
<b>1/N>=</b>
<b>0.0001</b>
<b>1/N>=</b>
<b>0.0001</b>


<b>Kết thúc</b>
<b>Kết thúc</b>
<b>N := N + </b>


<b>1</b>


<b>N := N + </b>
<b>1</b>


<b>Â</b>


<b>S</b>


B1: S 0; N1;


B2: Nếu 1/N<0.0001 thì B5
B3: S S+1/N;


B4: N N+1;


Quay lại B2


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>3. VÍ DỤ</b>


Bài tốn 2: Tìm ước chung lớn nhất hai số nguyên
dương M, N


<sub>Xác định bài toán</sub>


Input: Số nguyên dương M, N



Output: UCLN(M,N)


<sub> Tổ chức dữ liệu </sub><sub> M, N: Số nguyên; </sub>
<sub> Ý tưởng giải thuật</sub>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>GIẢI THUẬT</b>



B1: Nhập M, N


B2: Nếu M=N thì ước


chung lớn nhất bằng M;


B3: Nếu M>N thì M  M– N
ngược lại N  N- M;


B4: Quay lại B2;


<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>Kết thúc</b>
<b>Kết thúc</b>
<b>Nhập M, N</b>


<b>Nhập M, N</b>


<b>M:=M-N</b>
<b>M:=M-N</b>



<b>M=N</b>
<b>M=N</b>


<b>N := N- M</b>
<b>N := N- M</b>


<b>Â</b>
<b>S</b>


<b>Xuất: M</b>


<b>Xuất: M</b>


<b>M > </b>
<b>N</b>
<b>M > </b>


<b>N</b>


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>CHƯƠNG TRÌNH</b>


Program UCLN;


Var M, N: interger ;


Begin


write (‘M, N=‘);


readln(M,N);



While (M<>N) do


If M > N then M:=M-N


else N:=N-M;


Writeln (‘ UCLN= ’, M);


Readln


End.


<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>Nhập M, N</b>


<b>Nhập M, N</b>


<b>M:=M-N</b>
<b>M:=M-N</b>
<b>M=N</b>
<b>M=N</b>
<b>Kết thúc</b>
<b>Kết thúc</b>


<b>N := N- M</b>
<b>N := N- M</b>


<b>Â</b>


<b>S</b>


<b>Xuất: M</b>


<b>Xuất: M</b>


<b>M > </b>
<b>N</b>
<b>M > </b>
<b>N</b>
<b>Đ</b> <b>S</b>
<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>Nhập M, N</b>


<b>Nhập M, N</b>


<b>M:=M-N</b>
<b>M:=M-N</b>


<b>M=N</b>
<b>M=N</b>


<b>N := N- M</b>
<b>N := N- M</b>


<b>Â</b>
<b>S</b>



<b>Xuất: M</b>


<b>Xuất: M</b>


<b>M > </b>
<b>N</b>
<b>M > </b>


<b>N</b>


<b>Đ</b> <b>S</b> <b>Kết thúcKết thúc</b>


<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>Nhập M, N</b>


<b>Nhập M, N</b>


<b>M:=M-N</b>
<b>M:=M-N</b>


<b>M=N</b>
<b>M=N</b>


<b>N := N- M</b>
<b>N := N- M</b>


<b>Â</b>
<b>S</b>



<b>Xuất: M</b>


<b>Xuất: M</b>


<b>M > </b>
<b>N</b>
<b>M > </b>


<b>N</b>


<b>Đ</b> <b>S</b> <b>Kết thúcKết thúc</b>


<b>Bắt đầu</b>
<b>Bắt đầu</b>


<b>Nhập M, N</b>


<b>Nhập M, N</b>


<b>M:=M-N</b>
<b>M:=M-N</b>


<b>M=N</b>
<b>M=N</b>


<b>N := N- M</b>
<b>N := N- M</b>


<b>Â</b>


<b>S</b>


<b>Xuất: M</b>


<b>Xuất: M</b>


<b>M > </b>
<b>N</b>
<b>M > </b>


<b>N</b>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>CỦNG CỐ</b>



<sub> Lặp số lần biết trước</sub>


Lặp tiến: For <bđ>:= <gtđầu> to < gtcuối> do <cl>;


Lặp lùi: For <bđ>:= <gtcuối> downto <gtđầu> do <cl>;


<sub> Lặp số lần chưa biết trước</sub>


Cú pháp: While <điều kiện> do <câu lệnh>;


Áp dụng


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

Program Tinh_tong;
Var s: Real ; i: integer ;


Begin



s := 0; i:=1


While (i <= 10) Do
Begin


s:=s+ i;


i:=i+1;


End;


Write (‘ Tong s= ’, s:8:4);


Readln


End.


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14></div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×