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

Giao an Tin hoc 11 Full

129 16 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 129
Dung lượng 1,81 MB

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

Nội dung

- Häc sinh biÕt ®îc cÊu tróc chung cña mét thñ tôc vµ vÞ trÝ khai b¸o cña thñ tôc trong th©n ch¬ng tr×nh chÝnh.. - Häc sinh biÕt ®îc kh¸i niÖm vÒ tham sè h×nh thøc vµ tham sè thùc sù, t[r]

Trang 1

Tiết 1

Các khái niệm lập trình và ngôn ngữ lập trình Các thành phần của ngôn ngữ lập trình

- Biết vai trò của chơng trình dịch

- Biết khái niệm về thông dịch và biên dịch

- Biết các thành phần cơ bản của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa

2 Về thái độ

- Tích cực nghe giảng và ôn lại kiến thức lớp 10

II Chuẩn bị:

GV: Chuẩn bị tài liệu giảng dạy và tài liệu mở rộng

HS: Nhớ lại kiến thức lớp 10 về: Các loại ngôn ngữ lập trình, phân biệt ngôn ngữ bậc cao vớicác ngôn ngữ khác

III Ph ơng pháp - Ph ơng tiện

1 Phơng pháp

- Sử dụng kết hợp nhiều phơng pháp: Diễn giải, hỏi đáp,

2 Phơng tiện

- Sử dụng sgk và tài liệu tham khảo

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

1 ổn định lớp

- Lớp báo cáo sỹ số

- Cho HS ổn định chỗ ngồi

2 Nội dung bài

chuyển đổi các chơng trình đợc viết bằng ngôn ngữ bậc

cao sang ngôn ngữ máy

- Chơng trình dịch nhận đầu vào là chơng trình viết bằng

ngôn ngữ bậc cao (Chơng trình nguồn) thực hiện chuyển

đổi sang ngôn ngữ máy (Chơng trình đích)

- Chơng trình dịch có 2 loại: Thông dịch và biên dịch

+ Thông dịch: Đợc thực hiện bằng cách lặp lại dãy các

GV: Chúng ta đã tìm hiểu về ngônngữ lập trình Vậy, ngôn ngữ lậptrình?

HS trả lời: Ngôn ngữ dùng để viếtchơng trình gọi là ngôn ngữ lậptrình

GV: Ngôn ngữ lập trình gồmnhững loại nào?

HS trả lời: Ngôn ngữ lập trình đợcchia làm 3 loại: Ngôn ngữ máy,hợp ngữ và ngôn ngữ bậc cao.GV: Em hãy kể một số ngôn ngữlập trình mà em biết?

HS trả lời: Pascal, C, C++,GV: Tại sao ngời ta đa ra ngônngữ bậc cao?

HS trả lời: Ngời ta đa ra ngôn ngữbậc cao nhằm giải quyết nhữnghạn chế của ngôn ngữ máy và hợpngữ: Ngôn ngữ gần với tự nhiênhơn, gần nh không phụ thuộc vàocác loại máy tính

GV: Máy tính có thể hiểu trực tiếp

Trang 2

1 Kiểm tra tính đúng đắn của câu lệnh tiếp theo

trong chơng trình nguồn

2 Chuyển đổi dãy câu lệnh đó thành một hay nhiều

câu lệnh tơng ứng trong ngôn ngữ máy

3 Thực hiện câu lệnh vừa chuyển đổi đợc

Các ngôn ngữ khai thác hệ quản trị cơ sở dữ liệu, ngôn

ngữ đối thoại … đều sử dụng trình thông dịch đều sử dụng trình thông dịch

+ Biên dịch: Biên dịch đợc thực hiện qua 2 bớc:

1 Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của

các câu lệnh của chơng trình nguồn

c Ngữ nghĩa: Xác định ý nghĩa thao tác cần phải thực

hiện, ứng với tổ hợp bộ kí0 tự dựa vào ngữ cảnh của nó

trình dịch

GV: Chơng trình dịch là gì và cóchức năng gì?

HS trả lời: Chơng trình dịch là

ch-ơng trình dùng để dịch các chch-ơngtrình viết bằng ngôn ngữ bậc caosang ngôn ngữ máy

GV: Chơng trình dịch nhận đầuvào là chơng trình viết bằng ngônngữ bậc cao (Chơng trình nguồn)thực hiện chuyển đổi sang ngônngữ máy (Chơng trình đích)

GV: Đa ra ví dụ, khi 1 HS nhậnnhiệm vụ giới thiệu với đoànkhách ngời Nhật về làng của mình,

bộ những điều cần giới thiệu vềlàng ra giấy sau đó đa cho ngờiphiên dịch để dịch ra giấy, rồi họ

đa cho đoàn khách bản dịch bằngtiếng Nhật cho đoàn khách đọc.GV: Một chơng không còn lỗi về

cú pháp thì mới có thể dịch sangngôn ngữ máy Các lỗi về ngữnghĩa thì khó phát hiện hơn, thôngthờng chỉ phát hiện khi thực hiệnchơng trình với dữ liệu cụ thể

V Củng cố bài.

- Nắm đợc ngôn ngữ lập trình có 3 dạng: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao

- Phân biệt đợc ngôn ngữ bậc cao với các ngôn ngữ khác

Trang 3

II Ph ơng tiện dạy học

- Máy chiếu, máy tính, giáo án Powerpoint

III Hoạt động dạy học

1 Tổ chức lớp: ổn định và kiểm tra sĩ số

2 Kiểm tra bài cũ:

- GV đa ra câu hỏi và gọi HS lên bảng trả lời

Câu 1: Phân biệt thông dịch và biên dịch?

Câu 2: Nêu các thành phần cơ bản của ngôn ngữ lập trình?

- 2 HS lần lợt lên bảng trả lời từng câu hỏi

3 Tiến trình tiết dạy

Hoạt động của GV Hoạt động của HS

- Tiết trớc chúng ta đã tìm hiểu về các thành phần của

II Các khái niệm

- Trình chiếu Slide chứa một chơng trình ví dụ đơn giản,

có liên kết với turbo Pascal

+ Mọi đối tợng trong chơng trình đều phải đợc đặt tên

theo qui tắc của ngôn ngữ lập trình và từng chơng trình

dịch cụ thể

1,Tên

+ Trong Pascal, tên là một dãy liên tiếp không quá 127 kí

tự bao gồm chữ cái, chữ số và dấu gạch dới, nhng không

đợc bắt đầu bằng chữ số

- Trình chiếu slide chứa ví dụ về các tên đúng và sai, cho

HS xác định tên đúng và tên sai

Ví dụ: A, AC de, 1fe, _12d, d12, h_2,

- Theo dõi ví dụ trên màn hình

- Ghi bài vào vở

- Cả lớp theo dõi ví dụ trên mànhình và suy nghĩ

Trang 4

thờng nhng một số ngôn ngữ khác thì có phân biệt chữ

hoa và chữ thờng nh C,C++… đều sử dụng trình thông dịch

+ Trong ngôn ngữ Pascal có ba loại tên: Tên dành riêng,

tên chuẩn và tên do ngời lập trình đặt

a, Tên danh riêng (Từ khoá)

- Quay lại slide chứa chơng trình ví dụ

- Mở kết nối sang pascal chơng trình đó

- Trong chơng trình trên màn hình soạn thảo của Pascal,

tên dành riêng đó là: Program, uses, const, type, var,

begin, end Em nào đa ra nhận xét gì khi nhìn trên màn

hình soạn thảo của pascal, có gì khác trong chơng trình?

+ Từ khoá là những tên đợc ngôn ngữ lập trình qui định

đúng với một ý nghĩa xác định, ngời lập trình không đợc

dùng với ý nghĩa khác

- Dựa vào tên các từ khoá trên, em nào có thể dịch từ

tiếng Anh sang tiếng Việt để thấy ý nghĩa của các từ

khoá này?

- Ngời sử dụng không đợc phép dùng từ khoá với ý nghĩa

khác, ví dụ dùng để đặt tên cho biến là không đợc hoặc

khi soạn thảo chỉ cần sai một kí tự là chơng trình báo lỗi

