1. Trang chủ
  2. » Thể loại khác

Giáo án tin học 11 chuẩn không cần chỉnh 2012

90 1K 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 90
Dung lượng 1,49 MB

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

Nội dung

Nội dung bài mới: Chú ý: Các diễn giải bằng ngôn ngữ tự nhiên được đặt giữa cập dấu < và >, cácthành phần của CT có thể có hoặc không cóđược đặt trong cặp dấu [ và ] GV: Các em hãy quan

Trang 1

- Biết khái niệm về 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 biên dịch và thông dịch

2 Kỹ năng:

- Chưa đòi hỏi kỹ năng gì

3 Thái độ:

- Nghiêm túc trong học tập, say mê với môn học

II - CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: SGK, SGV, Bài soạn

2 Học sinh: SGK, vở ghi bài

III - TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

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

3 Nội dung bài giảng:

GV: (nêu ví dụ) – Giả sử ta muốn gõ

được một trang văn bản (trong máy

tính thì ta cần dùng một phần mềm

cho phép gõ văn bản (như Microsoft

Word chẳng hạn), tương tự như vậy

để có được các chương trình ta phải

đó để mô tả dữ liệu và diễn đạtcác thao của thuật toán

nào là ngôn ngữ máy, ngôn ngữ bậc

cao Vậy em hãy cho biết ngôn ngữ

máy và ngôn ngữ bậc cao khác nhau

Trang 2

GV: Nhận xét, kết luận.

GV: Vì lý do như vậy cho nên muốn

máy tính thực hiện được các ngôn

ngữ lập trình bậc cao người ta phải

xây dựng một chương trình dùng để

chuyển đổi, chương trình đó gọi là

chương trình dịch

bằng ngôn ngữ LT bậc cao thành CT thựchiện được trên máy tính;

- CT dịch nhận đầu vào là CT viết bằngNNLT bậc cao (CT nguồn), thực hiệnchuyển đổi sang NN máy

GV: Như vậy sau khi có được khái

niệm thông dịch và biên dịch ta cần

4 CỦNG CỐ:

- Hãy tóm tắt lại các kiến thức đã học trong bài?

- Nêu KN NNLT? Chương trình dịch? Phân biệt thông dịch và biên dịch?

5 DẶN DÒ:

- Trả lời các câu hỏi: 1 3 (SGK Tr.13)

- Đọc bài đọc thêm 1: Bạn biết gì về ngôn ngữ lập trình (SGK – Tr.6).

- Biết các thành phần cơ sở của một ngôn ngữ lập trình bậc cao cụ thể: Bảng chữ cái,

tên, tên chuẩn, tên riêng (từ khóa), hằng và biến

2 Kỹ năng:

- Phân biệt được Tên, Hằng và Biến Biết đặt tên đúng

3 Thái độ:

- Nghiêm túc trong học tập, say mê với môn học

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ:

Trang 3

Em hãy cho biết chương trình dịch là gì? Tại sao cần phải có chương trình

dịch?

3 Nội dung bài mới:

GV: Trước tiên ta tìm hiểu bảng chữ

cái Bảng chữ cái bao gồm: các chữ

cái (tiếng Anh), các chữ số và các ký

trong CT Các lỗi cú pháp được CT

dịch phát hiện và thông báo cho

người lập trình biết Chỉ có các CT

không còn lỗi cú pháp mới có thể

được dịch sang NN máy

b) Cú pháp: là bộ quy tắc để viết chương trình.

Dựa vào chúng, người lập trình và CT dịch biếtđược tổ hợp nào của các ký tự trong bảng chữcái là hợp lệ và tổ hợp nào là không hợp lệ.Nhờ đó có thể mô tả chính xác thuật toán đểmáy thực hiệ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 ký tự dựa vàongữ cảnh của nó

Hoạt động 2

GV: Khi chúng ta được sinh ra, để

phân biệt được mỗi người đều được

đặt tên Tương tự như vậy, mỗi đối

tượng trong CT đều phải được đặt

tên theo quy tắc của NNLT và CT

- Các tên sai:

Trang 4

GV: Từ ví dụ trên kết hợp với đọc

SGK – Tr 10 em hãy cho biết cách

đặt tên một dãy trong Pascal?

HS: đọc SGK, trả lời câu hỏi

GV: Nhận xét, kết luận

GV: Nhiều ngôn ngữ LT, trong đó

có Pascal, phân làm 3 loại tên

S KD5ypc$GH

* Cách đặt tên cho một dãy trong Turbo Pascal:

- Không quá 127 ký tự

- Gồm: chữ số, chữ cái hoặc dấu gạch dưới

- Bắt đầu bằng chữ cái hặc dấu gạch dưới

Tên dành riêng:

VD: trong Pascal: program; uses, const, type,var, begin…

KN: tên dành riêng là tên được NNLT dùng

với ý nghĩa riêng xác định, người lập trìnhkhông được sử dụng với ý nghĩa khác

Tên chuẩn:

VD: trong Pascal: abs, aqr, byte, real, longint

KN: tên chuẩn là tên được NNLT dùng với ý

nghĩa nhất định nào đó, người lập trình có thểkhai báo và sử dụng chúng với ý nghĩa và mụcđích khác

Tên do người LT đặt:

VD: A, B, Delta, vi_du, x,…

KN: Tên do người LT đặt được dùng với ýnghĩa riêng, xác định bằng cách khai báo trướckhi sử dụng Các tên này không được trùng vớitên dành riêng

Hoạt động 3

GV: Em hãy cho biết em hiểu thế

nào là hằng? Theo em hằng ở đây có

giống với hằng trong toán không?

HS: Trả lời câu hỏi

KN: Hằng là đại lượng có giá trị không đổi

trong quá trình thực hiện CT

- Hằng số học: là các số nguyên hay thực.VD: 2 0 -7 1.5 +34.9

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

- Hằng xâu: là chuỗi ký tự trong bộ mãASCII Khi viết, chuỗi ký tự này được đặttrong dấu nháy

VD: Trong Turbo Pascal: ‘KHOI 11’…

Trang 5

- Đọc lại bài trong SGK.

- Trả lời các câu hỏi sau bài học (SGK – Tr.13)

- Ôn tập lại các kiến thức đã học trong tiết 1 và 2;

- Nắm chắc hơn các khái niệm: CT dịch; trình biên dịch; trình thông dịch; tên dànhriêng…

2 Kỹ năng:

- Biết cách đặt tên trong TP;

- Nhận biết được tên đúng, sai trong Pascal

3 Thái độ:

- Nghiêm túc trong học tập, say mê môn học; rèn luyện tính cẩn thận sáng tạo tronglập trình

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK, học bài cũ ở nhà

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ:

Em hãy cho biết hằng là gì? Thường có các loại hằng nào?

3 Nội dung bài mới:

