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

Hỗ trợ trực tuyến

  • (Trợ giúp kỹ thuật)

Đ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

    Thong_diep_Huong_ung_Ngay_the_gioi_tuong_niem_cac_nan_nhan_tu_vong_do_tai_nan_giao_thong_2023__co_nhac_nen.mp3 Tai_xuong_2.jpg Tai_xuong_1.jpg Tai_xuong.jpg Tieu_Su_Anh_Hung_Vo_Thi_Sau.flv Caubetroiban_15022022.flv KIM_DONG__Anh_Hung_Nho_Tuoi__Phim_Hoat_Hinh_3D_Viet_Nam_Dang_Xem_Nhat_2017.flv TAM_GUONG_NGHI_LUC_VIET_3_NGUYEN_NGOC_KY.flv GIO_TO_HUNG_VUONG_MUNG_10_THANG_3_AM_LICH__PTMN.flv Hat_Quoc_Ca_Tai_Dia_Chi_Do__Lien_Doi_Truong_THCS_My_Hoi__Video_du_thi.flv 1_Hoc_Sinh_Dat_Sen_HongThuyTamHoaiAn.mp3 HINH_ANH_HOAT_DONG_LIEN_DOI_chat_luong_cao.jpg Clip_image001.jpg IMG_20180905_133826.jpg IMG_20180905_133904.jpg HINH_ANH_HOAT_DONG_LIEN_DOI.jpg So_do_tu_duy_on_tap_chuong_II_goc_Toan_6.png ENGLISH_9_UNIT_10_READ.mp3 E6_Unit_12_B2_p120.flv

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

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

    Chào mừng quý vị đến với Thư viện tài nguyên giáo dục Đồng Tháp.

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.

    Bài 10: Cấu trúc lặp

    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: Nguyễn Ngọc Nhi
    Ngày gửi: 20h:42' 09-11-2013
    Dung lượng: 987.5 KB
    Số lượt tải: 238
    Số lượt thích: 0 người
    Bài 10
    cấu trúc lặp
    Giáo án điện tử tin học lớp 11
    (2 tiết)
    Bài toán 1:
    Bài toán 2:
    Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
    cho đến khi
    Xuất phát
    Lần 1
    Lần 2

    +…
    Lần N

    Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?

    1
    Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với i =1; 2; 3 ; ...;N)
    a + i

    Cùng tìm thuật toán
    Bài toán 1:
    Bài toán 2:
    Cho đến khi
    ? Số lần lặp biết trước.
    Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi
    Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần.
    tìm sự khác biệt
    ? Số lần lặp chưa biết trước.
    Cấu trúc lặp
    I. Lặp với số lần lặp biết trước
    II. Lặp với số lần lặp không biết trước
    1. Bài toán đặt vấn đề
    - Dữ liệu ra (Output) : Tổng S
    Lập chương trình tính tổng sau:

    - Dữ liệu vào (Input) : Nhập N
    Hãy xác định INPUT và OUTPUT của bài toán trên!
    I. Lặp với số lần lặp biết trước
    Phân tích bài toán với N = 100

    Nhận xét:
    S1 = 1
    S2 = S1 + 1/2
    S3 = S2 + 1/3
    S4 = S3 + 1/4


    .....
    S100 = S99 + 1/100
    Bắt đầu từ S2 việc tính S được lặp đi lặp lại 99 lần theo quy luật
    Ssau = Strước+ 1/i
    với i chạy từ 2 ? 100
    . . . . . . . . . . . . . . . . . . . .
    Đ
    S
    B1: Nhập N;
    B2: S:=1; i:=2;
    B3: Nếu i > N thì đưa ra giá trị S => Kết thúc;
    B4 : S:= S + 1/i;
    B5: i := i +1 quay lại B3.
    Xây dựng thuật toán
    i:= i+1
    FOR := TO DO < câu lệnh>;
    Ví dụ: S:=1;
    FOR i:=2 TO 100 DO S:=S+1/i;
    b. Dạng 2 (dạng lùi)
    FOR := DOWNTO DO ;
    Ví dụ: S:=1;
    FOR i:=100 DOWNTO 2 DO S:=S+1/i;
    a. Dạng 1 (dạng tiến)
    2. Lặp với số lần lặp biết trước
    ? Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm, giá trị đầu phải nhỏ hơn giá trị cuối.
    For i:= 100 to 200 do write(i);

    ? Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm.
    Trong đó
    ? Biến đếm là biến kiểu số nguyên hoặc kí tự.
    For i:=1 to 10 do write(i);
    For i:=`a` to `z` do write(i);

    Uses crt;
    Var i,N : Integer; S : real;
    BEGIN
    Readln;
    END.
    S:=1;
    FOR i:=2 to N do S := S+1/i;
    Writeln(` Tong S =`,S:8:3);
    Write(` Nhap vao gia tri cua N :`);readln(N);
    Program Tinh_tong;
    Hãy áp dụng câu lệnh lặp dạng tiến để viết chương trình giải bài toán đặt vấn đề.
    Lập chương trình tính tổng sau:

    S := 1 ; i := 2;
    i >N
    KT
    S := S +1/ i ;
    i := i +1;
    2.08
    1.83
    1.5
    1
    4
    3
    2
    Lượt
    i
    S
    2.28
    5
    Nhập N
    S := 1 ; i := 2;
    2>5 ?
    S
    S
    S := 1 +1/2 ;
    i := 2 +1;
    3>5 ?
    S := 1.5+1/3 ;
    i := 3 +1;
    4>5 ?
    S := 1.83+1/4 ;
    i := 4 +1;
    5>5 ?
    S := 2.08+1/5;
    i := 5 +1;
    6
    S
    S
    S
    6>5 ?
    In Tổng S
    Tổng S=2.28
    Với N = 5
    2.28
    Đ
    Đ
    Mô phỏng thuật toán

    3. Ví dụ
    Tính tổng S (với a là số nguyên nhập vào từ bàn phím và a>2).
    ?
    Hãy xác định giá trị khởi đầu của S, quy luật thay đổi giá trị của S và số lần lặp.
    Viết chương trình để giải bài toán trên.
    S:=1/a;
    - S:= S + 1/(a+i);
    - i chạy từ 1 đến 100 => Số lần lặp là 100 lần.
    1. Bài toán
    Dữ liệu ra (Output) : Tổng S
    Dữ liệu vào (Input) : Nhập a
    Hãy xác định INPUT, OUTPUT và nêu thuật toán giải bài toán trên?
    Cho đến khi
    Tính giá trị tổng S, với a là số nguyên và a>2.
    thì dừng lại.
    II. Lặp với số lần lặp không biết trước
    Bước 2:
    S:=1/a; N:=1;
    {Khởi tạo S và N}
    Bước 3:
    Nếu 1/(a+N) < 0.0001
    => Bước 5
    Bước 4:
    S:=S+1/(a+N);
    N:=N+1;
    => quay lại bước 3
    thuật toán
    Bước 1: Nhập a.
    Đưa ra S
    => Kết thúc
    ? Vòng lặp chỉ dừng khi 1/(a+N)<0.0001
    S
    Đ
    Bước 5: In S => Kết thúc.
    WHILE <Điều kiện> DO ;
    Điều kiện
    Đúng
    Câu lệnh
    Điều kiện: Là biểu thức
    quan hệ hoặc lôgic.

    Câu lệnh: Là một câu lệnh của Pascal.
    Sai
    2. Lặp với số lần lặp không biết trước
    Trong đó:
    Chừng nào điều kiện còn đúng thì câu lệnh còn được thực hiện.
    WHILE 1/(a+N) >= 0.0001 DO
    Begin
    S:=S+1/(a+N);
    N:=N+1;
    END;
    3. Một số ví dụ
    a
    Bài toán đặt vấn đề:
    Nhận xét:
    Chừng nào 1/(a+N)>=0.0001 thì còn thực hiện:
    + Tăng giá trị của tổng S thêm 1/(a+N).
    + Tăng N thêm 1 đơn vị.
    Tính giá trị tổng S, với a là số nguyên và a>2
    thì dừng lại.
    Cho đến khi
    Chương trình
    Program Bai_toan;
    Uses Crt;
    Var a,N:Integer;
    S:Real;
    BEGIN
    Clrscr;
    Write(`Nhap gia tri cua a= `);Readln(a);
    S:=1/a;N:=1;
    WHILE 1/(a+N)>=0.0001 DO
    BEGIN
    S:=S+1/(a+N);
    N:=N+1;
    END;
    Writeln(`Gia tri cua tong S = `,S:8:3);
    Readln;
    END.
    b
    Lập chương trình nhập vào hai số nguyên dương M,N. Tìm ƯCLN của hai số đó.
    B1: Nhập M,N;
    B2 : Chừng nào M?N
    nếu M>N thì M:=M-N,
    ngược lại thì N:=N-M;
    B3: Đến khi M=N thì
    => Đưa ra ƯCLN(M,N)=M;
    => Kết thúc.
    B1: Nhập M,N
    B2 : While M<>N DO
    Begin
    IF M>N then M:=M-N
    else N:=N-M; end;
    B3: In ƯCLN(M,N)
    Thuật toán
    các bước viết chương trình
    Tham khảo:

    Dạng khác của câu lệnh lặp với số lần lặp không biết trước
    REPEAT UNTIL <Điều kiện>;
    Điều kiện
    Sai

    Câu lệnh
    Đúng
    Bài toán đặt vấn đề:
    Program Bai_toan;
    Uses Crt;
    Var a,N:Integer;
    S:Real;
    BEGIN
    Clrscr;
    Write(`Nhap gia tri cua a= `);Readln(a);
    S:=1/a;N:=1;
    REPEAT {Bat dau lap}
    S:=S+1/(a+N);
    N:=N+1
    UNTIL 1/(a+N)< 0.0001; {Ket thuc lap}
    Writeln(`Gia tri cua tong S = `,S:8:3);
    Readln;
    END.
    Hãy nhớ!
    Câu lệnh rẽ nhánh.
    Câu lệnh lặp
    IF <đk> THEN ;
    trong pascal
    FOR ... TO ... DO ....
    IF <đk> THEN
    ESLE ;
    FOR ... Downto ... DO ...
    While <đk> Do ;
    Dạng khuyết.
    Dạng đầy đủ.
    Lặp với số lần lặp biết trước.
    Lặp với số lần lặp không biết trước.
     
    Gửi ý kiến