1. Trang chủ
  2. » Cao đẳng - Đại học

giao an tin 8 ki 2

30 7 0

Đ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

Định dạng
Số trang 30
Dung lượng 459,65 KB

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

Nội dung

Tuần: Tiết: Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I/ MỤC TIÊU: 1 Kiến thức: - Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình; - Biết ngôn ngữ lập tr[r]

Trang 1

- Biết nhu cầu cần có câu lệnh lặp trong ngôn ngữ lập trình.

- Biết ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần

- Hiểu hoạt động của câu lệnh lặp với số lần biết trớc for ….do trong pascal do trong pascal

2)Kiểm tra bỏi cũ:

- Khụng kiểm tra

3)Bài mới:

Hoạt động 1 :Các công việc phải thực

hiền nhiều lần ( 8 phút)

Các công việc phải thực hiền nhiều lần

GV: Trong cuộc sống hằng ngày nhiều mỗi

ngời đều có các công việc riêng khác nhau

? Em hãy lấy ví dụ về một số việc hàng

ngày của em

biết trớc số lần lặp đi lặp lại và công việc

nào chúng ta cha biết số lần lặp lại của nó?

HS: Tách ví dụ thành hai loại (một loại đã

biết trớc số lần lặp và một loại cha biêt số

lần lặp )

GV: Nhận xét và kết luận

1 Các công việc phải thực hiền nhiều lần

Để chỉ dẫn cho máy tính thực hiện

đúng công việc, trong nhiều trờng hợpkhi viết một chơng trình máy tínhchúng ta cũng phải viết lặp lại nhiềucâu lệnh thực hiện một phép tính nhất

Trang 2

HS: nghiên cứu ví dụ 1.

GV: Phân tích, hớng dẫn viết thuật toán ví

GV: Cho HS nghiên cứu ví dụ 2

? Ví dụ 2 công việc gì đợc thực hiện nhiều

lần

HS: Trả lời

? Qua hai ví dụ trên, các em hãy chỉ ra

những công việc đợc lặp đi lặp lại?

- Mọi ngôn ngữ lập trình đều có

“cách” để chỉ thị cho máy tính thựchiện cấu trúc lặp với một câu lệnh Đó

HS: Ghi cấu trúc vòng lặp vào vở

GV: Giải thích từng thành phần trong cấu

For <biến đếm>:= <giá trị đầu> to

<giá trị cuối> do <câu lệnh>;

Trong đó: for, to, do là các từ khoá,

Biến đếm là biến đơn có kiểu nguyên

(có thể là kiểu kí tự hoặc kiểu đoạncon)

Giá trị đầu, giá trị cuối là số cụ thể

hoặc là biểu thức có kiểu cùng kiểuvới biến đếm, giá trị cuối phải lớn hơngiá trị đầu

Câu lệnh có thể là câu lệnh đơn hoặc

câu lệnh kép

- Câu lệnh sẽ đợc thực hiện nhiều lần,mỗi lần thực hiện câu lệnh là một lầnlặp và sau mỗi lần lặp biến đếm sẽ tự

động tăng lên 1 đơn vị, tăng cho đếnkhi giá trị của biến đếm lớn hơn giátrị cuối thì vòng lặp đợc dừng lại

Bài 4 SGK (Tr61)

Giá trị của j sau mỗi lần lặp sẽ đợc

Trang 3

tăng thêm 2 đơn vị

2, 4, 6, 8, 10, 12

4) Củng cố:(7 phút)

GV: Đa ra bài tập 4

HS đa ra phán đoán kết quả

? Dựa vào hoạt động vòng lặp em lãy liệt kê cụ thể từng bớc và cho kết quả sau từngbớc

HS: Hoạt động theo nhóm bàn trong 5 phút và trả lời

Nhận xét, bổ sung

GV: Kết luận

5) Hướng dẫn về nhà:(1 phút)

- Viết chơng trình tính tổng 100 số tự nhiên, N số tự nhiên đầu tiên

IV RÚT KINH NGHIỆM.

.

- Hiểu hoạt động của câu lệnh lặp với số lần biết trớc for ….do trong pascal do trong pascal

- Hiểu cấu trúc câu lệnh ghép

2) Kĩ năng:

