Bài 09: Một số ví dụ học javascript căn bản (Phần 1)

Chúng ta đã học được 8 bài rồi nên trong bài này mình sẽ làm một số ví dụ dùng javascript để viết một số chương trình căn bản để các bạn nắm rõ hơn và ôn lại kiến thức cũ. Nội dung của bài chủ yếu sử dụng kiến thức ở các bài trước nên nếu bạn chư xem thì quay lại và đọc qua nhé.

1. Bài tập tìm số lớn - nhỏ nhất với javascript

Ta sẽ viết một chương trình cho người dùng nhập các con số vào cho tới khi không nhập nữa, sau đó sẽ xuất thông tin ra số nào lớn nhất và số nào nhỏ nhất.

Để giải quyết bài này chúng ta sẽ có ý tưởng như sau:

  • Khai báo hai biến minmax để lưu giá trị nhỏ nhất và lớn nhất
  • Sử dụng hàm prompt() để lấy thông tin. Hàm này nếu ta nhấn hủy thì sẽ trả về NULL
  • Sử dụng vòng lặp while để yêu cầu người dùng nhập vào cho tới khi họ hủy. Vì khi click hủy sẽ có giá trị null nên điều kiện dừng của vòng lặp while là NULL
  • Cuối cùng dùng lệnh document.write để in ra màn hình.

Các bạn xem code sau: XEM DEMO

// Hai biến lưu min và max
var min = null;
var max = null;

// Biến lưu giá trị người dùng nhập vào
var value = '';

// trong khi người dùng chưa nhấn Hủy 
// vì người dùng nhấn hủy tức là value = null,
// thì sẽ dừng vòng lặp
while (value != null)
{
    // Lấy giá trị
    value = prompt("Nhập số, nếu muốn dừng thì không nhập gì");
    
    // Nếu người dùng nhấn hủy thì không thực thi những đoạn code bên trong
    if (value != null)
    {
        // Nếu nhập lần đầu thì gán cả hai min và max bằng value
        if (min == null){
            min = value;
            max = value;
        }
        else 
        {
            // ngược lại sẽ kiểm tra gán min và max
            if (min > value){
                min = value;
            }
            if (max < value){
                max = value;
            }
        }
    }
}    

// In ra trình duyệt
document.write("Min là " + min +", Max là " + max);

2. Bài tập giải phương trình bậc nhất với javascript

Phương trình bậc nhất có dạng ax + b = 0. Như vậy ta có các trường hợp nghiệm như sau:

  • Nếu a = 0 và b = 0 thì phương trình vô số nghiệm
  • Nếu a # 0 và b = 0 thì nghiệm là x = 0
  • Nếu a = 0 và b # 0 thì phương trình vô nghiệm
  • Nếu a # 0 và b # 0 thì nghiệm là x = -b/a

Vì ta có hai số a, b là người dùng nhập vào, còn x là nghiệm nên ta sẽ viết chương trình cho người dùng nhập vào a, b rồi tính toán trên hai biến này. Các bạn xem code như sau:

XEM DEMO

function giai_pt_bac_nhat(a, b)
{
    if (a == 0 && b == 0){
        alert('Phương trình vô số nghiệm');
    }
    else if (a != 0 && b == 0){
        alert('Phương trình có nghiệm x = 0');
    }
    else if (a == 0 && b != 0){
        alert("Phương trình vô nghiệm");
    }
    else {
        alert('Phương trình có nghiệm x = ' + (-b/a));
    }
}

giai_pt_bac_nhat(1,0);

3. Bài tập kiểm tra số chính phương với javascript

Định nghĩa: Số chính phương là số có căn bậc hai là một số tự nhiên không có dấu chấm động. Ví dụ 4 là số chính phương vì căn bậc hai của 4 bằng 2. Còn 5 không phải là số chính phương vì căn bậc hai của nó là số có dư  phần dấu chấm động.

Như vậy để giải bài này ta chỉ cần kiểm tra căn bậc hai của nó có tròn hay không, nếu số tròn không dư phần số phẩy ở sau thì là số chính phương. Và để kiểm tra một số có dư hay không thì ta chia nó cho 1 là được, ví dụ 1.2 % 1 = 0.2

Các bạn xem bài giải sau: XEM DEMO

function so_chinh_phuong(a)
{
    // Ta dùng hàm Math.sqrt để lấy căn bậc 2
    // sau đó chia lấy dư với 1, nếu bằng 0 thì là số chính phương, 
    // ngược lại thì không phải là số chính phương
    if (Math.sqrt(a) % 1 == 0){
        alert(a + " là số chính phương");
    }
    else {
        alert(a + " không phải là số chính phương");
    }
}

so_chinh_phuong(4);
so_chinh_phuong(12);
so_chinh_phuong(13);

Lời kết:

Đêm khuya muộn rồi nên mình sẽ dừng ở đây, hy vọng qua ba bài tập javascript căn bản này sẽ giúp bạn ôn lại kiến thức javascript căn bản mà 8 bài trước chúng ta đã được học.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.