Hoạt động 1: (Cho HS làm các câu

GV: (Câu 2) – CT dịch là gì? Tại sao

phải có CT dịch? Em hãy cho biết

Input và Output của CT dịch?

Câu 1:

- Ngôn ngữ bậc cao gần với ngôn ngữ tựnhiên hơn, thuận tiện cho đông đảo ngườilập trình;

- CT viết bằng ngôn ngữ bậc cao nói chungkhông phụ thuộc vào phần cứng máy tính

và một CT có thể thực hiện trên nhiều loạimáy tính khác nhau;

- CT viết bằng NN bậc cao dễ hiểu, dễ hiệuchỉnh và dễ nâng cấp;

- NN bậc cao cho phép làm việc với nhiềukiểu dữ liệu và cách tổ chức dữ liệu đadạng, thuận lợi cho mô tả thuật toán

Câu 2:

- CT dịch là CT đặc biệt, có chức năng

Trang 6

HS: Tìm hiểu, trả lời câu hỏi.

GV: Kết luận

GV: (Câu 3) – Biên dịch và thông

dịch khác nhau như thế nào?

HS1: Trả lời câu hỏi

HS2: Nhận xét, bổ sung (nếu có)

GV: Nhận xét, kết luận

GV: (Câu 4) – Hãy cho biết các điểm

khác nhau giữa tên dành riêng và tên

chuẩn?

HS1: Trả lời câu hỏi

HS2: Nhận xét, bổ sung (nếu có)

GV: Nhận xét, kết luận

GV: (Câu 5) – Hãy viết ra 3 tên đúng

theo quy tắc của Pascal?

HS1: Lên bảng làm bài

HS2: Nhận xét

GV: Kết luận

GV: (Câu 6) – Hãy cho biết những

biểu diễn nào sau đây không phải là

biểu diễn hằng trong Pascal?

- Input: CT nguồn; Output: CT đích

Câu 3:

- Trình biên dịch duyệt, kiểm tra, phát hiệnlỗi, xác định CT nguồn có dịch đượckhông, dịch toàn bộ CT nguồn thành một

CT đích có thể thực hiện được trên máytính cụ thể và có thể lưu lại để sử dụng vềsau khi cần thiết

- Trình thông dịch lần lượt dịch từng câulệnh ra ngôn ngữ máy rồi thực hiện ngaycâu lệnh vừa dịch được hoặc báo lỗi nếukhông dịch được

Hãy chọn đáp câu trả lời mà em cho là đúng nhất

1 Chương trình viết bằng NN bậc cao không có đặc điểm nào trong các đặc điểm sau?

A Không phụ thuộc vào loại máy, CT có thể thực hiện trên nhiều loại máy

B Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và nâng cấp

C Kiểu dữ liệu vàd cách tổ chức dữ liệu đa dạng

D Máy tính có thể hiểu và thực hiện trực tiếp CT này

2 CT dịch không có khả năng nào trong các khả năng sau?

A Phát hiện được lỗi ngữ nghĩa

B Phát hiện được lỗi cú pháp

C Thông báo lỗi cú pháp

Trang 7

- Hiểu CT là sự mô tả của thuật toán bằng một NNLT;

- Biết cấu trúc của một chương trình: cấu trúc chung và các thành phần;

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

3 Thái độ:

- Nghiêm túc và say mê môn học, sáng tạo trong lập trình

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

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

3 Nội dung bài mới:

Chú ý: Các diễn giải bằng ngôn ngữ tự

nhiên được đặt giữa cập dấu < và >, cácthành phần của CT có thể có hoặc không cóđược đặt trong cặp dấu [ và ]

GV: Các em hãy quan sát ví dụ sau

và cho biết cú pháp của câu lệnh

khai báo tên chương trình.

Trang 8

GV: Kết luận.

GV: Thường ngày chúng ta muốn

làm một công việc nào đó mà không

có dụng cụ để làm thì ta phải mượn

trước Trong lập trình cũng tương tự

như vậy, ta muốn thực hiện một

công việc nào đó thì đó ta phải khai

báo thành phần đó trước

GV: Trước tiên là khai báo thư viện

GV: Đưa ra ví dụ

GV: Tại sao lại phải khai báo biến?

Nếu không khai báo biến thì trong

CT ta có thể sử dụng được biến đó

không?

HS: Đọc SGK, trả lời

GV: Kết luận

Program <tên chương trình>;

Khai báo thư viện: muốn sử dụng thư viện nào thì ta cần phải khai báo thư viện đó trước.

- Ví dụ:

+ Trong Pascal: uses crt;

+ Trong C++: #include <stdio.h>

const int Max=400;

const float pi=3.14;

……

Khai báo hằng thường được sử dụng chonhững giá trị xuất hiện nhiều lần tronbgCT

Khai báo biến:

- Ví dụ: khi khảo sát PT đường thẳngax+by+c=0, các hệ số a, b, c có thể đượckhai báo như những biến đơn

- Tất cả các biến dùng trong CTY đều phảiđặt tên và phải khai báo cho CT dịch biết

để lưu trữ và xử lý Biến chỉ nhận một giátrị tại mỗi thời điểm thực hiện CT được gọi

là biến đơn

GV: Các em hãy quan sát đoạn thân

CT trong Pascal sau và cho biết thân

CT được quy định như thế nào

Trang 9

- Đọc lại bài trong SGK, làm các bài tập trong SBT

- Đọc trước bài 4 – Một số kiểu dữ liệu chuẩn.

Ngày giảng:

-Tiết theo PPCT: 05

Bài 4 – MỘT SỐ KIỂU DỮ LIỆU CHUẨN

Bài 5 – KHAI BÁO BIẾN

I – MỤC TIÊU:

1 Kiến thức:

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

- Hiểu cách khai báo biến

2 Kỹ năng:

- Xác định được kiểu cần khai báo của dữ liệu đơn giản;

- Biết cách khai báo biến đúng

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy choi biết sự khác nhau giữa hằng và biến? Tại sao phảikhai báo biến?

3 Nội dung bài mới:

GV: ở CT lớp 10 chúng ta đã có

khái niệm dữ liệu, vậy em hãy nhắc

lại khái niệm dữ liệu là gì?

HS: Trả lời

GV: Kết luận

GV: Trong toán học chúng ta đã

biết thế nào là số nguyên Vậy dựa

vào kiến thức đó em có thể cho biết

thế nào là kiểu nguyên?

HS: Trả lời

GV: Nhận xét, kết luận

GV: Chúng ta mở SGK – Tr.21 để

biết miền giá trị trị của kiểu nguyên

Bài 4 Một số kiểu dữ liệu chuẩn

Dữ liệu là thông tin đã mã hoá trong máy tính.

1 Kiểu nguyên.

Các kiểu nguyên được lưu trữ và kết quả

tính toán là số đúng, nhưng có hạn chế vềmiền giá trị Tập số nguyên là vô hạn và cóthứ tự, đếm được nhưng trong máy tính thìkiểu nguyên là hữu hạn, có thứ tự

Kiểu Bộ nhớ

lưu trữmột giátrị

Phạm vi giá trị

byte 1 byte Từ 1 đến 255Integer 2 byte Từ –215 đến 215 – 1

Trang 10

Word 2 byte Từ 0 đến 216 – 1longint 4 byte Từ – 231 đến 231 – 1

GV: Em hiểu thế nào là số thực?

HS: Trả lời

GV: Nhận xét

GV: Chúng ta hãy xem SGK –

Tr.21 để hiểu thế nào là kiểu thực

và miền giá trị của kiểu thực

2 Kiểu thực.

Các kiểu thực được lưu trữ và kết quả tính

toán chỉ là gần đúng với sai số không đáng

kể (so với yêu cầu tính toán của các bài toánthông thường), nhưng miền giá trị được mởrộng hơn so với kiểu nguyên Số thực trongmáy tính là hữu hạn

lưu trữmột giá trị

Phạm vi giá trị

Real 6 byte 0 hoặc có giá trị

tuyệt đối nằmtrong phạm vi từ

10-38 đến 1038

extended 10 byte 0 hoặc có giá trị

tuyệt đối nằmtrong phạm vi từ

10-4932 đến 104932

GV: Em hãy đọc SGK – Tr.22 và

cho biết em hiểu thế nào là kiểu ký

tự? Khi nào thì dùng kiểu ký tự?

Kiểu ký tự có tập giá trị là các ký tự trong

bảng mã ASCII, được dùng khi thông tin làcác ký tự, xâu (string) Kiểu ký tự cũng làkiểu có thứ tự, đếm được Việc so sánh các

ký tự được thực hiện bằng cách so sánh các

mã ASCII của chúng

Kiểu Bộ nhớ lưu

trữ một giátrị

Phạm vi giá trị

Char 1 byte 256 ký tự trong bộ

mã ASCII

GV: Lấy một ví dụ về kiểu logic 4 Kiểu logic.Kiểu logic trong Pascal chỉ có hai giá trị

đúng (true) hoặc sai (false), được dùng khi kiểm tra điều kiện hay tìm giá trị của một biểu thức logic

lưu trữmột giá trị

khai báo biến trong pascal vậy em

có thể đưa ra cú pháp để khai báo

Bài 5 Khai báo biến

Trang 11

HS: trả lời câu hỏi

GV: kết luận Trong Pascal, khai báo biến có dạng:Var <danh sách biến>:<kiểu dữ liệu>;

Trong đó:

- danh sách biến là một hoặc nhiều tên biến,

các tên biến được viết cách nhau bởi dấu phảy

- kiểu dữ liệu thường là một trong các kiểu

dữ liệu chuẩn hoặc kiểu dữ liệu do người lập trình định nghĩa

- Sau từ khoá var có thể khai báo nhiều danh

sách biến khác nhau, tức là cấu trúc:

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

- Viết được lênh gán;

- Viết được các biểu thức số học và logic với các phép toán thông dụng;

- Viết được một số lênh vào ra đơn giản

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy trình bày cách khai báo biến? Cho ví dụ

3 Nội dung bài mới:

Trang 12

Hoạt động của GV và HS Nội dung kiến thức

GV: Tượng tự như trong toán học,

trong các ngôn ngữ lập trình đều có

các phép toán số học như: cộng,

trừ, nhân, chia, các phép toán chia

lấy phần nguyên và chia lấy phần

dư, các phép toán quan hệ…

GV: Các em hãy quan sát bảng

(SGK – Tr.24) để thấy được các

phép toán trong toán học đó ứng

với trong Pascal thì dùng như thế

sát các ví dụ sau rồi hãy cho biết

em hiểu thế nào là biểu thức số

- Biểu thức số học là một biến kiểu số hoặcmột hằng số hoặc các biến kiểu số và hằng

số liên kết với nhau bởi một số hữu hạnphép toán số học

- Viết biểu thức toán số học trong lập trìnhtuân theo quy tắc sau:

+ Chỉ dùng cặp ngoặc tròn để xác định trình

tự thực hiện phép toán trong trường hợp cầnthiết;

+ Viết lần lượt từ trái sang phải;

+ Không được bỏ qua dấu nhân (*) trongtích;

- Các phép toán được thực hiện theo trình tự:+ Thực hiện các phép toán trong ngoặctrước;

Trong dãy các phép toán không chứa ngoặcthì thực hiện từ trái sang phải theo thứ tựcác phép toán: *, /, div, mod, +, -

Trang 13

GV: Từ các ví dụ trên kết hợp với

SGK – Tr.27 em hãy cho biết khái

niệm biểu thức quan hệ?

HS: Trả lời câu hỏi

Biểu thức logic là các biểu thức logic đơn

giản, các biểu thức quan hệ liên kết với nhau

bởi phép toán logic.

Giá trị của biểu thức logic là true hoặc false.

Phép toán not dược viết trước biểu thức cần

phủ định

Các phép toán or và and dùng để liên kết

nhiều biểu thức logic hoặc quan hệ thànhmột biểu thức

Trong Pasacl câu lệnh gán có dạng:

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

Chức năng của câu lênh gán là: đặt cho biến có tên ở vế trái dấu “:=” giá trị mới bằng giá trị của biểu thức ở vế phải.

Trang 14

Ngày giảng:

Tiết theo PPCT: 07

Bài 7 – CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN

GIẢN Bài 8 – SOẠN THẢO, DỊCH, THỰC HIỆN VÀ

- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;

- Biết một số công cụ của môi trường Turbo Pascal

2 Kỹ năng:

- Viết được một số lệnh vào ra đơn giản;

- Bước đầu sử dụng được CT dịch để phát hiện lỗi

3 Thái độ:

- Nghiêm túc, hăng hái phát biểu xây dựng bài

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy viết các biểu thức sau dưới dạng các biểu thức trongTurbo Pascal:

(cx + d)(x2 – 9)/2y

và hãy cho biết biểu thức trên được thực hiện như thế nào?

3 Nội dung bài mới:

GV: Vậy qua 2 ví dụ trên kết hợp

đọc SGK – Tr.29 em hãy cho biết

thế nào là các thủ tục vào/ra đơn

giản?

HS: Trả lời

GV: Nhận xét, kết luận

GV: Trong phần này, ta sẽ xét các

thủ tục chuẩn vào/ra đơn giản của

Pascal để nhập dữ liệu vào từ bàn

phím và đưa thông tin ra màn hình

Bài 7 – Các thủ tục chuẩn vào/ra đơn giản

Ví dụ 1: Để in ra màn hình dòng thông báo

“XIN CHAO CAC BAN” ta sử dụng câu lệnhsau:

Write(‘XIN CHAO CAC BAN’);

Ví dụ 2: Để nhập các giá trị a, b, c của phương

trình bậc 2: ax2 + bx + c = 0 vào từ bàn phím ta

sử dụng câu lệnh sau:

Readln(a,b,c);

Các thủ tục vào/ra đơn giản là các chương

trình đưa dữ liệu vào từ bàn phím hoặc từ đĩa vào gán cho các biến và các chương trình dùng để đưa các kết quả ra màn hình, in ra giấy hoặc lưu trên đĩa.

Trang 15

GV: Các em hãy quan sát ví dụ trên

cho danh sách biến và nhấn Enter thì

việc nhập giá trị cho danh sách biến

mới kết thúc và lệnh tiếp theo được

Việc nhập giá trị cho danh sách biến phải chú

ý các giá trị được nhập có kiểu tương ứng vớicác biến trong danh sách; giữa hai giá trị liêntiếp phải nhấn phím Space hoặc phím Enter.Việc nhập giá trị của biến từ bàn phím đượckết thúc bởi việc nhấn phím Enter nên không

phân biệt read và readln Do đó khi nhập từ bàn phím nên dùng readln.

GV: Các em hãy quan sát ví dụ sau

Readln(a,b);

Khi thực hiện các lệnh này, trên màn hìnhxuất hiện dòng thông báo:

Hay nhap gia tri a, b=

Để đưa dữ liệu ra màn hình Pascal cung cáp thủ tục chuẩn:

write(<danh sách kết quả ra>);hoặc:

writeln(<danh sách kết quả ra>);

Trong đó: danh sách KQ ra có thể là tên biến đơn, biểu thức hoặc hằng

Chú ý: Với thủ tục write, sau khi đưa các

kết quả ra màn hình, con trỏ không chuyển xuống dòng tiếp theo Với thủ tục writeln, sau khi đưa thông tin ra màn hình con trỏ chuyển xuống đầu dòng tiếp theo.

Trang 16

GV: Các em hãy tìm hiểu trong

SGK – Tr.32, 33 và cho biết thế nào

là soạn thảo, dịch, thực hiện CT

- Lưu CT: Nhấn phím F2 -> đặt tên ->Enter

- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;

- Biết một số công cụ của môi trường Turbo Pascal

2 Kỹ năng:

- Viết được một số lệnh vào ra đơn giản;

- Bước đầu sử dụng được CT dịch để phát hiện lỗi

3 Thái độ:

- Nghiêm túc trong quá trình thực hành

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

Trang 17

b) Nhấn phím F2 để lưu lại chương trình