- Viết đúng đợc lệnh for do trong một số tình huống đơn giản

- Biết kết hợp câu lệnh ghép và câu lệnh lặp for do vào giải quyết một số bài toán

Trang 4

- HS: Vở ghi, phiếu học tập.

III/ TIẾN TRèNH LấN LỚP.

1)Ổn định tổ chức:

- Kiểm tra sĩ số:

2)Kiểm tra bỏi cũ:

- Cõu hỏi: ? Em hãy viết câu lệnh For to do

? Nêu hoạt động của vòng lặp?

HS:- Cấu trúc của câu lệnh lặp:

For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;

- Câu lệnh sẽ đợc thực hiện nhiều lần, mỗi lần thực hiện câu lệnh là một lần lặp và sau mỗi lần lặp biến đếm sẽ tự động tăng đi 1 đơn vị, tăng cho đến khi giá trị của biến đếm lớn hơn giá trị cuối thì vòng lặp đợc dừng lại

Số lần lặp = giá trị cuối-giá trị đầu+1

=> for ….do trong pascal.do là cấu trúc lặp với số lần lặp biết trớc

3)Bài mới:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1: Ví dụ về câu lệnh lặp

GV: Cho HS nghiên cứu ví dụ 3

GV: Minh họa chơng trình của ví dụ 3

HS: Quan sát ghi bài

GV: Cho HS nghiên cứu ví dụ 4

? Để in ra chữ ‘O’ ta sử dụng lệnh nào

HS: Trả lời

Để in ra 20 chữ ‘O’ ta cần 20 câu lệnh

writeln(‘O’; Viết thế rất mất thời gian

? Em hãy sử dụng câu lệnh lặp để viết in ra 20

Program lap;

Var i: integer;

BeginFor i:=1 to 10 doWriteln(‘day la lan lap thu’, i);Readln;

For i:=1 to 10 dobegin

Ví dụ 5 Tính tổng của N số tự nhiên đầu tiên

Ví dụ 6 Tính day tha của N số tự

Trang 5

HS: Nhận xét, bổ sung

GV và HS cùng xây dựng viết chơng trình dựa

vào thuật toán

Lu ý: kiểu số Longint

GV: Đa ra ví dụ 6 Hớng dẫn ví dụ6

Tổ chức Hs hoạt động cá nhân trong 3 phút

Sau đó hoạt động theo nhóm nhỏ làm ví dụ 6

HS: Hoạt động cá nhân sau đó hoạt động nhóm

thống nhất kết quả

Nhận xét, bổ sung

GV: Kết luận đa ra bài viết chơng trình

HS: Quan sát kết quả và ghi bài

nhiên đầu tiên

4) Củng cố:

Tóm tắt kiến thức trọng tâm đã học

HS đọc ghi nhớ

5) Hướng dẫn về nhà:

- Học lại bài về câu lệnh lặp For to do Xem lại các ví dụ SGK

Về nhà làm bài tập : Tính tổng các số chẵn của dãy số N và tính tổng các số lẻ.

Gợi ý: Kiểm tra số đó là chẵn thì điều kiện IF N mod 2 =0 then S:=S+i;

IV RÚT KINH NGHIỆM.

.

Ngày Dạy: / /

Tuần:

Tiết:

BÀI TẬPI/ MỤC TIấU:

- GV: - Sỏch giỏo khoa, giỏo ỏn, tài liệu tin học cú liờn quan.

- Đọc tài liệu ở nhà trước khi

Trang 6

- Cõu hỏi: ? Sử dụng vũng lặp for … do viết chương trỡnh tớnh tổng của 10 số tự

nhiờn đầu tiờn?

3)Bài mới:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1: Bài tập dạng lớ thuyết

GV: Đưa ra đề bài toỏn, yờu cầu học sinh

nghiờn cứu theo nhúm

-HS: Hoạt động theo nhúm tỡm cõu trả lời

- HS: Đại diện của hai nhúm trỡnh bày kết quả

của nhúm

-GV: Nhận xột kết quả cuối cựng

- GV: Đưa bài tập 2 lờn bảng, yờu cầu một học

sinh đứng tại chỗ trả lời

- HS: Một học sinh đứng tại chỗ trả lời bài tập

