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

Giáo Án Tin Học 11 Trọn Bộ

92 395 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 92
Dung lượng 853,5 KB

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

Nội dung

- Ngôn ngữ máy- Hợp ngữ - Ngôn ngữ lập trình bậc cao Lập trình: là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của

Trang 1

Chương I MỘT SỐ KN VỀ LT VÀ NNLT

Tiết 1 Khái niệm lập trình và ngôn ngữ lập trình

Ngày soạn: / ; Ngày giảng: /

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

1 Giáo viên: SGK, giáo án

Trang 2

- Ngôn ngữ máy

- Hợp ngữ

- Ngôn ngữ lập trình bậc cao

Lập trình: là sử dụng cấu trúc dữ liệu và

các câu lệnh của ngôn ngữ lập trình cụ thể

để mô tả dữ liệu và diễn đạt các thao tác

của thuật toán.

Chương trình dịch: Là chương trình đặc

biệt có chức năng chuyển đổi chương trình

được viết bằng ngôn ngữ lập trình bậc cao

thành chương trình thực hiện được trên

máy tính

- Thông dịch (interpreter): được thực hiện

bằng cách lặp lại dãy các bước sau:

Kiểm tra tính đúng đắn của câu lệnh

tiếp theo trong chương trình nguồn

Chuyển đổi câu lệnh đó thành một hay

nhiều câu lệnh tương ứng trong ngôn ngữ

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

đắn của các câu lệnh trong chương trình

Bạn nào cho biết ở lớp 11 chúng ta đã nhắc tới những loại ngôn ngữ lập trình nào?

HS: Trả lời câu hỏi HS khác bổ xung

Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy (chương trình có thể chạy trên nhiều loại máy tính khác nhau)

Chương trình dịch được chia thành hai loại: Thông dịch và biên dịch

(Lấy ví dụ minh họa để HS phân biệt được hai loại ctd này)

HS: Nghe giảng, ghi chép

Trong thông dịch không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng về sau

IV Củng cố: Kể tên một số ngôn ngữ lập trình mà em biết?

(Một HS trả lời, HS khác bổ sung)

V Dặn dò: Đọc trước bài 2.

Trang 3

Tiết 2 Các thành phần của ngôn ngữ lập trình

Ngày soạn: / ; Ngày giảng: /

- Ghi nhớ các quy định về tên, hằng, biến trong một ngôn ngữ lập trình

- Cách đặt tên đúng và nhận biết được tên sai quy định

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

1 Giáo viên: SGK, giáo án, bảng phụ

• Các chữ cái thường và chữ cái in hoa

của bảng chữ cái tiếng Anh

Xác định ý nghĩa thao tác cần thực hiện,

ứng với tổ hợp kí tự dựa vào ngữ cảnh của

Bảng chữ cái của các ngôn ngữ lập trình nói chung không khác nhau nhiều

Dựa vào chúng, người lập trình và chương trình 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ệ

Trang 4

Tóm lại: Cú pháp cho biết cách viết một

Trong TP, 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ố

hoặc dấu gạch dưới

Vd:

Tên đúng: (lấy 3 vd)

Tên sai: (lấy 3 vd)

Ngôn ngữ Pascal không phân biệt chữ hoa,

chữ thường trong tên

Trong Pascal phân biệt 3 loại tên:

Tên do người lập trình đặt: được dùng

với ý nghĩa riêng, xác định bằng cách 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

b) Hằng và biến

* Hằng

là đại lượng có giá trị không thay đổi trong

quá trình thực hiện chương trình

là đại lượng được đặt tên, dùng để lưu

trữ giá trị và giá trị có thể được thay đổi

trong quá trình thực hiện chương trình

c) Chú thích: Được đặt trong chương

trình, giúp cho người đọc chương trình

nhận biết ý nghĩa của chương trình hay của

từng câu lệnh trong chương trình

Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể

HS: Lấy ví dụ về tên đúng và sai

Người lập trình không được dùng với ý nghĩa khác

Có thể khai báo và dùng chúng với ý nghĩa và mục đích khác

Trong ngôn ngữ lập trình thường có các hằng số học, hằng logic, hằng xâu

HS: Nghe giảng, ghi chép

IV Củng cố: Lấy ví dụ về tên đúng, tên sai trong TP?

V Dặn dò: Trả lời các câu hỏi cuối bài Làm bài tập trong SBT.

Trang 5

- Phân biệt được trình thông dịch và biên dịch.

- Đặt được tên đúng và nhận biệt tên sai quy định

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

1 Giáo viên: SBT, giáo án

Kiểm tra bài cũ: 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? Lấy

ví dụ về 3 tên đúng theo quy tắc của Pascal?

Bài giảng:

Chữa một số bài tập trong SBT

Chữa bài tập theo yêu cầu của HS

Kiểm tra lại kiến thức đã học

Gọi một số HS đứng tại chỗ chữa các bài từ 1 8

HS khác nhận xét và bổ sung

GV củng cố lại các câu trả lời

Gọi 3 HS lên bảng chữa các bài 9, 10, 11

Trong sách bài tập số lượng bài tập nhiều, có một số bài khó Để mở rộng kiến thức đã học thì nên hoàn thành những bài tập này