GV lấy ví dụ ngay trên màn hình soạn thảo Pascal các

tr-ờng hợp để HS thấy đợc từ khoá là từ dành riêng

- Mỗi tên dành riêng nó cũng phản ánh chức năng của nó

bằng cách dùng các từ hoặc từ viết tắt bằng tiếng Anh,

nh Program: chơng trình, uses: Th viện hỗ trợ, const:

Hằng; Type: Định nghĩa, var là từ viết tắt của variable:

Biến, Begin: Bắt đầu, end: Kết thúc… đều sử dụng trình thông dịch

b, Tên chuẩn

- Trình chiếu ví dụ một chơng trình pascal hoàn chỉnh

GV chỉ cho HS thấy tên chuẩn trong chơng trìh đó: Real,

sqr

+ Tên chuẩn là những tên đợc ngôn ngữ lập trình quy

định dùng với một ý nghĩa nào đó, ngời lập trình có thể

định nghĩa lại để dùng nó với ý nghĩa khác

- ý nghĩa của các tên chuẩn đợc quy định trong các th

viện của ngôn ngữ lập trình, nh real: kiểu số thực, hàm

sqr là hàm trả về bình pơng của một số

c Tên do ng ời lập trình đặt

- Trình chiếu lại ví dụ

+ Tên do ngời lập trình là những tên đợc đặt với ý nghĩa

riêng của từng ngời lập trình, tên này đợc khai báo trớc

khi sử dụng Các tên này không đợc trùng với tên dành

riêng

Trong ví dụ, tên do ngời sử dụng đặt: Vi_du_1, R, Dtich

- Trình chiếu ví dụ 2 có liên kết với môi trờng pascal và

cho HS xác định tên riêng, tên chuẩn và tên do ngời lập

Write(‘Nhap vao a va b :’); readln (a,b);

{a, b la he so cua pt bac nhat co dang: ax+b=0}

If a <> 0 then write(‘pt co nghiem duy nhat: ’, -b/a)

Else

If b <> 0 then write(‘pt vo nghiem’)

- Một HS đứng tại chỗ xác địnhtên đúng và tên sai qui định

- Cả lớp theo dõi trên màn hìnhchiếu

- Một HS trả lời: Trong chơngtrình, các từ khoá có màu trắng

- Cả lớp theo dõi trên màn hình

ví dụ

- Một em đứng tại chỗ trả lời:Program: chơng trình, uses: Thviện hỗ trợ, const: Hằng; Type:

Định nghĩa, var là từ viết tắt củavariable: Biến, Begin: Bắt đầu,end: Kết thúc

- Cr lớp theo dõi ví dụ

- Ghi bài vào vở

- Cả lớp theo dõi vào ví dụ

- HS ghi bài vào vở

- HS theo dõi ví dụ 2

- Một HS đứng tại chỗ trả lời: + Tên dành riêng: Program,uses, var, Begin, if, then, else,end

+ Tên chuẩn: crt, write, readln+ Tên do ngời lập trình đặt:vi_du_2; a, b

Trang 5

- Trên ví dụ 1 và 2 sau từ khoá Var là tên biến, sau từ

khoá Const là hằng Vậy, em nào cho biết trong toán học

hằng là gì và biến là gì? Cho ví dụ?

không có dấu, dấu chấm tĩnh và dấu chấm động)

Hằng kí tự: Là một chuỗi kí tự và đợc đặt trong dấu

nháy đơn

Hằng logic là giá trị đúng (true) hoặc sai (flase)

b Biến

+ Biến là đại lợng đợc đặt tên dùng để lu giá trị và giá trị

này có thể thay đổi trong quá trình thực hiện chơng

trình Các biến dùng trong chơng trình đều phải đợc khai

báo

- Trong ví dụ 1 và 2 thì R, Dtich, a, b là biến

- Trình chiếu ví dụ 3 để HS xác định hằng và biến

c Chú thích: Chú thích đợc đặt giữa { và }, hoặc (* và *)

dùng để giải thích cho chơng trình rõ dàng và sễ hiểu

một ẩn số cần tìm giá trị, ví dụ:3x+2=0, trong đó x là ẩn

- HS ghi bài vào vở

- HS theo dõi ví dụ và trả lời

4 Củng cố bài

- Trình chiếu ví dụ tổng hợp để HS xác định từ khoá, tên chuẩn, tên do ngời lập trình đặt,biến và hằng

Trang 6

Tiết 3

Bài tập

Ngày soạn: 30/08/2009 Ngày giảng: 31/08/2009 Lớp: 11A2

I Mục tiêu bài giảng

1 Kiến thức

- Biết đợc vì sao phải có chơng trình dịch

- Phân biệt đợc 2 chế độ thông dịch và biên dịch

- Nắm đợc các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa

- Nắm đợc khái niệm tên riêng, tên chuẩn và tên do ngời lập trình đặt

- Nắm đợc khái niệm hằng và biến

2 Kỹ năng

- Nắm đợc các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa

- Phân biệt đợc tên riêng, tên chuẩn và tên do ngời lập trình đặt

- Biết và phân biệt đợc hằng và biến

- Sử dụng bảng, sgk, máy chiếu projector, máy tính

III Hoạt động giảng dạy

1 ổn định lớp: Lớp trởng báo cáo sỹ số và cho HS ổn định vị trí ngồi

2 Kiểm tra bài cũ (không ktra)

3 Nội dung

- Trình chiếu nội dung bài tập 1 với chơng trình có liên kết đến

môi trờng làm việc của Pascal và đa ra câu hỏi

Bài tập 1: Cho chơng trình:

Program Amlich;

{Chuong trinh chuyen năm duong lich sang nam am lich

dang can - chi}

Trang 7

write('Ban co muon tiep tuc khong (C/K)? : ');

readln(kt);

Until upcase(kt)='K';

End.

- Dựa vào chơng trình ví dụ của bài tập 1 trên màn hình có liên

kết với môi trờng làm việc Pascal để trả lời các câu hỏi sau:

1 Xác định từ khoá, tên chuẩn và tên do ngời lập trình đặt?

2 Xác định hằng, biến và đoạn chú thích trong chơng trình?

3 Nếu thay tên biến n bằng một trong các tên sau: begin; 1ab;

do; can chi;namd; abs; crt Tên nào có thể dùng để thay thế đợc?

Tên nào không thể thay thế đợc, vì sao?

- GV chiếu lại ví dụ trên môi trờng soạn thảo pascal và thay thế

trực tiếp trên môi trờng pascal, kiểm tra với từng tên để HS thấy

đợc tên nào thài chờng trình báo lỗi

- Từ đó rút ra kết luận cho việc đặt tên biến: Không đợc trùng

với từ khoá, không chứa kí tự trắng, không nên đặt tên trùng với

tên chuẩn và nên đặt tên có ý nghĩa dễ gợi nhớ, dễ đọc, dễ kiểm

tra lỗi của chơng trình

- GV yêu cầu HS làm bài tập: Bài 1.6 sgk tr.13; bài 1.9; 1.10;

- Một HS trả lời câu hỏi 2: Trong

ch-ơng trình hằng: Can, chi Biến: n, kt và

đoạn chú thích {Chuong trinh chuyen năm duong lich sang nam am lich dang can - chi}

- Cả lớp suy nghĩ

- 1 HS trả lời câu hỏi: Tên cóthể thay thế: 1ab, namd Têncrt, abs không nên đặt và cáctên còn lại không thể dùng đểthay thế đợc vì trùng tên với từkhoá và có chứa kí tự trắng

- HS cả lớp làm bài và chuẩn bịlên bảng

- 5 HS lên bảng làm, mỗi HS 1bài

Trang 8

Tiết 4

Chơng II: chơng trình đơn giản

cấu trúc chơng trình

Ngày soạn: 06/09/2009 Ngày giảng: 09/09/2009 Lớp: 11A1

I Mục tiêu bài giảng

1 Kiến thức

- Hiểu đợc chơng trình là sự mô tả đợc của thuật toán bằng một ngôn ngữ lập trình

