|
|
- ## 3 Binaarilukukone
-
- **Tehtävä:**
-
- Luvun kolmas tehtävä esittelee syötteen pyytämisen käyttäjältä ja testaa tyyppimuunnosfunktioita käytännössä. Tee siis ohjelma, joka pyytää käyttäjältä luvun kysymyksellä "Anna joku luku:". Tämän jälkeen ohjelma ilmoittaa käyttäjälle annetun luvun binaarilukuna muodossa "Antamasti luku on binaariarvoina [tulos]" sekä heksalukuna muodossa "ja heksoina [tulos]". Helpoiten tehtävää kannattaa lähestyä to_s(2) ja to_s(16)-metodeja apuna käyttäen.
-
- Tehtävässä voidaan lisäksi olettaa, että käyttäjä ei anna virheellisiä syötteitä, joten siihen ei tarvitse varautua. Lisäksi kannattaa muistaa, että käyttäjältä vastaanotetun syötteen loppuun tallentuu aina rivinvaihtomerkki, josta pääsee eroon parhaiten chop! tai chomp!-metodeilla.
-
- Toimiessaan oikein ohjelma tulostaa seuraavaa:
-
- Example output:
-
- ```
- Anna joku luku:
- 2343
- Antamasi luku on binaariarvoina 100100100111
- ja heksoina 927
- ```
-
- **Vastaus**
-
- ```
- #!/usr/bin/env ruby
- # coding: utf-8
-
- begin
- puts "Anna joku luku:"
- #luku = gets.to_i
- luku = Integer(gets.strip.chomp)
- rescue ArgumentError
- warn "Ei ole kokonaisluku"
- retry
- end
- puts "Antamasi luku on binaariarvoina " + luku.to_s(2) + \
- "\nja heksoina " + luku.to_s(16)
-
- ```
|