Cho HS làm bài kiểm tra 15’ Có thể sử dụng các câu 13, 14 làm đề kiểm tra

IV Củng cố:

V Dặn dò: Về nhà đọc trước bài 3 - Cấu trúc chương trình.

Trang 6

Tiết 4 Cấu trúc chương trình

Ngày soạn: / ; Ngày giảng: /

I Mục tiêu

1 Kiến thức:

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

- Biết 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

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

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

1 Giáo viên: SGK, giáo án, bảng phụ

Các diễn giải bằng ngôn ngữ tự nhiên

được đặt trong cặp dấu < và > Các thành

phần của chương trình có thể có hoặc

không được đặt trong cặp dấu [ và ]

Cấu trúc của một chương trình có thể mô

tả như sau:

[<phần khai báo>]

<phần thân>

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

a)Phần khai báo

* Khai báo tên chương trình

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

tên chương trình là tên do người lập trình

đặt theo đúng quy định về tên

* Khai báo thư viện

Uses <tên thư viện>

vd: Uses crt, graph;

* Khai báo hằng

Chương trình được viết bằng ngôn ngữ

lập trình bậc cao thường gồm phần khai

HS: nghe giảng, ghi bài

Có thể khai báo cho: tên chương trình, thư viện, hằng, biến và chương trình con Phần này có thể có hoặc không

Mỗi ngôn ngữ lập trình thường có sẵn một số thư viện cung cấp một số chương trình thông dụng đã được lập sẵn

Trang 7

const <tên hằng> = <giá trị>

* Khai báo biến

(Trình bày chi tiết ở bài 5)

Dãy lệnh trong phạm vi được xác định bởi cặp dấu hiệu mở đầu và kết thúc tạo thành thân chương trình

Viết ví dụ, phân tích để HS hiểu rõ cấu trúc của một chương trình Pascal đơn giản

IV Củng cố:

V Dặn dò:

Trang 8

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

Ngày soạn: / ; Ngày giảng: /

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 khái báo biến đúng

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

1 Giáo viên: SGK, giáo án, bảng phụ

MỘT SỐ KIỂU DỮ LIỆU CHUẨN

Một số kiểu dữ liệu chuẩn thường dùng

cho các biến đơn trong Pascal

Các số 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ị

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 trong các bài toán thông thường), nhưng miền giá trị được mở rộng hơn so với kiểu nguyên Phép toán chứa các toán hạng gồm cả kiểu nguyên và kiểu thực sẽ cho kết quả kiểu thực

Trang 9

3 Kiểu kí tự

Char: 256 kí tự trong bộ mã ASCII

4 Kiểu logic

Boolean: True hoặc False

KHAI BÁO BIẾN

Trong Pascal, khai báo biến bắt đầu bằng

từ khóa Var 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, tên biến được viết cách

nhau bởi dấu phẩy;

- kiểu dữ liệu thường là 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

Cấu trúc <danh sách biến>:<kiểu

dữ liệu> có thể xuất hiện nhiều lần.

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

bộ mã ASCII, được dùng khi thông tin là các kí tự, xâu Vì vậy hầu hết các ngôn ngữ lập trình đều có kiểu kí tự để làm việc với văn bản 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 logic được dùng khi kiểm tra một điều kiện hoặc tìm giá trị của một biểu thức logic

Trong Pascal, mọi biến trong chương trình đều phải khai báo tên và kiểu dữ liệu của nó (một số ngôn ngữ coi đó là định nghĩa biến) Khai báo để cấp phát bộ nhớ cho biến

Cấn đặt tên biến sao cho gợi nhớ đến ý nghĩa của biến đó Điều này rất có lợi cho việc học, hiểu và sửa đổi chương trình khi cần thiết

Không nên đặt tên biến quá ngắn hay quá dài, dễ mắc lỗi khi viết nhiều lần tên biến

Khi khai báo biến cần đặc biệt lưu ý đến phạm vi của nó

IV Củng cố:

Đưa ra câu hỏi: Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi

từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?

Gọi một HS đứng tại chỗ trả lời HS khác nhận xét, bổ xung

V Dặn dò: Đọc trước bài 6 Làm bài tập trong sách bài tập.

Trang 10

Tiết 6 Phép toán, biểu thức, câu lênh gán

Ngày soạn: / ; Ngày giảng: /

- 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

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

1 Giáo viên: SGK, giáo án

- Kết quả của các phép toán quan hệ

cho giá trị logic;

- Một trong những ứng dụng của phép

toán logic là để tạo ra các biểu thức

phức tạp từ các quan hệ đơn giản

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

- Không được bỏ qua dấu nhân trong

số học, các dấu ngoặc tròn tạo thành một biểu thức có dạng tương tự như cách viết trong toán học

Trang 11

Các phép toán được thực hiện theo thứ tự:

- Thực hiện các phép toán trong

ngoặc trước;

- Trong dãy các phép toán không

chứa ngoặc thì thực hiện từ trái qua

phải, theo thứ tự các phép toán

nhân, chia, chia nguyên, lấy phần dư

thực hiện trước và các phép toán

Kết quả của hàm có thể là nguyên hay

hoặc thực hay phụ thuộc vào kiểu của đối

trong đó, biểu thức 1 và biểu thức 2 cùng

là xâu hoặc cùng là biểu thức số học

