Violet
Baigiang

Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Bài giảng

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Hoàng Thị Vân
Ngày gửi: 09h:00' 26-03-2023
Dung lượng: 477.0 KB
Số lượt tải: 322
Số lượt thích: 0 người
Company

LOGO

Bài 9

LÀM VIỆC VỚI DÃY SỐ

Làm việc với dãy số
1
3

Dãy số và biến mảng

2 Ví dụ về biến mảng

3

Tìm giá trị lớn nhất và nhỏ nhất

Làm việc với dãy số
1
3

Dãy số và biến mảng

Ví dụ 1:
Viết chương trình nhập
điểm kiểm tra của 50 học
sinh trong lớp.
- Nhập và lưu điểm
cho một học sinh
- Nhập và lưu điểm cho 2
học sinh

Khai báo 1 biến như sau:
Var diem_1: real;
Write ('Nhap diem= '); Readln(diem_1);
Khai báo 2 biến như sau:
Var diem_1, diem_2: real;
Write ('Diem hs 1= '); Readln(diem_1);
Write ('Diem hs 2= '); Readln(diem_2);

Làm việc với dãy số
1
3

Dãy số và biến mảng

Ví dụ 2:
Viết chương trình nhập điểm
kiểm tra của các học sinh trong
lớp.
- Nhập và lưu điểm
cho một học sinh
- Nhập và lưu điểm cho 2
học sinh

?

Nhập và lưu điểm cho
50 học sinh

Khai báo n biến như sau:
Var diem_1, diem_2, diem_3, diem_4, .. , diem_50: real;
Write ('Diem hs 1= '); Readln(diem_1);
Write ('Diem hs 2= '); Readln(diem_2);
Write ('Diem hs 3= '); Readln(diem_3);
Write ('Diem hs 4= '); Readln(diem_4);
……
……
Write ('Diem hs n= '); Readln(diem_50);

Làm việc với dãy số
1
3

Dãy số và biến mảng
Khắc phục những hạn chế:
Lưu các dữ liệu liên quan bằng một biến duy nhất. Đặt
chung 1 tên và đặt cho mỗi phần tử một chỉ số.

?

Em hiểu thế nào là dữ
liệu kiểu mảng ?

?

Vậy:

Vậy em hiểu biến
mảng là gì?

Dữ liệu kiểu mảng: Là một tập hợp hữu hạn các phần tử có
thứ tự, mọi phần tử đều có cùng kiểu dữ liệu (số nguyên
hoặc số thực). Việc sắp thứ tự thực hiện bằng cách gán
cho mỗi phần tử một chỉ số. (số nguyên).

Biến mảng: 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.

Giá trị của biến mảng là một mảng, tức một dãy số (số
nguyên, hoặc số thực).

Làm việc với dãy số
1
3

Dãy số và biến mảng
Ví dụ 3:

Mảng thứ nhất tên là A,
gồm 11 phần tử cùng kiểu
Real, ứng với các chỉ số
0, 1, 2, ..., 10, đó là:
Mảng thứ hai tên là HTen
gồm 5 phần tử cùng kiểu
dữ liệu là String[18] ứng
với các chỉ số từ 1 đến 5:
Mảng thứ ba tên là B,
gồm 4 phần tử cùng kiểu
Integer ứng với các chỉ
số 'a', 'b', 'c', 'd':

A[0], A[1], A[2], ..., A[10]
Hten[1], Hten[2], Hten[3], Hten[4], Hten[5]
B['a'], B['b'], B['c'], B['d']

Ðể có một hình ảnh về mảng, đối với mảng A, ta
hình dung có một dãy nhà một tầng, tên gọi là dãy A,
gồm 11 phòng liên tiếp giống hệt nhau được đánh số
thứ tự từ 0,1, 2, ..., đến 10 :  
A0

A1

A2 A3

A4

A5

A6

A7

A8

A9

A10

Tương tự, mảng B cũng giống như dãy nhà B một
tầng có 4 phòng được đánh số thứ tự là các chữ   a, b,
c, d :
Ba

Bb

Bc

Bd

Làm việc với dãy số
2

Ví dụ về biến mảng

?

Khi khai báo biến
mảng cần chỉ rõ điều
gì?

1

A

2

3

4

5

6

7

17 20 24 10 16 22
22 18

Khai báo mảng cần chỉ rõ:
+ Tên biến mảng.
+ Số lượng phần tử.
+ Kiểu dữ liệu chung của các phần tử.
Trong đó:
+ Tên mảng : A
+ Số phần tử của mảng:

