Tài nguyên

trực tuyến

  • (Bùi Danh Giang)

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Thành viên

    1 khách và 0 thành viên

    danh mục website

    Các ý kiến mới nhất

    lap voi so lan chua biet truoc

    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: Thcs Nghĩa Phúc
    Ngày gửi: 23h:08' 14-03-2011
    Dung lượng: 3.3 MB
    Số lượt tải: 140
    Số lượt thích: 0 người
    www.themegallery.com
    Bài toán 1: S = 1 + 2 + 3 + 4 +….+ 100
    Bài toán 2: Với N = 1,2,3,4….
    S = 1 + 2 + 3 + 4 +…..cho đến khi Sn nhỏ nhất >1000
    Em hãy cho biết số lần lặp của 2 bài toán sau?
    www.themegallery.com
    1. Các hoạt động với số lần chưa biết trước
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    Ví Dụ 1:SGK/67
    Xảy ra 2 tình huống:
    * Tình huống 1: Bạn Long gọi cho Trang nhưng không có người nhấc máy và bạn Long quyết định gọi thêm 2 lần nữa, nếu không có người nhấc máy sẽ kết thúc cuộc gọi không gọi nữa.
    Tức là, bạn Long đã xác định (hay biết trước) số lần mình phải gọi điện là 2 lần.
    www.themegallery.com
    1. Các hoạt động với số lần chưa biết trước
    Tuần 28
    Tiết 51
    Ví Dụ 1:SGK/67
    * Tình huống 2: Lần khác bạn Long quyết định sẽ gọi đến khi nào có người bắt máy mới thôi
    Lần này bạn Long sẽ lặp đi lặp lại công việc: nhấc máy, quay số, gọi cho Trang, Long không biết trước số lần Long sẽ phải gọi.
    ?Điều kiện ngưng việc lặp: là có người bắt máy
    Bài 8: Lặp với số lần chưa biết trước
    www.themegallery.com
    1. Các hoạt động với số lần chưa biết trước
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    Ví dụ 2: Nếu cộng n số tự nhiên đầu tiên
    (n=1,2,3,4…), ta được các kết quả
    S1 = 1
    S2 = 1+2
    S3 = 1+2+3
    .
    .
    .
    Cần cộng bao nhiêu lần số tự nhiên đầu
    tiên để nhận được Sn nhỏ nhất > 1000?
    www.themegallery.com
    1. Các hoạt động với số lần chưa biết trước
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    THUẬT TOÁN:
    Kí hiệu S là tổng cần tìm, ta có thuật toán sau:
    Bước 1: S ? 0; n? 0;
    Bước 2: Nếu S<= 1000, n? n+1; ngược lại, chuyển tới bước 4;
    Bước 3: S ? S+n và quay lại bước 2;
    Bước 4: In kết quả S và n là số tự nhiên nhỏ nhất sao cho S > 1000. Kết thúc thuật toán;
    www.themegallery.com
    1. Các hoạt động với số lần chưa biết trước
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    www.themegallery.com
    2. Ví dụ về lệnh lặp với số lần chưa biết trước:
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    While <điều kiện> do ;
     Trong đó:
    Điều kiện thường là các phép so sánh;
    câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
    Câu lệnh lặp được thực hiện như thế nào ?
    Câu lệnh
    Đúng
    Sai
    Kết thúc
    www.themegallery.com
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 27
    Tiết 51
    2. Ví dụ về lệnh lặp với số lần chưa biết trước:
    Ví dụ 3: Với giá trị nào của n để 1/n < 0.003 ? Viết chương
    trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước.
    Uses crt;
    Var x: Real;
    n: Integer;
    Const Sai_So=0.003;
    Begin
    Clrscr;
    x:=1; n:=1;
    While x >= Sai_So do
    Begin
    n:=n+1; x:=1/n
    End;
    Writeln(‘So n nho nhat de 1/n < ‘,Sai_So:6:4, ‘ la ‘,n);
    Readln;
    End.
    www.themegallery.com
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    2. Ví dụ về lệnh lặp với số lần chưa biết trước:
    Ví dụ 4: Viết chương tình tính tổng n số trong ví dụ 2
    Var S,n:Integer;
    Begin
    S:=0; n:=1;
    While S<=1000 do
    Begin
    S:=S+n; n:=n+1
    End;
    Writeln(‘So n nho nhat de tong > 1000 la ‘, n);
    Writeln(‘Tong dau tien > 1000 la ‘, S);
    Readln
    End.
    www.themegallery.com
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 27
    Tiết 51
    2. Ví dụ về lệnh lặp với số lần chưa biết trước:
    Ví dụ 5:

    Viết chương tình tính tổng T=1+1/2+1/3+…+1/100
    T:=0;
    For i:=1 to 100 do
    T:=T+1/i;
    Writeln(T);
    T:=0;
    i:=1;
    While i<= 100 do
    Begin
    T:=T+1/i;
    i:=i+1
    End;
    Writeln(T);
    For…do
    While…do
    www.themegallery.com
    3. Lặp vô hạn lần – lỗi lập trình cần tránh:
    Bài 8: Lặp với số lần chưa biết trước
    Tuần 28
    Tiết 51
    Var a:Integer;
    Begin
    a:=5;
    While a < 6 do
    Writeln(‘A’);
    End.
    Var a:Integer;
    Begin
    a:=5;
    While a < 6 do
    Begin
    Writeln(‘A’);
    a:=a+1;
    End;
    End.
    www.themegallery.com
    * Một số chú ý trong vòng lặp While.do
    Nếu ngay lần kiểm tra đầu tiên mà kết quả là sai thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.
    Số lần kiểm tra chính là số lần lặp.
    Tuỳ theo điều kiện mà viết các câu lệnh trong vòng lặp cho phù hợp.
    www.themegallery.com
    Lặp với số lần chưa biết trước
    Tuần 27
    Tiết 51
    Bài 8
    GHI NHỚ:
    Ngoài cấu trúc lặp với số lần lặp biết trước, các ngôn ngữ
    lập trình còn có các câu lệnh lặp với số lần chưa biết trước.
    2. While…do là câu lệnh lặp với số lần chưa biết trước trong
    Pascal.
    www.themegallery.com
    CỦNG CỐ
    Bµi tËp 8.3 sbt/67: Câu lệnh nào sau đây sai vµ sai ë ®©u?
    A. While i:=1 do t:=10;
    B. While a<=b; do write(‘b khong nho hon a’);
    C. While 1=1 do write(‘Toi lap trinh gioi’);
    Trả lời
    (A) Sai, thừa dấu hai chấm đầu tiên
    (B) Sai, thừa dấu chấm phẩy trước từ khoá do
    (C) Sai, vòng lặp vô hạn do điều kiện luôn đúng
     
    Gửi ý kiến