Mảng hai chiều:

Một phần của tài liệu Giáo án Tin 11 đầy đủ theo tiết (Trang 47)

IV. KẾT QUẢ KIỂM TRA

2.Mảng hai chiều:

Mảng hai chiều là bảng các phần tử cĩ cùng kiểu.

* Các yếu tố để xây dựng mảng hai chiều:

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

- Kiểu dữ liệu của phần tử - Các cách khai báo biến - Cách tham chiếu đến phần tử. a. Khai báo

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

Var <tên biến mảng>:array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>;

Thơng thường thì cách 1 ta thường dùng hơn.

Khi khai báo mảng hai chiều cần chú ý đến chỉ số dịng và chỉ số cột và kiểu phần tử

Hãy nêu cú pháp tham chiếu đến phần tử của mảng một chiều.

Tương tự như mảng một chiều tham chiếu đến phần tử của mảng hai chiều thì ta cĩ thêm chỉ số cột.

Soạn sẵn chương trình và chiếu lên giải thích từng câu lệnh.

Yêu cầu thảo luận nhĩm để viết chương trình

Chiếu lên màn hình nhận xét đánh giá

Chuẩn bị chương trình để chiếu và chạy thử.

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

Thảo luận nhĩm sau đĩ trình bày bằng giấy

− Khai báo gián tiếp

Type <tên kiểu mảng> = array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>;

var <tên biến mảng>:<tên kiểu mảng>; ví dụ: type mang = array[1..9,1..10] of integer;

var A : mang; Trong đĩ:

- Type, Var, of: từ khĩa

- Array: từ khĩa để khai biến mảng

- Tên biến mảng, tên kiểu mảng: do người lập trình tự đặt.

Kiểu chỉ số hàng, kiểu chỉ số cột: là đoạn số nguyên liên tục

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

* Tham chiếu đến phần tử của mảng hai chiều

<Tên biến mảng>[chỉ số dịng, chỉ số cột] b. Một số ví dụ

Ví dụ 1: chương trình và đưa ra bảng nhân

program Bang_nhan; uses crt; var B: array[1..9,1..10] of integer; i, j : integer; begin clrscr; for i:=1 to 9 do for j:= 1 to 10 do B[i,j]:= i*j; for i:=1 to 9 do begin for j:= 1 to 10 do write(B[i,j]:4); writeln; end; readln end. Ví dụ 2: V. CỦNG CỐ - DẶN DỊ 1. Củng cố:

Các cách khai báo mảng, tham chiếu đến phần tử của mảng hai chiều

2. Dặn dị (adsbygoogle = window.adsbygoogle || []).push({});

TUẦN: ………TIẾT: …….. TIẾT: …….. NGÀY SOẠN: ………. BÀI TẬP CHƯƠNG IV  I. MỤC ĐÍCH – YÊU CẦU Củng cố kiến thức đã học ở bài 11 II. PHƯƠNG PHÁP

Nêu vấn đề, diễn giảng., thảo luận nhĩm

III. PHƯƠNG TIỆN DẠY HỌC

Bảng phụ, máy chiếu, máy tính.

IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP

1. Ổn định lớp (kiểm tra sĩ số)2. Kiểm tra bài cũ: 2. Kiểm tra bài cũ:

Câu 1: Viết cú pháp khai báo mảng hai chiều?

Câu 2: Viết câu lệnh nhập các phần từ cho mảng hai chiều?

3. Nội dung

HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG

Yêu cầu HS thảo luận trong 5 phút

Gợi ý cho HS viết chương trình

Lấy d = A[2]-A[1]

Khi đĩ dãy A là cấp số cộng nếu thỏa mãn điều kiện

A[i]=A[1]+(i-1)d

Hoặc điều kiện A[i+1]-A[i]=d (với 1<i<N)

Dùng dịng lặp theo biến đếm i để kiểm tra xem mỗi A[i] cĩ thỏa mãn điều kiện nĩi trên hay khơng, chỉ cần phát hiện được một phần tử của A khơng thỏa mãn là kết luận được dãy A khơng phải là cấp số cộng.

Yêu cầu HS thảo luận để viết chương trình

HS thảo luận và đưa ra phương án để giải.

Thảo luận và viết chương trình.

Câu 5 trang 79

Câu 6/79: Chương trình Program baitap6;

uses crt;

var A: array[1..100] of integer; N, i, u: integer;

so_nt, so_chan: integer;

begin

so_chan:= 0; so_nt := 0;

write(‘so phan tu cua day A (N<=100), N= ‘); readln(N);

while (N < 0) or (N > 100) do begin

write(‘nhap lai so phan tu cua day A (N<=100), N = ‘); readln(N); (adsbygoogle = window.adsbygoogle || []).push({});

end.

Nhận xét đánh giá cho điểm.

Chương trình chỉ thực hiện với N = 24 vì số Phi-pơ-na-xi thứ 25 là 75025 vượt quá phạm vi của kiểu word.

begin

write(‘A[‘,i,’]= ’); readln(A[i]);

if A[i] mod 2 = 0 then

so_chan:=so_chan+1;

if A[i] > 1 then begin

u:=2;

while (u<=sqrt(A[i])) and

(a[i]mod u <>0) do u:=u+1;

if u> sqrt(a[i]) then

so_nt:=so_nt +1;

end; end;

writeln(‘so luong so chan: ‘, so_chan); writeln(‘so luong so le: ‘, N-so_chan); writeln(‘so luong so ngto: ‘, so_nt); readln end. Câu 7/79 Chương trình: Program cau_7; Uses crt; Var n, i:word; F1, F2, F: word; Begin clrscr;

write(‘tim so hang thu N cua day phi-po- na-xi, N= ‘); readln(N); F1:=1; F2:= 1; for i:=1 to n do begin F:= F1+F2; F1:=F2; F2:=F; end; write(F); readln end. V. CỦNG CỐ - DẶN DỊ 1. Củng cố:

Nhắc lại một số chú ý khi viết chương trình

2. Dặn dị

TUẦN: ………TIẾT: …….. TIẾT: …….. NGÀY SOẠN: ………. BÀI THỰC HÀNH 4 I. MỤC ĐÍCH – YÊU CẦU 1. Kiến thức

Củng cố các kiến thức cơ bản và kĩ năng đã cĩ khi lập trình với kiểu dữ liệu mảng.\ Củng cố HS một thuật tốn sắp xếp các phần tử của một dãy (bằng tráo đổi)

2. Kĩ năng

Diễn đạt thuật tốn bằng chương trình sử dụng kiểu dữ liệu mảng.

3. Thái độ

Rèn luyện HS ý thức cần cĩ của người lập trình là viết chương trình với khối lượng tính tốn ít nhất cĩ thể được

Gĩp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tích cực, chủ động trong thực hành.

II. PHƯƠNG PHÁP

Nêu vấn đề giải quyết vấn đề

III. PHƯƠNG TIỆN DẠY HỌC

Phịng máy thực hành vi tính , máy chiếu.

IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Giáo án Tin 11 đầy đủ theo tiết (Trang 47)