2 một học sinh khỏc đứng tại chỗ nhận xột

- GV: Kết luận kết quả của bài 2

-GV: GV: Đưa ra đề bài toỏn, yờu cầu học sinh

nghiờn cứu theo nhúm

-HS: Hoạt động theo nhúm tỡm cõu trả lời

- HS: Đại diện của hai nhúm trỡnh bày kết quả

- Cõu lệnh lặp làm giảm nhẹ cụng sức của người viết chương trỡnh

Bài 3 SGK (T60)

- Điều kiện cần kiểm tra trong cõulệnh lặp for … do là giỏ trị của biến đếm phải nằm trong đoạn [giỏ trị đầu, giỏ trị cuối ], nếu thoảmón điều kiện đú thỡ cõu lệnh sẽ được thực hiện, nếu khụng thoả món cõu lệnh sẽ bị bỏ qua

Hoạt động 2: Bài tập dạng thực hành

GV: Đưa ra đề bài toỏn và yờu cầu một học

sỡnh đứng tại vị trớ để trả lời bài tập

-HS: 1em đứng tại vị trớ trả lời, 1 em khỏc

nhận xột

- GV: Nhận xột kết quả cõu trả lời của 2 bạn

c) sai cấu trỳc cõu lệnhd) sai cấu trỳc cõu lệnhe) biến đếm cú kiểu là kiểu số thực nờn khụng hợp lệ

Trang 7

diện của 2 nhóm sẽ lên báo báo kết quả.

GV: Giúp các em hoàn thành thuật toán

A<-0, i<-1Bước 2: A<- 2\i(i+2)Bước 3: i<-i+1

Bước 4: nếu i<=n quay về bước 2Bước 5: ghi kết quả A ra màn hình và kết thúc thuật toán

4) Củng cố:

- Giáo viên hệ thống lại toàn bộ nội dung bài học

- Giáo viên nhận xét tiết học, rút kinh nghiệm tiết học

IV RÚT KINH NGHIỆM.

.

Trang 8

III/ TIẾN TRèNH LấN LỚP.

1)Ổn định tổ chức:(1’)

- Kiểm tra sĩ số:

2)Kiểm tra bỏi cũ:(5’)

- Cõu hỏi: ? Nờu cấu trỳc cõu lệnh lặp đơn, cõu lệnh lặp ghộp, cú biết ý nghĩa của

cõu lệnh lặp

3)Bài mới: (31’)

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1 : nội dung

GV: giành thời gian 15 phỳt để HS lập trỡnh

write('Nhap so N='); readln(N);writeln;

In toàn bộ bảng cửu chương

uses crt;

var N,i:integer;

beginclrscr;

writeln('Bang nhan ',N);

writeln;

for N:=1 to 10 dofor i:=1 to 10 do writeln(N,' x',i:2,' = ',N*i:3);

readlnend

Trang 9

GV :? Để kết quả trông dễ nhìn ta sử dụng Câu

cột và WhereY cho biết số thứ tự của hàng

con trỏ về vị trí cột 5 của hàng hiện tại

HS : Dịch và chạy chương trình

GV: Giúp HS sửa một số lỗi

Chỉnh sửa câu lệnh lặp củachương trình như sau:

for i:=1 to 10 do begin

GotoXY(5,WhereY); writeln(N,' x',i:2,' = ',N*i:3); writeln

Trang 10

2)Kiểm tra bỏi cũ:

Cõu hỏi:

Cõu 1: Cho vớ dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằngngày?

Cõu 2: Hóy cho biết tỏc dụng của cõu lệnh lặp với số lần biết trước?

Cõu 3: Trỡnh bày cấu trỳc của cõu lệnh lặp và nờu cỏch hoạt động của nú?

3)Bài mới:

Hoạt động của thầy và trò Nội dung ghi bảng

Hoạt động 1 : nội dung

- Tương tự như bài 1, GV cho HS gừ bài làm

của mỡnh ở nhà vào mỏy

- HS thực hiện theo yờu cầu của GV.

- GV quan sỏt trờn mỏy HS và chữa lại chỗ sai

- HS quan sỏt và theo dừi

- GV cho HS chữa bài vào vở

- HS ghi bài vào vở

Bài tập 3 :

