Tải bản đầy đủ (.ppt) (23 trang)

Bai 9 Lam viec voi day so

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.28 MB, 23 trang )

KiĨm tra bµi cị
Dữ liệu mảng và biến của mảng gi l gỡ ?
- Dữ liệu kiểu mảng: là một tập hợp các phần tử có thứ tự, và mọi
phần tử đều có cùng một kiểu dữ liệu
- Bin mng: khi khai báo một biến có kiểu dữ
liệu là kiểu mảng, biến đó được gọi là biến
mảng.


Bài 9:
2. Ví dụ về biến mảng

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

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

Tuoi

7

6

8

9

Chỉ số

1

2



3

4

….
….

10
40

Var Tuoi : array[1..40] of Integer;

Chieuca
Chỉosố

1.5 1.65

1.75

1.7

….

2
3
4
5
….
Var chieucao: array[2..20] of Real;


1.8
20


Bài 9:
2. Ví dụ về biến mảng
a. Khai báo mảng một chiều trong Pascal:
Var Tên mảng : array[<chỉ số đầu> .. <chỉ số cuối>] of <kiểu dữ liệu>;

Trong đó:
- Tên mảng: Do người lập trình đặt
- array, of: Là từ khóa của chương trình
- Chỉ số đầu, chỉ số cuối: Là 2 số nguyên, thỏa mãn:
chỉ số đầu ≤ chỉ số cuối giữa hai chỉ số là dấu ..
- Kiểu dữ liệu: Là kiểu của các phần tử, là Integer hoặc Real
- Số phần tử = chỉ số cuối – chỉ số đầu + 1


Bài 9:
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:

Ví dụ: Cách khai báo đơn giản một biến mảng trong
ngôn ngữ Pascal như sau:
var Tuoi: array[21..80] of integer;
Tên biến

Số lượng phần tử


Kiểu dữ liệu chung

var Chieucao: array[1..50] of real;
Chỉ số đầu

Chỉ số cuối


Bài 9:
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Var
VarTênmảng:
Tênmảng:array
array[[sốđầu>..đầu>..sốcuối>]
cuối>]of
ofdữliệu>;
liệu>;

Ví dụ: Hãy khai báo các mảng sau:
1/ Mảng Diem gồm 40 phần tử thuộc kiểu dữ liệu số thực?
Var
Vardiem
diem: :array[1..40]

array[1..40]ofofreal;
real;
2/ Mảng A, B gồm 10 phần tử thuộc kiểu dữ liệu số nguyên?
Var
VarA:
A:array[1..10]
array[1..10]ofofinteger;
integer;
Var
AA,B:
array[1..10]
ofofinteger;
Var
,B:
array[1..10]
integer;
B:
array[1..10]
of
integer;
B: array[1..10] of integer;


Bài 9:
2. Ví dụ về biến mảng

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

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

Var N : integer;
A : array[1..N] of real;

Khơng xác định

KHƠNG
Lưu ý:
- Kích thước của mảng phải được khai báo bằng một con số
cụ thể


Bài 9:
Lưu ý:

Kích thước của mảng phải
được khai báo bằng một con
số cụ thể


Bài 9:
2. Ví dụ về biến mảng
a) Cách khai báo mảng trong Pascal:
Tênmảng:
Tênmảng:array
array[[sốđầu>..đầu>..sốcuối>]
cuối>]of

ofdữliệu>;
liệu>;

b) Truy cập đến giá trị phần tử trong mảng:
Cú pháp: Tên
Tênmảng
mảng[Chỉ
[Chỉsố]
số]
VD: DiemTin[1]
 Tham chiếu tới phần tử thứ nhất của mảng DiemTin


Bài 9:
2. Ví dụ về biến mảng

b) Truy cập đến giá trị phần tử trong mảng:
Tên
Cú pháp:
Tênmảng
mảng[Chỉ
[Chỉsố]
số]
Ví dụ1: Cho mảng A chứa các giá trị sau:
2

5


7

1

10

3

4

5

6

7

- Xác định các 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


Bài 9:
2. Ví dụ về biến mảng
Có thể
thực hiện các
b) Truy cập đến giá trị phần tử trong
mảng:

Cú pháp:


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

thao tác nào với các
phần tử trong mảng?

Ví dụ 2: Cho các câu lệnh sau:
A[3]:=2;
A[4]:=5;
A[6]:=A[3]+A[4];

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

Giá trị của các phần A[3], A[4], A[6] sẽ là bao nhiêu?
- Có thể gán giá trị, đọc giá trị và thực hiện tính tốn với các
phần tử trong mảng


Bài 9:
2. Ví dụ về biến mảng