Biểu thức quan hệ được thực hiện theo

trình tự:

- Tính giá trị các biểu thức

- Thực hiện phép toán quan hệ

Kết quả của phép toán quan hệ là biểu thức

logic

5 Biểu thức logic

Biểu thức logic đơn giản là biến logic

hoặc hằng logic

Các biểu thức quan hệ thường được đặt

trong trong cặp dấu ngoặc ( và )

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

cần phủ định

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

hợp nhiều biểu thức logic hoặc quan hệ

thành một biểu thức, thường được dùng để

diễn tả các điều kiện phức tạp

ví dụ: SGK

6 Câu lệnh gán

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

GV: Lấy ví dụ trong SGK để giải thích cho

HS Có thể đưa ra một biểu thức trong toán học, HS viết lại biểu thức đó trong Pascal

GV: Để lập trình được dễ dàng, thuận tiện, các ngôn ngữ lập trình đều có thư viện chứa một số chương trình tính giá trị những hàm toán học thường dùng Các chương trình như vậy được gọi là hàm số học chuẩn

GV: Hai biểu thức cùng liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ

GV: 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 nhau bởi phép toán logic

GV: Lệnh gán là một trong những lệnh cơ bản nhất của các ngôn ngữ lập trình

Trang 12

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

Chức năng của lệnh gán là đặt cho biến

có tên ở vế trái dấu “:=” giá trị bằng giá trị

của biểu thức ở vế phải

y x x x

z x

+ +

+ +

V Dặn dò: Làm bài tập trong SBT Đọc trước bài 7 và 8.

Trang 13

Tiết 7 Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch,

thực hiện và hiệu chỉnh chương trình

Ngày soạn: / ; Ngày giảng: /

I Mục tiêu

1 Kiến thức:

- Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình;

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

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

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 chương trình dịch để phát hiện lỗi;

- Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lý của kết quả thu được

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

1 Giáo viên: SGK, giáo án

1

y x x

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

Trong ngôn ngữ Pascal các thủ tục vào/ra

chuẩn viết như sau:

1 Nhập dữ liệu vào từ bàn phím

Ta dùng thủ tục chuẩn READ hoặc

READLN có cấu trúc như sau:

READ/READLN(<danh sách biến vào>);

Làm thế nào để nhập giá trị từ bàn phím vào cho biến?

GV: Diễn giải hoạt động của READ/READLN, nêu sự khác nhau khi dùng Read/Readln

GV: Đưa ra hai ví dụ về chương trình có nhập thông tin vào từ bàn phím

Trang 14

Việc nhập dữ liệu cho nhiều biến thì giá trị

mỗi biến phải cách nhau ít nhất một dấu

cách hoặc dâu Enter, máy sẽ gán giá trị

cho biến theo thứ tự như trong lệnh nhập

tương ứng

3 Đưa dữ liệu ra màn hình

Để đưa dữ liệu ra màn hình tại vị trí con

trỏ, ta dùng thủ tục WRITE hoặc WRITE

với cấu trúc:

Write/Writeln(<Giá trị 1>, <Giá trị n>);

trong đó các giá trị có thể là tên biến,

tên hằng, giá trị cụ thể, biểu thức hoặc tên

hàm

Ví dụ: Write(a, b, c);

Writeln(‘ Giá trị của N là:’,N);

Thủ tục Writeln sau khi đưa kết quả ra

sẽ chuyển con trỏ màn hình xuống dòng

tiếp theo

Ngoài ra TP còn có quy cách đưa thông

tin ra như sau:

{2} dùng để đọc giá trị và gán cho biến N

Cấu trúc {1}, {2} được gọi là giao tiếp

người – máy

B Soạn thảo, dịch, thực hiện và hiệu

chỉnh chương trình

Để thực hiện được các ví dụ và bài thực

hành trong máy tính bằng Turbo Pascal

cần có các tệp: turbo.exe, turbo.tpl,

Ví dụ 1: Chương trình nhập tuổi

Ví dụ 2: Nhập ba số nguyên

GV: Nhận xét về chương trình Giải thích việc nhập giá trị cho nhiều biến đồng thời Giải thích sự khác biệt giữa READ và READLN

GV: Trong ví dụ 2, ta thấy 3 giá trị a, b, c dính liền vào nhau và người sử dụng không thể phân biệt được giá trị của từng biến Vậy làm thế nào và có những cách nào để hiển thị dữ liệu theo ý muốn của người lập trình

GV: Mỗi ngôn ngữ có cách đưa thông tin

GV: Viết nhanh ví dụHS: Nhận xét từng câu lệnh trong đoạn chương trình

GV: Giới thiệu một số tập tin cần thiết để

TP có thể chạy được, hướng dẫn HS cách khởi động Pascal trên máy tính

Trang 15

- Biên dịch chương trình: Alt + F9

- Soát lỗi chương trình: F9

- Chạy chương trình: Ctrl + F9

- Đóng cửa sổ chương trình: Alt + F3

- Chuyển qua lại giữa các cửa sổ: F6

- Xem lại màn hình kết quả: Alt + F5

- Thoát khỏi TP: Alt + X

HS: Quan sát hình vẽ trong SGK

GV: Giới thiệu một số thao tác thường dùng khi soạn thảo chương trình trong môi trường soạn thảo TP

