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

Bài. Mảng Một chiều

7 2,2K 9

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 131,5 KB

Nội dung

Kỹ năng: - Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.. Như vậy, các em thấy bản chất của bài toán l

Trang 1

Ngày soạn:

Ngày dạy:

Tiết theo PPCT: 19

Chương IV KIỂU DỮ LIỆU CÓ CẤU TRÚC

§11 KIỂU MẢNG

I Mục tiêu: Sau khi học xong bài học này, học sinh sẽ:

1 Kiến thức:

- Biết được kiểu dữ liệu mới là kiểu mảng một chiều

- Biết được cấu trúc tạo kiểu mảng một chiều và cách khai báo biến mảng một chiều

2 Kỹ năng:

- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể

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

1 Chuẩn bị của giáo viên: Giáo án, Laptop, Projector để giới thiệu các ví dụ và minh họa.

2 Chuẩn bị của học sinh: Sách giáo khoa, vở ghi chép và học bài cũ ở nhà.

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

1 Oån định lớp: (1’)

- Kiểm tra sĩ số: - Tổng số: Vắng: - có phép: - không phép:

- Kiểm tra tác phong

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

Câu hỏi: Viết chương trình nhập từ bàn phím dãy A gồm 10 số nguyên: a 1 , a 2 , a 3, a 4 , a 5 , a 6 , a 7 , a 8 , a 9 ,

a 10

Trả lời:

Program Nhap_So_nguyen;

Uses crt;

Var

a1,a2,a3,a4,a5,a6,a7,a8,a9,a10: integer;

BEGIN

Clrscr;

Writeln(‘Nhap gia tri cua cac so nguyen:’);

Write(‘a1=’); Readln(a1);

Write(‘a2=’); Readln(a2);

Write(‘a3=’); Readln(a3);

Write(‘a4=’); Readln(a4);

Write(‘a5=’); Readln(a5);

Write(‘a6=’); Readln(a6);

Write(‘a7=’); Readln(a7);

Write(‘a8=’); Readln(a8);

Write(‘a9=’); Readln(a9);

Write(‘a10=’); Readln(a10);

Readln

END.

3 Dẫn dắt vào bài: (2’)

- Bài toán trên yêu cầu chúng ta thực hiện bao nhiêu công việc?

- Bài toán trên đã khai báo bao nhiêu biến? và sử dụng bao nhiêu cặp câu lệnh Write và Readln?

- Giả sử yêu cầu của bài toán là nhập vào 100 số nguyên thì chúng ta sẽ phải khai báo bao nhiêu biến? sử dụng bao nhiêu câu lệnh Readln?

Trang 2

Như vậy, các em thấy bản chất của bài toán là không khó nhưng khi viết chương trình thì phải khai báo rất nhiều biến và lặp đi lặp lại một câu lệnh nhiều lần Để khắc phục vấn đề này, Pascal cung cấp một kiểu dữ liệu mới là Kiểu mảng Để hiểu rõ hơn, Thầy và các em cùng nghiên cứu qua bài học hôm nay.

4 Tổ chức các hoạt động dạy – học trên lớp

Hoạt động 1: Tìm hiểu ý nghĩa của mảng một

chiều (3’) 1 Kiểu mảng một chiều

GV: Yêu cầu Hs nghiên cứu Sgk

HS: Nghiên cứu nội dung Sgk.

? Em hiểu thế nào về Mảng 1 chiều?

? Trình bày các kiểu dữ liệu đã học?

? Để mơ tả mảng 1 chiều, cần xác định những yếu tố

nào?

HS: Trả lời các câu hỏi Chép bài.

- Mảng 1 chiều là dãy hữu hạn các phần tử cĩ cùng kiểu dữ liệu

- Các phần tử trong mảng cĩ cùng chung một tên

và phân biệt nhau bởi chỉ số

- Để mơ tả mảng 1 chiều cầ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 nĩ

