Khai bỏo mảng một chiều.

Một phần của tài liệu Giao an tin hoc 11 (Trang 29 - 36)

IV. Kết quả kiểm tra.

a. Khai bỏo mảng một chiều.

Cú hai cỏch:

Cỏch 1 :

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

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

Var A: Array[1..100] of Integer ; B : Array[1..50] of Real ;

Cỏch 2 :

Type <Tờn kiểu mảng> = Array [<kiểu chỉ số>] of <kiểu phần tử> ;

Yc HS thực

hiện giải bài toỏn.

Đặt vấn đề với bài toỏn là n ngày. Vào bài mới

Khỏi niệm mảng 1 chiều. Giải bài toỏn. Lắng nghe.

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

Vớ dụ :

Khai bỏo biến mảng thụng qua kiểu mảng :

Type ArrayInteger=Array[1..100] of Integer; ArrayReal=Array[1.50] of Real; Var A : Array[1..50]; B : Array[1..50] of Real; Trong đú :

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 và n2 là chỉ số cuối.

Kiểu phần tử là kiểu dữ liệu của phần tử mảng . Để truy cập vào phần tử mảng ta viết :

<Tờn biến mảng>[Chỉ số]

Vớ dụ :

A[20] Truy cập phần tử mang chỉ số 20 trong mảng A .

Hoạt động 2: tỡm hiểu vớ dụ mảng 1 chiều. Phương phỏp: thảo luận nhúm.

Vớ dụ 1 : Tỡm phần tử lớn nhất của một dóy số nguyờn gồm n

số hạng.

Input : Số nguyờn dương N và dóy số A1, A2, ….., AN Output : Chỉ số và giỏ trị của số lớn nhất trong dóy í tưởng :

Đặt số A1 là số lớn nhất (max)

Cho i lặp từ 2 đến N, nếu A[i]> thỡ đổi max = A[i] vả lưu lại vị trớ i .

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] ; 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ố A1, A2, …, AN

Chia HS làm 4 nhúm thảo luận viết ct vớ dụ 1. Nhận xột. Sửa bài 4 nhúm thảo luận viết chương trỡnh.

Output : Dóy A được sắp xếp theo thứ tự khụng giảm . í tưởng :

Đổi để đưa số lớn nhất về vị trớ cuối cựng . Làm tương tự đối với những số cũn lại .

Chương trỡnh như sau :

Program sapxep ; Uses crt ;

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

4. Củng cố, dặn dũ.

Yc HS nhắc lại cỳ phỏp khai bỏo mảng 1 chiều.

 Về nhà học bài, xem bài tập, thực hành 3.

5. Rỳt kinh nghiệm.

Ngày soạn: 02/10 Tiết: 24, 25 Tuần dạy: 12, 13 Bài tập Thực Hành 3 1. Mục tiờu. .1. Kiến thức.

 Biết được khai bỏo mảng.

 Biết cỏch nhập dữ liệu cho mảng.

.2. Kĩ năng.

 Khai bỏo được mảng một chiều.

 Nhập được dữ liệu cho mảng một chiều, truy cập được phần tử của mảng một

.3. Thỏi độ.

 Ham thớch mụn học, cú tin thần kĩ luật cao

2. Chuẩn bị của giỏo viờn và học sinh.

2.1. Chuẩn bị của giỏo viờn: SGK, SGV, mỏy tớnh, mỏy chiếu Projecter, giỏo ỏn …2.2. Chuẩn bị của học sinh: SGK, vở ghi bài 2.2. Chuẩn bị của học sinh: SGK, vở ghi bài

3. Hoạt động dạy học.3.1. Ổn định tổ chức lớp. 3.1. Ổn định tổ chức lớp.

 Kiểm tra sỉ số lớp

3.2. Kiểm tra bài cũ.3.3. Tiến hành bài học. 3.3. Tiến hành bài học.

a. Cỏc bước hoạt động.

Nội Dung Hoạt động GV Hoạt động HS

Hoạt động 1: Tỡm hiểu cỏch sử dụng lệnh và kiểu dữ liệu mảng một chiều qua chương trỡnh

