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

giáo an tin 8 rất chuẩn

73 1,6K 2

Đ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 73
Dung lượng 13,44 MB

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

Nội dung

- 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 cùng tham gia phân tích.. + Hoạt động 2: Sử

Trang 1

Tuần 20 Ngày soạn: 01 /01/2013

Bài 7: CÂU LỆNH LẶP

I Mục tiêu:

1 Kiến thức:

- Biết nhu cầu cần có cấu trúc 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ệcnào đó một số lần

- GV: SGK, giáo án, tài liệu tham khảo

- HS: Học kỹ lý thuyết, đọc trước bài

III Phương pháp:

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi

- Đàm thoại, thảo luận nhóm, gv hướng dẫn nhận xét và tổng kết

IV Tiến trình dạy và học:

1 Ổn định lớp:

2 Kiểm tra bài cũ:

3 Bài mới:

Hoạt động của giáo viên Hoạt động của học sinh

? Trong cuộc sống hàng ngày có những việc

lạp đi lặp lại nhiều lần không? Ví dụ?

? Em thầy sự cần thiết phải có lệnh lặp trong

chương trình máy tính như thế nào?

Ví dụ 1 Giả sử ta cần vẽ ba hình vuông có

cạnh 1 đơn vị như hình 33 Mỗi hình vuông là

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

Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần

Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần, Chúng ta còn lặp lại những công việc với số lần không thể xác định trước: học cho đến khi thuộc bài, nhặt từng cọngrau cho đến khi xong,

Khi viết chương trình máy tính cũng vậy Để chỉdẫn cho máy tính thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định

2 Câu lệnh lặp - một lệnh thay cho nhiều lệnh

Trang 2

ảnh dịch chuyển của hình bên trái nó một

khoảng cách 2 đơn vị Do đó, ta chỉ cần lặp

lại thao tác vẽ hình vuông ba lần

? Có thể xây dung thuật toán vẽ hình vuông

bằng cachs khác ntn?

hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1;

ngược lại, kết thúc thuật toán

Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:

Hình 34Bước 1 k  0 (k là số đoạn thẳng đã vẽ được)

Bước 2 Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 90o sang phải

Bước 3 k  k +1 Nếu k ≤ 4 thì trở lại bước 2;

ngược lại, kết thúc thuật toán

Lưu ý rằng, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được

4.Củng cố :

Ghi nhớ: Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó

cho đến khi một điều kiện nào đó được thoả mãn

Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp

Bài tập: Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày.

Hãy cho biết tác dụng của câu lệnh lặp

5 Hướng dẫn về nhà : Học bài, xem các bài đã chữa làm bài tập SGK.

2

Trang 3

Tuần 20 Ngày soạn: 01 /01/2013

Bài 7: CÂU LỆNH LẶP (TT)

I Mục tiêu:

1 Kiến thức:

- Biết được cứ pháp và hoạt động của vòng lặp xác định For do

- Biết sử dụng vòng lặp For do để viết một số chương trình

- GV: SGK, giáo án, tài liệu tham khảo

- HS: Học kỹ lý thuyết, đọc trước bài

III Phương pháp:

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi

- Đàm thoại, thảo luận nhóm, gv hướng dẫn nhận xét và tổng kết

IV Tiến trình dạy và học:

1 Ổn định lớp:

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

? Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày

3 Bài mới:

- Giáo viên giới thiệu cú pháp câu lệnh

lặp?

- Đưa ra ví dụ 3 trên bảng phụ;

? ý nghĩa của chương trình sau?

3 Ví dụ về câu lệnh lặp

Lệnh lặp đơn giản Pascal:

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

Khi gặp câu lệnh lặp trên, câu lệnh được thực hiện bắt đầu với giá trị biến đếm bằng giá trị đầu Sau đógiá trị biến đếm tăng dần một đơn vị từ giá trị đầu đến giá trị cuối và câu lệnh được thực hiện mỗi lần tăng biến đếm cho đến khi biến đếm vượt quá giá trị cuối thì kết thúc Như vậy biến đếm phải được khai báo là kiểu nguyên và giá trị cuối phải không nhỏ hơn giá trị đầu

writeln('Day la lan lap thu ',i);

end

Ví dụ 4 Để in một chữ "O" trên màn hình, ta có thể

sử dụng lệnh:

Trang 4

- Giới thiêu VD 4: SGK

- Trong chương trình trên sau lệnh for

do thực hiện lặp bao nhiêu lệnh;

- GV đưa ra lệnh đơn, lệnh ghép?

