Tin học 8 - Tiết 46, 47 - Bài 9. Làm việc với dãy số

24 32 0
Tin học 8 - Tiết 46, 47 - Bài 9. Làm việc với dãy số

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mỗi một phần tử trong mảng có thể có các kiểu dữ liệu khác nhau. Dữ liệu kiểu mảng là tập hợp các phần tử có thứ tự và mọi phần [r]

(1)(2)

KiĨm tra bµi cị

Dữ liệu mảng biến mảng gọi ?

- Dữ liệu kiểu mảng: tập hợp phần tử có thứ tự, phần tử có kiểu liệu

- Biến mảng: khai báo biến có kiểu liệu kiểu mảng, biến gọi biến

(3)

2 Ví dụ biến mảng

a.Cách khai báo mảng Pascal:

9

Tuoi …

… 40

10

Var Tuoi :

Chieuca

o 2 … 20 Var chieucao: array[2 20] of Real; Chỉ số

array[1 40] of Integer;

Chỉ số

Var Tên mảng : array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;

1.7

1.5 1.65 1.75 … 1.8

(4)

2 Ví dụ biến mảng

a Khai báo mảng chiều Pascal:

Var Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;

Trong đó:

- Tên mảng: Do người lập trình đặt

- array, of: Là từ khóa chương trình

- Chỉ số đầu, số cuối: Là số nguyên, thỏa mãn:

chỉ số đầu ≤ số cuối giữa hai số dấu

- Kiểu liệu: Là kiểu phần tử, Integer Real

- Số phần tử = số cuối – số đầu +

(5)

2 Ví dụ biến mảng

a) Cách khai báo mảng Pascal:

Ví dụ: Cách khai báo đơn giản biến mảng ngôn ngữ Pascal sau:

var Tuoi: array[21 80] of integer;

Tên biến Số lượng phần tử Kiểu liệu chung

Chỉ số đầu Chỉ số cuối

var Chieucao: array[1 50] of real;

(6)

Var Tênmảng: array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;

Var Tênmảng: array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>; 2 Ví dụ biến mảng

a) Cách khai báo mảng Pascal:

Var diem : array[1 40] of real;

Var diem : array[1 40] of real;

Var A: array[1 10] of integer; B: array[1 10] of integer;

Var A: array[1 10] of integer; B: array[1 10] of integer;

Ví dụ:

Var A ,B: array[1 10] of integer;

Var A ,B: array[1 10] of integer;

2/ Mảng A, B gồm 10 phần tử thuộc kiểu liệu số nguyên? Hãy khai báo mảng sau:

1/ Mảng Diem gồm 40 phần tử thuộc kiểu liệu số thực?

(7)

Câu lệnh khai báo biến mảng sau máy tính có thực hiện không?

Var N : integer;

A : array[1 N] of real;

Không xác định

2 Ví dụ biến mảng

KHƠNG

Lưu ý:

- Kích thước mảng phải khai báo số cụ thể

a) Cách khai báo mảng Pascal:

(8)

Lưu ý:

Kích thước mảng phải khai báo

số cụ thể

(9)

2 Ví dụ biến mảng

a) Cách khai báo mảng Pascal:

b) Truy cập đến giá trị phần tử mảng:

Tên mảng [Chỉ số]

Tên mảng [Chỉ số]

Cú pháp:

Tênmảng: array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;

Tênmảng: array [<chỉ số đầu> <chỉ số cuối>] of <kiểu liệu>;

VD: DiemTin[1]

 Tham chiếu tới phần tử thứ mảng DiemTin

(10)

2 Ví dụ biến mảng

b) Truy cập đến giá trị phần tử mảng: Tên mảng [Chỉ số]

Tên mảng [Chỉ số]

Cú pháp:

2 10

Cho mảng A chứa giá trị sau: Ví dụ1:

- Xác định giá trị của: A[1], A[3], A[5], A[10] ?

A[1], A[10]: không xác định A[3]=2; A[5]=4

(11)

2 Ví dụ biến mảng

b) Truy cập đến giá trị phần tử mảng: Tên mảng [Chỉ số]

Tên mảng [Chỉ số]

Cú pháp:

A[3]:=2; A[4]:=5;

A[6]:=A[3]+A[4];

Ví dụ 2: Cho câu lệnh sau:

Giá trị phần A[3], A[4], A[6] bao nhiêu?

A[3]=2 A[4]=5 A[6]=7

- Có thể gán giá trị, đọc giá trị thực tính tốn với phần tử mảng

Có thể thực thao tác với phần tử mảng?

(12)

2 Ví dụ biến mảng

For i:=1 to 40 Readln(DiemTin[i]);

Ví dụ: Gán giá trị cho 40 phần tử mảng DiemTin

For i := … to … Readln(Tenmang[i]);

DiemTin[1]:=5; DiemTin[2]:=7;

……… DiemTin[40]:=10;

Hoặc Readln(DiemTin[1]); Readln(DiemTin[2]);