- GV: Đưa ra nội dung của bài toỏn: Viết

chương trỡnh in ra màn hỡnh bảng nhõn của một

số từ 1 đến 9, và dừng màn hỡnh để cú thể quan

sỏt kết quả.

- GV: Đưa nội dung chương trỡnh lờn màn hỡnh,

yờu cầu học sinh đọc hiểu chương trỡnh

- HS: Nghiờn cứu bài toỏn, tỡm input và output

- GV: yờu cầu một học sinh đứng tại vị trớ trỡnh

bày hoạt động của chương trỡnh, cỏc nhúm khỏc

Bài 2: Viết chương trỡnh tỡm

xem cú bao nhiờu số dương trong

n số nhập vào từ bàn phớm?

Program tinh_so_cac_so_duong;

Uses crt;

Var i,A, dem, n: integer;

Begin Clrscr;

Dem:=0;

Writeln(‘Nhap vao so n’); readln(n);

For i:=1 to n do begin

writeln(‘nhap vao so thu’,i); readln(A);

if A>0 then dem:=dem+1;

Var i, n: integer;

Begin

Trang 11

cùng tham gia phân tích.

- HS: đọc, phân tích câu lệnh, tìm hiểu hoạt

động của chương trình

- GV: yêu cầu học sinh lập bảng hoạt động của

chương trình theo mẫu:

Giả sử N=2:

- HS tham gia hoạt động của GV

- HS: các nhóm lập bảng và đại diện nhóm báo

cáo kết quả

- GV: nhận xét

- GV: cho chương trình chạy trên máy, yêu cầu

học sinh quan sát kết quả

Bài tập 4:

- GV: giới thiệu cấu trúc lệnh for lồng, hướng

dẫn học sinh cách sử dụng lệnh

- HS: ghi chép cấu trúc và lĩnh hội

- GV: đưa nội dung chương trình bài thực hành

3 lên màn hình, yêu cầu học sinh đọc chương

trình, tìm hiểu hoạt động của chương trình

- HS: hoạt động theo nhóm, tìm hiểu hoạt động

của chương trinh, đại diện của nhóm báo cáo kết

quả thảo luận

- GV: cho chạy chương trình

- HS : quan sát kết quả trên màn hình

Clrscr;

Writeln(‘Nhap vao so n’); readln(n);

Writeln(‘Bang nha’,n);

Writeln;

For i:=1 to 10 do Writeln(n,’x’,i:2,’=’,n*i:3); Readln;

End.

Bài tập 4: Sử dụng lệnh For lồng trong for

* Câu lệnh for lồng trong for:

- For <biến đếm1:= giá trị

đầu> to <giá trị cuối> do

For <biến đếm 2:=giá trị

đầu> to <giá trị cuố> do

For i:=1 to 9 do Begin

For j:=0 to 9 do Writeln(10*i+j:4);

Writeln;

End;

Readln;

End.

Trang 12

4) Củng cố:

- Giáo viên hệ thống lại toàn bộ nội dung bài học

- Nhận xét, rút kinh nghiệm tiết thực hành

5) Hướng dẫn về nhà: - Học bài theo vở ghi, ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần - Xem trước các bài tập để tiết sau làm bài tập IV RÚT KINH NGHIỆM. .

.

.

.

Ngày Dạy: / /

Tuần:

Tiết:

Bài 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC

I/ MỤC TIÊU:

1) Kiến thức :

- Biết nhu cầu cần có cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình;

- Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc đến khi một điều kiện nào đó được thoả mãn;

2) Kĩ năng:

- Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước while do… trong Pascal

3) Thái độ:

- Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng

II/ CHUẨN BỊ:

- Giáo viên: SGK, máy chiếu, các ví dụ về chương trình.

- Học sinh: Dụng cụ học tập.

III/ TIẾN TRÌNH LÊN LỚP.

1)Ổn định tổ chức:

- Kiểm tra sĩ số:

2)Kiểm tra bái cũ:

Câu hỏi:

Trang 13

- Viết thuật toán tính tổng 100 số tự nhiên đầu tiên 1,2,3,…,99,100

Trả lời

Bước 1 SUM  0; i  0

Bước 2 i  i + 1

Bước 3 Nếu i ≤ 100, thì SUM  SUM + i và quay lại bước 2

