1. Trang chủ
  2. » Cao đẳng - Đại học

Mảng một chiều

7 49 0

Đ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 19,57 KB

Nội dung

HS2: viết chương trình tính số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình tính được.. II.[r]

(1)

Ngày soạn 15/01/2009 §11 KIỂU MẢNG

(TIẾT 1)

A MỤC TIÊU: 1 Kiến thức:

- Kiểu mảng kiểu liệu có cấu trúc, cần thiết hữu ích nhiều chương trình

- Mảng chiều dãy hữu hạn phần tử kiểu

- Có thể truy xuất (hay thao tác) phần tử mảng, việc làm phần tử mảng xác định tên mảng số tương ứng phần tử

- Các ngơn ngữ lập trình thơng dụng cho phép người lập trình xây dựng kiểu liệu mảng chiều

- Có hai cách khai báo: trực tiếp gián tiếp

2 Kỹ năng:

- Nhận biết thành phần khai báo kiểu mảng chiều - Nhận biết định danh phần tử xuất chương trình

- Biết cách viết khai báo mảng đơn giản với số kiểu miền kiểu nguyên - Cài đặt thuật toán số toán đơn giản với kiểu liệu chiều - Thực khai báo mảng, truy cập, tính tốn phần tử mảng

3 Thái độ:

- Tiếp tục xây dựng lịng ham thích lập trình, nhằm giải toán MTĐT - Tiếp tục rèn luyện phẩm chất cần thiết người lập trình

B PHƯƠNG PHÁP: Nêu tình có vấn đề, câu hỏi gợi mở.

C CHUẨN BỊ CỦA GIÁO VIÊN, HỌC SINH:

1 Chuẩn bị giáo viên: giáo án, phấn, bút, sổ điểm, SGK, dụng cụ trực quan, chương trình minh họa

2 Chuẩn bị học sinh: SGK, vở, bút

D TIẾN TRÌNH LÊN LỚP: I Ổn định:

II Kiểm tra cũ: Nhập vào nhiệt độ trung bình ngày tuần Tính in hình nhiệt độ trung bình tuần số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính

GV: gọi hs lên bảng

HS1: viết chương trình nhập vào nhiệt độ trung bình ngày tuần Tính in hình nhiệt độ trung bình tuần

HS2: viết chương trình tính số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính

II Bài mới:

1 Đặt vấn đề: kiểu nguyên, thực, kí tự gọi chung kiểu vơ hướng chuẩn kiểu liệu đơn giản Như ta biết, TP từ câu lệnh đó, ta xây dựng

(2)

những câu lệnh có cấu trúc phức tạp Sau mặt liệu ta tính cấu trúc tương tự, kiểu liệu phức tạp xây dựng từ liệu đơn giản

2 Triển khai bài:

Hoạt động 1: Tìm hiểu Ví dụ

Hoạt động thầy trò Nội dung học GV: Dựa vào kiến thức

học giải toán Hỏi:

- Input: - Output: - Giải thuật:

Nếu có nhiều tháng, năm sao???

Chúng ta khai báo 365 biến???

GV: Nhập vào dãy n số nguyên Tính tổng số vừa nhập

- Bài toán giải quyết, nhiên giá trị nhập vào không lưu giữ được, dựa vào lần nhập cộng dồn vào tổng, sau lần nhập giá trị biến thay đổi

- Nếu thêm điều kiện cho toán: in giá trị dương  không thực

- Với kiểu liệu học làm để:

Lưu trữ xử lý dãy số? Lưu trữ xử lý họ tên người?

Lưu trữ xử lý bảng kết thi tốt nghiệp?

- Nếu làm cho chương trình phức tạp với nhiều biến chương trình tính dài Để khắc phục khó khăn đó, TP sử dụng mảng chiều

I Mảng chiều: * Ví dụ:

Nhập vào nhiệt độ trung bình ngày tuần Tính in hình nhiệt độ trung bình tuần số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính

- Chương trình:

Var t1,t2,t3,t4,t5,t6,t7,tb:real; dem:integer;

Begin

Write('Nhap nhiet ngay: '); Readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; dem:=0;

if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; if t5>tb then dem:=dem+1; if t6>tb then dem:=dem+1; if t7>tb then dem:=dem+1; Writeln('Nhiet tbinh: ',tb); Writeln('So :',dem); readln;

End

Hoạt động 2: Tìm hiểu khái niệm mảng chiều

Hoạt động thầy trò Nội dung học T

25 20.5 22 30.5 31 21 26.5

a Khái niệm:

(3)

1 2 3 4 5 6 7

- Tên dãy gì? - Dãy T gồm số?

- Các số có kiểu liệu kiểu gì?

- Để lấy giá trị dãy ta làm nào?

GV: Dựa vào ví dụ khái niệm mảng chiều?

HS trả lời

GV: Dựa vào khái niệm kiểu mảng chiều em cho biết khai báo kiểu mảng xác định gì?

HS: dựa vào khái niệm để trả lời

mỗi phần tử có số

* Với mảng chiều xác định:

- Tên mảng chiều; - Số lượng phần tử;

- Kiểu liệu phần tử; - Các khai báo biến mảng; - Cách tham chiếu đến phần tử

Hoạt động 3: Tìm hiểu cách khai báo mảng chiều

Hoạt động thầy trò Nội dung học GV: Hãy nêu cú pháp khai báo biến?

Hs: Trả lời

GV: khai báo Pascal sau:

Var a:array[1 10] of integer; Begin

End.

Dịch chương trình

HS: chú ý quan sát

GV: Gọi HS nhận xét khai báo - Dịch có báo lỗi khơng?

- Biến a khai báo có giống biến khác bình thương khai báo khơng?

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

GV: cung cấp cú pháp khai báo trực tiếp giải thích

HS: chú ý nghe giảng ghi

GV: Để lập trình giải tốn ta khai báo sau:

Var T: Array[1 7] of Real;

Hoặc: Type nhietdo = Array[1 7] of Real;

Var T:nhietdo;

GV: Nêu cách khai báo giải thích

HS: ý để vận dụng khai báo cho toán

GV: Hãy ghi số khai báo mảng chiều

b Khai báo:

- Trực tiếp:

Var <tên biến mảng>: Array[kiểu số] of <Kiểu phần tử>;

- Gián tiếp:

Type <tên kiểu mảng> = Array[kiểu số] of <Kiểu phần tử>;

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

Trong đó:

- Kiểu số:là kiểu miền con, đoạn số nguyên liên tục

- Kiểu phần tử kiểu phần tử mảng, kiểu liệu đơn giản

Ví dụ

(4)

hợp lệ Kiểm tra số học sinh

HS: ghi số khai báo vào giấy nháp

GV: thực khai báo máy để thực cho học sinh thấy khai báo có hợp lệ hay khơng?

GV: đưa khai báo, gọi học sinh nhận xét khai báo:

Var nguyen:array[1 n] of byte;

HS: số phần tử mảng chưa xác định

GV: Vậy làm để xác định số phần tử mảng dùng khai báo

HS: n có giá trị, khai báo cho biến n

Const n=100;

Var nguyen:array[1 n] of byte;

GV:

- Cho biết tên kiểu liệu mới? - Kiểu mảng có phần tử? - Mỗi phần tử mảng thuộc kiểu gì? - Cho biết tên mảng dùng chương trình?

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

Hoạt động 4: Tìm hiểu cách tham chiếu đến phần tử mảng chiều Hoạt động thầy trò Nội dung học GV: Để tham chiếu đến phần tử

mảng ta dùng cú pháp sau:

<tên biến mảng>[chỉ số] HS: Chú ý lắng nghe ghi

GV: Cho ví dụ sau:

T

25 20.5 22 30.5 31 21 26.5 1 2 3 4 5 6 7