với tên là PTB2.PAS lên đĩa.

c) Nhấn tổ hợp phím Alt + F9 để dịch và

sửa lỗi cú pháp (nếu có).

d) Nhấn tổ hợp phím Ctrl + F9 để thực

hiện chương trình.Nhập các giá trị 1; -3

và 2 Kết quả thu được: x1 = 1; x2 = 2.

h) Sửa lại CT sao cho không cần dùng

biến trung gian Delta Thực hiện CT đã sửa với bộ dữ liệu trên rồi quan sát KQ.

i) Thực hiện CT với bộ dữ liệu 1; 1; 1 và

- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;

- Biết một số công cụ của môi trường Turbo Pascal

2 Kỹ năng:

- Viết được một số lệnh vào ra đơn giản;

- Bước đầu sử dụng được CT dịch để phát hiện lỗi

3 Thái độ:

- Nghiêm túc trong quá trình thực hành

Trang 18

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

k) Nhấn phím F2 để lưu lại chương trình

với tên là PTB2.PAS lên đĩa.

l) Nhấn tổ hợp phím Alt + F9 để dịch và

sửa lỗi cú pháp (nếu có).

m) Nhấn tổ hợp phím Ctrl + F9 để thực

hiện chương trình.Nhập các giá trị 1; -3