Bước 4 Thông báo kết quả và kết thúc thuật toán

3)Bài mới:

Với bài toán trên, trong Turbo Pascal ta sử dụng vòng lặp for…to…do thì sẽ thực hiện dễ dàng Nhưng nếu ta thay số 100 bởi n ( tính tổng n số tự nhiên đầu tiên ) thì ta sẽ gặp nhiều khó khăn trong việc sử dụng vòng lặp for…to…

do, bởi lúc này số lần lặp không biết trước Vậy ta phải làm như thế nào ? Để giải quyết bài toán này chúng ta đi tìm hiểu bài mới.

Hoạt động 1: Các hoạt động lặp với số lần chưa biết trước

- GV: Nhắc lại tác dụng của câu lệnh lặp với số lần

- GV: Trong ví dụ 1, Long gọi cho Trang, Long có

xác định được Long sẽ gọi cho Trang mấy lần hay

không? Khi nào hoạt động gọi điện thoại của Long

- GV: Hướng dẫn HS xây dựng thuật toán

- HS: Nghe giáo viên hướng dẫn, sau đó tự xây

a/ Ví dụ 1:

b/ Ví dụ 2: Nếu cộng lần lượt n số

tự nhiên đầu tiên (n = 1, 2, 3, ),

Cần cộng bao nhiêu số tự nhiên

đầu tiên để ta nhận được tổng T 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 >

Trang 14

số lần chưa biết trước phụ thuộc vào điều kiện gì?

Phép cộng chỉ dừng khi nào?

- HS trả lời: Điều kiện s<=1000 và chỉ dừng khi

kết quả kiểm tra là sai.

- GV : Giới thiệu sơ đồ khối

- HS theo dõi và tiếp thu

lặp với số lần chưa biết trước.

Hoạt động 3: Ví dụ về lệnh lặp với số lần chưa biết trước

- Trước khi đi tìm hiểu cú pháp của câu lệnh lặp với

số lần chưa biết trứơc GV gọi HS nhắc lại cú pháp

của câu lệnh lặp với số lần biết trước.

+ Điều kiện thường là phép toán so sánh

+ Câu lệnh có thể là câu lệnh đơn giản hay câu

lệnh phức tạp.

- HS: chú ý lắng ghe và ghi chép.

- GV: Dựa vào cú pháp hãy nêu hoạt động của câu

lệnh lặp với số lần chưa biết trước?

- HS nêu hoạt động của câu lệnh lặp với số lần

chưa biết trước.

- GV: Giới thiệu chương trình mẫu

- GV: Giới thiệu chương trình mẫu sgk ( Giáo viên

in chương trình mẫu trên)

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 <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.

* Hoạt động:

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

Trang 15

- HS: Quan sát

- GV: Chạy tay cho học sinh xem

- HS: chú ý nghe và tự chạy tay lại

- GV: Yêu cầu học sinh mở máy tính và mở chương

trình ví dụ 3 ( giáo viên chuẩn bị chương trình mẫu

và đưa lên các máy )

- GV: Chạy tay cho học sinh xem chương trình mẫu

- HS: Chú ý nghe và tự chạy tay lại

- GV: Cho học sinh chạy chương trình trên máy.

- HS thực hiện yêu cầu

- GV: Chạy chương trình này, ta nhận được giá trị

ntn?

- HS: Nếu chạy chương trình này ta sẽ nhận được n

= 45 và tổng đầu tiên lớn hơn 1000 là 1034.

- GV: Giới thiệu ví dụ 5.

- GV: Cho học sinh quan sát chương trình

- HS quan sát chương trình

- GV: 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…

Ví dụ 4 Chương trình Pascal dưới

đây thể hiện thuật toán tính số n

Hoạt động 4: Lặp vô hạn lần – Lỗi lập trình cần tránh

- GV: Khi viết chương trình sử dụng cấu trúc lặp

cần chú ý tránh tạo nên vòng lặp không bao giờ kết

- Khi thực hiện vòng lặp, điều kiện

trong câu lệnh phải được thay đổi

để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai.

Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp

vô tận".

Ngày đăng: 13/09/2021, 05:02

TỪ KHÓA LIÊN QUAN

w