- Biết đợc cấu trúc của một chơng trình đơn giản: Cờu trúc chung và các thành phần

- Biết đợc cấu trúc chung của một chơng trình viết trên ngôn ngữ pascal

2 Kỹ năng

- Nhận biết đợc các thành phần của một chơng trình đơn giản viết bằng ngôn ngữ pascal

II Ph ơng pháp - ph ơng tiện

- Sử dụng kết hợp nhiều phơng pháp nh thuyết trình và đặt câu hỏi gợi mở vấn đề

- Sử dụng bảng, sgk, máy chiếu projector, máy tính

III Hoạt động giảng dạy

1 ổn định lớp: Lớp trởng báo cáo sỹ số và cho HS ổn định vị trí ngồi

2 Kiểm tra bài cũ (không ktra)

3 Nội dung

Hoạt động của GV Hoạt động của HS

- GV: Các em nhớ lại kiến thức về viết văn cho biết bố cục

một bài văn gồm mấy phần và vì sao lại chia nh vậy?

i3 cấu trúc chơng trình

- GV cho chiếu chơng trình và liên kết đến môi trờng soạn

thảo Pascal để chạy chơng trình ví dụ lên màn hình để HS

theo dõi

Program hoan_vi;

uses crt;

type mang_hv = array [1 20] of byte;

mang_kt = array [1 20] of boolean;

Var i, n,dem: byte;

Mở bài, thân bài và kết bài.Chia ra nh vậy để dễ đọc, dễhiểu nội dung

- HS cả lớp theo dõi ví dụ trên màn hình chiếu

- HS ghi bài

Trang 9

1 Cấu trúc ch ơng trình

+ Một chơng trình có cấu trúc gồm 2 phần:

[<Phần khai báo >]

<Phần thân>

- GV: Trong đó, qui ớc các thành phần trong dấu ngoặc

vuông [ ] là không bắt buộc phải có, nhng phần trong dấu

ngoặc nhọn thì bắt buộc

+ Phần khai báo có thể có hoặc không, phần thân thì bắt buộc

phải có

- GV: Trong chơng trình ví dụ thì phần khai báo từ Program

… đến END; và phần thân từ BEGIN đến END

2 Các thành phần của ch ơng trình

a Phần khai báo

+ Có thể có các khai báo cho: Tên chơng trình, th viện, hằng,

định nghĩa kiểu dữ liệu , biến và chơng trình con

- GV: Chúng ta có thể dựa vào vốn từ vựng của tiếng Anh,

- Dựa vào nghĩa tiếng Anh của các từ khoá trên, em nào cho

biết khai báo tên chơng trình, khai báo th viện, định kiểu,

biến, chơng trình con?

+ Khai báo tên chơng trình: Phần này có thể có hoặc không

Với Pascal, nếu có, phần tên chơng trình bắt đầu bằng từ khoá

program, tiếp đến là tên chơng trình do ngời lập trình đặt theo

qui tắc đặt tên

ví dụ: program hoan_vi;

+ Khai báo th viện: Mỗi ngôn ngữ lập trình có sẵn một số

ch-ơng trình thông dụng để hỗ trợ cho ngời lập trình Trong

Pascal,nếu có, khai báo th viện bằng từ khoá Uses, tiếp đến là

tên th viện Nếu có nhiều th viện thì sử dụng dấu “,” để ngăn

cách

Ví dụ: Uses crt, graph;

+ Trong pascal, nếu khai báo th viện crt (cung cấp chơng

trình để làm việc với màn hình và bàn phím), thì đầu tiên của

thân chơng trình dùng câu lệnh clrscr;

+ Khai báo hằng: Hằng là những giá trị xuất hiện nhiều lần

trong chơng trình mà không bị thay đổi giá trị.Một hằng có

thể là số, kí tự hoặc kiểu logic Trong Pascal, nếu có, hằng

đ-ợc khai báo bằng từ khoá Const, theo cú pháp:

Const ten_hang1= gia_tri1;

Ten_hang2= gia_tri2;

………

+ Định nghĩa kiểu dữ liệu của ngời dùng: Ngoài những kiểu

dữ liệu chuẩn, ngời lập trình có thể định nghĩa kiểu dữ liệu

cho mình Trong Pascal, nếu có, định nghĩa kiểu bằng từ khoá

Type, khai báo theo cú pháp:

Type ten_kieu=định nghĩa kiểu cụ thể cho từng kiểu;

Ví dụ:

type mang_hv = array [1 20] of byte;

mang_kt = array [1 20] of boolean;

- GV: Xét ví dụ: Gải và biện luận pt: ax+b=0, trong toán học

từ khoá uses (crt), định kiểu bởi từ khoá Type (can, chi), khai báo biến bằng từ khoá Var (i, n, dem, x, kt) và ch-

ơng trình con đợc khai báo sau từ khoá procedure (try)

- HS ghi bài

- HS ghi bài

- HS ghi bài

Trang 10

thực hiện chơng trìnhơng trình (giá trị input, output) Giải bài

toán này bằng máy tính thì sẽ có các biến: a, b, x kiểu số

thực

+ Khai báo biến: Biến là một đại lợng nào đó Nó có thể thay

đổi giá trị trong khi chơng trình đợc thực hiện Trong Pascal,

nếu có, khai báo biến bằng từ khoá VAR, theo cấu trúc: Var

ten_bien1, ten_bien2, ten_bien3: kieu 1;

Khi đặt tên chơng trìnhơng trình, tên hằng, tên biến hoặc các

đối tợng khác, ngời lập trình không đợc đặt trùng với từ khoá

(Begin, end, program, var, if, the, while, do ), có thể đặt

trùng với tên chuẩn (read, readln Write, integer, real, true,

false ) nhng không nên vì dễ nhầm lẫn Nên đặt tên gợi nhớ

Trong Pascal, không phân biệt chơng trìnhữ hoa và chữ hoa

và chữ thờng (trừ trong các hằng lí tự và xâu kí tự), nên có thể

dùng chữ hoa hoặc chữ thờng tuỳ ý sao cho chơng trình dễ

đọc

b Thân ch ơng trình trình

- Ví dụ trên thấy, phần thân chơng trình trình từ BEGIN đến

END

+ Dãy lệnh đợc giới hạn trong phạm vi của từ khoá Begin và

End, sau end có dấu chấm “.”

- 1 HS trả lời: x là biến

- HS ghi bài

- HS trả lời: Hằng thì có giá trị không thay đổi trong suốtquá trình chơng trìnhơng trình thực hiện, còn biến thì

có giá trị thay đổi

4 Củng cố bài

- Một chơng trình trình gồm 2 phần: Phần khai báo và phần thân chơng trình trình Trong đóphần khai báo là không bắt buộc phải có nhng bắt buộc phải có phần thân

Trang 11

Tiết 5

Một số kiểu dữ liệu chuẩn - khai báo biến

I-Mục tiêu:

1.Kiến thức:

-Biết đợc một số kiểu dữ liệu chuẩn: nguyên, thực, ký tự, logic

-Biết đợc cấu trúc chung của khai báo biến

2.Kỹ năng:

-Sử dụng đợc kiểu dữ liệu và khai báo biến để viết đợc một chơng trình đơn giản

II-Đồ dùng dạy học:

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu một số kiểu dữ liệu chuẩn.

1.Đặt vấn đề: Trong toán học, để thực hiện đợc tính toán

ta cần phải có các tập số Đó là các tập số nào?

-Diễn giải: Cũng tơng tự nh vậy, trong ngôn ngữ lập

trình Pascal, để lập trình giải quyết các bài toán, cần có

các tập hợp, mỗi tập hợp có một giới hạn nhất định

-Các em có thể hiểu nôm na: Kiểu dữ liệu chuẩn là một

tập hữu hạn các giá trị, mỗi kiểu dữ liệu cần một dung

lợng bộ nhớ cần thiết để lu trữ và xác định các phép toán

có thể tác động lên dữ liệu

2.Yêu cầu học sinh nghiên cứu sách giáo khoa, trả lời

các câu hỏi sau:

-Có bao nhiêu kiểu dữ liệu chuẩn trong ngôn ngữ

Pascal?