T[3]: có nghĩa gì? T[3]=?

T[6]=?

HS: dựa cú pháp dựa vào dãy số để trả lời

c Tham chiếu đến phần tử mảng: <tên biến mảng>[chỉ số]

Hoạt động 5: Tìm hiểu cách nhập xuất liệu mảng chiều

(5)

các giá trị cho mảng in mảng

VD:

+ Nhập phần tử thứ mảng: Read(T[1]);

Nhiều phần tử?

Readln(T[2],T[5],T[7]); + Mảng T, nhập vào phần tử

For i:=1 To Do Begin

Write(‘Nhap nhiet thu ’,i,’:’); Readln(A[i]);

End;

HS: đưa cách nhập giá trị cho trường hợp tổng quát (n phần tử)

- Trường hợp giá trị mảng có điều kiện cần phải thực ntn? (VD phần tử mảng phải số dương)

For i:=1 To 10 Do Repeat

Write(‘A[’,i,’]=’);Readln(A[i]); Until A[i] >0;

- Trường hợp khống chế số lượng phần tử mảng?  Sử dụng Repeat

GV: Để in hình phần tử mảng T ghi nào?

Write(T[1];)

VD:

For i:=1 To Do Write(T[i]:3);

- trường hợp in có rõ phần tử thứ mảng:

For i:=1 To 10 Do

Write(‘A[‘,i,’]=’,A[i]:3);

- Nhập:

Read /Readln/(<tên biến mảng> [chỉ số ]);

Đoạn chương trình nhập mảng 1 chiều gồm n phần tử:

Write('nhap so phan tu cua mang: '); Readln(n);

For i:=1 to n Begin

Write('Nhap phan tu thu ',i,': ');

Readln(<tên biến mảng>a[i]); End;

- Xuất:

Write/Writeln(<tên biến mảng>[chỉ số]);

Đoạn chương trình in mảng chiều gồm n phần tử:

For i:=1 to n

Write(<tên biến mảng>[i],’ ‘);

Hoạt động 6: Viết chương trình ví dụ

Hoạt động thầy trị Nội dung học GV: Kết hợp phần khai báo,

nhập mảng thực để nói cách viết chương trình

(6)

HS: ý nghe giảng

GV: Để biết số ngày có nhiết độ lớn nhiệt độ trung bình ta làm nào?

HS: liên hệ kiến thức học trả lời câu hỏi:

For i:= to n

If T[i]>tb then dem:=dem+1;

GV: thực chương trình Pascal để học sinh quan sát kết

HS: ý máy chiếu

độ trung bình tính được Chương trình:

Var T : Array[1 366] of Real; Tong, tb:Real; i,n,dem:byte; Begin

Write(‘Nhap so ngay: ’); Readln(n); Tong:=0;

For i:= to n Begin

Write(‘Nhap nhiet ’, i,’: ’); Readln(T[i]);

Tong:=Tong+T[i]; End;

Tb:=tong/n; dem:=0; For i:= to n

If T[i]>tb then dem:=dem+1; Writeln('Nhiet tbinh: ',tb); Writeln('So :',dem); readln;

End

IV Củng cố:

- Khái niệm kiểu mảng? - Khai báo?

- Tham chiếu đến phần tử mảng chiều?

V Dặn dò, hướng dẫn học sinh học tập nhà

- Làm tập nhà

Viết chương trình cho máy làm việc sau:

a Nhận vào mảng A [1 n] (n > 9), phần tử số thực lớn -2 nhỏ b Tính trung bình cộng phần tử dương mảng

c So sánh số phần tử dương với số phần tử âm mảng

d Tìm phần tử nhỏ lớn mảng Chỉ vị trí giá trị chúng e Tính a[1] + a[2]2 + a[3]3 + + a[n]n

- Học kỹ để chọn cấu trúc viết chương trình

Duyệt Tổ trưởng CM/ Hiệu trưởng :

(7)

Ngày đăng: 29/03/2021, 13:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w