mirror of
https://github.com/TheAlgorithms/Ruby
synced 2024-11-16 19:50:00 +01:00
commit
a611fe48d3
2 changed files with 34 additions and 0 deletions
|
@ -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
31
electronics/ohms_law.rb
Normal 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!
|
Loading…
Reference in a new issue