-Trong ngôn ngữ Pascal có những kiểu nguyên nào

th-ờng dùng, phạm vi biểu diễn của mỗi loại?

-Trong ngôn ngữ Pascal, có bao nhiêu kiểu ký tự?

-Trong ngôn ngữ Pascal, có bao nhiêu kiểu logic, gồm

các giá trị nào?

3.Giáo viên giải thích một số vấn đề cho học sinh:

+Vì sao phạm vi biểu diễn của các loại kiểu nguyên

khác nhau?

+Miền giá trị của các loại kiểu thực, số chữ số có nghĩa?

4.Phát vấn: Muốn tính toán trên các giá trị 4,5,6,7 ta

phải sử dụng kiểu dữ liệu gì?

1.Chú ý, lắng nghe và suynghĩ trả lời:

-Số tự nhiên, số nguyên, sốhữu tỉ, số thực

-Liên tởng các tập số trongtoán học với kiểu dữ liệutrong Pascal

2.Nghiên cứu sách giáo khoa

và trả lời

-Có 4 kiểu: Kiểu nguyên,kiểu thực, kiểu ký tự và kiểulogic

-Có 4 loại: Byte, Word,Integer và longin

-Có 2 loại: Real, extended.-Có 1 loại: Char

-Có 1 loại: Boolean, gồm 2phần tử: True, False

3.Lắng nghe và suy nghĩ4.Suy nghĩ và trả lời

Kiểu Real

Trang 12

3.Hoạt động 3: Tìm hiểu cách khai baó biến.

1.Yêu cầu học sinh nghiên cứu sách giáo khoa và

cho biết vì sao phải khai báo biến?

-Cấu trúc chung của khai báo biến trong ngôn ngữ

Pascal

-Cho ví dụ để khai báo một biến nguyên và một

biến kiểu ký tự

2.Chiếu chơng trình chứa một số khai báo và yêu

cầu học sinh chọn khai báo đúng trong ngôn ngữ

1.Mọi biến dùng trong chơng trình

đều phải khai báo tên biến và kiểudữ liệu của biến Tên biến dùng đểxác lập quan hệ giữa biến với địachỉ bộ nhớ nơi lu giữ giá trị củabiến

-Var <danh sách biến>: <kiểu dữ liệu>;

Var x: Word

Y: char;

2.Quan sát và chọn khai báo đúng

Var X,y,z: word

-Các kiểu dữ liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu ký tự, kiểu logic

-Mọi biến trong chơng trình phải đợc khai báo Cấu trúc chung của khai báo biếntrogn Pascal: Var tên biến: tên kiểu dữ liệu;

Trang 13

Tiết 6:

phép toán, biểu thức, câu lệnh gán

Ngày soạn: 06/09/2009 Ngày giảng: 21/09/2009 Lớp: 11A11

I-Mục tiêu:

1.Kiến thức:

-Biết đợc các phép toán thông dụng trong ngôn ngữ lập trình

-Biết diễn đạt một biểu thức trong ngôn ngữ lập trình

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu một số phép toán.

1.Đặt vấn đề: Để mô tả các thao tác trong

thuật toán, mỗi ngôn ngữ lập trình đều sử

dụng một số khái niệm cơ bản: phép toán,

-Yêu cầu học sinh nghiên cứu sách giáo

khoa và cho biết các nhóm phép toán

-Phép Div, Mod đợc sử dụng cho những

kiểu dữ liệu nào?

-Kết quả của phép toán quan hệ thuộc kiểu

dữ liệu nào?

1.Chú ý lắng nghe

2.Suy nghĩa và trả lời-Phép: cộng, trừ, nhân, chia, lấy số d, chialấy số nguyên, so sánh

-Các phép toán số học: +,-,*,/,div,mod.-Các phép toán quan hệ: <,>, =,>=,<= -Các phép toán logic: And, Or, Not

-Chri sử dụgn đợc cho kiểu nguyên

-Thuộc kiểu Logic

2.Hoạt động 2: Tìm hiểu biểu thức.

1.Trong toán học ta đã làm quen với khái niệm biểu

thức, hãy cho biết yếu tố cơ bản xây dựng nên biểu thức

-Nếu trong một bài toán mà toán hạng là biến số, hằng

số hoặc hàm số và toán tử là các phép toán số học thì

1.Suy nghĩ trả lời

-Gồm hai phần: Toán hạng vàtoán tử

Trang 14

biÓu thøc cã tªn gäi lµ g×?

2.ChiÕu mét sè biÓu thøc to¸n häc lªn b¶ng, yªu cÇu häc

sinh biÓu diÔn thµnh biÓu thøc trong Pascal

-Nghiªn cøu SGK vµ tõ viÖc x©y dùng c¸c biÓu thøc

trªn, h·y nªu thø tù thùc hiÖn c¸c phÐp to¸n

+Thùc hiÖn phÐp to¸n quan hÖ

-Cho kÕt qu¶: KiÓu logic

5.BiÓu thøc logic:

-lµ biÕn hoÆc h»ng logic

BiÓu thøc logic cho gi¸ trÞ lµ True hoÆc False

Thø tù thùc hiÖn:

+Thùc hiÖn biÓu thøc quan hÖ

+Thùc hiÖn phÐp to¸n logic

-BiÓu thøc sè häc

2.Quan s¸t tr¶ lêi2*a+5*b+cx*y/(2*z)((x+y)/(1-(2/z)))+(x*x/(2*z))

-Thùc hiÖn trong ngoÆc tríc;ngoµi ngoÆc sau Nh©n, chia,chia nguyªn, chia lÊy d tríc;céng trõ sau

3.Suy nghÜa tr¶ lêi

(-b+sqrt(b*b-4*a*c))/(2*a)

Trang 15

3.Hoạt động 3: Tìm hiểu lệnh gán.

-Giới thiệu một ví dụ về lệnh gán trong Pascal nh sau:

x:=4+8;

-Giải thích: Lấy 4 cộng 8, đem kết quả đặt vào x Ta đợc

x=12

-Hãy cho biết chức năng của lệnh gán?

-Cấu trúc chung của lệnh gán:

<tên biến>:=<biểu thức>;

VD: x=

a

ac b

-Các phép toán trong Pascal: số học, quan hệ, logic

-Biểu thức trong Pascal: số học, quan hệ, logic

Trang 16

-Biết nhập đúng dữ liệu khi thực hiện chơng trình.

-Biết khởi động và thoát khỏi Pascal

-Soạn đợc một chơng trình vào máy

-Dịch đợc chơng trình

-Thực hiện đợc chơng trình để nhập và thu kết quả

II-Đồ dùng dạy học:

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu thủ tục nhập dữ liệu từ bàn phím.

-Yêu cầu học sinh nghiên cứu sách giáo khoa và

cho biết thủ tục nhập dữ liệu từ bàn phím?

VD: Chơng trình giải ax+b=0, ta phải nhập những

đại lợng nào?

-Khi nhập giá trị cho nhiều biến ta phải thực hiện

nh thế nào?

- Nhập a,bRead(a,b); hoặc Readln(a,b);

-Những giá trị này cách nhau mộtdấu cách hoặc kí tự xuống dòng

2.Hoạt động 2: Tìm hiểu thủ tục đa dữ liệu ra màn hình.

-Yêu cầu học sinh nghiên cứu SGK và cho biết cấu

trúc chung của thủ tục xuất dữ liệu? Write(<tên biến 1, ,tên biến k);

Trang 17

VD: Chơng trình giải ax+b=0 đa giá trị của x=-b/a

ra màn hình

Chiếu chơng trình Pascal đơn giản

?Chức năng của lệnh Writeln()?

? Khi các tham số trong lệnh Write() thuộc kiểu char

hoặc Real thì quy định vị trí nh thế nào?

3.Hoạt động 3: Làm quen với Turbo Pascal 7.0

-Để sử dụng đợc Turbo pascal trên máy phải có các

-Giới thiệu màn hình soạn thảo của pascal

-quan sát và ghi bài

4.Hoạt động 4: Tập soạn thảo chơng trình đơn giản và thực hiện chơng trình.