?ứng dụng lệnh lặp để tính tổng và tích

như thế nào?

Ví dụ 5 Chương trình sau đây sẽ tính tổng

của N số tự nhiên đầu tiên, với N là số tự

nhiên được nhập vào từ bàn phím (xem ví

dụ 2)

writeln('O');

Nếu muốn viết chương trình mô phỏng một quả trứng rơi từ trên cao xuống, ta có thể lặp lại lệnh trên nhiều lần (ví dụ, 20 lần) như trong chương trình sau:

Dịch và chạy chương trình này, ta sẽ thấy kết quả như ở hình 35 dưới đây:

4 Tính tổng và tích bằng câu lệnh lặp program Tinh_tong;

var N,i: Integer;

Trang 5

- Kiểu số nguyên có phạm vi lớn longint;

Nếu tính 14! mà khai kiểu kết quả

Integer;thì điều gì sẽ sảy ra?

(được khai báo cho biến S) Đây là cũng kiểu số nguyên, nhưng có thể lưu các số nguyên trong phạm vi từ 231 đến 231  1, lớn hơn nhiều so với kiểu Integer (chỉ từ 215 đến 215  1)

Ví dụ 6 Ta kí hiệu N! là tích N số tự nhiên đầu

tiên

N! = 1.2.3 NDưới đây là chương trình tính N! với N là số tự nhiên được nhập vào từ bàn phím Chương trình sử

Ghi nhớ: Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh for…do

5 Hướng dẫn về nhà : Học bài, làm bài tập 6 SGK, Hướng dẫn dùng lệnh lặp cho i chạy từ 1

đến n , a là biến số thực

Trang 6

Tuần 21: Ngày soạn: 06/ 01/ 2013

BÀI TẬP

I Mục tiêu:

1 Kiến thức:

- Học sinh nắm chắc vai trò của biến, hằng, cách khai báo biến, hằng

- Biết cách sử dụng biến trong chương trình và cấu trúc của lệnh gán

- GV: SGK, giáo án, một số bài tập tham khảo

- HS: Học kỹ lý thuyết, làm các bài tập trong SGK

III Phương pháp:

- Đặt vấn đề, đưa ra bài tập để học sinh trao đổi, thảo luận và làm

- Gv quan sát, hướng dẫn, nhận xét công việc của học sinh

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Kiểm tra sự chuẩn bị của học sinh

3 Nội dung bài tập:

+ Hoạt động 1: Ôn lại một số kiển thức

đã học

- Biến là đại lượng như thế nào?

- Cách khai báo biến như thế nào?

- HS trả lời

- Có thể thực hiện các thao tác nào với

biến?

- Viết cấu trúc của lệnh gán, lệnh nhập

giá trị cho biến, lệnh in giá trị của biến?

Hs nghi phần nội dung vào vở

Viết chương trình tính diện tích S của

1 Ôn lại một số kiến thức đã học:

- Biến là đại lượng như thế nào?

- Cách khai báo biến như thế nào?

- Có thể thực hiện các thao tác nào với biến?

- Viết cấu trúc của lệnh gán, lệnh nhập giá trị cho biến,lệnh in giá trị của biến?

BeginR=5.5Cv=2*pi*r;

6

Trang 7

hình tam giác với độ dài một cạnh a và

chiều cao tương ứng h (a và h là các số

tự nhiên được nhập vào từ bàn phím)

Hs nghi phần bài tập vào sau khi thầy

Trang 8

Tuần 21: Ngày soạn: 06/ 01/ 2013

- GV: SGK, giáo án, một số bài tập tham khảo

- HS: Học kỹ lý thuyết, làm các bài tập trong SGK

III Phương pháp:

- Đặt vấn đề, đưa ra bài tập để học sinh trao đổi, thảo luận và làm

- Gv quan sát, hướng dẫn, nhận xét công việc của học sinh

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Kiểm tra sự chuẩn bị của học sinh

3 Nội dung bài tập:

- Sau mỗi câu lệnh sau đây

a+ Hoc sinh làm bài tập theo yêu cầu

của giáo viên

Giá trị của biến X là bao nhiêu, nếu

trước đó giá trị của X bằng 5?

+ Hoc sinh làm bài tập theo yêu cầu của

- Có bao nhiêu biến trong chương trình?

+ Hoc sinh làm bài tập theo yêu cầu của

giáo viên

Hs trả lời câu hỏi

- Làm thế nào để biết số nguyên dương

b) IF x > 10 thenX:= X + 1;

