Ruby fundamentals through coding exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.3 KiB

4 years ago
  1. ## 1 Potenssien lasku whilella
  2. **Tehtävä:**
  3. Luvun ensimmäisenä tehtävänä tehdään yksinkertainen while-toistoon pohjautuva laskuri, joka laskee käyttäjän antamasta luvusta 10 ensimmäistä potenssia. Eli jos käyttäjä vaikka antaa arvon 3, lasketaan 2. kierroksella laskutoimituksen 3*3 tulos, kolmannella 3*3*3 tulos jne...
  4. Ohjelma alkaa pyytämällä käyttäjältä luvun muodossa "Anna luku: " ja tämän jälkeen tulostaa potenssit muodossa "[kierros]. potenssi on [tulos]". Ohjelma siis tarvitsee erikseen muuttujan jolla seurataan kierrosmäärää, sekä toisen muuttujan johon joka kierroksella lasketaan uusi tulos. Ohjelma lopettaa automaattisesti kun 10. potenssin tulos on laskettu ja tulostettu.
  5. Toimiessaan oikein ohjelma tulostaa seuraavaa:
  6. Example output:
  7. ```
  8. Anna luku:
  9. 3
  10. 1. potenssi on 3
  11. 2. potenssi on 9
  12. 3. potenssi on 27
  13. 4. potenssi on 81
  14. 5. potenssi on 243
  15. 6. potenssi on 729
  16. 7. potenssi on 2187
  17. 8. potenssi on 6561
  18. 9. potenssi on 19683
  19. 10. potenssi on 59049
  20. ```
  21. **Vastaus**
  22. ```
  23. #!/usr/bin/env ruby
  24. # coding: utf-8
  25. begin
  26. puts "Anna luku: "
  27. luku = Integer(gets.strip.chomp)
  28. rescue ArgumentError
  29. warn "Ei ole kelvollinen luku. Yritä uudelleen."
  30. retry
  31. end
  32. i = 1
  33. while i <= 10
  34. puts "#{i}. potenssi on #{luku**i}"
  35. i += 1
  36. end
  37. ```