1. Trang chủ
  2. » Trung học cơ sở - phổ thông

Bai 18 Vi du ve cach viet va su dung chuong trinh con

12 13 0
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

Định dạng
Số trang 12
Dung lượng 1,46 MB

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

Nội dung

5 Sản phẩm: Học sinh nắm được những đặc điểm của hàm thông qua chương trình Max_ba_so Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG CỦA HS GV: Hãy xác định input, VD2: Tìm giá t[r]

Trang 1

CHƯƠNG VI: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC

-§18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG

CHƯƠNG TRÌNH CON

Chuẩn kiến thức, kỹ năng cần đạt của tiết học

- Về kiến thức

Học sinh cần:

 Thấy được rằng: nĩi chung thủ tục cĩ cấu trúc tương tự như một chương trình

 Hiểu mối liên quan giữa chương trình và thủ tục

 Phân biệt được tham số giá trị và tham biến trong khai báo tham số hình thức của một thủ tục

- Về kỹ năng

 Nhận biết được các thành phần trong đầu của thủ tục

 Nhận biết được hai loại tham số hình thức trong phần đầu của thủ tục

 Nhận biết được lời gọi thủ tục ở chương trình chính cùng các tham số thực sự

- Về tình cảm, tư tưởng

 Học sinh thấy được sự cần thiết và tiện lợi của chương trình con

 Làm cho học sinh yêu thích lập trình và mơn học hơn

- Phương pháp dạy học, phương tiện dạy học chủ yếu

 Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,

 Học sinh: Vở ghi, sách giáo khoa tin học 11, bút,

- Định hướng hình thành năng lực

 Rèn luyện phẩm chất của người lập trình như tinh thần hợp tác làm việc theo nhĩm, tuân thủ yêu cầu vì một cơng việc chung

A Khởi động

Hoạt động 1: Ví dụ đặt vấn đề.

Ngày soạn: 15/02/2018 Tiết chương trình : 46 Thời gian: 45 phút / 1 tiết Lớp : 11a7, 11a8, 11a9

Trang 2

(1) Mục tiêu: Dẫn dắt học sinh đến tình huống dùng thủ tục để có thể tránh được việc lặp đi lặp lại đoạn lệnh