Giá trị của biến X là bao nhiêu, nếu trước đó giá trị của

Trang 9

4 Dặn dò: (5 phút)

- Về nhà hệ thống lại các kiến thức đã học, tiết sau ôn tập

- Chuẩn bị tiết sau bài thực hành 5: “Sử dựng lệnh lặp for …to …do”

- Vở ghi, SGK, kiến thức bài cũ

III TIẾN TRÌNH LÊN LỚP:

1 Ổn định lớp:

- Kiểm tra sĩ số

- Ổn đình trật tự

2 Kiểm tra bài cũ:

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 Dạy bài mới:

GV: giành thời gian 15 phút để HS lập trình bài

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

var N,i:integer;

begin

Trang 10

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

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

lệnh GotoXY(a, b) có tác dụng đưa con trỏ về

cột a, hàng b WhereX cho biết số thứ tự của cột

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

con trỏ Ví dụ GotoXY(5,WhereY) đưa con trỏ

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

end

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

for i:=1 to 10 do begin

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

end;

Hoạt động 2 : Bài tập 2 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 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;

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

Bài tập 3 :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ànhình để có thể quan sát kết quả

Program Bang_cuu_chuong;

Uses crt;

10

Trang 11

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

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

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:

Bước i i<=10 Writeln(n,’.’,i,’=’,n*i)

- 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

Var i, n: integer;

BeginClrscr;

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

Writeln(‘Bang nha’,n);

Writeln;

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

- 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

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 doBegin

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

GV : yêu cầu HS đọc phần đọc thêm

IV HƯỚNG DẪN HỌC SINH TỰ HỌC:

Trang 12

- Học bài và xem lại bài

- Tập lập trình một số BTVN của tiết trước, buổi sau sẽ chữa bài và chạy chương trình , lập trình bài đọc thêm để kiểm tra kết quả số Pi

- GV: SGK, giáo án, tài liệu tham khảo

- HS: Học kỹ lý thuyết, đọc trước bài ở nhà

III Phương pháp:

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thảo luận

- Gv quan sát, hướng dẫn các nhóm thảo luận, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Kiểm tra bài cũ.

3 Bài mới:

+ Hoạt động 1: Tìm hiểu phần mềm Geogebra.

? Hãy nêu mục đích của phần mềm

Hs Trả lời câu hỏi

Phần mềm có khả năng tạo ra sự gắn kết giữa các

đối tượng hình học, được gọi là quan hệ như

thuộc, vuông góc, song song

+ Học sinh chú ý lắng nghe

+ Hoạt động 2: Tìm hiểu cách khởi động phần

mềm

? Hãy nêu cách để khởi động phần mềm

Hs Trả lời câu hỏi

Hoặc vào menu Start \ All Programs\ GeoGebra

\ GeoGebra

- Gọi học sinh lên thực hành khởi động phần mềm

trên máy tính

+ Hoạt động 3: Tìm hiểu màn hình làm việc của

Geogebra tiếng Việt

1 Em đã biết gì về Geogebra?

- Phần mềm Geogebra dùng để vẽ các hình họcđơn giản như điểm, đoạn thẳng, đường thẳng

2 Làm quen với phần mềm Geogebra tiếng Việt:

a) Khởi động

Nháy đúp vào biểu tượng ở trên màn hìnhnền để khởi động phần mềm

12

Trang 13

? Màn hình làm việc của Geogebra gồm những

thành phần nào

Hs Trả lời câu hỏi

- Chú ý: Các lệnh trên bảng chọn không dùng để

vẽ các đối tượng – hình

- Mỗi công cụ đều có một biểu tượng riêng tương

ứng Biểu tượng cho biết công dụng của công cụ

đó

+ Học sinh chú ý lắng nghe => ghi nhớ kiến thức

b) Giới thiệu màn hình Geogebra tiếng Việt.+ Màn hình làm việc của Geogebra gồm:

- Về nhà học bài, kết hợp SGK, tiết sau học tiếp

- GV: SGK, giáo án, tài liệu tham khảo

- HS: Học kỹ lý thuyết, đọc trước bài ở nhà

III Phương pháp:

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thảo luận

- Gv quan sát, hướng dẫn các nhóm thảo luận, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Kiểm tra bài cũ.

3 Bài mới:

+ Hoạt động : Tìm hiểu các công cụ làm việc

chính của phần mềm

* Công cụ di chuyển:

? Công cụ di chuyển có ý nghĩa như thế

nào?

Hs Trả lời câu hỏi