và 2 Kết quả thu được: x1 = 1; x2 = 2.

q) Sửa lại CT sao cho không cần dùng

biến trung gian Delta Thực hiện CT đã sửa với bộ dữ liệu trên rồi quan sát KQ.

r) Thực hiện CT với bộ dữ liệu 1; 1; 1 và

Trang 19

- Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh CT;

- Biết một số công cụ của môi trường Turbo Pascal

2 Kỹ năng:

- Viết được một số lệnh vào ra đơn giản;

- Bước đầu sử dụng được CT dịch để phát hiện lỗi

3 Thái độ:

- Nghiêm túc trong quá trình thực hành

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV

2 Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: không

3 Nội dung :

GV: Yêu cầu HS trả lời các câu hỏi

Chương trình:

Var a: real;

Begin Write(‘Nhap gia tri a (a>0):’);

Readln(a);

Write(‘Dien tich phan gach la:’,a*a*pi/2:20:4);

Trang 20

Write(‘Nhap do cao cua vat h =’);

I – MỤC TIÊU:

1 Kiến thức: (Học sinh)

- Hiểu nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán;

- Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đủ);

- Hiểu 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 lệnh rẽ nhánh dạng khuyết, rẽ nhánh dạng đầy đủ và áp dụng để thểhiện được thuật toán của một số bài toán đơn giản

3 Thái độ:

- Nghiêm túc, tích cực phát biểu xây dựng bài

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV.

2 Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ.

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy viết các biểu thức sau dưới dạng các biểu thức trong

Turbo Pascal:

(cx + d)(x2 – 9)/2y

và hãy cho biết biểu thức trên được thực hiện như thế nào?

3 Nội dung bài mới:

Trang 21

Hoạt động của GV và HS Nội dung kiến thức

GV: Như chúng ta đã biết, thường

ngày có rất nhiều việc chỉ được thực

hiện khi một điều kiện cụ thể nào đó

xảy ra

GV: Câu nói của Châu cho ta biết

một việc làm cụ thể (Châu đến nhà

Ngọc) sẽ được thực hiện nếu điều

kiện (trời không mưa) thoả mãn

Còn nếu không thì không đề cập đến

việc gì khác

GV: Câu nói của Ngọc khẳng định

một trong hai việc cụ thể (Ngọc đến

nhà Châu) chắc chắn xảy ra, tuy

nhiên việc nào trong 2 việc sẽ được

thực hiện thì phụ thuộc vào điều

kiện cụ thể

GV: Kết luận

GV: Vậy qua những gì chúng ta vừa

tìm hiểu em hãy cho biết ý nghĩa của

Một 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 mưa thì sẽ gọi cho Châu để trao đổi” (2)

- Ta nói cách diễn đạt như của Châu (1)thuộc dạng thiếu:

Nếu… thì…

- Ta nói cách diễn đạt như của Ngọc (2)thuộc dạng đủ:

Nếu… thì… nếu không thì…

Kết luận: Cấu trúc dùng để mô tả các mênh đề

có dạng như trên được gọi là cấu trúc rẽ nhánhthiếu và đủ

ý nghĩa của cấu trúc rẽ nhánh: cấu trúc rẽnhánh là một điều khiển thực hiện hay khôngthực hiện công việc phù hợp với điều kiệnđang xảy ra

GV: Tương ứng với hai dạng thiếu

và đủ đã nói ở trên, Pascal có hai

dạng câu lệnh if – then (thiếu và đủ)

