1.Tìm giá trị lớn nhất của một dãy số nguyênXác định bài toán Input : Số nguyên dương N và dãy số nguyên a1,…an Output:Giá trị lớn nhất Max của dãy số.. i i + 1 rồi quay lại bước 3 2.T
Trang 11.Tìm giá trị lớn nhất của một dãy số nguyên
Xác định bài toán
Input : Số nguyên dương N và dãy số nguyên a1,…an
Output:Giá trị lớn nhất Max của dãy số
Ý tưởng
- Khởi tạo giá trị Max=a1
- Lần lượt vs i từ 2 đến N So sánh ai vs Max nếu ai > Max thì Max nhận giá trị mới là ai
Thuật toán:
B1: Nhập N và dãy a1,…an
B2:Maxa1 , i 2
B3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc
B4:
1.Nếu ai> Max , Max ai
2 i i + 1 rồi quay lại bước 3
2.Thuật toán sắp xếp bằng tráo đổi (sắp xếp thành dãy sô không giãm)
Xác định bài toán
Input: Dãy A gồm n số nguyên a1,…an
Output: Dãy A đc sắp xếp thành dãy không giảm
Ý tưởng: Với các số hạng đứng liền nhau,nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau.Việc đó đc
lập lại cho đến khi ko có sự đổi chổ nào xảy ra nữa
Thuật toán
B1: Nhập N và dãy a1,…an
B2: MN
B3: Nếu M<2 thì thông báo dãy A đã đc sắp xếp rùi kết thúc
B4: MM-1, i 0
B5:ii+1
B6: nếu i>M thì quay lại bước 3
B7: Nếu a1 > a1 + 1 , ta đổi a1 và a1+1 cho nhau
B8: quay lại bước 5
3.Thuật toán tìm kiếm tuần tự
Xác định bài toán
Input: Dãy A gồm N số nguyên khác nhau a1,…an và khóa k
Output: chỉ số i mà a1 =k hoặc thông báo không có số hạng nào trong dãy A có giá trị bằng k
Ý tưỡng: Lần lượt từ số hạng thứ nhất , ta so sánh số hạng đang xét vs khóa đến khi hoặc có một số hạng bằng k hoặc trong dãy A đã xét heat không có số hạng nào bằng k Trường hợp thứ 2 dãy A không có số hạng nào bằng k
Thuật toán:
B1: nhập N , các số hạng a1,…an và khóa k
B2: i1
B3: nếu a1 = k thì thông báo chỉ số i rồi kết thúc
B4: ii+1
B5: i>N thì thông báo dãy A không có số hạng nào có giá trị bằng k rồi kết thúc
B6: quay lại B3