……… Readln(DiemTin([40]);

Viết chương trình dài

Bài 9: Làm việc với dãy số

(13)

A

n

1 Nhập số phần tử mảng.

Write(‘ Nhap vao so HS:’); Readln(n);

2 Nhập vào giá trị từng phần tử mảng (A[i]).

For i:=1 to n Begin

write(‘Diem cho HS thu ’ ,i, ’ : ’); readln(A[i]);

end;

Các bước Thể pascal với n = 7

9 10 9 6 8 5 7

Sử dụng cấu trúc lặp để nhập liệu

- Sử dụng lệnh Read (Readln) kết hợp với For do.

2 Ví dụ biến mảng c Nhập giá trị cho mảng

(14)

2 Ví dụ biến mảng

d In giá trị phần tử mảng:

For i:= … to … Writeln(Tenmang[i]);

For i:=1 to 40 Writeln(DiemTin[i]);

8 6 7 6 … … … ….

1 2 3 4 …. i …. 40

DiemTin

Chỉ số

DiemTin[1] =

8

Ví dụ: In giá trị 40 phần tử mảng DiemTin

DiemTin[4] =

6

(15)

Writeln(‘ Điểm lớp : ’); For i:=1 to n

Write(A[i]:7);

Điểm lớp:

- Thông báo - In giá trị từng phần tử

10 9

Kết hình:

- Sử dụng cấu trúc lặp để in liệu

Sử dụng lệnh Write (Writeln) kết hợp với For do.

2 Ví dụ biến mảng

d In giá trị phần tử mảng:

(16)

Bài 9: Làm việc với dãy số

3. Tìm giá trị lớn giá trị nhỏ dãy số:

Bài tốn: Viết chương trình nhập N số ngun

từ bàn phím in hình số nhỏ và số lớn nhất.

Em nêu thuật tốn để tìm

số nhỏ số lớn

dãy số?

THUẬT TỐN

B1: max:=a; min:=a; i:=1;B2: i:= i+1;

B3: Nếu i > n, chuyển đến

bước 5.

B4: Nếu ai > max max:=ai;

ai <

min :=ai.Quay lai bước 2.

(17)

Program vd1;

Uses crt;

Var

i, n, Max, Min: integer ; A: Array[1 100] of Integer ;

BEGIN

Clrscr;

write(‘ Nhap so phan tu cua day so: n= ’) ; readln(n) ;

For i := to n Begin

write(‘ Nhap so thu ‘,i,’ : ‘) ; readln(A[i]) ;

End;

Max:=A[1];

For i := to n

If A[i]>Max Then Max := A[i];

Writeln(‘ So lon nhat la max = ', Max) ; Min:=A[1];

For i := to n

If A[i]<Min Then Min := A[i];

Writeln(‘ So nho nhat la Min = ', Min) ; Readln ;

END.

Khai báo biến mảng

Nhập giá trị cho mảng

(18)

Nhap so phan tu cua day so: n= 7

Nhap so thu : 7

Nhap so thu : 9

Nhap so thu : 4

Nhap so thu : 6

Nhap so thu : 9

Nhap so thu : 8

Nhap so thu : 5

So lon nhat la Max = 9 So nho nhat la Min = 4

(19)

Củng cố

(20)

Bài tập củng cố

Bài 1: Em chọn đáp án đúng:

A Dữ liệu kiểu mảng tập hợp phần tử khơng có thứ tự phần tử có kiểu liệu

B Dữ liệu kiểu mảng tập hợp phần tử có thứ tự phần tử mảng có kiểu liệu khác

C Dữ liệu kiểu mảng tập hợp phần tử có thứ tự phần tử có kiểu

liệu

(21)

b) Var X: Array[3 4.8] of Integer; c) Var X: Array[10 1] of Integer; d) Var X: Array[4 10] of Real;

a) Var X: Array[10 , 13] of Real;

Bài 2: Cách khai báo biến mảng sau hay sai? Khoanh trịn vào chỗ sai (nếu có)

a) Sửa dấu , thành dấu b) Sửa 4.8 thành số nguyên

c) Chỉ số cuối phải >= số đầu d) Đúng

Bài 9:

Củng cố

(22)

V A R

R E A D

R E A L

M A X

N G U Y Ê N

1 2 3 4 5

Có chữ cái: Là từ khóa để khai báo biến trong chương trình Pascal?

Có chữ cái: Là câu lệnh chương trình Pascal dùng để dừng chương trình chờ ta nhập giá trị cho biến?

Có chữ cái: Là từ khóa chương trình Pascal dùng để thể biến kiểu thực?

Có chữ cái: Là tên hàm tìm giá trị lớn nhất?

Có chữ cái: Chỉ số đầu, số cuối khai báo mảng Thường số……….?

(23)

- Học cũ

- Tìm hiểu thuật tốn tìm giá trị lớn nhất, nhỏ dãy số (xem lại ví dụ trang 43 SGK)

- Về nhà làm tập 2, 4, trang 79 SGK

Bài 9:

HƯỚNG DẪN VỀ NHÀ

(24)

Tiết học kết thúc

Ngày đăng: 08/02/2021, 04:45

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan