[Thực hành] Tìm giá trị nhỏ nhất của mảng

Apr 17, 2020 | Bài thực hành, Blog | 0 comments

Mục tiêu

Tìm giá trị nhỏ nhất của mảng- luyện tập tạo và sử dụng hàm, truyền mảng vào hàm.

Mô tả bài toán- tìm giá trị nhỏ nhất của mảng

Xây dựng hàm nhận vào một tham số là một mảng cho trước. Hàm thực hiện tìm giá trị nhỏ nhất trong mảng và trả về giá trị đó. Sử dụng hàm vừa xây dựng trên với mảng như sau:

arr1: [3, 5, 1, 8, -3, 7, 8]

arr2: [7, 12, 6, 9, 20, 56, 89]

arr3: []

arr4: [0, 0, 0, 0, 0, 0]

Để hoàn thành bài thực hành, bạn cần:

  • Đưa mã nguồn lên GitHub
  • Dán link của repository lên phần nộp bài trên CodeGymX

Hướng dẫn

Bước 1: Xây dựng hàm

Các bước thực thi trong hàm:

  • Giả sử phần tử đầu tiên trong mảng là giá trị nhỏ nhất. Gán giá trị của phần tử này cho biến min.
  • Duyệt mảng từ phần tử tiếp theo. Kiểm tra nếu giá trị của phần tử tiếp theo trong mảng nhỏ hơn min thì gán min = arr[i] (với i ở vị trí của phần tử tiếp theo)
  • Kết thúc duyệt mảng, tìm được giá trị min trong mảng. Hàm trả về giá trị min đó.

Code mẫu như sau:

function minArray(arr) {
    let min = arr[0];
    for(var i = 1; i < arr.length; i++){
        if(arr[i] < min){
            min = arr[i];
        }
    }
    return min;
}

Bước 2: Sử dụng hàm

let arr1 = [3, 5, 1, 8, -3, 7, 8];
 let min = minArray(arr1);
 alert(min);

Bước 3: Chạy chương trình. Quan sát kết quả.

Bước 4: Tương tự với mảng được khởi tạo các phần tử mặc định

arr2: [7, 12, 6, 9, 20, 56, 89]

arr3: []

arr4: [0, 0, 0, 0, 0, 0]

Bước 5: Với mảng không có phần tử nào sửa lại hàm minArray để kiểm tra số phần tử trong mảng.

Nếu độ dài mảng bằng 0. Thì trả về -1.

function minArray(arr) {
    if(arr.length == 0)
        return -1;
    let min = arr[0];

    for(let i = 1; i < arr.length; i++){
        if(arr[i] < min){
            min = arr[i];
        }
    }
    return min;
}

Vậy khi hàm trả về giá trị -1 ta hiểu rằng mảng này đang rỗng.

Mở rộng: Tuy nhiên có trường hợp xảy ra là nếu trong mảng có phần tử -1 là phần tử nhỏ nhất thì sẽ xử lý thế nào?

Gợi ý: Cần xây dựng lại hàm trên. Không phải trả về giá trị min trong mảng, mà trả về vị trí của phần tử trong mảng. Do đó, nếu hàm trả về -1 tức là mảng rỗng.

Trên đây CodeGym đã cùng với bạn luyện tập sử dụng hàm, truyền mảng vào hàm. Hãy chụp ảnh màn hình và nộp bài thực hành của bạn trên CodeGymX để cùng nhau luyện tập nhé!

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY 

098 953 44 58

Nhận tư vấn, định hướng 1-1

Điền và gửi thông tin cá nhân để được tư vấn miễn phí về các chương trình học.

10 + 2 =