7

+ Kiểu dữ liệu của các phần tử:

Kiểu nguyên

+ Khi tham chiếu đến phần tử thứ i. Ta viết A[i]
A[6] =

22

Làm việc với dãy số
2

Ví dụ về biến mảng

Cấu trúc, cú pháp khai
báo mảng:

Var : array[..]
of ;
Trong đó:





Array, of là từ khóa của chương trình.
Tên biến mảng do người dùng đặt.
Chỉ số đầu phải <= chỉ số cuối. (Số nguyên)
Kiểu dữ liệu có thể là số nguyên hoặc số thực.

Làm việc với dãy số
2

Ví dụ về biến mảng

Chiều cao và tuổi thuộc
những kiểu dữ liệu nào?

Chương trình nhập điểm
kiểm tra của các học sinh
trong lớp.

Var Chieucao: array[1..50]of real;
Var Tuoi: array[1..50]of integer;

Var diem: array[1..50] of real;
……
For i:=1 to 50 do
Begin
write('diem hs',i,':');
readln(diem[i]);
End;

Làm việc với dãy số
2

Ví dụ về biến mảng

Ví dụ 4:
Em hãy khai báo mảng diemtin gồm
10 phần tử. Nhập dữ liệu cho diemtin
biết phần tử đầu tiên và cuối cùng
luôn mang giá trị bằng 5. Các phần
tử còn lại có giá trị bất kì được nhập
từ bàn phím.
Sử dụng lệnh gán để gán giá trị
5 cho phần tử đầu và cuối.
Sử dụng lệnh lặp for..to..do để
nhập dữ liệu cho các phần tử
còn lại (2=>9).
Xuất nội dung của mảng ra màn
hình sau khi nhập dữ liệu.

Program vidu;
Var diemtin: array [1..10] of
real;
i:integer;
Begin
Diemtin[1]:=5;
Diemtin[10]:=5;
for i:=2 to 9 do
begin
write('diemtin =');
readln(diemtin[i]);
end;
For i:=1 to 10 do
writeln(diemtin[i]:6:2);
Readln
End.

Làm việc với dãy số
3

Tìm giá trị lớn nhất
và nhỏ nhất của
dãy số

Em hãy nêu thuật toán
để tìm số nhỏ nhất và
số lớn nhất trong dãy
số?

Dãy số
i ?
i>n ?
Ai>Max
Max

Bước 1: Nhập N và dãy a1, a2, …, an.
Bước 2: Max ← a1, i ← 2.

Bước 3: Nếu i > N thì đưa ra giá trị Max rồi kết thúc.
Bước 4: Nếu ai > Max thì Max ← ai.
Bước 5: i ← i + 1. Quay lại bước 3.

5

5

3

4

7

6

3

15 9

2
S
S

3
S
S

4
S
Đ

5
S
S

6
S
S

7
S
Đ

5

5

7

7

7

15 15

8
S
S

9
Đ
Kết
thúc

Làm việc với dãy số
Phần khai báo
Var i,n,max,min:Integer;
A : Array [1..100] of Integer;
BEGIN {Phần thân chương trình}
Write(' Hay nhap do dai cua day so, N= ');Readln(n);
Writeln('Hay nhap cac phan tu cua day so ');
For i:=1 to n do
Begin Write('a[ ',i,'] =');readln(a[i]); End;
Max := a[1] ; Min := a[1];
For i:=2 to n do
Begin
If max < a[i] then Max:=a[i];
If Min >a[i] then Min:=a[i];
End;
Writeln ('So lon nhat la Max =',max);
Writeln('So nho nhat la Min =',min);
Readln;
END.

Bài tập 1
BT1: Em hãy chọn khai báo biến mảng
đúng trong các khai báo sau:
A

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

B

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

C

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

D

Var X: Array[3.4 .. 4.8] of Integer;

23
30
29
28
26
27
12
13
14
15
16
17
18
19
20
21
22
24
25
10
11
6
7
8
9
0
1
2
3
4
5

HƯỚNG DẪN VỀ NHÀ

1. Xem lại cách khai báo mảng, sử dụng khai báo trong
những trường hợp nào .
2. Làm các bài tập: 1; 3 trang 79 SGK,9.1->9.4 SBT.
3. Xem nội dung còn lại trong SGK chuẩn bị tiết sau.
468x90
 
Gửi ý kiến