GV: Viết một chương trình ví dụ, thực hiện các thao tác sửa lỗi

IV Củng cố: Giải thích từng dòng lệnh của đoạn chương trình sau:

Trang 16

- Biết sử dụng các thủ tục chuẩn vào/ra;

- Biết xác định input và output

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

2a) bt:= (y>abs(x)) and (y<=1)

2b) bt:= (abs(x) <= 1) and (abs(y) <=1)

Câu 9 (SGK)

Nhận xét: Diện tích phần gạch bằng ½

diện tích hình tròn tâm O(0,0) bán kính

R= a Lưu ý số π là hằng trong Pascal và

được kí hiệu là Pi

GV: Yêu cầu HS phân tích tìm ra input và output của bài toán

GV: Hướng dẫn HS phân biệt cách viết công thức trong toán học với trong Pascal (chú ý chỉ dùng một loại dấu ngoặc tròn)HS: Lên bảng viết các biểu thức

GV: Hướng dẫn HS phát hiện những đặc điểm của tọa độ (x,y) của điểm thuộc vùng gạch trong các hình 2a và 2b

GV: Gợi ý đề HS nhận xét bài toánGV: Hướng dẫn HS viết chương trình đầy đủ

Trang 17

Chương trình:

var a: read;

Begin

write(‘ Nhap gia tri a (a>0):’);readln(a);

write(‘ Dien tich phan gach la:

IV Củng cố: Hoàn thiện bài tập số 10 vào vở.

V Dặn dò: Làm các bài tập trong sách bài tập Chuẩn bị bài để giờ sau thực hành tại

phòng máy

Trang 18

Tiết 9 + 10 Bài tập và thực hành 1

Ngày soạn: / ; Ngày giảng: /

I Mục tiêu

1 Kiến thức:

- Giới thiệu một chương trình Pascal hoàn chỉnh đơn giản;

- Làm quen với một số dịch vụ cơ bản của TP trong việc soạn thảo, lưu trữ, dịch và thực hiện chương trình

2 Kỹ năng:

- Biết viết một chương trình Pascal đơn giản;

- Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch

và thực hiện chương trình

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

1 Giáo viên: Phòng máy, các máy cài Turbo Pascal, giáo án, SGK

2 Học sinh: Bài tập (viết một chương trình hoàn chỉnh), SGK

III Nội dung:

b) Nhấn phím F2 và lưu chương trình với

GV: Hướng dẫn lại cho HS biết cách khởi động máy, kích hoạt phần mềm Pascal, làm quen với một chương trình đơn giản (giải phương trình bậc hai một ẩn) theo từng bước

GV: Thực hiện theo hướng dẫn như trong SGK

Trang 19

tên là PTB2.PAS lên đĩa.

f) Sửa lại chương trình trên sao cho không

dùng biến trung gian D Thực hiện chương

trình đã sửa với bộ dữ liệu trên

g) Sửa lại chương trình nhận được ở câu c)

bằng cách thay đổi công thức tính x2

h) Thực hiện chương trình đã sửa với bộ

dữ liệu 1; -5; 6

g) Thực hiện chương trình với bộ dữ liệu

1; 1; 1 và quan sát kết quả trên màn hình

GV: Sửa những lỗi chung lên bảng

GV: Giúp HS dịch và sửa lỗi chương trình trực tiếp trên máy tính với từng HS (vì đây

là bài thực hành đầu tiên)

HS: Nhập các giá trị: 1, -3, 2 Quan sát kết quả trên màn hình

HS: Quan sát kết quả hiển thị trên màn hình

GV: Gợi ý để HS thực hiện việc sửa đổi chương trình

HS: Thực hiện theo yêu cầu Quan sát kết quả trên màn hình

GV: Sau khi học sinh hoàn thành bài thực hành 1, có thể hướng dẫn HS làm các bài tập 9 và 10 trong SGK

HS: Làm bài tập dưới sự hướng dẫn của GV

IV Củng cố:

V Dặn dò: Làm bài tập 9, 10 (t36 – SGK) Giờ thực hành sau cho chạy thử trên máy.

Trang 20

Tiết 11 Cấu trỳc rẽ nhỏnh

Ngày soạn: / ; Ngày giảng: /

I Mục tiờu

1 Kiến thức:

- Hiểu nhu cầu 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 thiếu, 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

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

1 Giỏo viờn: Giỏo ỏn, SGK, bảng phụ, phiếu học tập

- Hớng dẫn HS sử dụng phiếu: điền đầy đủ các thông tin ngày tháng, họ tên, lớp, đọc kỹ các yêu cầu và trả lời vào phần đã

quy định

- HS có 15 phút tự nghiên cứu SGK và trả lời các yêu cầu trong phiếu

- Quan sát HS, giải đáp các thắc mắc trong quá trình

HS thực hiện các yêu cầu trong phiếu

- Nhận phiếu học tập

- Điền các thông tin cá nhân

- Xem và nghe GV hớng dẫn cách thức để trả lời các yêu cầu trong phiếu học tập

- Hỏi luôn GV những ý mà mình cha hiểu

- Trong 15 phút tự nghiên cứu SGK và hoàn thành phiếu HS phải đọc thật kỹ các yêu cầu trong Phiếu học tập Sử dụng hiệu quả SGK nh tài liệu nghiên