IV-Đánh giá cuối bài:

1.Những nội dung chính:

-Khởi động pascal, soạn thảo, dịch, sửa lỗi cú pháp, chạy chơng trình

2.Câu hỏi và bài tập về nhà:

-Làm các bài tập trang 36 SGK, Đọc trớc nội dung bài thực hành, xem phụ lục B SGKtrang 122, 136

Trang 18

-Biết đợc một chơng trình pascal hoàn chỉnh.

-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơngtrình và thực hiện chơng trình

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.

1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực

hiện các nhiệm vụ:

-Soạn chơng trình vào máy

-Nhập dữ liệu 1 0 2 Thông báo kết quả

-Hỏi: Vì sao có lỗi xuất hiện?

-Sửa lại?

1.Quan sát bảng, độc lập soạnthảo chơng trình vào máy

F2Alt + F9Ctrl + F9X1=1.00 X2=2.00

EnterCtrl + F9Thông báo lỗi

Do căn bậc hai của một số âm-Sửa lại

2.Hoạt động 2: Rèn kỹ năng lập chơng trình.

1.Định hớng để học sinh phân tích bài toán tính diện

tích hình tròn khi biết bán kính là a 1.Phân tích theo yêu cầu củagiáo viên

Trang 19

-Cách tính.

2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa

-Quan sát hớng dẫn từng học sinh trong lúc thực

hành

-Dữ liệu ra SS:=3.14*a*a;

IV-Đánh giá cuối bài:

1.Những nội dung chính:

-Các bớc hoàn thành một chơng trình: Xác định bài toán, thuật toán, soạn chơngtrình, lu, biên dịch, thực hiện và hiệu chỉnh

Trang 20

-Biết đợc một chơng trình pascal hoàn chỉnh.

-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơngtrình và thực hiện chơng trình

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.

1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực

hiện các nhiệm vụ:

-Soạn chơng trình vào máy

-Nhập dữ liệu 1 0 2 Thông báo kết quả

-Hỏi: Vì sao có lỗi xuất hiện?

-Sửa lại?

1.Quan sát bảng, độc lập soạnthảo chơng trình vào máy

F2Alt F9Ctrl F9X1=1.00 X2=2.00

EnterCtrl F9Thông báo lỗi

Do căn bậc hai của một số âm-Sửa lại

2.Hoạt động 2: Rèn kỹ năng lập chơng trình.

1.Định hớng để học sinh phân tích bài toán tính diện

tích hình tròn khi biết bán kính là a 1.Phân tích theo yêu cầu củagiáo viên

Trang 21

-Cách tính.

2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa

-Quan sát hớng dẫn từng học sinh trong lúc thực

hành

-Dữ liệu ra SS:=3.14*a*a;

IV-Đánh giá cuối bài:

1.Những nội dung chính:

-Các bớc hoàn thành một chơng trình: Xác định bài toán, thuật toán, soạn chơngtrình, lu, biên dịch, thực hiện và hiệu chỉnh

Trang 22

-Biết đợc một chơng trình pascal hoàn chỉnh.

-Làm quen với các dịch vụ chủ yếu của pascal trong việc soạn thảo, lu, dịch chơngtrình và thực hiện chơng trình

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: Tìm hiểu một chơng trình hoàn chỉnh.

1.Chiếu chơng trình lên bảng Yêu cầu học sinh thực

hiện các nhiệm vụ:

-Soạn chơng trình vào máy

-Nhập dữ liệu 1 0 2 Thông báo kết quả

-Hỏi: Vì sao có lỗi xuất hiện?

-Sửa lại?

1.Quan sát bảng, độc lập soạnthảo chơng trình vào máy

F2Alt F9Ctrl F9X1=1.00 X2=2.00

EnterCtrl F9Thông báo lỗi

Do căn bậc hai của một số âm-Sửa lại

2.Hoạt động 2: Rèn kỹ năng lập chơng trình.

1.Định hớng để học sinh phân tích bài toán tính diện 1.Phân tích theo yêu cầu của

Trang 23

-Dữ liệu ra.

-Cách tính

2.Yêu cầu học sinh soạn và lu chơng trình vào đĩa

-Quan sát hớng dẫn từng học sinh trong lúc thực

hành

-Dữ liệu vào a-Dữ liệu ra SS:=3.14*a*a;

IV-Đánh giá cuối bài:

1.Những nội dung chính:

-Các bớc hoàn thành một chơng trình: Xác định bài toán, thuật toán, soạn chơngtrình, lu, biên dịch, thực hiện và hiệu chỉnh

Trang 24

-Hiểu đợc khái niệm rẽ nhánh trong lập trình

-Biết sử dụng các câu lệnh thực hiện rẽ nhánh trong TP (Dạng thiếu và dạng đủ)

- Hiểu đợc câu lệnh ghép

2.Kỹ năng:

- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản

- Viết đợc các câu lệnh rẽ nhánh dạng thiéu và đủ và áp dụng để thể hiện đợc thuật toán củamột số bài toán đơn giản

II-Đồ dùng dạy học:

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

3 n i dung b iội dung bài ài

TG Nội dung trỡnh chiếu Hoạt động của Gv và HS

10’

* Slide 1: Đưa ra một số vớ dụ về

những cụng việc hằng ngày cú sự

lựa chọn

- Nếu trời khụng mưa thỡ tụi sẽ

mời cỏc bạn đi ăn chố bưởi, nếu

mưa thỡ tụi mời cỏc bạn ăn chố

nếu trời mưa thỡ buổi tối Ngọc sẽ

Thường ngày cú rất nhiều việc, chỉđược thực hiện khi một điều kiện nào đúđược thỏa món

GV đưa vớ dụ

GV: Em hóy lấy một số vớ dụ về nhữngcụng việc nào đú chỉ xảy ra khi một điềukiện nào đú được thỏa món?

GV: Trong tin học, để mụ tả những hànhđộng cú rẽ nhỏnh (lựa chọn) bằng cấutrỳc rẽ nhỏnh

1 Rẽ nhỏnhGV: Chỳng ta xột một số vớ dụ

Trang 25

Cấu trúc điều kiện hành động

- Lần khác, Ngọc nói với Châu:

“Chiều mai nếu trời không mưa

thì Ngọc sẽ đến nhà Châu, nếu

trời mưa thì buổi tối Ngọc sẽ

điện lại cho Châu”.

- Nếu trời không mưa thì tôi sẽ

mời các bạn đi ăn chè bưởi,

ngược lại tôi mời các bạn ăn chè

ngó

Nếu (Điều kiện đúng) thì (Hoạt

động 1) còn không thì (Hoạt

động 2);

- Châu hẹn Ngọc: “Chiều mai nếu

trời không mưa thì Châu sẽ đến

If <Điều kiện> Then <Câu lệnh>;

If, Then, Else: Từ khoá

Điều kiện: Biểu thức logic hoặc

x=(-b∆)/2a

GV: Quay lại các ví dụ ở trên, chúng ta

đi phân tích cấu trúc hành động

GV: Dựa vào ví dụ, em nào có thể kháiquát dạng hành động?

HS: nếu (đk đúng) thì hoạt động 1,ngược lại hoạt động 2

GV: Từ nếu trong tiếng Anh là gì?

HS dạng 1 thì có trường hợp ngược lại,dạng 2 thì không

GV: Dạng 1 có hoạt động 2 là rỗng thìtrở về dạng 2, vậy dạng 2 là trường hợpđặc biệt của dạng 1

GV: Tương ứng với 2 dạng hành độngtrên, trong TP có cấu trúc rẽ nhánh vớicâu lệnh rẽ nhánh dạng đủ và dạngthiếu

GV: Chúng ta quay lại các ví dụ trên, em

Trang 26

nhưng câu lệnh ngay trước

else không có dấu chấm phẩy.

Ví dụ: Kiểm tra tính chẵn lẻ của số

nguyên dương N?

If (n MOD 2 =0) then write(‘N la

so chan’) else write(‘N la so le’);

+ Dạng thiếu:

If <Điều kiện> Then <Câu lệnh >;

Điều kiện được tính và kiểm tra,