Hoạt động 2: Tạo kiểu mảng 1 chiều và khai báo

biến mảng (17’)

GV: Yêu cầu Hs nghiên cứu Sgk, rồi trả lời các câu

hỏi sau:

HS: Nghiên cứu nội dung Sgk.

a Khai báo

* Cách 1: Khai báo trực tiếp

Var <Tên biến mảng>: array[kiểu chí số] of

<kiểu phần tử>;

? Để khai báo biến ta sử dụng từ khĩa nào?

? Cĩ mấy cách khai báo biến mảng 1 chiều? Trình

bày?

HS: Trả lời các câu hỏi Chép bài vào vở.

* Cách 2: Khai báo gián tiếp

Type <Tên kiểu mảng>=array[kiểu chỉ số] of

<kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng>;

Trong đĩ:

 Kiểu chỉ số thường là một đoạn số nguyên liên tục cĩ dạng n1 n2 xác định chỉ số đầu và chỉ số cuối (n1  n2);

 Kiểu phần tử là kiểu của các phần tử mảng

? Đây là khai báo mảng trực tiếp hay gián tiếp?

HS: Trực tiếp.

? Tên biến mảng là gì? (HS: A)

? Kiểu chí số là gì? (Integer)

? Em thử cho biết ý nghĩa của khai báo biến này?

HS: Tạo mảng A gồm 10 phần tử, cĩ kiểu nguyên.

? Thử chuyển sang khai báo gián tiếp? (dẫn dắt hs

trả lời)

Ví dụ:

Var A: array[1 10] of Integer;

Type MangInt = array[1 10] of Integer;

Var A: MangInt;

GV: Lấy thêm một vài ví dụ khác

(chiếu ví dụ lên màn hình rồi giải thích cho hs) Ví dụ:

? Cho biết tên của các kiểu dữ liệu mới?

HS: MangInt và MangChar

? MangInt và MangChar cĩ bao nhiêu phần tử? Kiểu

chỉ số là gì? (HS: 20 phần tử; Từ 1 đến 20)

? Mỗi phần tử của MangInt thuộc kiểu gì?

HS: Kiểu nguyên

? Mỗi phần tử của MangChar thuộc kiểu gì?

HS: Kiểu kí tự

? MI, MJ, MK là gì? (HS: biến cĩ kiểu MangInt)

? M1, M2 là mảng gồm bao nhiêu phần tử? Kiểu chỉ

số là gì? (HS: 21 phần tử; Từ -10 đến 10)

Type MangInt = array[1 20] of Integer;

MangChar = array[1 20] of Char;

Var

MI, MJ, MK: MangInt;

X, Y: mangChar;

M1, M2: array[-10 10] of Integer;

M3: array[‘A’ ‘Z’] of Integer;

M3 là mảng các số nguyên được xác định chỉ số từ A

đến Z Gồm bao nhiêu phần tử? (HS: 26 phần tử)

Để tham chiếu đến từng phần tử của mảng ta thực

hiện như sau:

(Diễn giảng, cho ví dụ để hs hiểu)

* Tham chiếu đến từng phần tử

Tên biến mảng[chỉ số]

Trang 3

Ví dụ:

- A[1]: là phần tử ở vị trí 1 của mảng A

- A[i]: là phần tử ở vị trí i của mảng A

Hoạt động 3: Rèn luyện kỹ năng sử dụng kiểu

mảng 1 chiều (10’)

? Hãy khai báo một mảng số thực B gồm các phần tử

được đánh số từ -100 đến 200?

HS: Lắng nghe, suy nghĩ rồi thực hiện

* Khai báo trực tiếp:

Var B: array[-100 200] of Real;

* Khai báo gián tiếp:

Type MangReal = array[-10 200] of Real;

Var B: MangReal;

? Sử dụng kiểu mảng để viết chương trình nhập từ

bàn phím dãy A gồm 10 số nguyên: a 1 , a 2 , a 3, a 4 , a 5 ,