Trang 21

- Sau 15 phút bắt đầu hoàn thiện các nội dung trong phiếu.

- Khi đề cập đến phần nào trong bài thì yêu cầu 1 HS hãy trình bày nội dung phần đó

- Viết nội dung lên bảng và yêu cầu các HS khác nhận xét

- Sau khi hoàn thành các ý trong phiếu thì yêu cầu HS hoàn thiện phiếu của mình

cứu

- HS có thể trao đổi và thảo luận với các thành viên xung quanh để có đợc câu trả lời đúng ý, ngắn gọn

- Trình bày nội dung trong phiếu học tập theo yêu cầu của GV

- Theo dõi GV trình bày và nhận xét phần trả lời của bạn

- Hoàn thiện phiếu học tập

IV Củng cố:

V Dặn dũ: Đọc trước bài 10 – Cấu trỳc lặp.

Ngày tháng năm 2007

Trang 22

Tùy thuộc vào ∆ để đa ra kết luận nghiệm.

Quan sát sơ đồ Điền vào chỗ trống? Từ

đó suy ra một số mệnh đề?

Nếu ∆ < 0 thì Nếu ∆ ≥ 0 thì hoặc

Nếu ∆ < 0 thì ngợc lại thì .

⇒ mệnh đề:

2 Câu lệnh if then

Quan sát cấu trúc câu lệnh và sơ đồ

khối Chỉ ra ý nghĩa các câu lệnh?

C1: max := a; if then .

C2: if then else

Cách: .

3 Câu lệnh ghép

Trong câu lệnh if-then muốn thực hiện

nhiều lệnh sau then hay nhiều lệnh sau

else ta làm thế nào?

Trả lời:

Trang 23

Ngày soạn: / ; Ngày giảng: /

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 biết trước, cấu trúc lặp kiểm tra điều kiện 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 với số lần biết trước, lệnh lặp kiểm tra điều kiện 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 GV và HS:

1 Giáo viên: Giáo án, SGK, bảng phụ

GV : Đưa ra bài toán, yêu cầu học sinh tìm

cách để lập trình giải các bài toán này

HS : Đưa ra cách giải của mình, học sinh

có thể đưa ra những cách giải khác nhau

GV : Đưa ra cách giải cho bài toán

Giải theo các lệnh tuần tự

S1:=0;

If (1/a>0.0001) then S1:=S1+ 1/a;

If (1/(a+1)>0.0001) then S1:=S1+ 1 /(a+1);

If (1/(a+2)>0.0001) then S1:=S1+ 1 /(a+2);

If (1/(a+3)>0.0001) then S1:=S1+ 1 /(a+3);

HS : Nhận xét với việc giải bài toán theo

cách đó ?

Với N = 100 thì lặp 100 lần như thế nhưng

theo việc kiểm tra điều kiện thì không biết

phải làm theo cách nào? Theo cả hai trường

2

1 1

1 1

+ + + +

+ +

+

a a

a a

Bài toán 2 : Tính Tổng

2

1 1

1

+ + + +

+ +

+

N a a

a a

Với điều kệin 1 < 0 0001

+N a

Cách giải :

- Bắt đầu S được gán giá trị 1/a

- Tiếp theo mỗi lần cộng thêm vào S là

Trang 24

hợp thì đều quá dài.

Để học sinh hiểu được khái niệm lặp, giáo

viên đưa ra một số ví dụ trong thực tế được

tính toán lặp đi lặp lại nhiều lần

VD1 : Bài toán gửi tiền vào ngân hàng

Hằng tháng phải tính lãi và cộng thêm vào

gốc đang gửi hay nói cách khác gốc của

tháng sau = gốc + lãi tháng trước

VD 2: Tính tổng của một đoạn số nguyên

mà không được dùng công thức

N:=101;

B2: N := N -1;

B3: Nếu N < 1 thì chuyển sang bước 5;

B4: S:= S+ 1/

(a+N) rồi quay lại B2;

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

GV : Gọi một số học sinh nhận xét về 2

thuật toán trên về một số vấn đề :

 Thuật toán có lặp không?

 Lặp bao nhiêu lần?

 Hai thuật toán giống và khác nhau

như thế nào?

 Cái gì thay đổi trong thuật toán này?

Sau khi so sánh hai thuật toán trên, giáo

1/(a+N) với N = 1, 2, 3, …

- Với bài toán 1, việc cộng thêm dừng khi 1/(a+N) < 0.0001, => số lần lặp chưa biết

- Với bài toán 2, việc cộng thêm dừng khi N = 100, => số lần lặp đã biết trước

Trong lập trình, có những thao tác phải lặp lại nhiều lần, khi đó ta gọi là cấu trúc lặp.

Lặp thường có 2 loại :

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

 Lặp với số lần không biết trước NNLT nào cũng cung cấp một số câu lệnh

để mô tả các cấu trúc lặp như trên

Sau đây chúng ta sẽ tìm hiểu các câu lệnh trong ngôn ngữ Pascal

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

Trong Pascal, có 2 lọai câu lệnh lặp có số lần biết trước :

- Lặp dạng tiến:

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

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

- Lặp dạng lùi

For <biến đếm> := <giá trị cuối> downto

<giá trị đầui> do <câu lệnh>;

Trong đó:

 Biến đếm thường là biến kiểu số

nguyên

 Giá trị đầu, giá trị cuối là các biểu

thức cùng kiểu với biến đếm Giá trị đầu phải nhỏ hơn hay bằng giá trị

cuối.

 Ở dạng lặp tiến: Biến đếm tự tăng dần

từ giá trị đầu đến giá trị cuối

Trang 25

viên đưa ra hai cách lặp trong ngôn ngữ

Pascal, giải thích ý nghĩa của các thành

phần trong câu lệnh

GV : Lấy ví dụ minh họa trong Pascal để

các em thấy được sự thay đổi giá trị của

biến đếm trong một chương trình thực sự

của Pascal

Với 2 ví dụ này, giáo viên nên gõ sẵn

chương trình và cho học sinh quan sát việc

chạy chương trình, giáo viên vừa cho chạy

chương trình vừa giải thích ý nghĩa các

lệnh trong chương trình (chú ý nhiều đến

lệnh lặp)

GV : Đưa ra thuật toán hoặc có thể yêu

cầu học sinh tự xây dựng thuật toán giải bài

toán 2, nếu tự xây dựng được thuật toán thì

các em sẽ hiểu hơn về lặp không biết trước

số lần

Đưa thêm ví dụ : Nhắc lại bài toán gửi

tiền vào ngân hàng: Nếu có số tiền là A,

muốn gửi vào ngân hàng để được số tiền là

B > A thì cần gửi trong bao lâu với lãi suất

là k%

Yêu cầu học sinh đưa ra cách giải cho

bài toán này

GV : Phân tích phương án trả lời của học

sinh sau đó đưa ra lời giải cho bài toán

GV : Đưa ra cấu trúc câu lệnh While – Do

Trong Pascal, giải thích ý nghĩa các thành

phần

HS : Lắng nghe và ghi chép.

GV: Nên gõ sãn những ví dụ này để học

 Ở dạng lặp lùi: Biến đếm tự giảm dần

từ giá trị cuối đến giá trị đầu

 Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần

Ví dụ 1 : Hai chương trình cài đặt thuật toán

_ Pascal sử dụng câu lệnh lặp While

- Do để tổ chức lặp với số lần chưa viết như sau

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

Trang 26

sinh có thể quan sát chương trình, giáo viên

chạy thử chương trình trong Pascal

Riêng với VD 2, trước khi đưa ra thuật

toán, GV nên cho học sinh xây dựng thuật

toán tìm ước chung lớn nhất (đã học ở lớp

10)

Chạy chương trình với nhiều cặp M, N

khác nhau

Tốt nhất chạy từng bước, cho học sinh thấy

sự thay đổi của các biến

Trong đó

- Điều kiện là biểu thức quan hệ hoặc logic.

- Câu lệnh là một câu lệnh trong Pascal.

Ý nghĩa : Khi điều kiện còn đúng thì còn

thực hiện câu lệnh sau Do sau đó lại quay lại

kiểm tra điều kiện.

Ví dụ 1 : Chương trình của bài toán 1.

Ví dụ 2 : Tìm ước chung lớn nhất của M và

N

Thuật toán :B1: Nếu M = N thì ƯCLN := M;

Kết thúc

B2: Nếu M > N thì M := M – N rồi quay lại B1, ngược lại N := N – M rồi quay lại B1Sau đây là chương trình tìm UCLN;

IV Củng cố:

 Nhắc lại một số khái niệm mới;

 Nhắc lại cấu trúc câu lệnh

V Dặn dò:

 Cho bài tập về nhà

Trang 27

Ngày soạn: / ; Ngày giảng: /

I Mục tiêu

1 Kiến thức:

2 Kỹ năng:

- 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

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

1 Giáo viên: Phòng máy, các máy cài Turbo Pascal, giáo án, SGK

2 Học sinh: Bài tập (viết một chương trình hoàn chỉnh), SGK

III Nội dung:

Bài toán Bộ số Pi-ta-go.

Biết rằng bộ ba số nguyên dương 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ừ

GV: giải thích bài toán

HS: Đưa phương án có thể xảy ra của bài toán

Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây xảy ra hay không:

Trang 28

d) Vào bảng chọn Debug mở cửa sổ hiệu

chỉnh để xem giá trị a2, b2, c2

HS: Thực hiện thao tác lưu chương trình

GV: Theo dõi và hướng dẫn HS thực hiện các phần của bài thực hành

GV: Hướng dẫn cụ thể ở từng máy một

HS: Nếu thực hiện xong các yêu cầu trong bài thực hành thì có thể làm một số bài tập trong SGK (t.51)

GV: Gợi ý cho HS thực hiện các bài tập này

IV Củng cố:

V Dặn dò:

Tiết 16 Kiểm tra 1 tiết

Ngày soạn: / ; Ngày giảng: /

Trang 29

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

III Nội dung:

Kiểm tra bằng bài viết trên lớp

Bài kiểm tra gồm 20 câu trắc nghiệm

GV: Phát đề cho HS, quan sát HS làm bài HS: Làm bài nghiêm túc, không sử dụng

tài liệu

IV Củng cố:

V Dặn dò: Ôn tâp toàn bộ chương 2 và bài “Cấu trúc rẽ nhánh”

