Kiến thức

Giải phương trình bậc 2 bằng Ruby

5 / 5 ( 1 vote )

Xin chào!

Một bài toán xưa như diễm nhưng mình vẫn muốn chia sẻ cho bạn.

Bạn đang xem: Giải phương trình bậc 2 bằng Ruby

1. Thuật toán giải phương trình bậc 2

Đầu tiên cho họ nhập chán chê 3 tham số a, b, c đi, xem đó kiểm tra xem a khác 0 không? Nếu có thì mới nói chuyện.

Sau khi kiểm tra a khác 0 thì đi tính delta, tiếp theo kiểm tra xem delta có lớn hơn 0 không? Nếu lớn hơn thì hiện ra 2 biến x1 – x2, còn không kiểm tra delta bằng 0 không? nếu bằng thì in ra nghiệm kép x1 = x2 cuối cùng không bằng thì hiện ra vô nghiệm.

Sau đây là thuật toán mô tả bằng ảnh mà mình đã “mượn” được trên mạng, cám ơn tác giả bức ảnh nhiều:

Giải phương trình bậc 2 bằng Ruby

2. Giải bằng ruby

Đầu tiên gọi thư viện cmath của ruby, thư viện này cung cấp các hàm cho ta tính toán

require 'cmath'

Sau đó bắt người dùng nhập vào 3 tham số (hay hệ số), hàm gets là hàm lấy dữ liệu từ bàn phím người dùng nhập, vì số mà người dùng nhập vào là string nên ta phải convert sang kiểu int thì mới có thể thực hiện được các phép tính (+/-/*/%)

puts "Nhap tham so A:" a = gets() a = a.to_i puts "Nhap tham so B:" b = gets() b= b.to_i puts "Nhap tham so C:" c = gets() c = c.to_i

Còn dưới đây là đoạn kiểm tra và hiện nghiệm.

a2 = a*2 if a != 0 then delta = (b*b) - (4*a*c) sqrt_delta = CMath.sqrt(delta) if delta > 0 then x1 = (-b + sqrt_delta)/a2 x2 = (-b - sqrt_delta)/a2 puts "x1: #{x1} - x2: #{x2}" else if delta == 0 then x = -b/a2 puts "PT nghiệm kép x1 = x2 = : #{x}" else puts "Vô nghiệm" end end else puts "Ko phải ptb2" end

Mọi ý kiến đóng góp hãy để lại comment 🙂

Enjoy!

Các bài viết không xem thì tiếc:

  • Cách dump data trong Ruby

  • Select where like trong Ruby On Rails

  • Rails: undefined method `+’ for nil:NilClass

  • HỌC AJAX CƠ BẢN | ĐÔ TRỊNH

  • Các câu lệnh git cực cần thiết cho developer, git cơ bản

  • SSL certificate problem: self signed certificate

  • Làm việc với font trong Android

  • Tại sao đã thêm vào file gitignore rồi mà không có tác dụng?

  • Thay đổi tiêu đề, định dạng datepicker jQuery

  • Làm tròn số phút lên 5 trong java

  • Cách tạo Sticky Sidebar với jQuery

  • Siêu tổng hợp android code snippets (cập nhật thường xuyên)

  • Cách gọi helper trong ruby on rails

  • Rails ExecJS::ProgramError in View

  • Failed to open file error 22 mysql

Tags:

2nd Degree

,

giai phuong trinh bac 2

,

Giải phương trình bậc 2 bằng Ruby

,

giai phuong trinh bac hai

,

giai ptb 2

,

ptb2 php

,

ptb2 ruby

Chuyên mục: Kiến thức

Related Articles

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Back to top button