a 6 , a 7 , a 8 , a 9 , a 10

Program Nhap_Day_so;

Uses Crt;

Var A: array[1 10] of Integer; {khai báo mảng} i: Integer;

BEGIN Clrscr;

Writeln(‘Nhap gia tri cua day A:’);

For i:=1 to 10 Do Begin

Write(‘A[‘,i,’]=’); Readln(A[i]); End;

Readln END.

? Công việc nhập các số nguyên được lặp lại bao

nhiêu lần? Sử dụng vòng lặp nào?

HS: lặp lại 10 lần, sử dụng vòng lặp FOR

? Các em chú ý cách nhập dữ liệu cho mảng?

? So sánh với chương trình ban đầu.

5 Củng cố, sơ kết bài học (1’)

Qua bài học này, các em cần nắm vững:

- Cách khai báo mảng 1 chiều

- Tham chiếu đến các phần tử của mảng 1 chiều

6 Dặn dò, ra bài tập về nhà (3’)

Bài tập: Viết chương trình nhập từ bàn phím dãy A gồm 10 số nguyên: a1 , a 2 , a 3, a 4 , a 5 , a 6 , a 7 , a 8 , a 9 ,

a 10 Rồi thực hiện:

a Tính tổng của các số nguyên có trong dãy A.

b Tính tổng của các số chẵn.

Trang 4

Ngày soạn:

Ngày dạy:

Tiết theo PPCT: 43

Chương VI CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC

§18 VÍ DỤ VỀCÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (Tiết 2)

I Mục tiêu: sau khi học xong bài học này, học sinh sẽ:

1 Kiến thức:

- Biết được cấu trúc chung của hàm Biết được vị trí khai báo hàm trong chương trình chính

2 Kỹ năng:

- Phân biệt được khác nhau cơ bản của hàm và thủ tục

- Sử dụng đúng lời gọi hàm trong chương trình chính

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

1 Chuẩn bị của giáo viên: Giáo án, Bảng phụ để giới thiệu các ví dụ và minh họa.

2 Chuẩn bị của học sinh: Sách giáo khoa, vở ghi chép và học bài cũ ở nhà.

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

1 Oån định lớp: (1’)

- Kiểm tra sĩ số: - Tổng số: Vắng: - có phép: - không phép:

- Kiểm tra tác phong

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

Câu hỏi 1: Trình bày cấu trúc của Thủ tục?

Câu hỏi 2: Tham trị là gì? Tham biến là gì

Trả lời:

Procedure <tên thủ tục>[(<Danh sách tham số>)];

[<Phần khai báo>]

Begin

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

End;

- Tham số hình thức được thay bằng tham số thực

sự là các giá trị cụ thể gọi là tham trị

- Tham số hình thức được thay bằng tham số thực

sự là các biến chứa dữ liệu gọi là tham biến

3 Dẫn dắt vào bài: (1’)

- Chương trình con gồm mấy loại?

Ở tiết học trước, chúng ta đã được làm quen với cách viết và sử dụng thủ tục Cịn với chương trình con là hàm thì cách viết và sử dụng sẽ như thế nào? Tiết học này chúng ta sẽ tiếp tục tìm hiểu?

4 Tổ chức các hoạt động dạy – học trên lớp

Hoạt động 1: Tìm hiểu cấu trúc của hàm

(20’) 2 Cách viết và sử dụng hàm

GV:

? Hàm là gì? (Hàm là CTC thực hiện một số

thao tác nào đĩ và trả về một giá trị qua tên

của nĩ)

? Trình bày các kiểu dữ liệu đã học?

? Kể tên một số hàm số học chuẩn mà em đã

học?

HS:

- Hàm ABS(): Tính giá trị tuyệt đối

- Hàm SQRT(): Tính căn bậc 2…

? Để tính x, trong pascal ta sẽ viết như thế

nào?