c) Giới thiệu các công cụ làm việc chính

* Công cụ di chuyển: dùng để di chuyển hình

* Các công cụ liên quan đến đối tượng điểm

Trang 14

* Các công cụ liên quan đến đối tượng điểm.

* Các công cụ liên quan đến đoạn, đường

thẳng

đi qua hai điểm cho trước

Hs Trả lời câu hỏi

? Hãy nêu thao tác thực hiện

Hs Trả lời câu hỏi

Hs nghi nội dung vào vở

* Các công cụ tạo mối quan hệ hình học

- dùng để vẽ đường trung trực của một đoạn

thẳng hoặc hai điểm cho trước

+ Học sinh chú ý lắng nghe => ghi nhớ kiến

thức

- Công cụ dùng để tạo đường phân giác

của một góc cho trước Góc này xác định bởi

Trang 15

Tuần 24: Ngày soạn: 27/ 01/ 2013

- GV: SGK, giáo án, tài liệu tham khảo

- HS: Học kỹ lý thuyết, đọc trước bài ở nhà

III Phương pháp:

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thảo luận

- Gv quan sát, hướng dẫn các nhóm thảo luận, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Kiểm tra bài cũ.

3 Bài mới:

+ Hoạt động 1: Tìm hiểu các công cụ làm việc

chính của phần mềm

* GV giới thiệu các Công cụ liên quan đến hình

tròn

? Nêu cách thoát khỏi phần mềm

c) Giới thiệu các công cụ làm việc chính.

* Công cụ liên quan đến hình tròn

Trang 16

Hs Trả lời câu hỏi

?Công cụ liên quan đến hình tròn

Hs Trả lời câu hỏi

Học sinh chú ý lắng nghe => ghi nhớ kiến thức

+ Hoạt động 2: Tìm hiểu các đối tượng hình học.

- Một hình hình học bao gồm nhiều đối tượng cơ

- Về nhà học bài, kết hợp SGK, tiết sau thực hành

- GV: SGK, giáo án, tài liệu tham khảo

- Chuẩn bị phòng thực hành đủ số máy hoạt động tốt

- HS: Học kỹ lý thuyết, đọc trước bài thực hành

16

Trang 17

III Phương pháp:

- Phân nhóm Hs thực hành

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy

- Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Phân việc cho từng nhóm thực hành.

3 Bài mới:

+ Hoạt động 1: Khởi động phần mềm Geogebra

- Khởi động phần mềm Geogebra ở trên máy

tính

+ HS: Kích đúp vào biểu tượng ở trên

màn hình nền để khởi động phần mềm theo yêu

cầu của giáo viên

+ Học sinh kết thúc phần mềm theo yêu cầu của

giáo viên

- Yêu cầu học sinh kết thúc phần mềm

- Yêu cầu học sinh khởi động phần mềm theo

2 Nhận biết màn hình làm việc của phần mềm.

Trang 18

hình làm việc của phần mềm ở trên máy tính

IV Nhận xét: (5phút)

Giáo viên nhận xét và đánh giá tiết thực hành của học sinh

V Dặn dò: (2 phút)

- Xem trước bài từ bài toán đến chương trình

- GV: SGK, giáo án, tài liệu tham khảo

- Chuẩn bị phòng thực hành đủ số máy hoạt động tốt

- HS: Học kỹ lý thuyết, đọc trước bài thực hành

III Phương pháp:

- Phân nhóm Hs thực hành

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy

- Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Phân việc cho từng nhóm thực hành.

3 Bài mới:

+ Hoạt động : Khởi động phần mềm. 1 Khởi động phần mềm:

18

Trang 19

Yêu cầu học sinh khởi động phần mềm Geogebra.

HS: Kích đúp vào biểu tượng ở trên màn

hình nền để khởi động phần mềm theo yêu cầu của

giáo viên

+ Hoạt động 2: Sử dụng phần mềm để làm một số

bài tập

Sử dụng phần mềm để vẽ một số hình sau: với sự

hướng dẫn của giáo viên

Học sinh thực hành theo những hính sau

2 Sử dụng phần mềm để vẽ một số hình hình học:

Trang 20

- Vẽ đường tròn nội tiếp tam giác.

4, Nhận xét: (5phút)

- Giáo viên nhận xét và đánh giá tiết thực hành của học sinh

- GV: SGK, giáo án, tài liệu tham khảo

- Chuẩn bị phòng thực hành đủ số máy hoạt động tốt

