Tiết 57:
Làm việc với dãy số
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ố?
Ý tưởng: Tìm giá trị lớn nhất
+ Đầu tiên gán giá trị a1 cho biến Max .
+ Sau đó lần lược so sánh các số a2, ,an
của dãy số với Max. Nếu a i > Max thì ta
gán a i cho Max.
Thuật toán:
Tìm giá trị lớn nhất trong dãy số
Bước 1. Max← a1; i ← 1.
Bước 2. i← i +1
Bước 3. Nếu i >n thì chuyển đến bước 5.
Bước 4. Nếu a i > Max thì Max ← a
i
và quay lại
bước 2
Bước 5 . Kết thúc thuật toán.
+ Đầu tiên gán giá trị a1 cho biến Min .
+ Sau đó lần lược so sánh các số a2, ,an
của dãy số với Min. Nếu a i < Min thì ta gán
ai cho Min.
?
Hãy đưa ra ý tưởng Tìm giá trị nhỏ nhất ?
Thuật toán:
Tìm giá trị lớn nhất trong dãy số
Bước 1. Min← a1; i ← 1.
Bước 2. i← i +1
Bước 3. Nếu i >n thì chuyển đến bước 5.
Bước 4. Nếu ai< Min thì Min ← a
i
và quay lại
bước 2
Bước 5 . Kết thúc thuật toán.
Dãy số
I
ai<Min
Min
Tìm giá trị nhỏ nhất của dãy số
5
1
5
4
2
Đ
4
4
3
S
4
7
4
S
4
6
5
S
6
3 15 6 8
7 8 9
Đ S S S
4 3 3 3 3
Chương trình tìm số lớn nhất:
Var i, n, Max: integer;
A: array[1 100] of integer;
Begin
Write (‘ Nhap do dai day so n, N=’);
Readln(n);
Write (‘ Nhap phan tu day so:’);
For i: =1 to n do
Begin
Write (‘ a [‘,I,’]=’); readln(a [i]);
End;
Max: = a [1];
For i:= 2 to n do
Begin
if Max<a[i] then Max: = a [i];
End;
Write (‘ So lon nhat la Max= ’, Max);
End.
Min: = a [1];
For i:= 2 to n do
Begin
if Min>a[i] then Min: = a [i];
End;
Write (‘ So lon nhat la Min= ’, Min);
End.
Tìm số nhỏ nhất
Chương trình tìm số lớn nhất và nhỏ nhất
Var i, n, Max, Min: integer;
A: array[1 100] of integer;
Begin
Write (‘ Nhap do dai day so n, N=’); Readln(n);
Write (‘ Nhap phan tu 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;
Write (‘ So lon nhat la Max= ’, Max);
Write (‘ So lon nhat la Min= ’, Min);
End.