Giáo án Tin học 11 - Bài 10: Cấu trúc lặp

4 35 0
Giáo án Tin học 11 - Bài 10: Cấu trúc lặp

Đang tải... (xem toàn văn)

Thông tin tài liệu

CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP Bài 10: CẤU TRÚC LẶP I.Mục đích yêu cầu 1.Kiến thức - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.. - Hiểu cấu trúc lặp với số lần định [r]

(1)GV: NGUYỄN THỊ LẮM Ngày soạn: 22 / 11 /2014 Ngày dạy:27 /11 /2014 Lớp: 11CB2 Tuần: 15 Tiết CT: 15 GIÁO ÁN TIN HỌC 11 CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP Bài 10: CẤU TRÚC LẶP I.Mục đích yêu cầu 1.Kiến thức - Hiểu nhu cầu cấu trúc lặp biểu diễn thuật toán - Hiểu cấu trúc lặp với số lần định trước và kiểm tra điều kiện trước - Biết cách vận dụng đúng đắn cấu trúc lặp vào tình cụ thể Kĩ - Mô tả thuật toán số bài toán sử dụng lệnh lặp - Viết đúng các lệnh lặp với số lần định trước, kiểm tra điều kiện - Viết thuật toán số bài toán đơn giản Thái độ II.Phương tiện, phương pháp Phương tiện -Máy tính, máy chiếu, phông chiếu, bảng phấn - Đính kèm Slide bài giảng Power Point Phương pháp: nêu – giải vấn đề III Nội dung: Ổn định lớp(1’) Kiểm tra bài cũ Giới thiệu bài Nội dung bài TG 8’ 3’ 4’ Hoạt động GV - Em hãy viết chương trình đưa màn hình các số từ đến 10 sau: 10 - Bây muốn đưa 100 hay 1000 chữ số theo thứ tự trên thì sao? - Nếu chúng ta viết 100 hay 1000 câu lệnh write() trên thì nhiều thời gian và dễ sai sót, các câu lệnh thực tương tự Hoạt động HS Write (‘1’); Write (‘ 2’); ………… Write (‘ 10’); Hoặc i:=i+1; write(i); write(i+1); write(i+2); ………… write(i+9); Nội dung Lặp Trong lập trình có thao tác phải lặp lại nhiều - Viết lệnh in 100, 1000 lần, đó ta gọi là cấu trúc lần lặp Cấu trúc lặp có loại: Lặp với số lần biết trước Lặp với số lần chưa biết trước Các NNLT có các câu Lop11.com (2) GV: NGUYỄN THỊ LẮM viết lại nhiều lần 1’ - Vậy có cách nào khác để giải các bài toán có nội dung tương tự - Sử dụng cấu trúc lặp không? Giới thiệu bài: Cấu trúc lặp 10’ - Xét bài toán: Tính tổng S với a là số nguyên và a >2 Bài toán 1: 1 1 S     a a 1 a  a  100 Bài toán 2: 1 1 S     a a 1 a  aN  0.001 aN - Sau lần thực giá trị tổng S tăng thêm bao nhiêu? Với bài toán 1: - Việc tăng giá trị cho tổng S lặp lặp lại bao nhiêu lần? số lần lặp biết trước Với bài toán 2: - Việc tăng giá trị cho tổng S lặp lặp lại nào? số lần lặp chưa biết trước  Xét bài toán 1: So sánh thuật toán tong_1a và tong_1b  Thuật toán có lặp không?  Lặp bao nhiêu lần?  Cái gì thay đổi thuật toán này? S1= 1/a S2=S1+1/(a+1) S3= S2 +1/(a+2) ……………… S100= S99 +1/(a+99) S101= S100 +1/(a+100) Nhận xét: Bắt đầu từ S2 việc tính S lặp lặp lại theo quy luật Ssau= Strước + 1/(a+N) với N chạy từ đến 100 Xây dựng thuật toán: GIÁO ÁN TIN HỌC 11 lệnh để mô tả cấu trúc lặp Với bài toán 1: 1/(a+i) với i = 1,2, N - 100 lần - Với bài toán 2:  0.001 aN Nhận xét:  có lặp  Lặp 100 lần  So sánh: B1: tong1a gán N=0, tong1b gán N=101 B2: tong1a gán N=N+1, tong1b gán N=N-1 B3: điều kiện trở B5 tong1a là N>100, tong1b là N<1 B4, B5: giống Áp dụng câu lệnh lặp dạng tiến để Lop11.com Lặp với số lần biết trước và câu lệnh for - Xét bài toán: VD1:Tính tổng S với a là số nguyên và a >2 1 1 S     a a 1 a  a  100 Thuật toán tong1a B1: S:=1/a; N:=0; B2: N: =N+1; B3: N > 100 thì chuyển sang B5; B4: S:=S+1/(a+N) quay lại B2; B5: đưa S kết thúc Thuật toán tong1b B1: S:=1/a;N:=101; B2: N:=N-1; B3: N < thì chuyển sang B5; B4: S:=S+1/(a+N) quay lại B2; B5: đưa S kết thúc  Dạng lặp tiến: For <biến đếm> := <giá trị đầu> to <giá trị cuối>do<câu lệnh>; VD: S:=1/a; For N:=1 to 100 S:= S+1/(a+N);  Dạng lặp lùi: For <biến đếm> := <giá trị cuối> downto <giá trị đầu> do<câu lệnh>; VD: S:=1/a; For N:=100 downto (3) GV: NGUYỄN THỊ LẮM GIÁO ÁN TIN HỌC 11 7’ viết chương trình cho bài toán -Dạng tiến: S:= S+1/(a+N); trên Program tong_1a; Trong đó: Var N : byte; - Biến đếm là biến kiểu số nguyên ký tự S : real; Begin VD: For i:=1 to 10 writeln(i); Writeln(‘Nhap so a: ’); Readln(a); For i:=’a’ to ‘z’ writeln(i); S:=1/a; For N:= to 100 - Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với  Đây thực chất là thuật toán S:= S+1/(a+N); có cách tính ngược Một Writeln(‘Tong S la : ‘,S:8:3); biến đếm, giá trị đầu phải nhỏ giá trị cuối cách tính tổng tiến lên, còn cách Readln End - Giá trị biến đếm điều khác là lùi dần chỉnh tự động, vì câu  Giá trị biến N và biến S thay - Hs ghi bài lệnh sau không thay đổi đổi giá trị biến đếm * Viết chương trình tính tổng S bài toán trên Program tong_1a; Var N : byte; S : real; Begin Writeln(‘Nhap so a: ’); Readln(a); S:=1/a; For N:= to 100 S:= S+1/(a+N); Writeln(‘Tong S la : ‘,S:8:3); Readln End Ví dụ 2: Lập chương trình tính tổng sau: Ví dụ 2: Lập chương trình tính tổng sau: 1 S  1    10’ 1 1 S  1     - Hướng dẫn HS xây dựng thuật toán -Yêu cầu HS viết chương trình tính tổng dựa vào thuật toán để viết dạng tiến và dạng lùi N Bước 1: Nhập N Bước 2: S  1, i2 Bước 1: Nhập N Bước 3: Nếu i>N thì đến Bước 2: S  1, i2 bước Bước 3: Nếu i>N thì đến Bước 4: S S+1/i ; i i+1 bước quay lại bước Bước 4: S S+1/i ; i i+1 Bước 5: Đưa S kết thúc quay lại bước Program tinh_tong; Bước 5: Đưa S kết thúc Var i, N: byte; S: real; Begin Writeln(‘Nhap N: ’); readln(N); S:=1; Lop11.com (4) GV: NGUYỄN THỊ LẮM GIÁO ÁN TIN HỌC 11 For i:=2 to N S:=S+1/i; Writeln(‘’Tong la: ’, S:8:2); Readln End -Nhận xét và chốt lại vấn đề Cho HS ghi bài IV Củng cố và dặn dò (1’) - Nhắc lại cấu trúc for… - Cách vận dụng các cấu trúc lặp for… để giải bài toán V Rút kinh nghiệm Lop11.com (5)

Ngày đăng: 02/04/2021, 07:23

Tài liệu cùng người dùng

Tài liệu liên quan