HS: SQRT(x)

? SQRT là thành phần nào của hàm?

? x là thành phần nào của hàm?

Trang 5

-Cách viết như thế này gọi là cách sử dụng hàm.

Còn để viết một hàm như thế nào thì trước hết

chúng ta cần tìm hiểu cấu trúc của hàm là như

thế nào?

? Khai báo hàm ta dùng từ khóa nào? a Cấu trúc của hàm

? So sánh sự giống và khác nhau của hàm và

thủ thục? (Cho hs làm nhanh, lấy 5 hs nhanh

nhất để chấm điểm)

- Giống: có cấu trúc tương tự.

- Khác: Phần đầu (Tên dành riêng, tên hàm

phải quy định kiểu dữ liệu)

Function <Tên hàm>[(<ds tham số>)]: <kiểu dữ liệu>; [<phần khai báo>]

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

End;

GV: Nhận xét kết quả, đánh giá cho điểm.

Để thấy rõ hơn, chúng ta cùng nhau tìm hiểu Ví

dụ 1, trang 100/ SGK

GV: Treo bảng phụ

HS: Kết hợp xem SGK + Bảng phụ.

Trong đó:

 Kiểu dữ liệu gồm: Integer, Real, Char, Boolean, String

 Phần thân hàm phải có câu lệnh gán

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

? Trong chương trình có mấy hàm? Đó là

những hàm nào? (HS: một hàm: UCLN)

? Chỉ ra vị trí xuất hiện của hàm?

? Chỉ ra các tham số của hàm? Đây là tham

biến hay tham trị? (HS: x, y là các tham trị)

? Kiểu dữ liệu của hàm là gì? (HS: Integer)

? Chỉ ra câu lệnh gán giá trị cho tên hàm?

HS: UCLN:=x;

Hoạt động 2: Cách sử dụng hàm (15’)

Thông qua ví dụ này, các em đã thấy được sự

giống và khác nhau giữa thủ tục và hàm Còn

hàm được sử dụng ntn? Chúng ta sẽ sang phần

? Lệnh gọi hàm được thực hiện như thế nào?  Hoàn toàn tương tự như sử dụng các hàm chuẩn

 Lệnh gọi hàm có thể tham gia vào biểu thức và có thể là tham số của lời gọi hàm, thủ tục khác

Để thấy rõ hơn vấn đề này, chúng ta cùng nhau

tìm hiểu ví dụ 2, SGK/trang 102.

GV: Treo bảng phụ

HS: Kết hợp theo dõi SGK + Bảng phụ

? Đâu là biến toàn cục? (HS: a, b, c)

? Đâu là biến cục bộ? (HS: không có)

? Tên và các tham số của hàm? (HS: Min(a,b)).

? Kiểu dữ liệu của hàm? (HS: Real)

? Chỉ ra lời gọi hàm? (HS: Min(Min(a,b),c))

Như vậy, các em thấy hàm Min(a,b) lại là

một tham số của hàm Min bên ngoài.

5 Củng cố, sơ kết bài học (2’)

Qua bài học này, các em cần nắm được:

- Có 2 loại Chương trình con (Thủ tục và hàm)

- Cấu trúc và vị trí của Chương trình con trong chương trình chính (? Chương trình con được viết

ở phần nào của Chương trình chính?)

- Phân biệt được tham số hình thức, tham số thực sự, tham biến, tham trị?

- Chương trình con được gọi thông qua tên của nó

6 Dặn dò, ra bài tập về nhà.(1’)

Chuẩn bị trước bài tập và thực hành 6, trang 103/SGK

Trang 6

Ngày soạn:

Ngày dạy:

Tiết theo PPCT: 04

BÀI TẬP VÀ THỰC HÀNH 1

I MỤC TIÊU

1 Kiến thức

- Cũng cố hiểu biết ban đầu về tin học, máy tính

- Sử dụng bộ mã ASCII để mã hĩa kí tự, số nguyên