cú sẵn.

Phương phỏp: làm việc theo nhúm.

Bài 1: Tạo mảng A gồm n (n<=100) số nguyờn, mỗi số cú trị tuyệt đối khụng vượt quỏ 300. Tớnh tổng cỏc phần tử của mảng là bối số của một số nguyờn dương k cho trước.

a) Hóy tỡm hiểu và chạy thử chương trỡnh sau đõy:

Program Sum1; (tr 63 SGK)

b) Hóy đưa cỏc cõu lệnh sau đõy vào những vị trớ cần thiết nhằm sửa đổi chương trỡnh trong cõu a) để cú được chương trỡnh đưa ra số cỏc số dương và số cỏc số õm trong mảng.

posi, neg : integer; posi:= 0; neg:= 0;

if A[i] > 0 then posi:= posi + 1 else if A[i] < 0 then neg:=neg+1;

writeln(posi:4,neg:4);

Bài 2: Viết chương trỡnh tỡm phần tử

cú giỏ trị lớn nhất của mảng và đưa ra màn hỡnh chỉ số và giỏ trị của phần tử tỡm được. Nếu cú nhiều phần tử cú cựng giỏ trị lớn nhất thỡ đưa ra phần tử cú chỉ số nhỏ nhất.

a) Tỡm hiểu chương trỡnh sau đõy:

Program max; Const nmax=100;

Type myarray=array[1..nmax] of

GV: cần cho HS thấy được điểm khỏc nhau cơ bản của cỏc chương trỡnh ở cõu a và cõu b.

Thủ tục randomize khởi tạo bộ lấy số ngẫu nhiờn trước khi dựng lệnh random(n) để lấy một số nguyờn ngẫu nhiờn trong phạm vi từ 0 đến n-1. GV: đưa ra một số cõu hỏi (phự hợp với trỡnh độ HS ở mỗi lớp), hướng dẫn HS tỡm hiểu chương trỡnh:

MyArray là tờn một kiểu dữ liệu hay tờn một biến? Vai trũ của nmax và n khỏc nhau ntn? Những dũng lệnh nào nhằm tạo ra mảng A? Lệnh gỏn: A[i]:=random(300)- random(300); cú ý nghĩa gỡ?

HS: phải hiểu được chương trỡnh đó viết sẵn ở cõu a) và thấy được kết quả chạy chương trỡnh này, trờn cơ sở đú tỡm ra cỏch giải quyết vấn đề đặt ra ở cõu b.

GV: Nờu gợi ý cho HS thấy được chương trỡnh 2a thể hiờn thuật toỏn tỡm phần tử lớn nhất. GV: Hướng dẫn HS tỡm hiểu vai trũ của biến j qua cỏc cõu lệnh của bài toỏn. GV: Cú thể cho HS một vớ dụ bộ dữ liệu input nhỏ và yờu cầu HS mụ phỏng việc chạy chương trỡnh thể hiện thuật toỏn trờn giấy nhỏp.

HS: Tớch cực tỡm hiểu bài toỏn, thực

interger; Var a:myarray;

n, i, j:integer;

Begin

Write(‘Nhap so luong phan tu day, n=’);

Readln(n); For i:= 1 to n do Begin

Write(‘ phan tu thu ‘,i,’ =’); 1

readln(a[i]); 2

end; j:=1;

for i:=2 to n do if a[i]>a[j] then j:=i; write(‘ chi so:’,j,’ Gia tri:’,a[j]:4); readln

end.

b) Chỉnh sửa chương trỡnh trờn để đưa ra chỉ số cỏc phần tử cú cựng giỏ trị lớn nhất.

hiện bài toỏn trờn mỏy tớnh, sửa lỗi chạy chương trỡnh.

Nếu cũn thời gian thỡ HS hoàn thành phần b) dưới sự hướng dẫn của GV.

4. Củng cố, dặn dũ.

 HS xem lại kiến thức kiểu mảng để làm bài tập.

5. Rỳt kinh nghiệm.

Ngày soạn: 03/10 Tiết: 26, 27 Tuần dạy: 13, 14 Bài Tập 1. Mục tiờu. .1. Kiến thức.

 Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng.