Giờ sau kiểm tra học kì

Tiết 18 Kiểm tra học kì I

Ngày soạn: / ; Ngày giảng: /

Trang 30

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

III Nội dung:

Kiểm tra bằng bài viết trên lớp

Bài kiểm tra gồm 30 câu trắc nghiệm

GV: Phát đề cho HS, quan sát HS làm bài HS: Làm bài nghiêm túc, không sử dụng

tài liệu

IV Củng cố:

V Dặn dò:

Trang 31

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

1 Giáo viên: Giáo án, SGK, bảng phụ

GV : Đưa ra cấu trúc câu lệnh While – Do

Trong Pascal, giải thích ý nghĩa các thành

phần

HS : Lắng nghe và ghi chép.

GV: Nên gõ sãn những ví dụ này để học

sinh có thể quan sát chương trình, giáo viên

chạy thử chương trình trong Pascal

Riêng với VD 2, trước khi đưa ra thuật

toán, GV nên cho học sinh xây dựng thuật

toán tìm ước chung lớn nhất (đã học ở lớp

10)

Chạy chương trình với nhiều cặp M, N

khác nhau

Tốt nhất chạy từng bước, cho học sinh thấy

sự thay đổi của các biến

3 Lặp với số lần chưa biết trước và câu lệnh while – do

Để giải bài toán 2 ta dùng thuật toán như sau :

_ Pascal sử dụng câu lệnh lặp While

- Do để tổ chức lặp với số lần chưa viết như sau

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

Trong đó

- Điều kiện là biểu thức quan hệ hoặc logic.

- Câu lệnh là một câu lệnh trong Pascal.

Ý nghĩa : Khi điều kiện còn đúng thì còn

Trang 32

thực hiện câu lệnh sau Do sau đó lại quay lại

kiểm tra điều kiện.

Ví dụ 1 : Chương trình của bài toán 1.

Ví dụ 2 : Tìm ước chung lớn nhất của M và

N

Thuật toán :B1: Nếu M = N thì ƯCLN := M;

Kết thúc

B2: Nếu M > N thì M := M – N rồi quay lại B1, ngược lại N := N – M rồi quay lại B1Sau đây là chương trình tìm UCLN;

IV Củng cố:

 Nhắc lại một số khái niệm mới;

 Nhắc lại cấu trúc câu lệnh

V Dặn dò:

 Cho bài tập về nhà

Trang 33

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

- Tiếp tục làm quen với các công cụ hiệu chỉnh chương trình

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

GV: Yêu cầu HS chữa bài tập 4 trên bảng.

HS: Lên bảng chữa bài.

GV: Sửa lỗi và hoàn chỉnh bài 4.

GV: Rèn luyệ, uốn nắn HS về cách viết các

câu lệnh sao cho chính xác và gọn gàng,

mỗi câu lệnh nên viết trên một dòng để

thuận tiện cho quá trình theo dõi thực hiện

từng lệnh

HS: Rèn luyện tính cẩn thận, chu đáo khi

lập trình, rèn luyện cách hiệu chỉnh chương

trình khi gặp lỗi và cách kiểm thử lại

chương trình thông qua một số test

GV: Yêu cầu cả lớp cùng giải bài tập 5.b.

Bài 4

a)

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

Trang 34

Tiết 21 Kiểu mảng

Ngày soạn: / ; Ngày giảng: /

I Mục tiêu

1 Kiến thức:

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

- Hiểu cách khai báo và truy cập đến các 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 được khai 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 GV và HS:

Trước khi vào bài, giáo viên đưa ra một số

vấn đề cần giải quyết như sau :

Với những kiểu dữ liệu như đã biết, làm thế

HS : Đưa ra các phương án để trả lời cho 3

câu hỏi trên

GV : Các ngôn ngữ lập trình thường cung

cấp một số kiểu dữ liệu được xây dựng từ

những kiểu dữ liệu chuẩn gọi là kiểu dữ

liệu có cấu trúc

Chương này chúng ta sẽ tìm hiểu một

số kiểu dữ liệu trong ngôn ngữ Pascal để trả

lời 3 câu hỏi trên

Có thể sử dụng ví dụ trong SGK để học sinh

dễ theo dõi, gõ trước chương trình để có thể

sử dụng cho các phần tiếp theo

Trong lập trình thường có 2 loại mảng :

- Mảng một chiều

- Mảng hai chiều

Trang 35

GV : Đưa ra ví dụ, cần lập lập trình xử lý

một dãy số nguyên, hãy tìm cách lưu trữ

một dãy số nguyên trong khi lập trình ?

Bằng cách nào để lưu trữ được thông tin

dưới dạng bảng khi lập trình ?

HS : Đưa ra ý kiến

GV : Đánh giá ý kiến của học sinh, sau đó

đưa ra mục đích của việc sử dụng cấu trúc

mảng trong chương trình

GV : Đưa ra khái niệm mảng một chiều và

một số yếu tố liên quan trong lập trình nói

chung

GV : Đi sâu phân tích hai chương trình để

cho học sinh nhận thấy sự tiện lợi khi sử

dụng mảng

HS : Trong khi giáo viên phân tích hai

chương trình, học sinh sẽ đưa ra ý kiến