- HS: Học kỹ lý thuyết, đọc trước bài thực hành

III Phương pháp:

- Phân nhóm Hs thực hành

- Đặt vấn đề, đưa ra yêu cầu để học sinh trao đổi và thực hành trên máy

20

Trang 21

- Gv quan sát, hướng dẫn các nhóm thực hành, nhận xét công việc của từng nhóm

IV Tiến trình dạy và học:

1 Ổn định lớp

2 Phân việc cho từng nhóm thực hành.

3 Bài mới:

HS: Kích đúp vào biểu tượng ở trên màn

hình nền để khởi động phần mềm theo yêu cầu

của giáo viên

+ Hoạt động 2: Sử dụng phần mềm để làm một

số bài tập

Sử dụng phần mềm để vẽ một số hình sau: với sự

hướng dẫn của giáo viên

Học sinh thực hành theo những hính sau

1 Khởi động phần mềm:

2 Sử dụng phần mềm để vẽ một số hình hình học:

- Vẽ hình thoi

- Vẽ hình vuông

Trang 22

- Vẽ hình tam giác đều

- Vẽ một hình là đối xứng trục của một đốitượng cho trước trên màn hình

4 Nhận xét: (5phút)

- Giáo viên nhận xét và đánh giá tiết thực hành của học sinh

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ựchiệ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;

Trang 23

II Chuẩn bị

GV: SGK, máy chiếu, phim trong các ví dụ về chương trình

HS: Xem trước bài ở nhà

III Tiến trình bài giảng

1 Ổn định lớp

2 Kiểm tra bài củ

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.

+ G : 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

+ G : Giới thiệu sơ đồ khối

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

a/ Ví dụ 1(sgk).

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 Tn nhỏ nhất

+ 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ả : S và n là số tự nhiên nhỏ

nhất sao cho S > 1000 Kết thúc thuật toán.

* Ta có sơ đồ khối :

Trang 24

+ G : Nêu nhận xét

+ G : Có thể sử dụng lệnh lặp với số lần lặp

chưa biết trước trong các chương trình lập

trình Sau đây ta xét câu lệnh và ví dụ trong TP

+ G : giới thiệu chương trình mẫu sgk ( Giáo

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

+ Hs : quan sát

+ G : Chạy tay cho học sinh xem

+ Hs : chú ý nghe và tự chạy tay lại

+ G : 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 )

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

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.

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

24

Trang 25

- Nghiên cứu trước nội dung các phần còn lại

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

GV: SGK, máy chiếu, phim trong các ví dụ về chương trình

HS: Xem trước bài ở nhà

III Tiến trình bài giảng

1 Ổn định:

2 Kiểm tra bài cũ:

3 Bài mới

+ G : ta tiếp tục xét các ví dụ mà trong chương

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

Xét ví dụ 4

Ví dụ 4 Chương trình Pascal dưới đây thể hiện

thuật toán tính số n trong ví dụ 2:

Trang 26

+ G : Cho học sinh quan sát phim trong

chương trình

+ Hs : quan sát

+ G : Chạy tay cho học sinh xem

+ Hs : chú ý nghe và tự chạy tay lại

+ G : Yêu cầu học sinh mở máy tính và mở

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

chương trình mẫu và đưa lên các máy )

+ 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à

+ Hs : chú ý nghe và tự chạy tay lại

+ G : so sánh kết quả khi chạy hai chương

writeln('So n nho nhat de tong > 1000 la ',n);writeln('Tong dau tien > 1000 la ',S);

Trang 27

sử dụng câu lệnh while…do thay cho câu lệnh

for…do.

+ G : Giới thiệu phần 3

+ G : 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

+ G : Trong chương trình trên, giá trị của biến

a luôn luôn bằng 5, điều kiện a<6 luôn luôn

đúng nên lệnh writeln('A') luôn được thực

hiện

Do vậy, 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"

4 Củng cố:

- Ghi nhớ sgk

- Làm bài tập 2,3a,bài 5 SGK/71

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

- Học bài và làm lại các bài tập

- Nghiên cứu trước bài thực hành

Trang 28

Tuần 27: Ngày soạn: 03/ 03/ 2013

- Vở ghi, SGK, kiến thức bài cũ

III TIẾN TRÌNH LÊN LỚP:

Câu 2: Nêu cấu trúc và cách hoạt động của câu lệnh lặp với số lần chưa biết trước?

3 Dạy bài mới:

Hoạt động 1: Các kiến thức cần nhớ

(T1)

28

Trang 29

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

