Tài nguyên dạy học

Hỗ trợ trực tuyến

Điều tra ý kiến

Các bạn thầy trang web của chúng tôi thế nào?
Bình thường
Đẹp
Đơn điệu
Ý kiến khác

Thống kê

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

    Film_6_The_gioi_tu_nhien.flv 12974306_622440017920867_905356228610725339_n.jpg 15085534_1734620410193956_8986093506557957764_n.jpg IMG_2682.JPG IMG_2240.JPG IMG_2204.JPG _MG_0379.jpg _MG_0207.jpg IMG_5103.jpg IMG_20141114_111852.jpg Van_Nghe_chao_mung_2011.jpg IMG_20150321_090844.jpg DSCF1449.jpg DSCF1450.jpg DSCF1454.jpg Cau_tao_lo_phan_ung_hat_nhan.jpg

    Thành viên trực tuyến

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

    Vong lap While do

    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: Đinh Xuân Sinh
    Ngày gửi: 22h:03' 20-12-2010
    Dung lượng: 3.6 MB
    Số lượt tải: 319
    Số lượt thích: 0 người

    TIẾT 51 :
    LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC
    TIN HỌC 8
    Nhắc lại câu lệnh lặp với số lần biết trước
    FOR : = TO DO Câu lệnh trong vòng lặp ;
    Phải thuộc kiểu
    dữ liệu đếm được
    ( không là số thực )
    Giá trị đầu < Giá trị cuối
    Từ khoá
    Câu lệnh trong vòng lặp có thể là lệnh đơn hay lệnh ghép
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    1. Các hoạt động lặp với số lần chưa biết:
    Ví dụ 1(SGK)
    M?t ngy ch? nh?t, b?n Long g?i di?n cho Trang. Khụng cú ai nh?c mỏy. Long quy?t d?nh g?i thờm hai l?n n?a. N?u v?n khụng cú ai nh?c mỏy thỡ ch?c l khụng cú ai ? nh. Nhu v?y Long dó bi?t tru?c l mỡnh s? l?p l?i ho?t d?ng g?i di?n thờm hai l?n.
    Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi nào có người nhấc máy. Lần này Long sẽ lặp lại hoạt động gọi điện mấy lần?
    Chưa thể biết trước được, có thể một lần, có thể hai hoặc nhiều hơn nữa. Điều kiện để kết thúc hoạt động lặp đó là: Có người nhấc máy.
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    1. Các hoạt động lặp với số lần chưa biết:
    Nếu cộng lần lượt n số tự nhiên đầu tiên (n= 1, 2, 3, ....).
    Ta sẽ được các kết quả:
    T1 = 1
    T2 = 1 + 2
    T3 = 1 + 2 + 3
    ....
    Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
    Trong trường hợp này, để quyết định thực hiện phép cộng với số tiếp theo hay dừng, trong từng bước phải kiểm tra tổng đã lớn hơn 1000 hay chưa.
    Ví dụ 2
    Kí hiệu S là tổng cần tìm ta có thuật toán như 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ả
    Kết thúc thuật toán
    Bắt đầu thuật toán
    Sơ đồ khối
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    2.Ví dụ về lệnh lặp với số lần chưa biết trước
    Trong Pascal câu lệnh lặp với số lần chưa biết trước có dạng:
    While <điều kiện> do ;
    Trong đó:
    Điều kiện thường là một 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 này được thực hiện như sau:
    Bước 1 : Kiểm tra điều kiện.
    Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    Ví dụ 3
    2.Ví dụ về lệnh lặp với số lần chưa biết trước
    Chúng ta biết rằng, nếu n càng lớn thì 1/n càng nhỏ, nhưng luôn luôn lớn hơn 0. Vậy với giá trị nào của n thì 1/n < 0.005 hoặc 1/n < 0.003?
    var x: real; n: integer;
    const sai_so=0.003;
    Begin
    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:5:4, `la `,n);
    Readln;
    End.
    Chương trình dưới đây tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước
    Chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    Ví dụ 4
    2.Ví dụ về lệnh lặp với số lần chưa biết trước
    Chương trình Pascal sau đây thể hiện thuật toán tính số n trong ví dụ 2:
    var S,n: integer;
    begin
    S:=0; n:=1;
    while S<=1000 do
    begin
    n:=n+1;
    S:=S+n;
    end;
    writeln(`So n nho nhat de tong > 1000 la `,n);
    writeln(`Tong dau tien > 1000 la `,S);
    end.
    Trở lại Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), ta sẽ được các kết quả T1 =1, T2 =1 + 2, T3 =1 + 2 + 3,... tăng dần. Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    Ví dụ 5
    2.Ví dụ về lệnh lặp với số lần chưa biết trước
    var T,i: integer;
    begin
    T:=0;
    for i:=1 to 100 do T:=T+1/i;
    writeln(T);
    end.
    Hãy sử dụng lệnh lặp với số lần lặp biết trước for…do để viết chương trình tính tổng
    Viết chương trình tính tổng
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    Ví dụ 5
    2.Ví dụ về lệnh lặp với số lần chưa biết trước
    Nếu sử dụng lệnh lặp while…do, đoạn chương trình dưới đây cũng cho cùng một kết quả:
    Viết chương trình tính tổng
    var T,i: integer;
    begin
    T:=0; i:=1;
    while i<=100 do
    begin
    T:=T+1/i; i:=i+1;
    end;
    writeln(T);
    end.
    Nhận xét : Qua ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…do.
    Học sinh thảo luận theo nhóm
    (2 bàn 1 nhóm)
    -Thời gian thảo luận trong 3 phút
    Các nhóm thảo luận và viết kết quả vào giấy sau đó lên bảng trình bày.
    BÀI TẬP NHÓM
    Sữ dụng vòng lặp While…do
    để tính tổng các số chẵn
    từ 1 đến 10?
    HẾT GIỜ
    Var S, i:Integer;
    Begin
    S:=0; I:=1;
    While i<=10 do
    If (I mod 2)=0 then
    begin
    S:=S+I; I:=I+1;
    End;
    writeln(‘ Tổng các so chan = ’, S
    End.
    GHI NHỚ
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    - 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.
    - While…do là câu lệnh lặp với số lần chưa biết trước trong
    Pascal.
    Nếu S=10, i=0 Sau khi thực hiện câu lệnh
    While S>5 do
    begin i:=i+1; S:=S-i end;
    writeln(S);
    Thì giá trị của S là:
    10
    09
    08
    07
    06
    05
    04
    03
    02
    01
    00
    0
    :
    D. 6
    A. 4
    B. 5
    C. 10
    A. 4
    BẠN SAI RỒI!
    BẠN SAI RỒI!
    BẠN SAI RỒI!
    Câu hỏi củng cố
    Nếu S=0,i=1 Sau khi thực hiện câu lệnh
    While i<=5 Do
    Begin i:=i+1; S:=S+i; End;
    Writeln(`Ket qua la :`,S);
    Thì giá trị của S là:
    10
    09
    08
    07
    06
    05
    04
    03
    02
    01
    00
    0
    :
    D. 15
    B. 14
    A. 10
    C.0
    B. 14
    BẠN SAI RỒI!
    BẠN SAI RỒI!
    BẠN SAI RỒI!
    Hướng dẫn về nhà
    - Ôn lại về câu lệnh lặp với số lần không biết trước
    - Làm bài tập 1, 2, 3a,bài 5 SGK
    Baøi 8:
    LAËP VÔÙI SOÁ LAÀN CHÖA BIEÁT TRÖÔÙC
    QUÝ THẦY CÔ GIÁO SỨC KHỎE. CÁC EM HỌC SINH CHĂM NGOAN, HỌC GIỎI
    THE END
     
    Gửi ý kiến