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

Một phần của tài liệu Download giáo án tin học 11 biên soạn theo chuẩn kiến thức kỹ năng, từ bài 1 đến bài 11 (2) (Trang 43 - 45)

D, x1, x2: real; Begin clrscr;

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

a) Khái niệm

Bài toán: Nhập vào nhiệt độ (trung

bình) của mỗi ngày trong tuần. Tính 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 độ cao hơn nhiệt độ trung bình của tuần.

program Nhietdo_Tuan;

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

begin

writeln('Nhap vao nhiet to cua 7 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 do trung

binh tuan: ',tb:4:2); writeln ('So ngay nhiet do cao hon trung binh: ',dem); readln

end.

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

các thao tác trên mảng một chiều.

GV: Qua tìm hiểu chơng trình trên theo

em để mô tả mảng một chiều, ta cần xác định những yếu tố nào? Khi sử dụng mảng một chiều ta cần quan tâm điều gì?

HS: Suy nghĩ trả lời.

GV: Nhận xét và kết luận: Với mảng một

chiều ta cần quan tâm: - Tên mảng một chiều.

- Số lợng phần tử trong mảng. - Kiểu dữ liệu của các phần tử.

- Cách khai báo biến mảng một chiều. - Cách truy cập vào các phần tử trong mảng.

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

GV: Hãy cho biết cách khai báo kiểu dữ

liệu mảng một chiều trong ngôn ngữ lập trình Pascal. Cho ví dụ.

GV: Chia lớp thành ba nhóm, phát phiếu

học tập và yêu cầu các nhóm viết kết quả của nhóm vào phiếu học tập.

HS: Thảo luận theo nhóm và cử đại diện

nhóm để trình bày. Các nhóm theo dõi và cho nhận xét.

GV: Nhận xét và kết luận (treo phần khai

báo đã chuẩn bị sẵn ở giấy khổ lớn lên bảng). Giới thiệu khi nào sử dụng cách 1 khi nào nên sử dụng cách 2 để khai báo mảng.

GV: Chiếu lên bảng một số khai báo mảng

một chiều đã chuẩn bị trớc và yêu cầu HS xác định khai báo đúng hay sai.

HS: Suy nghĩ trả lời.

GV: Nhận xét và đa ra kết luận.

GV: Giả sử mảng A biểu diễn nhiệt độ của

các ngày trong tháng, vậy muốn biết nhiệt độ

tên và mỗi phần tử của nó có một chỉ số.

program Nhietdo_Nngay;

const Max = 366;

type Kmang1 = array[1..Max]

of real;

var Nhietdo: Kmang1; dem, i, N: byte;

Tong, Trung_binh: real;

begin write('Nhap so ngay: '); readln(N); Tong:= 0; for i:= 1 to N do begin

write('Nhap nhiet do ngay ',i, ': ');

readln(Nhietdo[i]);

Tong:= Tong + Nhietdo[i]; end;

dem:= 0;

trung_binh:= Tong/N;

for i:= 1 to N do

if Nhietdo[i] > trung_binh

then dem:= dem+1; writeln('Nhiet do trung

binh',N,' ngay:', trung_binh:8:3);

writeln('So ngay nhiet do cao hon trung binh: ',dem);

readln

end.

b) Khai báo

Cách 1. Khai báo trực tiếp biến

mảng một chiều:

var <tên biến mảng >: array[kiểu chỉ số]of<kiểu phần tử>;

Cách 2. Khai báo gián tiếp biến

mảng qua kiểu mảng một chiều:

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 đó:

của ngày 25 trong tháng phải viết thế nào?

HS: Suy nghĩ trả lời.

GV: Nhận xét và đa ra kết luận.

Hoạt động 3. Rèn luyện kĩ năng sử dụng mảng một chiều.

GV: Giới thiệu đề bài (ví dụ 1, SGK trang

56), chiếu đề bài lên bảng. Yêu cầu HS xác định dữ liệu vào, dữ liệu ra. Sau đó nêu thuật toán để giải bài toán (thuật toán đã học ở lớp 10).

GV: Nếu không sử dụng biến mảng một

chiều, có thể giải quyết đợc bài toán không? Khó khăn chỗ nào?

HS: Suy nghĩ trả lời.

GV: Định hớng cho HS sử dụng kiểu

mảng một chiều để giải quyết bài toán. Gợi ý để HS có ý tởng viết chơng trình: - Khai báo kiểu mảng.

- Xác định các thao tác chính cần giải quyết.

GV: Chiếu chơng trình lên bảng và chạy

thử với các bộ dữ liệu khác nhau.

GV: Giới thiệu đề bài (ví dụ 2, SGK trang

57), chiếu đề bài lên bảng. Yêu cầu HS phân tích bài toán và xác định dữ liệu vào, dữ liệu ra. Sau đó nhắc lại thuật toán đã học ở lớp 10.

HS: Suy nghĩ và hoạt động dới sự hớng

dẫn của GV.

GV: Chia lớp thành ba nhóm, yêu cầu các

nhóm viết chơng trình lên giấy bóng trong hoặc lên bìa cứng.

HS: Làm việc theo nhóm.

GV: Theo dõi các nhóm thảo luận và làm

nguyên liên tục có dạng n1..n2 với

n1,n2 là các hằng hoặc biểu thức

nguyên xác định chỉ số đầu và chỉ số cuối (n1 ≤ n2);

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

Ví dụ. Các khai báo kiểu mảng một

chiều sau đây là hợp lệ:

type ArrayReal = array[-100..200] of real; ArrayBoolean = array[-n+1.. n+1] of boolean; ArrayInt = [-100..0] of integer; trong đó, n là hằng nguyên.

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à ].

Một phần của tài liệu Download giáo án tin học 11 biên soạn theo chuẩn kiến thức kỹ năng, từ bài 1 đến bài 11 (2) (Trang 43 - 45)

Tải bản đầy đủ (DOC)

(57 trang)
w