- GV: Gọi HS nhắc lại cấu trúc lênh lặp với số

lần lặp chưa biết trước?

- HS trả lời câu hỏi của GV

- GV nhận xét và chốt ý

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

- GV: Em hãy mô tả hoạt động của câu lệnh lặp

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

- HS dựa vào cấu trúc câu lệnh lặp và mô tả hoạt

động của câu lệnh

- GV gọi 1 HS khác nhận xét và bổ sung

- 1 HS khác nhận xét

- GV nhắc lại một lần nữa

- HS lắng nghe và ghi bài vào vở

While <Điều kiện> Do <câu lệnh>

* 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 lại bước 1

Hoạt động 2: Bài tập 1

- GV: Yêu cầu HS đọc bài tập 1 (Tr72 SGK), cho

HS thảo luận theo nhóm và làm bài tập

- HS đọc đề bài tập 1 và làm theo yêu cầu của

GV

GV: Em hãy cho biết input và output của bài toán?

- HS nghiên cứu và xác định Input, Output

- GV: Quy luật S  S + x; đến khi nào dừng?

- HS: Khi biến dem > n  phát hiện ra điều kiện

lặp của While…do

GV: Dựa vào hệ thống câu hỏi Em hãy lần lượt

hình thành việc mô tả thuật toán?

- Các nhóm lần lượt viết thuật toán lên bảng phụ

- GV quan sát HS viết bảng phụ

- GV nhận xét

- HS tiếp thu và ghi vở

- GV cho các nhóm viết chương trình hoàn chỉnh

Bài 1: Viết chương trình Pascal sử dụng câu lệnh

While…do để tính trung bình cộng n số thực nhập

từ bàn phím (n, và n số thực được nhập từ bànphím)

a Mô tả thuật toán.

Write(‘Muon tinh TB bao nhieu so n=’); Readln(n);

Trang 30

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

- HS: Dựa vào thuật toán trình bày chương trình

- HS lắng nghe GV giảng bài và tiếp thu

- GV: Cho HS thực hành soạn chương trình trên

vào máy tính

- HS: tiến hành soạn thảo và dịch, chạy chương

trình, rồi lưu lại

- GV cho HS thay thế vòng lặp While…do bằng

vòng lặp xác định For…do

- Sau khi kết quả chạy chương trình đã đúng, GV

yêu cầu học sinh chữa bài của mình đã làm ở nhà

cho đúng theo chương trình đã chạy

- HS ghi bài vào vở

dem:= 0; S:=0;

While dem <= n do Begin

Write(‘Nhap so thu’, dem, ‘ =

30

Trang 31

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

- GV: Viết chương trình bài 2 lên bảng

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 cùng

tham gia phân tích

- HS trình bày hoạt động của chương trình

- GV cho HS gõ chương trình vào máy tính, dịch

và chạy chương trình với một vài độ chính xác

khác nhau

- HS gõ chương trình vào máy của mình, sau đó

dịch và chạy chương trình theo yêu cầu của GV

Bài 2: Đọc và tìm hiểu ý nghĩa của từng câu lệnhsau đây

Uses Crt;

Var n,i : integer;

BEGIN ClrScr;

Write(‘Nhap vao mot so nguyen: ‘);Readln(n);

If n<=1 Then Writeln(‘N khong la so nguyento’);

Else Begin i:=2;

While n mod i <> 0 do i:= i + 1;

If i = n Then Writeln(n,’ la so nguyen to’) Else Writeln(n,’ khong la so nguyen to’); End;

ReadlnEND

Hoạt động 3: Củng cố

- GV nhận xét, rút kinh nghiệm giờ thực hành

- Ôn lại tất cả các kiến thức đã học về các câu

lệnh lặp

IV HƯỚNG DẪN HỌC SINH TỰ HỌC:

- Ghi nhớ cú pháp và ý nghĩa của câu lệnh lặp while do ,

- Đọc và tìm hiểu chương trình

- Chuẩn bị tiết sau giải bài tập

Trang 32

- Rèn luyện khả năng đọc chương trình, tìm hiểu tác dụng và kết hợp các câu lệnh

GV: Đưa ra các bài tập ở SGK và gọi học sinh lên

bảng trả lời

Bài 2: Câu lệnh lặp có tác dụng làm đơn giản và

giảm nhẹ công sức của người viết chương trình

Bài 3: Chúng ta nói rằng khi thực hiện các hoạt

động lặp, chương trình kiểm tra một điều kiện Với

lệnh lặp

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

cuối> do <câu lệnh>;

của Pascal, điều kiện cần phải kiểm tra chính là giá

trị của biến đếm lớn hơn giá trị cuối Nếu điều kiện

không được thoả mãn, câu lệnh được tiếp tục thực

hiện; ngược lại, chuyển sang câu lệnh tiếp theo

trong chương trình

Bài 4: 12

Bài 5: Trừ d), tất cả các câu lệnh đều không hợp lệ:

