2020年4月17日金曜日

開発環境

入門Goプログラミング (Nathan Youngman(著)、Roger Peppé(著)、吉川 邦夫(監修, 翻訳)、翔泳社)のUNIT 3(関数とメソッド)、LESSON 12(関数)の練習問題-2の解答を求めてみる。

コード

package main

import "fmt"

func kelvinToCelsius(k float64) float64 {
 return k - 273.15
}
func celsiusToFahrenheit(c float64) float64 {
 return c*9/5 + 32
}
func kelvinToFahrenheit(k float64) float64 {
 return celsiusToFahrenheit(kelvinToCelsius(k))
}
func main() {
 fmt.Printf("%10s %10s %10s %10s\n", "kelvin", "celsius", "fahrenheit", "fahrenheit")
 for k := 0; k <= 1000; k += 100 {
  c := kelvinToCelsius(float64(k))
  f1 := celsiusToFahrenheit(c)
  f2 := kelvinToFahrenheit(float64(k))
  fmt.Printf("%10d %10.2f %10.2f %10.2f\n", k, c, f1, f2)
 }
}

入出力結果(Zsh、PowerShell、Terminal)

% go build functions.go
% ./functions          
    kelvin    celsius fahrenheit fahrenheit
         0    -273.15    -459.67    -459.67
       100    -173.15    -279.67    -279.67
       200     -73.15     -99.67     -99.67
       300      26.85      80.33      80.33
       400     126.85     260.33     260.33
       500     226.85     440.33     440.33
       600     326.85     620.33     620.33
       700     426.85     800.33     800.33
       800     526.85     980.33     980.33
       900     626.85    1160.33    1160.33
      1000     726.85    1340.33    1340.33
%

0 コメント:

コメントを投稿