- Viết được số thực dưới dạng dấu phẩy động

2 Kĩ năng

- Biết được cách mã hĩa của máy tính

- Biết biểu diễn các hệ đếm cơ số 10, 2, 16

3 Tư tưởng, tình cảm,Thái độ

- Giúp cho học sinh cĩ tính sáng tạo, tìm tịi, nghiên cứu

- Gây động cơ học tập tích cực

II ĐỒ DÙNG DẠY HỌC

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

- Sách Giáo khoa, Sách Giáo viên

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

- Sách Giáo khoa

III TIẾN TRÌNH TỔ CHỨC DẠY VÀ HỌC

1 Ổn định tổ chức lớp: (2’)

- Nắm sĩ số:

- Ổn định trật tự, tạo tâm lý tốt để bắt đầu tiết học

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

- Câu hỏi 1: Hệ đếm cơ số 10, 2, 16 sử dụng các ký hiệu nào?

- Câu hỏi 2: Cách biểu diễn của hệ nhị phân? Biểu diễn số 1012?

3 Dẫn dắt vào bài mới: (1’)

Bài trước ta đã học về tin học và máy tính, mã hĩa thơng tin, biểu diễn số nguyên và số thực Hơm nay ta sẽ đi vào giải một số bài tập cụ thể

4 Tổ chức các hoạt động Dạy và Học trên lớp:

1 Hoạt động 1: Tin học và Máy tính (10’) a Tin học, máy tính

GV: Em hãy cho biết 1GB bằng bao nhiêu MB?

- Gọi hs trả lời tại chổ Rồi làm câu a2) Câu a2) B

GV: Đổi 1GB = ?byte

- Gọi hs lên bảng làm.

GV: Hơm trước các em đã được học cách mã hĩa thơng

tin Các em đã biết được cách biểu diễn trạng thái của

bĩng đèn, bây giờ các em làm tương tự như vậy các e cĩ

thể biểu diễn tương ứng với học sinh nam là bit 1, tương

ứng với học sinh nữ là bit 0

- Gọi một số học sinh lên bảng làm Rồi nhận xét

Câu a3) trang 16/SGK

Hoạt động 2: Sử dụng bảng mã ASCII để mã hĩa và

giải mã (10’)

b Sử dụng mảng mã ASCII để mã hĩa và giải mã

GV: Thơng tin đưa vào máy tính được mã hĩa như thế

nào?

- Gọi hs trả lời tại chổ.

- Yêu cầu hs xem bảng Phụ lục 1 trang 169/SGK Rồi

dựa vào đĩ để mã hĩa và giải mã.

- Gọi 2 hs lên bảng làm bài b1) và b2)

Đáp án:

b1)

“VN” 01010110 01001110

“Tin” 01010100 01101001 01101110

b2) 01001000 01101111 01100001 là Hoa

Trang 7

- Cho một số ví dụ khác đề hs tự giải.

Hoạt động 3: Biểu diễn thông tin trong máy(17’) c Biểu diễn số nguyên và số thực

GV: Gọi 2 hs lên bảng làm bài tập sau:

- Chuyển 1112 sang ?10 1112  1 * 22 1 * 21 * 20  710

AE

- Yêu cầu hs làm bài tập c1), c2) trang 16, 17/SGK

5 Củng cố, sơ kết bài học (1’)

- Nhận xét, rút kinh nghiệm

- Các em cần phải nắm vững cách sử dụng bảng mã ASCII để mã hóa các kí tự

- Nắm vững cách biểu diễn thông tin trong máy tính

6 Dặn dò, ra bài tập cho học sinh (1’)

- Đọc Bài đọc thêm 2 trang 17/SGK

- Xem trước bài số 3 trang 19/SGK để chuẩn bị cho tiết học sau

Ngày đăng: 09/07/2014, 18:00

TỪ KHÓA LIÊN QUAN

w