a) Giá trị đầu phải nhỏ hơn giá trị cuối;

b) Các giá trị đầu và giá trị cuối phải là số nguyên;

c) Thiếu dấu hai chấm khi gán giá trị đầu;

d) Thừa dấu chấm phẩy thứ nhất, nếu như ta muốn

lặp lại câu lệnh writeln('A') mười lần, ngược lại

câu lệnh là hợp lệ;

e) Biến x đã được khai báo như là biến có dữ liệu

kiểu số thực và vì thế không thể dùng để xác định

giá trị đầu và giá trị cuối trong câu lệnh lặp

Bài 6: Thuật toán tính tổng

A = ( 1 1)

5 3

1 4

1 Cho một vài ví dụ về hoạt động được

thực hiện lặp lại trong cuộc sống hằngngày

2 Hãy cho biết tác dụng của câu lệnh lặp.

3 Khi thực hiện câu lệnh lặp, chương

trình kiểm tra một điều kiện Với lệnhlặp

i for <biến đếm> :=

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

ii của Pascal, điều kiện cần

phải kiểm tra là gì?

4 Chương trình Pascal sau đây thực hiện

gì?

var i: integer;

begin for i:=1 to 1000 do;

Trang 33

Bước 4 Nếu i  n, quay lại bước 2

Bước 5 Ghi kết quả A và kết thúc thuật toán

- Về nhà xem lại bài học tiết sau chúng ta học tiếp

Trang 34

GV: Đưa ra các bài tập ở SGK và gọi học sinh

lên bảng trả lời

Bài 2: Sự khác biệt:

a) Ccâu lệnh lặp với số lần lặp cho trước chỉ thị

cho máy tính thực hiện một lệnh hoặc một

nhóm lệnh với số lần đã được xác định từ

trước, còn với câu lệnh lặp với số lần lặp chưa

biết trước thì số lần lặp chưa được xác định

trước

b)Lệnh lặp với số lần cho trước, điều kiện là

giá trị của một biến đếm có giá trị nguyên đã

đạt được giá trị lớn nhất hay chưa, còn trong

câu lệnh lặp với số lần lặp chưa biết trước, điều

kiện tổng quát hơn nhiều, có thể là kiểm tra

một giá trị của một số thực

c) Lệnh lặp với số lần cho trước, câu lệnh được

thực hiện ít nhất một lần, sau đó kiểm tra điều

kiện Lệnh lặp với số lần chưa xác định trước,

trước hết điều kiện được kiểm tra Nếu điều

kiện được thoả mãn, câu lệnh mới được thực

hiện

Bài 3: a) Thuật toán 1: 10 vòng lặp được thực

hiện Khi kết thúc thuật toán S = 5.0 Đoạn

chương trình Pascal tương ứng:

S:=10; x:=0.5;

while S>5.2 do x;

S:=S-writeln(S);

b) Thuật toán 2: Không vòng lặp nào được

thực hiện vì ngay từ đầu điều kiện đã không

được thỏa mãn nên các bước 2 và 3 bị bỏ qua

S = 10 khi kết thúc thuật toán Đoạn chương

3) Hãy tìm hiểu các thuật toán sau đây và cho biếtkhi thực hiện thuật toán, máy tính sẽ thực hiện baonhiêu vòng lặp? Khi kết thúc, giá trị của S bằng baonhiêu? Viết chương trình Pascal thể hiện các thuậttoán đó

a) Thuật toán 1Bước 1 S  10, x  0.5

Bước 2 Nếu S  5.2, chuyển tới bước 4.Bước 3 S  S  x và quay lại bước 2.Bước 4 Thông báo S và kết thúc thuật toán

b) Thuật toán 2Bước 1 S  10, n  0

Bước 2 Nếu S ≥ 10, chuyển tới bước 4.Bước 3 n  n + 3, S  S  n quay lại bước 2

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

4) Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biếtvới đoạn lệnh đó chương trình thực hiện bao nhiêuvòng lặp? Hãy rút ra nhận xét của em

34

Trang 35

begin n:=n+3;

S:=S-n end;

