Merge pull request #176 from msaf9/master

ohms law implementation
This commit is contained in:
Vitor Oliveira 2021-09-13 15:46:50 -07:00 committed by GitHub
commit a611fe48d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 0 deletions

View file

@ -90,6 +90,9 @@
* [Ones And Zeros](https://github.com/TheAlgorithms/Ruby/blob/master/dynamic_programming/ones_and_zeros.rb)
* [Pascal Triangle Ii](https://github.com/TheAlgorithms/Ruby/blob/master/dynamic_programming/pascal_triangle_ii.rb)
## Electronics
* [Ohms Law](https://github.com/TheAlgorithms/Ruby/blob/master/electronics/ohms_law.rb)
## Maths
* [3Nplus1](https://github.com/TheAlgorithms/Ruby/blob/master/maths/3nPlus1.rb)
* [Abs](https://github.com/TheAlgorithms/Ruby/blob/master/maths/abs.rb)

31
electronics/ohms_law.rb Normal file
View file

@ -0,0 +1,31 @@
# A ruby program for Ohms Law, which is used to calculate Voltage for the given Resistance and Current.
# Ohms Law -> V = I * R
# Reference: https://en.wikipedia.org/wiki/Ohm's_law
def ohms_law(i, r)
if(i > 0 && r > 0)
"The voltage for given #{i} ampheres current and #{r} ohms resistance is #{r * i} volts."
else
raise
end
rescue
"Error: Please provide valid inputs only!"
end
# Valid inputs
puts(ohms_law(5, 10))
# The voltage for given 5 ampheres current and 10 ohms resistance is 50 volts.
puts(ohms_law(2.5, 6.9))
# The voltage for given 2.5 ampheres current and 6.9 ohms resistance is 17.25 volts.
puts(ohms_law(0.15, 0.84))
# The voltage for given 0.15 ampheres current and 0.84 ohms resistance is 0.126 volts.
# Invalid inputs
puts(ohms_law(5, -10))
# Error: Please provide valid inputs only!
puts(ohms_law(-5, -10))
# Error: Please provide valid inputs only!
puts(ohms_law(5, "10"))
# Error: Please provide valid inputs only!
puts(ohms_law("a", 10))
# Error: Please provide valid inputs only!