nếu điều kiện đúng (có giá trị

TRUE) thì câu lệnh được thực

hiện, ngược lại (điều kiện có giá

Dạng 2: Nếu điều kiện đúng thì thựchiện câu lệnh, nếu sai thì không thựchiện câu lệnh

Gv: Chúng ta quay lại ví dụ giải pt bậc2: Em hãy chuyển các câu nếu thì sang câu lệnh If Then

HS:

- IF delta<0 Then write(‘pt vo nghiem’);

- IF delta=0 Thenwrite(‘pt co 1 nghiem duy nhat’);

- IF delta>0 Thenwrite(‘pt co 2 nghiem phan biet’);

- GV: Từ ví dụ 3 với các câu lệnh if thendạng thiếu, chúng ta có thể đưa về dạng

đủ được không?

HS: Đưa về dạng đủ được

GV: Chúng ta có thể đưa về dạng đủđược và dùng các câu lenẹh if then lồngnhau

IF delta<0 Then write(‘pt vo nghiem’)Else

IF delta=0 Thenwrite(‘pt co 1 nghiem duy nhat’)Else

write(‘pt co 2 nghiem phan biet’);

GV: Với các câu lệnh trên, chúng tachưa tính được giá trị của nghiệm, màchỉ đưa thông báo có nghiệm haykhông

GV: Chúng ta theo dõi ví dụ thì thấyrằng, trường hợp delta bằng 0 hoặc lớnhơn 0 , phải thực hiện 2 thao tác: tính

Trang 27

nhuận là năm chia

hết cho 400 hoặc chia

GV: Em hãy dùng câu lenẹh ghép đểviết lại ví dụ 3 trên?

HS:

IF delta<0 Then write(‘pt vo nghiem’)Else

IF delta=0 Then Begin

X:=-b/(2*a);

write(‘pt co 1 nghiem duy nhat’);

End Else Begin x1 := (-b+sqrt(delta))/(2*a);

x2 := (-b-sqrt(delta))/(2*a);

write(‘pt co 2 nghiem phan biet’);

end;

GV: Chúng ta xét một số ví dụ

Trang 28

- Nắm được cú pháp của câu lệnh rẽ nhánh dạng thiếu và dạng đủ

- Nắm được khi nào thì dùng câu lệnh dạng đủ và khi nào dùng câu lệnh dạngthiếu

- Nắm được câu lệnh ghép

- Biết sử dụng if the lồng nhau

- Bài tập về nhà: Bài 4 (sgk – tr.51) và bài 3.1; bài 3.2; 3.3; 3.5; 3.14; 3.15; 3.16;3.17; 3.18; 3.19; 3.20; 3.21 (sbt)

- GV: Hướng dẫn HS bài 3.18 và 3.19:

+ 3 số a, b, c thứ tự lập thành cấp số nhân có tính chất: b2=c*a

+ 3 số a, b, c thứ tự lập thành cấp số cộng có tính chất: b=(c+a)/2

Trang 29

-Biết đợc một chơng trình pascal hoàn chỉnh.

-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài toán cụ thể

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn, câu hỏi thảo luận

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

1.Hoạt động 1: bài toán Pitago.

10’ 1.Chiếu chơng trình lên bảng Yêu cầu học

sinh thực hiện các nhiệm vụ:

-Xác định bài toán?

- Nêu ý tởng?

- GV: Khi kiểm tra a, b, c có phải là bộ

pitago không, ta cần kiểm tra 3 số này thỏa

mãn đồng thời hay không 3 đẳng thức đó?

- Xảy ra không đồng thời, chỉ cần 1 trong 3

đúng là kết luận đợc Vậy, chúng ta dùng

hàm gì?

- Từ ý tởng xây dựng thuật toán?

1.Quan sát bảng và trả lời các câu hỏi

a2=b2+c2

b2=a2+c2

c2=b2+a2

- Không cần đồng thời Mà xảy ra 1trong 3 đẳng thức đúng là có thể kết luận

đợc nó là bộ pitago

- Dùng hàm logic OR để kiểm tra

- Thuật toán:

+ Nhập 3 số nguyên a, b, c+ Nếu (a2=b2+c2) OR (b2=a2+c2) OR(b2=a2+c2) thì thông báo “la bo pitago”rồi kết thúc

Trang 30

+ Thông báo “khong la bo pitago” rồikết thúc.

2.Hoạt động 2: Rèn kỹ năng lập chơng trình.

30’ 1 Dựa vào thuật toán viết chơng trình trình hoàn

Trang 31

-Biết đợc một chơng trình pascal hoàn chỉnh.

-Biết lựa chọn và tổ chức rẽ nhánh trong lập trình khi giải một bài toán cụ thể

- Viết và hiệu chỉnh, chạy chơng trình trình với các bộ dữ liệu khác nhau để kiểm trathuật toán

1.Chuẩn bị của giáo viên:

-Máy tính, máy chiếu prôjector

-Một số chơng trình mẫu viết sẵn, câu hỏi thảo luận

2.Chuẩn bị của học sinh:

-Sách giáo khoa, vở ghi

III-Hoạt động dạy và học:

* Kiểm tra 15 phút - Thực hành:

Viết chơng trình nhập vào 3 số nguyên dơng a, b, c Kiểm tra xem a, b, c theo thức tự có lập thànhcấp số nhân không? Nếu phải thì tăng mỗi số lên 2 đơn vị, rồi đa giá trị các số a, b, c ra màn hình?(Trong đó, a, b, c thứ tự lập thành cấp số nhân có tính chất: b2= a*c)

1.Hoạt động 1: Mở chơng trình trình Pitago và thực hiện, kiểm tra lỗi, hiệu chỉnh

3 Vào bảng Dubug mở cửa sổ hiệu chỉnh

để xem xem giá trị a2, b2, c2

4 Nhấn F7 để thực hiện các câu lệnh tính

những giá trị nói trên, so sánh với kết quả

2.Hoạt động 2: Test với các bộ dữ liệu, kỹ năng lập trình, sử dụng các câu lệnh khác nhau.

20’ 1 Chạy chơng trình theo các bớc nh tiét trớc với

a=700, b= 1000, c=800 1 chạy lại chơng trình tình vớibộ dữ liệu đó

Trang 32

2 Thay dãy các câu lệnh:

Thì kết quả có thay đổi không với bộ dữ liệu nh trên

2 HS thay đổi câu lệnh và kiểmtra trên máy bằng cách chạy ch-

ơng trình trình với bộ dữ liệutrên và trả lời câu hỏi

IV-Đánh giá cuối bài (5 ’ ):

1.Những nội dung chính:

-Các bớc hoàn thành một chơng trình: Xác định bài toán, thuật toán, soạn chơngtrình, lu, sử dụng các hàm chuẩn, cách thao tác iệu chỉnh, chạy chơng trình với các bộ dữliệu khác nhau

Trang 33

- Biết đợc ý nghĩa của cấu trúc lặp

- Biết đợc cấu trúc chung của câu lệnh lặp For - Do trong ngôn ngữ lập trình Pascal

- Biết sử dụng đúng hai dạng câu lệnh For trong ngôn ngữ lập trình Pascal

2 Kỹ năng

Bớc đầu sử dụng đợc lệnh For để lập trình giải quyết đợc một số bài toán đơn giản

II Đồ dùng dạy học

1 Chuẩn bị của giáo viên

Máy tính, máy chiếu, sách giáo khoa và sách giáo viên

2 Chuẩn bị của học sinh

Sách giáo khoa

III Hoạt động dạy - học

1 Hoạt động 1(15p): Tìm hiểu ý nghĩa của cấu trúc lặp

a Mục tiêu

- Học sinh thấy đợc sự cần thiết của cấu trúc lặp trong lập trình

b Nội dung

Bài toán 1: Viết chơng trình in ra màn hình dãy số nguyên liên tiếp từ 1 đến 5?

Bài toán 2: Viết chơng trình tính tổng S= 1/1+1/2+1/3+1/4+1/5

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

3’

7’

1 Chiếu bài toán 1

- Hãy xác định cách viết ra màn hình

dãy số nguyên liên tiếp từ 1 đến 5?

- Gợi ý: Chúng ta đã có câu lệnh đa

liên hệ đến việc chia táo: Có 5 quả

táo, quả đầu tiên đợc cả, quả thức 2

chia làm đôi và đợc một phân, quả

thức ba chia làm ba, đợc một phần…,

đến quả thứ 5, chia làm 5 phần và đợc

một phần Mỗi lần chia cộng vào sẽ

đợc tổng số táo đợc chia sau 5 lần

- Cách tính tổng S?

- Tơng tự nmh bài 1, chúng ta cũng

phải thao tác cộng mấy lần?

- Thuật toán bài 1?

- Viết thuật toán bài 2?

- Với thuật toán nh vậy, có thể sử

dụng câu lệnh If - Then không?

1 Chú ý quan sát bài toán đặt vấn đề

- Dùng câu lệnh write để viết các số ra mànhình

- Để viết 5 số từ 1 đến 5 ra màn hình thì dùng

5 câu lệnh write liên tiếp

- Cách tính tổng S:

+ Tính tổng 1+1/2+ Đợc kết quả bao nhiêu cộng với 1/3+ Đợc kết quả trên cộng với ẳ

+Đợc kết quả cộng với 1/5+ Tổng là kết quả sau 5 lần cộng dồn

- Thao tác cộng 5 lần mới cho kết quả

- Thuật toán:

+ B1: i  1;

+B2: Nếu i>5 thì xuống B5 +B3: Đa giá trị của i ra màn hình+B4: i  i+1, rồi quay lại B2

Trang 34

- Với câu lệnh IF - THEN khi điều

kiện đợc kiểm tra và cho kết quả

đúng chỉ thực hiện đợc 1 lần, không

có sự lặp lại Để thể hiện đợc thao tác

lặp, Turbo Pascal cung cấp cấu trúc

lặp

- Với bài toán này, thao tác ghi giá trị

của i đợc lặp 5 lần, tức là đã biết trớc

số lần lặp Để diễn tả thao tác lặp biết

trớc số lần lặp trong thuật toán Pascal

cung cấp câu lệnh FOR-DO

+B4: i  i+1, quay lại B2;

+B5: Đa ra S rồi kết thúc

- Không thể sử dụng câu lệnh IF - THEN vìcâu lệnh IF - THEN không thể hiện sự lặp đilặp lại 5 lần thao tác đa giá trị của i ra ngoàimàn hình

2 Hoạt động 2: Tìm hiểu câu lệnh lặp For của ngôn ngữ lập trình Pascal.

For, To, Do: Từ khóa

Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con

Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏhơn hoặc bằng giá trị cuối

- Sự thực hiện của máy:

+ Bớc 1: Tính giá trị đầu, gán cho biến đếm

+ Bớc 2: kiểm tra, nếu biến đếm <= giá trị cuối thì

For, DownTo, Do: Từ khóa

Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con

Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏhơn hoặc bằng giá trị cuối

- Sự thực hiện của máy:

+ Bớc 1: Tính giá trị cuối, gán cho biến đếm

+ Bớc 2: kiểm tra, nếu biến đếm >=giá trị đầu thì

Trang 35

- Sau mỗi lần thực hiện in giá trị của i

hoặc cộng dồn tổng thì i thay đổi nh thế

- Sau mỗi lần thực hiện in giá trị i hoặc

cộng dồn tổng thì giá trị i thay đổi nh thế

nào?

-Phát biểu dạng lặp trong trờng hợp này?

- Từ … Lùi về (quay về) …Thực hiện

(làm), tơng ứng trong tiếng Anh?

- Dạng lặp nh vậy gọi là lặp lùi

- Cấu trúc dạng lặp tiến và lùi:

For, To, DownTo Do: Từ khóa

Biến đếm: Là biến kiểu nguyên, ký

- Lần lợt với mỗi giá trị của i từ 1 đến 5thực hiện lệnh đa giá trị của i ra ngoàimàn hình

- Lần lợt với mỗi giá trị của i từ 1 đến 5,thực hiện cộng dồn 1/i vào tổng

- i đợc tăng lên một đơn vị

- Tơng ứng trong tiếng Anh:

For …….To…… Do

- Có thể tính từ số lớn lùi về đợc:

+Bài 1: Lần lợt với giá trị của i từ 5 lùi về

1 thực hiện lệnh đa giá trị của i ra ngoàimàn hình

+Bài 2: Lần lợt với mỗi giá trị của i từ 5lùi về 1, thực hiện cộng dồn 1/i vào tổng

Trang 36

tự hoặc miềm con.

- Giải thích sự thực hiện của máy 1 dạng

tiến và yêu cầu học sinh giải thích dạng

lùi

Gtrị đầu, Gtrị cuối là hằng, biểu

thức cùng kiểu với biến đếm Giá trị đầu

phải nhỏ hơn hoặc bằng giá trị cuối

- ý nghĩa của giá trị đầu và giá trị cuối?

- Đối với bài 1 và 2 thì giá trị đầu và giá trị

cuối bằng bao nhiêu?

- Dùng để giới hạn biến đếm (giới hạnvòng lặp)

- Giá trị đầu và giá trị cuối trong bài 1 và

2 là: Giá trị đầu = 1, giá trị cuối = 5

3 Hoạt động 3: Rèn luyện kỹ năng dùng câu lệnh FOR.

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

10p 1 Nêu bài toán 1

+ Xác định giá trị đầu, giá trị cuối

- Giá trị đầu, giá trị cuối, lệnh lặp?

- Viết thành câu lệnh lặp For

- Giá trị đầu = 1, giá trị cuối = 5;

- Lệnh lặp là lệnh in giá trị của i ra mànhình: Write(i);

- For i:=1 To 5 Do write(i);

- For i:=5 DownTo 1 Do write(i);

- Giá trị đầu = 1, giá trị cuối = N

- S:=0

- For i:=1 To N Do S:=S+1/i;

IV Củng cố bài - bài tập về nhà (5p)

- Cú pháp câu lệnh lặp biết trớc số lần lặp ở 2 dạng: Tiến và lùi

- Bài tập về nhà sgk - tr.51, sbt - bài tập chơng trình 3 - tr.18

Trang 37

- Biết đợc ý nghĩa của cấu trúc lặp với số lần cha biết trớc số lần lặp

- Biết đợc cấu trúc chung của câu lệnh lặp While - Do trong ngôn ngữ lập trình Pascal

- Biết sử dụng đúng hai dạng câu lệnh WHILE trong ngôn ngữ lập trình Pascal

2 Kỹ năng

Bớc đầu sử dụng đợc lệnh While để lập trình giải quyết đợc một số bài toán đơn giản

II Đồ dùng dạy học

1 Chuẩn bị của giáo viên

Máy tính, máy chiếu, sách giáo khoa và sách giáo viên

2 Chuẩn bị của học sinh

Sách giáo khoa

III Hoạt động dạy - học

* Kiểm tra bài cũ (5ph):

- Một học sinh lên viết cú pháp dạng lặp tiến và lùi, giải thích các thành phần của câu lệnh

- Một học sinh lên bảng vẽ sơ đồ thực hiện và nêu cách thực hiện của máy

1 Hoạt động 1(15p): Tìm hiểu ý nghĩa của cấu trúc lặp cha biết trớc số lần lặp

a Mục tiêu

- Học sinh thấy đợc sự cần thiết của cấu trúc lặp có số lần cha xác định trong lập trình

b Nội dung

Bài toán 1: Bài toán bỏ bi vào thùng?

Bài toán 2: Viết chơng trình tính tổng S=1+1/2+1/3+1/4+…1/N+… cho đến khi 1/N<0.0001

c Các b ớc tiến hành

TG Hoạt động của giáo viên Hoạt động của học sịnh

10’ 1 Chiếu nội dung bài 1:

- Hỏi: Trong bài toán này có sự lặp đi lặp lại

không? Nếu có thì công việc nào đợc lặp đi

lặp lại?

- Hỏi: Trong bài toán này, chúng ta có biết bỏ

bao nhiêu lần bi thì đầy thùng không?

- Hỏi: Lặp bao nhiêu lần?

- Hỏi: Lặp đến khi nào?

- Chiếu hình ảnh mô phỏng

2 Chiếu nội dung bài 2

- Chiếu lại nội dung bài toán trớc và bài toán

2

- Hỏi: Trong 2 bài toán này có gì khác nhau?

- Hỏi: (Có biết đến khi nào thì 1/N<0.0001)

Lặp bao nhiêu lần?

- Hỏi: Đến khi nào?

- Chúng ta đã có cấu trúc câu lệnh lặp đã biết

trớc số lần lặp với câu lệnh For Nhng trong

thực tế, có nhiều sự việc, bài toán có sự lặp

mà không biết trớc số lần lặp Turbo Pascal

cung cấp câu lệnh lặp không biết trớc số lần

lặp: While - Do

- Trong bài toán có sự lặp đi lặp lại,công việc bỏ bi vào thùng đợc lặp đilặp lại

- Lặp không biết số lần lặp

- Lặp đến khi thùng đầy

- Chú ý theo dõi kỹ để trả lời câu hỏi

- Bài trớc: Lặp với số lần biết trớc (Nlần)

- Bài toán này: Lặp không biết trớc sốlần lặp

- Không biết trớc số lần lặp

- Lặp đến khi nào 1/N<0.0001

2 Hoạt động 2: Tìm hiểu cấu trúc lặp While - Do trong ngôn ngữ lập trình Pascal

a Mục tiêu:

Trang 38

- Học sinh biết đợc cấu trúc chung của câu lệnh While Hiểu đợc ý nghĩa của các thành phầntrong lệnh Biết đợc sự thực hiện của máy khi gặp while Vẽ đợc sơ đồ thực hiện đó.

b Nội dung

Cấu trúc:

While <điều kiện> Do <lệnh cần lặp>;

Trong đó: While, Do: Từ khóa

Điều kiện: Là biểu thức quan hệ hoặc biểu thức logic

Câu lệnh là một câu lệnh nào đó của Pascal

- Sự thực hiện của máy:

+ Bớc 1: Tính và kiểm tra điều kiện

+ Bớc 2: Nếu điều kiện đúng (có giá trị True) thì thực hiẹn câu lệnh cần lặp, rồi quay lại ớc1 Nếu sai thì thoát khỏi câu lệnh while - do

của bài 2 nh thế nào?

- Hỏi: Điều kiện nào đợc thỏa mãn thì bỏ bi

While <điều kiện) Do <câu lệnh cần lặp>;