(2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát hiện

(3) Hình thức tổ chức hoạt động: Thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh bước đầu hiểu được thủ tục (hay chương trình con) là một đoạn lệnh chịu trách nhiệm giải quyết một bài toán con

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG

CỦA HS NỘI DUNG GV: Để vẽ được hình chữ

nhật như vậy thì ta phải

làm thế nào?

GV: Muốn vẽ thêm 3

hình chữ nhật như thế thì

ta phải làm như thế nào?

GV: Có nhận xét gì về

cách viết này?

GV: Để tránh phải viết

lặp lại nhiều lần những

câu lệnh giống nhau ta

đưa 3 câu lệnh writeln vào

một thủ tục có tên là

Ve_hcn Mỗi khi cần vẽ

một hình chữ nhật ta đưa

vào một câu lệnh gọi thủ

tục đó

HS: Suy nghĩ

và trả lời

HS: Viết thêm

9 lần câu lệnh writeln

HS: Cách viết

này làm mất nhiều thời gian

vì phải lặp lại nhiều lần những câu lệnh giống nhau

1 Cách viết và sử dụng thủ tục.

- Xét ví dụ vẽ hình chữ nhật có dạng như sau:

* * * * * * *

* *

* * * * * * *

- Ta có thể vẽ hình chữ nhật trên bằng 3 câu lệnh:

Writeln (‘* * * * * * *’); Writeln (‘* *’); Writeln (‘* * * * * * *’);

- Chương trình VD_thutuc1 gọi thủ tục Ve_hcn 3 lần để vẽ 3 hình chữ nhật:

Program VD_thutuc1;

Procedure Ve_hcn;

Begin

Writeln (‘* * * * * * *’); Writeln (‘* *’); Writeln (‘* * * * * * *’);

end;

Begin

Ve_hcn;

Writeln; writeln;

Ve_hcn;

Writeln; writeln;

Ve_hcn;

End.

B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP

Hoạt động 2:

(1) Mục tiêu: Học sinh học về sử dụng tham số trong chương trình con

(2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát hiện

(3) Hình thức tổ chức hoạt động: Thảo luận nhóm

Trang 3

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu.

(5) Sản phẩm: Học sinh tìm hiểu được cấu trúc của thủ tục

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG

CỦA HS NỘI DUNG GV: Chúng ta đã thấy được

lợi ích của việc sử dụng thủ

tục là tránh phải viết lặp đi

lặp lại một dãy lệnh nào đó

Vậy cấu trúc của thủ tục và

vị trí của nó trong chương

trình chính ra sao?

GV: Giới thiệu cấu trúc của

thủ tục

GV: Cho học sinh quan sát

chương trình có sử dụng

chương trình con và xác định

vị trí của chương trình con

GV: Thủ tục được khai báo

và mô tả trong phần khai báo

của chương trình chính, ngay

sau phần khai báo các biến

HS: Nghe

giảng và ghi chép bài

HS: Quan sát

và trả lời

a Cấu trúc của thủ tục.

- Thủ tục có cấu trúc như sau:

Procedure <tên thủ tục>[(<danh sách

tham số>)];

[<phần khai báo>]

Begin

[<dãy các lệnh>]

End;

+ Phần đầu thủ tục: gồm tên dành riêng

procedure, tiếp theo là tên thủ tục Danh

sách tham số có thể có hoặc không + Phần khai báo: dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục

+ Dãy câu lệnh: được viết giữa cặp tên

dành riêng begin và end tạo thành thân

của thủ tục

Chú ý:

-Sau tên dành riêng end kết thúc chương trình chính là dấu chấm (.) còn sau end

kết thúc thủ tục là dấu chấm phẩy (;)

- Khi cần thực hiện, ta phải viết lệnh gọi thủ tục tương tự như các thủ tục chuẩn

C VẬN DỤNG, TÌM TÒI:

Hoạt động 3:

(1) Mục tiêu: Nhấn mạnh cho học sinh cách sử dụng thủ tục trong chương trình chính: Khi cần chương trình chính gọi thủ tục qua tên của nó, như gọi các thủ tục chuẩn

(2) Phương pháp/kỹ thuật dạy học: Rèn tư duy phân tích, tổng hợp

(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh nắm được cách xây dựng một chương trình cụ thể

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG NỘI DUNG

Trang 4

CỦA HS GV: Chương trình VD_thutuc1

(sgk trang 96) chỉ vẽ được hình

chữ nhật có kích thước cố định là

7x3 Vậy nếu muốn vẽ nhiều

hình chữ nhật có kích thước khác

nhau ta làm thế nào?

GV: Để thủ tục Ve_hcn thực

hiện được điều đó ta cần có 2

tham số cho dữ liệu vào là chiều

dài và chiều rộng

GV: Các tham số d, r của thủ tục

Ve_hcn được gọi là tham trị

Trong lệnh gọi Ve_hcn(5,3) thì

tham số d được thay bởi số

nguyên 5, còn tham số r được

thay bởi số nguyên 3

GV: Trong lời gọi thủ tục

Ve_hcn(a,b), tham số d được

thay bởi giá trị hiện thời của biến

a, tham số r được thay bởi giá trị

hiện thời của biến b

GV: Để phân biệt tham biến và

tham trị, Pascal sử dụng từ khóa

var khai báo cho tham số biến

HS: Nghe

giảng và ghi chép bài

b Ví dụ về thủ tục.

- Phần đầu của thủ tục được viết như

sau:

Procedure Ve_hcn (d, r: integer);

- Chương trình mô tả đầy đủ thủ tục Ve_hcn với các tham số d (chiều dài), r (chiều rộng) để vẽ các hình chữ nhật có kích thước khác nhau (sgk trang 98)

- Trong lệnh gọi thủ tục, các tham số hình thức được thay thế bằng các tham số thực sự tương ứng là các giá

trị cụ thể được gọi là các tham số

giá trị ( tham trị).

- Trong lệnh gọi thủ tục, các tham số hình thức được thay thế bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra được gọi là các

tham số biến ( tham biến).

Hoạt động 4:

(1) Mục tiêu: Để giới thiệu với học sinh một thủ tục khai báo hai tham số biến

x, y thuộc kiểu integer, làm nổi bật sự khác nhau giữa tham số giá trị và tham số biến

(2) Phương pháp/kỹ thuật dạy học: Rèn tư duy phân tích, tổng hợp

(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Qua kết quả chạy chương trình cho học sinh thấy được: trước và sau khi gọi thực hiện thủ tục các tham biến đã thay đổi, giá trị của tham biến sau lời gọi thủ tục là giá trị sau cùng khi kết thúc thực hiện thủ tục Sự khác nhau giữa tham số giá trị và tham số biến

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG

CỦA HS

NỘI DUNG GV: HS: Nghe giảng - Phân loại tham số hình thức:

Trang 5

- Khai báo var x, y:

integer xác định x, y là

tham biến kiểu nguyên

- Trong lệnh gọi

hoan_doi(a, b) thì các

tham biến x, y được thay

thế bởi các biến nguyên

tương ứng là a và b - Giá

trị của chúng thay đổi khi

thực hiện lệnh: tg:=x;

x:=y; y:=tg;

- Do đó, nếu nhập a=5 và

b=10 thì trên màn hình

xuất hiện 2 dòng:

5 10

10 5

GV: Nếu thủ tục của

chương trình được thay

bởi thủ tục:

Procedure hoan_doi(var x,

y:integer);

Tức là x là tham biến, y là

tham trị thì khi thực hiện

chương trình sẽ nhận

được kết quả là:

5 10

5 5

và ghi chép bài

HS: Suy nghĩ và

viết thủ tục

+ Tham số biến: được khai báo có từ khóa Var ở đằng trước

+ Tham số trị: khi khai báo không có

từ khóa Var

- Ví dụ về sử dụng tham biến trong chương trình con:

Program Vd_thambien1;

Uses crt;

Var a, b: integer;

Procedure hoan_doi (var x,y: integer); Var tg: integer;

Begin tg:=x;

x:=y;

y:=tg;

end;

begin clrscr;

a:=5; b:=10;

writeln (a:6, b:6);

hoan_doi (a, b);

writeln (a:6, b:6);

end.

Nhận xét:

- Giá trị của tham biến có thể thay đổi sau khi thực hiện chương trình con

- Giá trị của tham trị giống nhau tại thời điểm trước và sau khi gọi chương trình con

Hoạt động 5:

(1) Mục tiêu: Học sinh củng cố kiến thức lý thuyết cấu trúc của thủ tục trong chương trình con

(2) Phương pháp/kỹ thuật dạy học: Rèn tư duy phân tích, tổng hợp

(3) Hình thức tổ chức hoạt động: Vấn đáp

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh nắm được các kiến thức cần củng cố thông qua bài học

Nội dung hoạt động

- Cần nắm được những kiến thức sau: + Cấu trúc và vị trí của thủ tục

+ Phân biệt tham biến và tham trị

D HƯỚNG DẪN HỌC Ở NHÀ

- Làm lại các ví dụ và chạy thử trên máy

Trang 6

- Chuẩn bị trước bài tập và thực hành số 6.

§18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG

CHƯƠNG TRÌNH CON (tiếp)

Chuẩn kiến thức, kỹ năng cần đạt của tiết học

- Về kiến thức

Học sinh cần:

 Nắm được sự giống nhau và khác nhau giữa thủ tục và hàm

- Về kỹ năng

 Nhận biết được các thành phần trong phần đầu của hàm

 Nhận biết được câu lẹnh sử dụng hàm ở chương trình chính cùng các tham số thực sự

- Về tình cảm, tư tưởng

 Học sinh thấy được sự cần thiết và tiện lợi của chương trình con

 Làm cho học sinh yêu thích lập trình và mơn học hơn

- Phương pháp dạy học, phương tiện dạy học chủ yếu

 Giáo viên: Giáo án, sách giáo khoa, bảng, phấn, tài liệu,

 Học sinh: Vở ghi, sách giáo khoa tin học 11, bút,

- Định hướng hình thành năng lực

 Rèn luyện phẩm chất của người lập trình như tinh thần hợp tác làm việc theo nhĩm, tuân thủ yêu cầu vì một cơng việc chung

A Khởi động

Hoạt động 1: Kiểm tra bài cũ:

(1) Mục tiêu: Kiểm tra kiến thức của các bài học trước (bài 18 – tiết 44) về cấu trúc của thủ tục và ví dụ

(2) Phương pháp/kỹ thuật dạy học: Đàm thoại, vấn đáp

(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhĩm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh trả lời được các câu hỏi trong nội dung kiến thức của tiết học trước

Ngày soạn: 18/02/2018 Tiết chương trình : 47 Thời gian: 45 phút / 1 tiết Lớp : 11a7, 11a8, 11a9

Trang 7

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG

Câu 1: Nêu cấu trúc của

thủ tục?

Câu 2: Hãy phân biệt tham

biến và tham trị?

Trả lời câu hỏi 1 Trả lời câu hỏi 2

Kiến thức đã học trong bài 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI

B HÌNH THÀNH KIẾN THỨC VÀ LUYỆN TẬP

Hoạt động 2:

(1) Mục tiêu: Làm nổi bật sự giống và khác nhau giữa thủ tục và hàm

(2) Phương pháp/kỹ thuật dạy học: Đàm thoại, phát hiện

(3) Hình thức tổ chức hoạt động: Thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh hiểu được nhiều điểm giống nhau và khác nhau

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HĐỘNG

CỦA HS

NỘI DUNG

GV: Nhắc lại một số hàm chuẩn đã

được học như: abs(), sqr(),

GV: Chiếu chương trình ví dụ lên

bảng Giới thiệu cho học sinh cấu trúc

của hàm và vị trí của hàm trong chương

trình chính

GV: Hàm có cấu trúc tương tự như thủ

tục, tuy nhiên có khác nhau ở phần đầu

là phải khai báo kiểu dữ liệu mà hàm

trả về:

Function <tên hàm> [(DS tham

số)]:<kiểu dữ liệu>;

Ngoài ra, trong phần thân của hàm còn

có lệnh gán giá trị cho tên hàm: <tên

hàm>:=<biểu thức>;

GV: Dựa vào cấu trúc của thủ tục, hãy

nêu cấu trúc của hàm?

HS:

Quan sát

ví dụ

HS:

Nghe giảng và ghi bài

HS: Suy

nghĩ

2 Cách viết và sử dụng hàm.

a Cấu trúc của hàm.

Function <tên hàm> [(DS tham

số)]:<kiểu dữ liệu>;

[<phần khai báo>]

Begin

[<dãy lệnh>]

<tên hàm>:=<biểu thức>;

End;

Chú ý:

- Kiểu dữ liệu mà hàm trả về chỉ có thể là : integer, real, char, boolean, string

- Trong thân hàm cần có lệnh gán giá trị cho tên hàm:

<tên hàm>:=<biểu thức>;

C VẬN DỤNG, TÌM TÒI:

Hoạt động 3:

(1) Mục tiêu: Minh họa cho những điểm giống nhau và khác nhau giữa thủ tục

và hàm

Trang 8

(2) Phương pháp/kỹ thuật dạy học: Rèn tư duy phân tích, tổng hợp

(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh nắm được những điểm giống nhau và khác nhau giữa thủ tục và hàm thông qua chương trình Rutgon_phanso

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT

ĐỘNG CỦA HS

NỘI DUNG

GV: Hãy xác định input và output của

bài toán này?

GV: Để viết chương trình này chúng

ta sẽ sử dụng 1 hàm ƯCLN để tìm

ƯCLN của hai số M, N

Ở bài 10 tìm hiểu cấu trúc lặp, chúng

ta đã biết cách tìm ƯCLN của 2 số

nguyên dương Một em hãy nhắc lại

thuật toán tìm ƯCLN của 2 số

nguyên?

GV: Dựa vào thuật toán tìm ƯCLN

của 2 số nguyên dương đã học và

bằng cách sử dụng hàm chúng ta có

thể viết đoạn chương trình con tìm

ƯCLN của 2 số nguyên

GV: Ngoài cách viết hàm UCLN bằng

phép trừ, chúng ta có thể tìm UCLN

bằng phép chia như sau:

Function UCLN( x, y:

interger):interger;

var sodu:interger;

begin

while y<>0 do

begin

sodu:=x mod y;

x:=y;

y:=sodu;

end;

UCLN:=x;

End;

HS: Quan

sát ví dụ

HS: Nghe

giảng và ghi bài

HS: Suy

nghĩ

b Ví dụ về hàm.

VD1: Xét chương trình thực hiện việc rút gọn một phân số, trong đó

có sử dụng hàm tính ước chung lớn nhất (ƯCLN) của hai số nguyên

- Input: phân số

- Output: phân số đã rút gọn

- Đoạn chương trình con tìm ƯCLN :

Function UCLN( M,N:integer): integer);

Begin While M<>N do

If M>N then M:= M-N Else N:=N-M;

UCLN:=M;

End;

- Ví dụ

UCLN(18,4)=2

Trang 9

GV: Trong toán học, muốn rút gọn

phân số ta làm thế nào?

GV: Vậy trong pascal ta làm thế nào?

GV: Chiếu chương trình đầy đủ thực

hiện việc rút gọn phân số và chạy thử

cho học sinh quan sát

HS : Quan sát.

GV: Trong chương trinh này các biến

tuso,mauso, a là biến toàn cục còn

biến sodu là biến cục bộ

Lệnh gán giá trị cho tên hàm:

UCLN:=x;

Lệnh gọi hàm:

a:=ƯCLN(tuso,mauso);

HS: Nghe giảng và ghi chép bài.

- Để rút gọn phân số trong toán học:

ta lấy tử số và mẫu số chia cho ƯCLN sẽ được phân số rút gọn

- Để rút gọn phân số trong pascal:

if a>1 then

begin

tuso:=tuso div a;

mauso:=mauso div a;

end;

- Chương trình đầy đủ:

Program rutgon_ps;

Uses crt;

Var tuso, mauso, a: integer;

Function UCLN( x, y: interger):interger;

var sodu:interger;

begin

while y<>0 do

begin

sodu:=xmod y;

x:=y;

y:=sodu;

end;

UCLN:=x;

End;

Begin

Clrscr;

Write(‘nhap tu so, mau so:’); readln(tuso,mauso);

a:=ƯCLN(tuso,mauso);

if a>1 then begin

tuso:=tuso div a;

mauso:=mauso div a; end;

writeln(‘ tuso:5, mauso:5’); end

Trang 10

Hoạt động 4:

(1) Mục tiêu: Minh họa cho cấu trúc của hàm

(2) Phương pháp/kỹ thuật dạy học: Rèn tư duy phân tích, tổng hợp

(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, thảo luận nhóm

(4) Phương tiện dạy học: SGK, máy tính, máy chiếu

(5) Sản phẩm: Học sinh nắm được những đặc điểm của hàm thông qua chương trình Max_ba_so

Nội dung hoạt động HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG

CỦA HS NỘI DUNG

GV: Hãy xác định input,

output của bài toán?

GV: Ví dụ có 2 số a=3,

b=8 thì số lớn nhất là 8

Vậy làm thế nào để tìm

được số lớn nhất của 2

số?

GV: Để tìm giá trị nhỏ

nhất của 3 số ta phải dùng

những biến nào và kiểu dữ

liệu gì?

GV: Chiếu chương trình

hoàn chỉnh cho học sinh

quan sát và chạy thử

GV: Quan sát chương

trình và cho biết đâu là

biến toàn cục,biến cục bộ

và tham số hình thức?

HS: a, b, c là biến toàn

cục, không có biến cục

bộ Có 2 tham số hình

thức là a, b

GV: Việc sử dụng hàm

tìm số lớn nhất trong 2 số

không chỉ để tìm giá trị

lớn nhất của 3 số mà ta có

thể tìm giá trị lớn nhất của

một dãy số

HS: So sánh giá trị của 2 số nếu a

> b thì số nhỏ nhất là a, ngược lại số nhỏ nhất

là b

HS : biến a, b, c,

kiểu dữ liệu real

HS: Suy nghĩ và

viết thủ tục

VD2: Tìm giá trị lớn nhất của 3 số thực a,

b, c nhập vào từ bàn phím, trong đó có sử dụng hàm tìm số lớn nhất trong hai số + input: 3 số thực a, b, c

+ output: giá trị lớn nhất của 3 số a, b, c

- Hàm tìm số lớn nhất sẽ được viết như sau:

Function max(a,b:real):real;

Begin

if a<b then max:=a

else max:=b;

End;

- Chương trình hoàn chỉnh:

Program max_ba_so;

Uses crt;

Var a, b, c:real;

Function max(a,b:real):real;

Begin

if a<b then max:=a

else max:=b;

End;

Begin Write(‘ nhap vao 3 so:’); readln(a, b, c); Writeln(‘ so lon nhat la:’, max(max(a,b),c);

Readln;

End

Ngày đăng: 27/11/2021, 22:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w