b) Truy cập đến giá trị phần tử trong mảng:
Ví dụ: Gán giá trị cho 40 phần tử của mảng DiemTin
DiemTin[1]:=5;
DiemTin[2]:=7;

……… DiemTin[40]:=10;
Hoặc Readln(DiemTin[1]);

Viết chương trình khá dài
For i:=1 to 40 do Readln(DiemTin[i]);

Readln(DiemTin[2]);
……… Readln(DiemTin([40]);
For i := … to … do Readln(Tenmang[i]);


Bài 9:
2. Ví dụ về biến mảng
c. Nhập giá trị cho mảng

A

7

5

8

.......
6

9

10


9

với nn= 7

- Sử dụng lệnh Read (Readln) kết hợp với For ... do.
Các bước
1. Nhập số phần
tử của mảng.

Thể hiện bằng pascal
Write(‘ Nhap vao so HS:’);

Readln(n);
2. Nhập vào giá trị For i:=1 to n do
từng phần tử của Begin
mảng (A[i]).
write(‘Diem cho HS thu ’ ,i, ’ : ’);
Sử dụng cấu trúc
readln(A[i]);
lặp để nhập dữ liệu
end;


Bài 9:
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:
Ví dụ: In giá trị của 40 phần tử trong mảng DiemTin
For i:=1 to 40 do Writeln(DiemTin[i]);
DiemTin


8
8

6

7

6
6

…. …. …. ….

Chỉ số

1

2

3

4

….

DiemTin[1] = 8

i

DiemTin[4] = 6


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

….

40


Bài 9:
2. Ví dụ về biến mảng
d. In giá trị các phần tử của mảng:

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

Writeln(‘ Điểm của lớp : ’);

- In giá trị của
từng phần tử

For i:=1 to n do

Write(A[i]:7);
- Sử dụng cấu trúc lặp để in dữ liệu

Kết quả trên màn hình:
Điểm của lớp:
7

5


8

6

9 10

9


Bài 9:
3. Tìm giá trị lớn nhất và giá trị nhỏ nhất của dãy số:
Bài tốn: Viết chương trình nhập N số ngun
từ bàn phím và in ra màn hình số nhỏ nhất
và số lớn nhất.
THUẬT
TỐN
Em
hãy nêu
• B1:thuật
max:=a;
tốn min:=a;
để tìm i:=1;
• B2: số
i:=nhỏ
i+1;nhất và
lớni nhất
• B3:số
Nếu
> n, trong
chuyển đến

bước 5.dãy số?
• B4: Nếu ai > max thì max:=ai;
ai < min thì
min :=ai.Quay lai bước 2.
• B5: Kết thúc thuật tốn.


Program vd1;
Uses crt;
Var
i, n, Max, Min: integer ;
A: Array[1..100] of Integer ;

Khai báo biến mảng

BEGIN
Clrscr;
write(‘ Nhap so phan tu cua day so: n= ’) ; readln(n) ;
For i := 1 to n do
Begin
write(‘ Nhap so thu ‘,i,’ : ‘) ;
readln(A[i]) ;
End;
Max:=A[1];
For i := 2 to n do
If A[i]>Max Then Max := A[i];
Writeln(‘ So lon nhat la max = ', Max) ;
Min:=A[1];
For i := 2 to n do
If A[i]

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

Nhập giá trị cho mảng

Tìm số lớn nhất và nhỏ
nhất


Chươngưtrìnhưchạyưvàưchoưkếtưquảưnhưưsau:
Nhap so phan tu cua day so: n= 7
Nhap so thu 1 : 7
Nhap so thu 2 : 9
Nhap so thu 3 : 4
Nhap so thu 4 : 6
Nhap so thu 5 : 9
Nhap so thu 6 : 8
Nhap so thu 7 : 5
So lon nhat la Max = 9
So nho nhat la Min = 4


Kiến thức cần nhớ

Củng cố


Bài 9:


Bài tập củng cố
Bài 1: Em hãy chọn đáp án đúng:
A. Dữ liệu kiểu mảng là tập hợp các phần tử
khơng có thứ tự và mọi phần tử có cùng một
kiểu dữ liệu.
B. 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 .
C. 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 tử có cùng một kiểu dữ
liệu.


Bài 9:

Củng cố
Bài 2: Cách khai báo biến mảng sau đây đúng hay sai?
Khoanh trịn vào chỗ sai (nếu có).
a) Var X: Array[10 , 13] of Real;

a) Sửa dấu , thành dấu ..

b) Var X: Array[3.. 4.8] of Integer;

b) Sửa 4.8 thành số nguyên

c) Var X: Array[10 .. 1] of Integer;

c) Chỉ số cuối phải >= chỉ số đầu


d) Var X: Array[4 .. 10] of Real;

d) Đúng



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×