1. Trang chủ
  2. » Giáo án - Bài giảng

Tin 8 bai while do

16 410 1
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lặp với số lần chưa biết trước
Tác giả Dương Quang Tùng
Trường học Trường THCS Trần Phú
Chuyên ngành Tin học
Thể loại Tiết
Thành phố Cẩm Mỹ
Định dạng
Số trang 16
Dung lượng 4,06 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHÒNG GIÁO DỤC HUYỆN CẨM MỸ TRƯỜNG THCS TRẦN PHÚ GV: Dương Quang Tùng 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ướcFOR : = TO DO

Trang 1

PHÒNG GIÁO DỤC HUYỆN CẨM MỸ

TRƯỜNG THCS TRẦN PHÚ

GV: Dương Quang Tùng

TIẾT 51 :

LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

TIN HỌC 8

Trang 2

Viết chương trình tính tổng 100 số tự nhiên

đầu tiên 1+2+3+…+99+100

Var I, s: Integer;

Begin

S:=0;

For i:=1 to 100 do s:=s+I;

Writeln(‘ Tong cac so tu 1 den 100 = ‘, s);

Readln;

End.

Trang 3

Nhắc lại câu lệnh lặp với số lần biết trước

FOR <biến đếm> : = <giá trị đầu> TO <giá trị cuối> 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

Trang 4

Một ngày chủ nhật, bạn Long gọi điện cho Trang Không có

ai nhấc máy Long quyết đị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à Như vậy

Long đã biết trước là mình sẽ lặp lại hoạt động gọi điệ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.

Trang 5

Sơ đồ khối

Trang 6

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 <câu lệnh>;

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.

Trang 7

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.

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

Trang 8

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ở la ̣i Ví du ̣ 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?

Trang 9

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

Trang 10

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

Trang 11

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.

Sữ dụng vòng lặp While…do để tính tổng các số chẵn

từ 1 đến 10?

Sữ dụng vòng lặp While…do để tính tổng các số chẵn

từ 1 đến 10?

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.

Trang 12

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

- While…do là câu lệnh lặp với số lần chưa biết trước trong

Pascal

Trang 13

Nếu S=10, i=0 Sau khi thực hiện câu lệnh

writeln(S);

Thì giá trị của S là:

10 0:

D 6

A 4

B 5

C 10

A 4

BẠN SAI RỒI!

Trang 14

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 0:

D 15

B 14

BẠN SAI RỒI!

Trang 15

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

Trang 16

QUÝ THẦY CÔ GIÁO SỨC KHỎE

CÁC EM HỌC SINH CHĂM

NGOAN, HỌC GIỎI

Ngày đăng: 21/07/2013, 01:26

Xem thêm

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối - Tin 8 bai while do
Sơ đồ kh ối (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w