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

Chia sẻ bởi Trần Thị Tình | Ngày 24/10/2018 | 41

Chia sẻ tài liệu: Bài 9. Làm việc với dãy số thuộc Tin học 8

Nội dung tài liệu:

LÀM VIỆC VỚI DÃY SỐ
Bài 9
Làm việc với dãy số
Làm việc với dãy số
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
Write (‘Nhap diem= ‘); Readln(diem_1);
Khai báo 1 biến như sau:
Var diem_1: real;
- Nhập và lưu điểm cho 2
học sinh
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);
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
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);
Những hạn chế:
Phải khai báo quá nhiều biến.
Chương trình phải viết khá dài.
Làm việc với dãy số
Làm việc với dãy số
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).
Vậy:
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ố.
Làm việc với dãy số
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 :
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’]
Ví dụ 3:
Ðể 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 :  
Làm việc với dãy số
A
1 2 3 4 5 6 7
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 đó:
+ Khi tham chiếu đến phần tử thứ i. Ta viết A[i]
+ Tên mảng :
+ Số phần tử của mảng:
+ Kiểu dữ liệu của các phần tử:
A
7
Kiểu nguyên
A[6] =
22
22
Làm việc với dãy số
Var : array[..] of ;
Cấu trúc, cú pháp khai báo mảng:
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ố
Chiều cao và tuổi thuộc những kiểu dữ liệu nào?
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;
Chương trình nhập điểm kiểm tra của các học sinh trong lớp.

Làm việc với dãy số
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.
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.
Làm việc với dãy số
Tìm giá trị lớn nhất và nhỏ nhất của dãy số
3
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ố?
?
?
Làm việc với dãy số
Var i,n,max,min:Integer;
A : Array [1..100] of Integer;
BEGIN
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.
{Phần thân chương trình}
BT1: Em hãy chọn khai báo biến mảng đúng trong các khai báo sau:
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Bài tập 1
HƯỚNG DẪN VỀ NHÀ
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 .
Làm các bài tập: 1; 3 trang 79 SGK,9.1->9.4 SBT.
Xem nội dung còn lại trong SGK chuẩn bị tiết sau.
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Thị Tình
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)