GV: Qua ví dụ trên kết hợp với đọc

SGK – Tr.39 em hãy cho biết cấu

trúc của if – then dạng thiếu được

viết như thế nào?

HS: Trả lời

GV: Nhận xét, kết luận

2 Câu lệnh if – then (trong Pascal).

a) Dạng thiếu:

Ví dụ: Nếu a>0 thì thông báo a là số dương Ta

có thể viết bằng câu lệnh if – then dạng thiếu

như sau:

if a>0 then write(‘a la so duong’);

Câu lệnh if – then dạng thiếu:

if <điều kiện> then <câu lệnh>;

b) Dạng đủ:

Ví dụ: Nếu a>0 thì thông báo a là số dương,

Trang 22

GV: Tương tự như với if – then dạng

thiếu em hãy cho biết cấu trúc của if

– then dạng đủ?

HS: Trả lời

GV: Nhận xét, kết luận

GV: Các em về nhà hãy tham khảo

thêm cách viết câu lệnh if – then

bằng sơ đồ khối (SGK – Tr.39)

nếu không thì thông báo a là số không dương

Ta có thể viết bằng câu lệnh if – then dạng đủ

khoá (như then hoặc else) phải là

một câu lệnh Nhưng trong nhiều

trường hợp các thao tác sau những

từ khoá đó khá phức tạp, đòi hỏi

phải dùng nhiều câu lệnh để mô tả

Khi đó NNLT cho phép gộp nhiều

câu lệnh thành một câu lệnh ghép

GV: Chỉ ra câu lệnh ghép

GV: Vậy em hãy cho biết câu lệnh

ghép của Pascal có dạng như thế

nào?

HS: trả lời

GV: Kết luận

GV: Chú ý cấu trúc của câu lệnh

ghép khác so với cấu trúc của thân

Em hãy viết đoạn CT cho bài toán sau:

Nếu x > 0 thì y = a + b nếu không thì y = a – b

5 DẶN DÒ:

- Học bài cũ;

- Trả lời các câu hỏi và bài tập 1, 2, 4 ở cuối chương

Trang 23

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;

- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước

- Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể

2 Kỹ năng:

- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp

- Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước

- Viết được thuật toán của một số bài toán đơn giản

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

1 Giáo viên: Bài soạn, SGK, SGV.

2 Học sinh: Vở ghi bài, SGK, chuẩn bị bài cũ.

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy trình bày cấu trúc của câu lệnh if – then dạng thiếu và

dạng đủ, lấy ví dụ?

3 Nội dung bài mới:

GV: Để hiểu thế nào là lặp ta cùng

xét hai bài toán sau

GV: Em hãy cho biết hai bài toán

trên có gì giống và khác nhau?

HS: Trả lời

GV: Kết luận

GV: Từ đó em hãy cho biết có mấy

loại lặp? Đó là những loại nào?

Bài toán 1: Tính và đưa ra màn hình tỔng

S = 1/a + 1/(a+1) + 1/(a+2)+…+1/(a+100)

Bài toán 2: Tính và đưa ra màn hình tỔng

S = 1/a + 1/(a+1) + 1/(a+2)+…+1/(a+N)+ Cho đến khi 1/(a+N) < 0.0001

Hai bài toán có các điểm tương tự:

- Xuất phát, S được gán giá trị 1/a;

- Tiếp theo cộng vào tỔng S một gía trị1/(a+N) với N = 1, 2, 3,… và việc cộng nàyđược lặp lại một số lần

Khác nhau:

- Đối với bài toán 1, số lần lặp là 100 và việccộng vào tỔng sẽ kết thúc khi thực hiệnviệc cộng 100 lần

- Đối với bài toán 2, số lần lặp chưa biếttrước nhưng vịêc cộng vào tỔng S sẽ kếtthúc khi điều kiện 1/(a+N) < 0.0001 đượcđáp ứng

- Từ đó ta rút ra được: Có hai loại lặp đó là:lặp với số lần biết trước và lặp với số lầnchưa biết trước

GV: Ta có 2 thuật toán để giải bài

toán 1 như sau

2 Lặp với số lần biết trước và câu lệnh for – do.

Thuật toán Tong_1a

Bước 1: S:=1/a; N = 0;

Bước 2: N:=N+1;

Trang 24

GV: Hai thuật toán trên đều dùng để

giải bài toán 1, nhưng các em hãy

quan sát và cho biết hai thuật toán

Thuật toán Tong_1b

Bước 1: S:=1/a; N = 101;

Bước 2: N:=N – 1;

Bước 3: Nếu N < 1 thì chuyển đến bước 5;Bước 4: S:=S+1/(a+N) rồi quay lại bước 2;Bước 5: Đưa tỔng S ra màn hình, rồi kếtthúc

Nhận xét:

Trong thuật toán Tong_1a, giá trị của N bắt

đầu tham gia vòng lặp là 1 và sau mỗi lầnlặp N tăng lên 1 cho đến khi N>100 thì kếtthúc lặp

Trong thuật toán Tong_1b, giá trị của N bắt

đầu tham gia vòng lặp là 100 và sau mỗi lầnlặp giảm đi 1 cho đến khi N<1 thì kết thúclặp

Kết luận: Cách lặp trong thuật toán Tong_1a là dạng lặp tiến, cách lặp trong thuật toán Tong_1b là dạng lặp lùi.

Để mô tả cấu trúc lặp với số lần biết trướcPascal dùng câu lệnh for – do với hai dạngtiến và lùi như sau:

f Dạng lặp tiến:

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

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

Hoạt động của lệnh for – do

- ở dạng lặp tiến: câu lệnh viết sau từ khoá

do được thực hiện tuần tự, với biến đếm nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.

- ở dạng lặp lùi: câu lệnh viết sau từ khoá do được thực hiện tuần tự, với biến đếm nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu.

4 CỦNG CỐ:

Bài toán: S = 1 + 2 + 3 +…+ 100

Trang 25

Em hãy cho biết: Đây có phải bài toán dạng lặp không? Nếu là dạng lặp thì là lặp loạinào?

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;

- Hiểu rõ hơn về cấu trúc lặp với số lần biết trước

2 Kỹ năng:

- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp;

- Viết đúng lệnh lặp với số lần biết trước

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: Em hãy viết hai câu lệnh for – do (dạng tỔng quát) ứng với

dạng lặp tiến và dạng lặp lùi?

3 Nội dung bài mới:

GV: Chúng ta cùng tìm hiểu chương

trình cài đặt thuật toán Tong_1a và

Tong_1b Hai thuật toán này chúng

ta đã tìm hiểu trong bài trước

GV: giải thích CT, giải thích hoạt

động của vòng lặp for …to… do

Readln(a)S:=1/a;

For N:=1 to 100 do S:=S+1/(a+N);

Writeln(‘Tong S la:’,S);

ReadlnEnd

GV: Trình bày thuật toán Tong_1b.