writeln(S);

Bài 4: a) Chương trình thực hiện 5 vòng lặp b)

Vòng lặp trong chương trình được thực hiện vô

tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết

thúc nên điều kiện S=0 luôn luôn được thỏa

mãn

Bài 5: a) Thừa dấu hai chấm trong điều kiện; b)

Thiếu dấu hai chấm trong câu lệnh gán; c)

Thiếu các từ khóa begin và end trước và

a) Ccâu lệnh lặp với số lần lặp cho trước chỉ thị

cho máy tính thực hiện một lệnh hoặc một

nhóm lệnh với số lần đã được xác định từ

trước, còn với câu lệnh lặp với số lần lặp chưa

biết trước thì số lần lặp chưa được xác định

trước

b)Lệnh lặp với số lần cho trước, điều kiện là

giá trị của một biến đếm có giá trị nguyên đã

đạt được giá trị lớn nhất hay chưa, còn trong

câu lệnh lặp với số lần lặp chưa biết trước, điều

kiện tổng quát hơn nhiều, có thể là kiểm tra

một giá trị của một số thực

c) Lệnh lặp với số lần cho trước, câu lệnh được

thực hiện ít nhất một lần, sau đó kiểm tra điều

kiện Lệnh lặp với số lần chưa xác định trước,

trước hết điều kiện được kiểm tra Nếu điều

kiện được thoả mãn, câu lệnh mới được thực

hiện

Bài 3: a) Thuật toán 1: 10 vòng lặp được thực

hiện Khi kết thúc thuật toán S = 5.0 Đoạn

chương trình Pascal tương ứng:

S:=10; x:=0.5;

while S>5.2 do x;

S:=S-writeln(S);

b) Thuật toán 2: Không vòng lặp nào được

thực hiện vì ngay từ đầu điều kiện đã không

được thỏa mãn nên các bước 2 và 3 bị bỏ qua

1) Nêu một vài ví dụ về hoạt động lặp với số lầnchưa biết trước!

2) Hãy phát biểu sự khác biệt giữa câu lệnh lặpvới số lần lặp cho trước và câu lệnh lặp với số lầnlặp chưa biết trước

3) Hãy tìm hiểu các thuật toán sau đây và cho biếtkhi thực hiện thuật toán, máy tính sẽ thực hiện baonhiêu vòng lặp? Khi kết thúc, giá trị của S bằng baonhiêu? Viết chương trình Pascal thể hiện các thuậttoán đó

a) Thuật toán 1Bước 1 S  10, x  0.5

Bước 2 Nếu S  5.2, chuyển tới bước 4.Bước 3 S  S  x và quay lại bước 2

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

b) Thuật toán 2Bước 1 S  10, n  0

Bước 2 Nếu S ≥ 10, chuyển tới bước 4.Bước 3 n  n + 3, S  S  n quay lại bước 2

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

Trang 36

S = 10 khi kết thúc thuật toán Đoạn chương

trình Pascal tương ứng:

S:=10; n:=0;

while S<10 do begin n:=n+3;

S:=S-n end;

writeln(S);

Bài 4: a) Chương trình thực hiện 5 vòng lặp b)

Vòng lặp trong chương trình được thực hiện vô

tận vì sau câu lệnh n:=n+1; câu lệnh lặp kết

thúc nên điều kiện S=0 luôn luôn được thỏa

mãn

Bài 5: a) Thừa dấu hai chấm trong điều kiện; b)

Thiếu dấu hai chấm trong câu lệnh gán; c)

Thiếu các từ khóa begin và end trước và

sau các lệnh n:=n+1; S:=S+n, do đó vòng

lặp trở thành vô tận

4) Hãy tìm hiểu mỗi đoạn lệnh sau đây và cho biếtvới đoạn lệnh đó chương trình thực hiện bao nhiêuvòng lặp? Hãy rút ra nhận xét của em

c)S:=0; n:=0; while S<=10 do

n:=n+1; S:=S+n;

D - CỦNG CỐ (3’)

- Hiểu các hoạt động lặp với số lần chưa biết trước

- Biết sử dụng câu lệnh while do

E - HƯỚNG DẪN VỀ NHÀ (1’)

- Về nhà xem lại bài học tiết sau chúng ta học tiếp

Ngày đăng: 31/01/2015, 00:00

HÌNH ẢNH LIÊN QUAN

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ả. - giáo an tin 8 rất chuẩn
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ả (Trang 10)

TỪ KHÓA LIÊN QUAN

w