Kĩ năng.

 Khai bỏo được mảng một chiều.

Thỏi độ.

 Ham thớch mụn học, cú tin thần kĩ luật.

2. Chuẩn bị của giỏo viờn và học sinh.

2.1. Chuẩn bị của giỏo viờn: SGK, SGV, mỏy tớnh, mỏy chiếu Projecter, giỏo ỏn …2.2. Chuẩn bị của học sinh: SGK, vở ghi bài 2.2. Chuẩn bị của học sinh: SGK, vở ghi bài

3. Hoạt động dạy học.3.1. Ổn định tổ chức lớp. 3.1. Ổn định tổ chức lớp.

 Kiểm tra sỉ số lớp

3.2. Kiểm tra bài cũ.3.3. Tiến hành bài học. 3.3. Tiến hành bài học.

a. Cỏc bước hoạt động.

Nội Dung Hoạt động GV Hoạt động HS

Hoạt động 1: Tỡm hiểu một số chương trỡnh kiểu mảng. Phương phỏp: Thảo luận nhúm.

Program demsoduong; Uses crt; Var i, d, n: integer; A:array [1 .. 100] of real; Begin

Writeln(‘so phan tu cua day la ’);

Readln(n); For i:=1 to n do Begin

Write(‘nhap vao phan tu thu’,i); Readln(A[i]); End; d:=0; for i:=1 to n do if A[i]>0 then d:=d+1; writeln(‘so duong trong day A la’,d,’so’);

readln; End.

BT2:

Program tinh tongdayso; Uses crt;

Var i, n, tong: integer; A:array [1 .. 100] of real;

Begin

Writeln(‘so phan tu cua day la ’);

GV: Cho bài tập

BT1: Nhập dóy số thực a, xột xem trong dóy cú bao nhiờu số dương? GV: Nhận xột, sữa bài.

BT2: Nhập dóy số thực a, tớnh tổng cỏc số thực đú và in ra màn hỡnh. GV: Nhận xột, sữa bài

HS: Thảo luận tỡm cỏch giải và viết chương trỡnh.

HS: Thảo luận tỡm cỏch giải và viết chương trỡnh.

Readln(n); For i:=1 to n do Begin

Write(‘nhap vao phan tu thu’,i);

Readln(A[i]); End;

Tong:=0; for i:=1 to n do

tong:= tong + A [i]; writeln(‘tong day A la’,tong);

readln; End.

4. Củng cố, dặn dũ.

 HS xem lại kiến thức kiểu mảng để chuẩn bị cho kiểm tra thực hành.

5. Rỳt kinh nghiệm.

Ngày soạn: 03/10 Tiết: 28, 29 Tuần dạy: 14, 15 Bài Tập Thực Hành 4 1. Mục tiờu. .1. Kiến thức.

 Củng cố kiến thức khai bỏo mảng, duyệt, truy cập vào cỏc phần tử của mảng.  Hiểu cài đặt thuật toỏn sắp xếp cỏc phần tử của một dóy bằng thuật toỏn trỏo đổi

1.2. Kĩ năng

 Rốn luyện kĩ năng diễn đạt thuật toỏn sắp xếp bằng chương trỡnh sử dụng dữ liệu kiểu mảng;

 Rốn luyện cho HS một ý 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 toỏn ớt nhất cú thể;

 Gúp phần hỡnh thành và rốn luyện tư duy lập trỡnh, tỏc phong của người lập trỡnh.

1.3. Thỏi độ.

 Ham thớch mụn học, cú tin thần kĩ luật cao.

2. Chuẩn bị của giỏo viờn và học sinh.

2.1. Chuẩn bị của giỏo viờn: SGK, SGV, mỏy tớnh, mỏy chiếu Projecter, giỏo ỏn 2.2. Chuẩn bị của học sinh: SGK, vở ghi bài 2.2. Chuẩn bị của học sinh: SGK, vở ghi bài

Một phần của tài liệu Giao an tin hoc 11 (Trang 29 - 36)

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

(66 trang)
w