GV: Em hãy quan sát cả hai thuật

toán và cho biết sự giống và khác

nhau của hai chương trình này

HS: Trả lời câu hỏi

Program Tong_1b;

Var S:real;

a, N: integer;

BeginWrite(‘Nhap a=’);

Readln(a)S:=1/a;

For N:=100 downto 1 do S:=S+1/(a+N);

Writeln(‘Tong S la:’,S);

Readln

Trang 26

GV: Nhận xét, kết luận End.Giống nhau: Hai chương trình cùng thực hiện

một công việc, đó là tính tỔng S (của ví dụ 1).Khác nhau: Chương trình Tong_1a tính theocách cộng dần các số từ nhỏ đến lớn, còn CTTong_1b thì thực hiện ngược lại

GV: Trình bày CT và giải thích

những thắc mắc của HS Ví dụ 2: Nhập tự bàn phím hai số nguyêndương M và N (M<N), tình và đưa ra màn hình

tỔng các số chia hết cho 3 hoặc 5 trong phạm

(Tiếp)

I – MỤC TIÊU:

1 Kiến thức:

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;

- Hiểu cấu trúc lặp với số lần chưa biết trước

2 Kỹ năng:

- Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp;

- Viết đúng lệnh lặp với số lần chưa biết trước

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

Trang 27

2 Kiểm tra bài cũ: Em hãy viết hai câu lệnh for – do (dạng tỔng quát) ứng với

dạng lặp tiến và dạng lặp lùi?

3 Nội dung bài mới:

GV: Để hiểu thế nào là lặp với số lần

chưa biết trước ta tìm hiểu thuật toán

để giải bài toán 2 như sau

GV: Quan sát thuật toán trên ta thấy

thuật toán khi nào thì kết thúc?

HS: Trả lời

GV: Nhận xét, kết luận

GV: Kết luận

GV: (Giải thích) số lần lặp chưa biết

trước là vì điều kiện 1/(a+N)<0.0001

phụ thuộc rất nhiều vào giá trị a

GV: Để hiểu câu lệnh while – do

thực hiện như thế nào ta cùng quan

sát thuật toán Tong_2 dưới dạng sơ

đồ khối và đoạn CT sau

GV: giải thích về hoạt động của sơ

đồ và CT

GV: Vậy qua ví dụ trên em hãy cho

biết để mô tả cấu trúc lặp với số lần

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

và câu lệnh while – do.

Thuật toán Tong_2

KL: Như vậy việc lặp lại trong bài toán làlặp với số lần chưa biết trước

Câu lệnh while – do Thuật toán Tong_2.

Write(‘Hay nhap gia tri a vao:’); Readln(a);

While not (1/(a+N)<0.0001) do Begin

N:=N+1; S:=S+1/(a+N);

End;

Writeln(‘Tong S la:’,S:8:4); Readln

End.

Để mô tả cấu trúc lặp với số lần chưa biết

trước Pascal dùng câu lệnh while – do có

dạng:

while <điều kiện> do <câu lệnh>;

Hay ta có thể thể hiện bằng sơ đồ như sau:

§ a ra s, råi kÕt thóc

Sai

Trang 28

chưa biết trước Pascal dùng câu lệnh

If M>N then M:=M-N else N:=N-M;Writeln(‘Uoc chung lon nhat la:’,N);Readln

- Biết xây dựng chương trình có cấu trúc rẽ nhánh;

- Làm quen với việc hiệu chỉnh CT

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV, phòng máy thực hành

- Học sinh: vở ghi bài, SGK, chuẩn bị bài thực hành

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: không

3 Nội dung thực hành:

Hoạt động 1: Viết CT cho bài toán a) Gõ chương trình:

Trang 29

Pi – ta – go.

HS: Xác định bài toán

GV: Giúp HS phân tích thuật toán

GV: Yêu cầu HS gõ CT và dành thời

gian cho HS gõ xong CT

writeln(‘Ba so da nhap la bo so go’)

else writeln(‘Ba so da nhap khong la bo so

b) Nhấn phím F2 để lưu CT với tên

PITAGO lên đĩa;

c) Nhấn F7 để theo dõi từng lệnh

của CT Đến lệnh readln(a,b,c)

thì GV hướng dẫn HS nhập 3

giá trị a=3, b=4, c=5 Các giá trị

cách nhau bởi dấu cách

d) Tiếp tục theo dõi các lệnh của

CT bằng cách nhấn phím F7 và

theo dõi các giá trị của biến trên

cửa sổ Watches, để hiện cửa sổ

Watches nhấn Ctrl+F7 để hiện

cửa sổ Add watch, sau đó nhập

tên biến (ví dụ a2 là biến đang

cần theo dõi giá trị) và nhấn

phím Enter sẽ có tên biến a2

các thao tác như trên trong thời

gian này hướng dẫn một số học

sinh thực hiện các thao tác trong

b) Lưu CT với tên PITAGO lên đĩa;

c) Nhấn phím F7 để thực hiện từng câu lệnh của CT; Nhập các giá trị a=3, b=4, c=5;

d) Vào bảng Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2;

e) Nhấn phím 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ả a=9, b=16, c=25;

f) Quan sát quá trình rẽ nhánh;

g) Lặp lại các bước nói trên với a=700, b=1000, c=800;

Trang 30

bài thực hành.

GV: Hướng dẫn thêm cho nhóm HS

khá, giỏi cải tiến CT

-Tiết theo PPCT: 16

BÀI TẬP THỰC HÀNH 2 (tiếp)

I Mục tiêu

1 Kiến thức:

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh chương trình

2 Kỹ năng:

- Thực hiện được các bài tập trong sách giáo khoa

II Chuẩn bị của GV và HS.

1 Chuẩn bị của GV:

- Giáo án, phấn, bảng, phòng thực hành

2 Chuẩn bị của HS

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

III Tiến trình dạy học:

1 Kiểm tra bài cũ: Kết hợp kiểm tra trong giờ học

2 Bài mới:

GV: Nêu yêu cầu của bài:

Bài toán: Cho bộ ba số nguyên a, b, c

được gọi là bộ số Pi-ta-go nếu tỔng các

bình phương của hai số bằng bình phương

của số còn lại Viết chương trình nhập từ

bàn phím ba số nguyên a, b, c và kiểm tra

xem chúng xem chúng có là bộ số Pi-ta-go

không?

- ý tưởng: Kiểm tra đẳng thức sau đây có

xảy ra hay không:

a2 = b2 + c2

b2 = a2 + c2

c2 = a2 + b2

GV: Hướng dẫn học sinh thực hiện nhập

chương trình, lưư chương trình với tên là

PITAGO và thực hiện với các bộ số trong

sách giáo khoa

HS: Nhập chương trình

GV: Hướng dẫn học sinh cách lưu chương

I Nội dung:

Bài toán: Bộ số Pitago

a) Gõ chương trình kiểm tra bộ số Pi-ta-go

Writeln(‘ Day la bo so Pi-ta-go’)