- Giải thích các thành phần của câu lệnh, cách

thực hiện của máy

- Hỏi: Trong bài toán 2 thì câu lệnh cần lặp?

- Hỏi: Viết sơ đồ thực hiện?

- Hỏi: Trong câu lệnh FOR biến chỉ số thay đổi

nh thế nào?

- Nhng trong câu lệnh While thì biến chỉ số

không đợc thay đổi giá trị tự động mà phải có

một câu lệnh thay đổi giá trị của biến đếm

- Hỏi: Vậy, sau từ khóa DO có ít nhất mấy câu

- Bỏ bi vào thùng đến khi nào đầythùng thì dừng

- Sau từ khóa DO có ít nhất 2 câulệnh, một câu lệnh cần lặp và một

F T

Điều kiện

Câu lệnh cần lặp

Trang 39

- Hỏi: Theo cú pháp thì sau DO chỉ có một câu

lệnh nào đó của Pascal, muốn thực hiện ít nhất

2 câu lệnh sau DO thì phải sử dụng câu lenẹh

nào?

- Để sau DO thực hiện đợc ít nhất 2câu lệnh thì sau DO là câu lệnhghép, ghép các câu lệnh này thànhmột câu lệnh

3 Hoạt động 3: Rèn luyện kỹ năng vận dụng câu lệnh lặp không biết trớc số lần lặp While