nhận xét về 2 chương trình

HS : Trong khi giáo viên phân tích hai

chương trình, học sinh sẽ đưa ra ý kiến

nhận xét về 2 chương trình

GV : Đưa ra cách khai báo mảng một chiều

trong ngôn ngữ Pascal, giải thích ý nghĩa

của các từ khóa mới

GV : Khai báo bằng cách nào tiện lợi hơn ?

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

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

Với mảng một chiều ta quan tâm đến :

- Tên mảng một chiều

- Số lượng phần tử trong mảng

- Kiểu dữ liệu của phần tử

- Cách khai báo biến mảng một chiều

- Cách truy cập vào từng phần tử của mảng

Xét ví dụ : Nhập vào nhiệt độ trung bình

mỗi ngày trong tuần Tính và đưa ra màn hình nhiệt độ trung bình của cả tuần và đếm

số ngày có nhiệt độ lớn hơn nhiệt độ trung bình này

Quan sát hai chương trình viết bằng ngôn ngữ Pascal cùng để giải bài toán trên

- Chương trình 1 : Không sử dụng kiểu mảng

- Chương trình 2 : Sử dụng kiểu mảng một chiều

a> Khai báo mảng một chiều

Trong ngôn ngữ Pascal, mảng một chiều được khai báo bằng hai cách như sau :

- Type là từ khóa dùng để khai báo biến,

Array là từ khóa để khai báo mảng

Trang 36

HS : Thường thì học sinh trả lời cách 1 tiện

Đưa ra một số khai báo mảng trong Pascal

- Kiểu chỉ số thường là đoạn số nguyên liên tục có n1 n2, với n1 là chỉ số đầu

TypeArrayInteger=Array[1 100] of Integer;

ArrayReal=Array[1.50] of Real;

Var A : Array[1 50];

B : Array[1 50] of Real;

Khai báo mảng trực tiếp :

Var A : Array[1 100] of Integer ;

B : Arrat[1 50] of Real ;

IV Củng cố:

V Dặn dò:

Trang 37

Nếu có nhiều thời gian, giáo viên sẽ tiến

hành soạn chương trình từ đầu để học sinh

Chương trình như sau :

Program timmax ;Uses crt ;

var a : array[1 250] of integer ; n,i,max,csmax : Integer ;Begin

clrscr ; Write('Nhap n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('a[',i,'] = ') ; readln(a[i]) ; End ;

max := a[i] ;

Trang 38

GV : Đưa ra ví dụ, nhắc lại ý tưởng của

Nếu có thời gian, giáo viên sẽ tiến hành

soạn chương trình từ đầu để học sinh có thể

dễ dàng nhận ra việc chuyển đổi ngôn ngữ

từ ngôn ngữ thuật toán sang ngôn ngữ lập

trình

csmax := 1 ; For i := 2 to n do

If a[i] > max then Begin

max := a[i] ; csmax :=i ; End ;

Writeln('Gia tri lon nhat : ',max) ; Writeln('chi so ptu lon nhat : ',csmax) ; Readln ;

End

Ví dụ 2 : Sắp xếp dãy số nguyên theo bằng

thuật toán tráo đổi

- Input : Số nguyên dương N và dãy số

var A : Array[1 250] of integer ; n,i,j,tg : Integer ;

Begin clrscr ; Write('Nhap so phan tu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ; readln(A[i]) ; End ;

For j := n downto 2 do Begin

For i := 1 to j-1 do

Trang 39

If A[i] > A[i+1] then Begin

tg := A[i] ; A[i] := A[i+1] ; A[i+1] := tg ; End ;

End ; Writeln('day sau khi sap xep : ') ; For i := 1 to n do

write(a[i]:8) ; readln ;End Writeln('chi so ptu lon nhat : ',csmax); readln ;

End

IV Củng cố:

V Dặn dò:

Trang 40

GV : Đưa ra ví dụ, nhắc lại ý tưởng của

Nếu có thời gian, giáo viên sẽ tiến hành

soạn chương trình từ đầu để học sinh có thể

dễ dàng nhận ra việc chuyển đổi ngôn ngữ

từ ngôn ngữ thuật toán sang ngôn ngữ lập

trình

Ví dụ 3 : Tìm kiếm nhị phân

- Input : Dãy số A1, A2,………, AN đã được sắp xếp tăng dần

- Output : Có hay không chỉ số i mà

A[i] = k hoặc thông báo không tìm thấy

var A : Array[1 250] of integer ; n,i,k : Integer ;

dau,cuoi,giua : Integer ;

TK : boolean ;

Begin clrscr ; Write('Nhap so ptu mang n = ') ; Readln(n) ;

For i := 1 to n do Begin

Write('A[',i,'] = ') ; readln(A[i]) ;

Ngày đăng: 17/01/2017, 21:16

HÌNH ẢNH LIÊN QUAN

Bảng để các em nhận ra nhu cầu phải sử - Giáo Án Tin Học 11 Trọn Bộ
ng để các em nhận ra nhu cầu phải sử (Trang 41)
Hình khoảng cách của trại xa với trại của hiệu - Giáo Án Tin Học 11 Trọn Bộ
Hình kho ảng cách của trại xa với trại của hiệu (Trang 70)

TỪ KHÓA LIÊN QUAN

w