Else Writeln(‘ Day khong phai bo so

Pi-ta-go’);

End

b) Lưu chương trình với tên Pitago lên đĩa

Muốn lưu tên chương trình được thì sau khi

gõ xong chương trình ta nhấn phím F2 hoặc chọn vào File-> Saves hiển thị hộp thoại ta

Trang 31

- Củng cố thêm kiến thức về cấu trúc rẽ nhánh;

- Luyện tập cấu trúc lặp, chú ý bài toán tìm tổng của dãy số;

2 Kỹ năng:

- Tiếp tục làm quen với các công cụ phục vụ hiệu chỉnh CT

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK, làm bài tập ở nhà

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

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

3 Nội dung bài mới:

1 Hướng dẫn và giải đáp các thắc mắc của HS về một số bài tập ở nhà;

a) if (sqr(x) + sqr(y))<=1 then z:= sqr(x) + sqr(y) else

Trang 32

if y>=x then z:=x+y else z:=0.5;

b) if (sqr(x-a) + sqr(y-b) <= sqr (r) then z:=abs(x) + abs(y) else z:=x+y;

2 GV: Yêu cầu HS chữa bài tập 4, sau đó GV chữa lại;

3 Giáo viên yêu cầu cả lớp cùng giải bài tập 5.a trên máy tính, lập trình tính a) Y=1/2+2/3+3/4+…+50/51

Var Y: real; N: byte;

sh:=1/2; N:=2; e:=2 + sh; while sh>=2*1E – 6 do

Begin Inc(N); Sh:=sh*(1/N); E:=e + sh; End;

Writeln(‘Gia tri e(N) la:’,e:10:6); Readln

End

Trong thời gian HS chữa bài tập GV chú ý rèn luyện, uốn nắn HS về cách viết câulệnh sao cho chính xác và gọn gàng, câu lệnh nên viết trong một dòng cho thuậnlợi trong việc quan sát, hiệu chỉnh

4 Đối với các bài 6, 7, 8 GV có thể chọn một bài gợi ý cho HS tìm Input, Output,chọn biến, kiểu dữ liệu của biến, công thức liên hệ giữa các biến Sau đó có thểviết CT

Var ga, cho: byte;

Begin

For cho:=1 to 24 do

Begin Ga:=36 – cho;

If 2*ga + 4*cho = 100 then Writeln(‘Ga:’, ga, ‘ Cho:’, cho); Readln; End.Program cha_con;

Var cha,con,nam:word;

Begin

Writeln(‘nhap vao tuoi cha va tuoi con’); readln(cha,con);

While not(cha>2*con and cha-con>=25) do

Begin cha:=cha+1; con:=con+1; nam:=nam+1; end;

Writeln (‘sau’, nam,’ nam tuoi cha gap doi tuoi con’); Readln; End

Begin c:=c+a*0.003; t:=t+1; end;

Writeln (‘sau’, t,’ thang nhan duoc so tien’ ,b); Readln; End

4 – BÀI VỀ NHÀ:

- Xem lại các bài tập đã làm;

Trang 33

I – MỤC TIÊU:

- Củng cố những kiến thức đã học trong chương 1,2,3

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, SGK, SGV

- Học sinh: vở ghi bài, SGK, chuẩn bị bài cũ

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

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

3 Nội dung bài mới:

Lý thuyết:

Chương 1: Một số khái niệm về lập trình và ngôn ngữ lập trình

- Chương trình dịch (hai loại);

- Mọi đối tượng trong CT đều phải được đặt tên (3 loại tên – Tên dành riêng; Tênchuẩn; Tên do người lập trình đặt);

- Hằng;

- Biến

Chương 2: Chương trình đơn giản

- Cấu trúc CT: thường có hai phần (phần khai báo và phần thân CT);

- Kiểu dữ liệu chuẩn: kiểu nguyên; kiểu thực; kiểu ký tự; kiểu logic;

- Phép toán: Số học; quan hệ và logic;

- Biểu thức: Số học; quan hệ và logic;

- Câu lệnh gán;

- Tổ chức vào/ra đơn giản;

Chương 3: Cấu trúc rẽ nhánh và lặp

- Các NNLT đều có câu lệnh thể hiện cấu trúc rẽ nhánh và lặp;

- Câu lệnh rẽ nhánh có hai dạng: thiếu và đủ;

For i:=1 to N do S:=S+i;

Write(‘Tong S la:’,S); Readln

- Ôn lại lý thuyết;

- Xem lại các bài tập

Trang 34

-Tiết theo PPCT: 19 KIỂM TRA MỘT TIẾT

(Thời gian 45’)

I – MỤC TIÊU:

- Kiểm tra kiến thức của học sinh trong chương 1, 2, 3

II – CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:

- Giáo viên: Bài soạn, phòng máy tính

- Học sinh: chuẩn bị cho bài kiểm tra

III – TIẾN TRÌNH DẠY HỌC:

1 Ổn định tổ chức lớp:

2 Kiểm tra bài cũ: không

3 Nội dung kiểm tra.

Câu 1: (1 điểm) Biến A có thể nhận các giá trị 7; 30; 40; 256 và biến B có thể

nhận các giá trị 0,5; 0,7; 10,3; 0,2 Vậy khai báo nào sau đây là đúng?

B: real; B: real;

Câu 2: (1 điểm) Hãy chỉ ra lỗi sai trong đoạn chương trình sau:

If (a>b) then x:=a+b;

Else x:=a – b;

Sai do:………

Câu 3: (1 điểm) Hãy chỉ bốn lỗi (ba lỗi dịch, một lỗi thực hiện) trong chương trình

Chú ý: sai ở dòng lệnh nào thì chỉ ra lỗi sai ở bên phải của dòng lệnh đó.

Câu 4: (1 điểm) Không thực hiện chương trình, hãy đoán kết quả nhận được khi

thực hiện chương trình Pascal sau:

Var x,y: integer

Trang 35

writeln(‘Gia tri moi cua x la:’,x);

writeln(‘Gia tri moi cua y la:’,y);

Câu 2: Không được sử dụng dấu chấm phảy (;) trước từ khoá else.

Câu 3: Lỗi 1: dấu bằng ở dòng 1 phải đổi thành dấu hai chấm;

Lỗi 2: Ký hiệu sai lệnh gán ở dòng 4;

Lỗi 3: Thiếu dấu chấm phảy ở dòng 6;

Lỗi 4: Biểu thức x*y không được xác định đúng vì khai báo z có kiểubyte nên z không thể nhận giá trị 30*40=1200

Câu 4: Kết quả là x và y sẽ đổi giá trị cho nhau.

If (a>b) then writeln(‘Gia tri lon hon la:’,a)

Else writeln(‘Gia tri lon nhat la:’,b);

- Hiểu khái niệm mảng một chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng

2 Kỹ năng

- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng một

chiều

- Thực hiện đượckhai báo mảng, truy cập, tính toán các phần tử của mảng