a Mục tiêu:

- Học sinh biết sử dụng đúng lệnh While để lập trình giải quyết giải các bài toán đơn giản

b Nội dung

Bài 1: Viết chơng trình tính tổng S=1+1/2+1/3+1/4+…1/N+… cho đến khi 1/N<0.0001?

Bài 2: Viết chơng trình tìm ớc chung lớn nhất của hai số nguyên dơng a và b?

c Các bớc tiến hành

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

1 Chiếu nội dung bài 1 Mục tiêu là viết

ch-ơng trình hoàn thiện

- Định hớng các vấn đề chính

+ Xác định điều kiện để tiếp tục lặp

+ Xác định các lệnh cần lặp

- Yêu cầu học sinh viết chơng trình hoàn

chỉnh và gọi một học sinh lên bảng viết

ch-ơng trình hoàn chỉnh, rồi nhận xét

- Chiếu lại bài toán 2 của tiết trớc: Viết

ch-ơng trình tính tổng: S=1+1/2+…+1/N

Chúng ta có thể sử dụng câu lệnh While - Do

đợc không? Nếu đợc thì điều kiện là gì?

- Vậy, trờng hợp lặp với số lần biết trớc là

tr-ờng hợp đặc biệt của lặp không biết trớc số

lần lặp Mọi câu lệnh For - Do chúng ta đều

có thể chuyển về câu lenẹh While - Do đợc

- Hỏi: Chuyển từ câu lệnh FOR sang câu

lệnh WHILE nh thế nào?

2 Chiếu nội dung bài 2

- Hỏi: Thuật toán tìm ớc chung lớn nhất của

2 số nguyên dơng a và b?

- Hỏi: Điều kiện lặp?

- Hỏi: Lệnh cần lặp?

- yêu cầu học snh viết chơng trình?

- Hỏi: Để giải quyết đợc các bài toán lặp cần

chỉ trả lời đợc hai câu hỏi nào?

- B2: Nếu a=b thì ucln=a, rồi kết thúc

- B3: Nếu a>b thì a:=a-b, rồi quay lại b2;

- B4: b:=b-a, rồi quay lại b2;

- Điều kiện lặp: a<>b

- Lệnh cần lặp là a:=a-b hoặc b:=b-a;

- Phai trả lời đợc hai câu hỏi:

+ Điều kiện lặp?

+ lệnh cần lặp?

IV Bài tập về nhà: Bài 4, 5b, 7, 8 - sgk - tr.51 + sbt - tr 18 - tr.29

Trang 40

Tiết 16

Bài tập câu lệnh lặp

Mục tiêu

1 Kiến thức

- Củng cố câu lệnh lặp For - Do và câu lệnh While - Do

- Biết vận dụng 2 câu lệnh lặp cho mỗi bài toán

- Biết cách thực hiện của máy ở cả lặp biết trớc số lần lặp và lặp không biết trớc số lần lặp

2 Kỹ năng

Bớc đầu sử dụng đợc lệnh While và câu lệnh FOR để lập trình giải quyết đợc một số bàitoán đơn giản

II Đồ dùng dạy học

1 Chuẩn bị của giáo viên

Máy tính, máy chiếu, sách giáo khoa và sách giáo viên

2 Chuẩn bị của học sinh

For, To, Do: Từ khóa

Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con

Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏhơn hoặc bằng giá trị cuối

- Sự thực hiện của máy:

+ Bớc 1: Tính giá trị đầu, gán cho biến đếm

+ Bớc 2: kiểm tra, nếu biến đếm <= giá trị cuối thì

For, DownTo, Do: Từ khóa

Biến đếm: Là biến kiểu nguyên, ký tự hoặc miềm con

Gtrị đầu, Gtrị cuối là hằng, biểu thức cùng kiểu với biến đếm Giá trị đầu phải nhỏhơn hoặc bằng giá trị cuối

- Sự thực hiện của máy:

+ Bớc 1: Tính giá trị cuối, gán cho biến đếm

+ Bớc 2: kiểm tra, nếu biến đếm >=giá trị đầu thì

Thực hiện câu lệnh cần lặp,

Giảm biến đếm lên 1 đơn vị rồi quay lại Bớc 2

- Dạng lặp không biết trớc số lần lặp:

Cấu trúc:

Ngày đăng: 20/04/2021, 16:06

w