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

Tin8_Bai7_CauLenhLap - Website Trường THCS Phan Bội Châu - Đại Lộc - Quảng Nam

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 (231.47 KB, 13 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>

<i><b>Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi lặp lại </b></i>
<i><b>nhiều lần.</b></i>


<i><b> Có những hoạt động mà chúng ta thường thực hiện lặp lại với </b></i>
<i><b>một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày </b></i>
<i><b>hai lần, mỗi ngày tắm một lần,…Chúng ta còn lặp lại công việc với số </b></i>
<i><b>lần không thể xác định được: học cho đến khi thuộc bài,nhặt từng </b></i>
<i><b>cọng rau cho đến khi xong,…</b></i>


<i><b> Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy </b></i>
<i><b>thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải </b></i>
<i><b>viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định. </b></i>


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

<i><b>2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh</b></i>



<i><b>Ví dụ 1</b></i>

. <i><b>Giả sử ta cần vẽ ba hình vng có cạnh 1 đơn vị như hình 33. </b></i>
<i><b>Mỗi hình vng là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 </b></i>
<i><b>đơn vị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vng ba lần. </b></i>


<i><b> </b></i>


<b>1</b>


<i><b>Hình 33</b></i>


2 2


<i><b>* Việc vẽ hình có thể thực hiện được bằng thuật tốn sau đây:</b></i>


<i><b> </b><b>Bước 1.</b><b> Vẽ hình vng ( vẽ liên tiếp bốn cạnh và trở về đỉnh ban </b></i>
<i><b>đầu).</b></i>



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

<i><b>2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh</b></i>



<i><b> Riêng bài tốn vẽ một hình vng (hình 34), thao tác chính là vẽ </b></i>
<i><b>bốn</b></i> <i><b>cạnh bằng nhau, hãy lập lại bốn lần thao tác vẽ một đoạn thẳng. </b></i>
<i><b>Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc</b></i> <b>90 </b> <i><b>sang </b></i>
<i><b>phải tại vị trí của bút vẽ.</b></i>

<i><b> </b></i>



<i><b> </b></i>



<i><b> Thuật tốn sau đây sẽ mơ tả các bước để vẽ hình vng: </b></i>



<i><b>Bước1.</b><b> K 0 ( là số đoạn thẳng </b></i>
<i><b>đã vẽ được)</b></i>


<i><b>Bước2. </b><b>K K+1. Vẽ đoạn thẳng </b></i>
<i><b>1 đơn vị độ dài và quay thước </b></i>
<i><b>sang phải</b><b>.</b></i>


<i><b>Bước3. </b><b>Nếu K</b></i> <i><b>< 4 thì trở lại </b></i>


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

<i><b>2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh</b></i>



<i><b>Ví dụ 2</b></i>

.

<i><b>Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:</b></i>
<i><b>S= 1+2+3+…+100.</b></i>


<i><b>Thuật tốn sau đây sẽ mơ tả việc thực hiện lặp lại phép cộng 100</b></i>
<i><b>lần:</b></i>


<i><b>Bước1.</b><b> SUM 0; i 0.</b></i>



<i><b>Bước2. </b><b>i i+1. </b></i>


<i><b>Bước3. </b><b>Nếu i ≤ 100, thì SUM SUM + i và quay </b></i>
<i><b>lại bước 2.</b></i>


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

<i><b>3. Ví dụ về câu lệnh lặp</b></i>



<i><b>Câu lệnh lặp thường gặp trong Pascal có dạng:</b></i>



<i><b>a. Cú pháp :</b></i>



<i><b>FOR biến đếm : = giá trị đầu TO giá trị cuối DO </b></i>


<i><b> Câu lệnh trong vịng lặp ;</b></i>



<i><b>Từ khố</b></i>



<i><b> </b></i>


<i><b> </b><b>Phải thuộc kiểu </b></i>
<i><b>dữ liệu đếm được </b></i>
<i><b>(không là số thực</b><b>)</b></i>


<i><b>Giá trị đầu < Giá trị cuối</b></i>


-

<i><b> Không được làm thay đổi giá trị biến đếm</b></i>



<i><b>- Nếu có nhiều hơn một lệnh thì phải đặt trong cặp từ </b></i>



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

<i><b>3. Ví dụ về câu lệnh lặp</b></i>




<i><b> b. Sự hoạt động của lệnh:</b></i>



<i><b>Sơ đồ khối</b></i>



<i><b>Biến đếm : = Giá trị đầu</b><b><sub>Biến đếm : = Giá trị đầu</sub></b></i>


<i><b>Giá trị đầu <=Giá trị cuối</b><b>Giá trị đầu <=Giá trị cuối</b></i>


<i><b>Câu lệnh trong vòng lặp ;</b></i>
<i><b>Biến đếm :=Biến đếm + 1;</b></i>


<i><b>Câu lệnh trong vòng lặp ;</b></i>
<i><b>Biến đếm :=Biến đếm + 1;</b></i>


<b>False</b>


<i><b>False</b></i>


<i><b>True</b></i>
<i><b>True</b></i>


<i><b>Bước1</b></i>: <i><b>Đầu tiên Biến </b></i>
<i><b>đếm sẽ nhận giá trị</b></i>


<i><b> là <giá trị đầu></b></i>




<i><b> Bước2:</b><b> Máy kiểm tra </b></i>


<i><b>điều kiện <Biến> ≤ <Giá trị </b></i>
<i><b>cuối></b></i>


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

<i><b>Ví dụ 1:</b></i>

<i><b> Viết câu lệnh để in ra màn hình 10 chữ </b></i>


<i><b>“ Mau sac “</b></i>



<i><b>For i : = 1 to 10 do writeln( ‘Mau sac’);</b></i>



<i><b>- Hãy chỉ ra các thành phần trong câu lệnh trên ?</b></i>



<i><b>3. Ví dụ về câu lệnh lặp</b></i>



<i><b>Trả lời:</b></i>



<i><b>i </b></i>

<i><b> là biến đếm</b></i>



<i><b>1</b></i>

<i><b> là giá trị đầu</b></i>



<i><b>10</b></i>

<i><b> là giá trị cuối</b></i>



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

<i><b>3. Ví dụ về câu lệnh lặp</b></i>



<i><b>Ví dụ 2:</b></i>

<i><b> </b></i>

<i><b>Viết chương trình để in ra màn hình 10 chữ “ </b></i>
<i><b>Mau sac “</b></i>


<i><b>For i : = 1 to 10 do writeln( ‘Mau sac’);</b></i>


<i><b>- Hãy sử dụng câu lệnh trên để viết chương trình đầy đủ in ra màn </b></i>
<i><b>hình 10 chữ “ </b><b>Mau sac</b><b> “</b></i>



<i><b>Trả lời: </b></i>



<i><b> </b><b>Program mau_sac;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i: integer;</b></i>
<i><b> Begin</b></i>


<i><b> For i:= 1 to 10 do</b></i>


<i><b> Write (‘mau sac’,i);</b></i>
<i><b> Readln</b></i>


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

<i><b>4. Tính </b></i>

<i><b>tổng và tích bằng câu lệnh lặp</b></i>



<i><b>Ví dụ 2:</b></i>

<i><b> </b></i>

<i><b>Ta kí hiệu N! là tích N số tự nhiên đầu tiên:</b></i>
<i><b>N! = 1.2.3…N</b></i>


<i><b> - Viết chương trình tính N! với N là số tự nhiên được nhập vào từ bàn </b></i>


<i><b>phím.</b></i>

<i><b><sub>Trả lời: </sub></b></i>



<i><b> </b><b>Program T</b><b>ính_Giai_thua</b><b>;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var i, N: integ</b><b>er</b><b>;</b></i>
<i><b> P: real;</b></i>


<i><b> Begin</b></i>



<i><b> </b><b>write (‘Nhap N = ‘); readln (N);</b></i>


<i><b> P:= 1;</b></i>


<i><b> For i:= 1 to N do P:= P*i;</b></i>
<i><b> Writeln (N,’! = ’,P:1:2);</b></i>
<i><b> Readln</b></i>


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

<i><b>Bài tập củng cố</b></i>



<i><b> </b><b>Em hãy viết chương trình tính tổng các số ngun liên tiếp từ n </b></i>
<i><b>đến m với n,m là các số nguyên dương nhập vào từ bàn phím .</b></i>


<i><b>Gợi ý :</b></i>



-<i><b>Tìm input,output ? </b></i>


-<i><b> Khai báo các biến nào ?Kiểu dữ liệu gì ?</b></i>
<i><b>- Nhập vào từ bàn phím giá trị cho biến nào ?</b></i>


-<i><b>Tìm thuật tốn của chương trình ?</b></i>


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

<i><b>Bài tập củng cố</b></i>



<i><b>Hướng dẫn:</b></i>



<i><b>- Input: n, m ; Output : Tổng S</b></i>


<i><b> - Khai báo biến : n, m, S, i kiểu Word</b></i>



<i><b>- Nhập giá trị vào từ bàn phím cho biến n và m</b></i>
<i><b>- Thuật toán : Cho biến đếm i chạy từ n đến m ,n.</b></i>


<i><b>Nếu I <= m thì tổng S:= S +i</b></i>
<i><b>- Sử dụng câu lệnh Write, Readln, For..to..do</b></i>


<i><b>*Chương trình</b></i>


<i><b>Trả lời:</b></i>


<i><b> </b><b>Program tinh_tong;</b></i>
<i><b> Uses crt;</b></i>


<i><b> Var m, n, i: integ</b><b>er</b><b>;</b></i>
<i><b> S: longint;</b></i>
<i><b> Begin</b></i>


<i><b> write (‘Nhap n = ‘); readln ( n);</b></i>
<i><b> write (‘Nhap m=‘); readln ( m);</b></i>
<i><b> S:=0;</b></i>


<i><b> For i:= n to m do S:= S + n; </b></i>


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

<i><b>Bài tập về nhà</b></i>



<i><b>1. Viết chương trình tính tổng các số </b></i>



<i><b>nguyên liên tiếp : S =</b></i>

<i><b>1+2+...+n với n </b></i>



<i><b>nguyên dương nhập từ bàn phím.</b></i>




</div>

<!--links-->

×