II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Chuẩn bị của GV:

Giáo án, phấn, bảng

2 Chuẩn bị của HS:

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

III TIẾN TRÌNH DẠY HỌC.

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

2 Kiểm tra bài cũ:

Câu hỏi: Kết hợp kiểm tra trong giảng dạy

3 Nội dung bài:

Trang 36

Hoạt động của GV và HS Nội dung chính

HĐ1: Hiểu khái niệm mảng một chiều và

cách khai báoi mảng một chiều

GV:Yêu cầu hs đọc sgk trả lời câu hỏi sau:

- Mảng một chiều là gì?

HS: Trả lời câu hỏi

GV:Để mô tả mảng một chiều ta thực hiện

Bài toán nhập vào nhiệt độ trung bình của

mỗi ngày trong tuần, tinh và đưa ra màn

hình nhiệt độ trung bình của tuần và số

lượng ngày trong tuần có nhiệt độ lớn hơn

nhiệt độ trung bình

GV: Nêu câu hỏi sau:

-Ta cần khai báo những biến nào?

HS: Ta cần khai báo những biến sau:

t1, t2, t3, t4, t5, t6, t7, tb

dem

GV: Biến đếm dùng để làm gì?

HS: Trả lời câu hỏi

GV: Cách tính nhiệt độ trung bình tuần

như thế nào?

HS: Ta làm như sau: Lấy tất cả các ngày

trong tuần cộng lại với nhau và chia trung

Chương trình tỔng quát với N ngày trong

Pascal như sau:

1 Kiểu mảng một chiều

- Mảng một chiều là dãy hữu hạn các phần tửcùng kiểu Mảng được đặt tên và mỗi phần tửcủa nó có một chỉ số Để mô tả mảng một chiềucần xác định kiểu của các phần tử và cách đánh

số các phần tử của mảng

- Để có thể lập trình và sử dụng kiểu mảng mộtchiều các ngôn ngữ lập trình có quy tắc và cáchthức cho phép xác định

+ Tên mảng một chiều + Số lượng các phần tử

+ Kiểu dữ liệu của phần tử + Cách khai báo mảng + Cách tham chiếu đến phần tử

*) Ta xét ví dụ sau:

*) Chương trình Program Nhietdotuan;

Trang 37

GV:Cách nhập dữ liệu trong Pascal?

HS: Làm theo hướng dẫn của GV

Giáo viên: Viết chương trình nhập nhiệt

độ các ngày trong năm và tính nhiệt độ

trung bình

GV:Để khai báo trực tiếp ta thực hiện như

thế nào?

HS: Ta có 2 cách khai báo mảng một

chiều như sau:

GV:Kiểu chỉ số thường là kiểu dữ liệu

HS: Tham chiếu tới phần tử của mảng một

chiều được xác định bởi tên mảng cùng

với chỉ số, được viết trong cặp ngoặc [và]

Writeln(‘ Nhap vao nhiet do ngay ’,i,’:’);

If nhietdo[i]>trungbinh then dem:=dem+1;

Wrteln(‘Nhiet do trung binh ’,n,’ ngay:

Cách khai báo mảng một chiều có dạng:

- Cách 1: Khai báo trực tiệp biến mảng một

- Kiểu phần tử là kiểu phần tử của mảng

*) Tham chiếu tới phần tử của mảng một chiềuđược xác định bởi tên mảng cùng với chỉ số,được viết trong cặp ngoặc [và]

VD: Tham chiếu tới phần tử thứ 3 của mảng A

ta viết A[3]

3 Củng cố, luyện tập

Trang 38

- Nhắc nhở lại kiến thức cơ bản của bài học về khai báo mảng một chiều

- Hình thành kỹ năng cơ bản về sử dụng kiểu mảng trong cài đặt chương trình

II CHUẨN BỊ CỦA GV VÀ HS.

1 Kiểm tra bài cũ:

Câu hỏi: Trình bày cách khai báo mảng một chiều?

2 Bài mới:

HĐ2: áp dụng khai báo mảng một chiều

thực hiện viết chương trình các bài toán

Ví dụ 1: Tìm phần tử lớn nhất của dãy số

nguyên

Ta có thuật toán tim giá trị lớn nhất của

dãy số nguyên như sau:

Bước 1: Nhập giá trị N và dãy A1, A2,…,

AN

Bước 2: MaxA1; i2;

Bước 3: Nếu i > N thì đưa ra giá trị Max

rồi kết thúc

Bước 4:

Bước 4.1: Nếu Ai > Max thì MaxAi;

Bước 4.2: ii+1 rồi quay lại bước 3;

Write(‘Phan tu thu ’,i,’ = ‘);

Trang 39

HS: Trả lời câu hỏi

GV:Nêu yêu cầu của bài toán

- Input: Số nguyên dương N và dãy số

HS: Làm theo hướng dẫn của GV

GV:Tại sao phải dùng biến t làm biến

trung gian?

HS: Trả lời câu hỏi

Writeln(‘Gia tri lon nhat cua day la: ’ ,Max); Writeln(‘Nam tai vi tri ’,csmax);

Write(‘Phan tu thu ‘,i,’ = ‘);

Readln(A[i]);

End;

For j:=N dowto 2 do For i:=1 to j-1 do

Trang 40

- Hiểu khái niệm mảng một chiều và mảng hai chiều

- Hiểu cách khai báo và truy cập đến phần tử của mảng

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

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ:

Câu hỏi: Hãy trình bày khái niệm mảng 2 chiều là gì? quy tắc cách thức cho

phép xác định mảng 2 chiều, cách khai báo?

2 Nội dung:

HĐ1: Giáo viên nêu yêu cầu của bài tập

GV:Với đầu bài toán cho điều kiện

HS: Ta nhập lần lươit từ phần tử đầu tiên

cho đến phần tử cuối cùng của mảng

GV:Cách duyệt các phần tử của mảng?

HS: Trả lời câu hỏi

GV:Lệnh S:=S+A[i]; thực hiện thao tác

Ngày đăng: 11/10/2015, 08:01

HÌNH ẢNH LIÊN QUAN

Bảng mã ASCII, được dùng khi thông tin là các ký tự, xâu (string). Kiểu ký tự cũng là kiểu có thứ tự, đếm được - Giáo án tin học 11 chuẩn không cần chỉnh 2012
Bảng m ã ASCII, được dùng khi thông tin là các ký tự, xâu (string). Kiểu ký tự cũng là kiểu có thứ tự, đếm được (Trang 10)
Bảng hàm số học chuẩn – SGK Tr.26. - Giáo án tin học 11 chuẩn không cần chỉnh 2012
Bảng h àm số học chuẩn – SGK Tr.26 (Trang 12)
Hình xâu thu được từ nó bởi việc loại bỏ - Giáo án tin học 11 chuẩn không cần chỉnh 2012
Hình x âu thu được từ nó bởi việc loại bỏ (Trang 50)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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