落書きノート

ふと自分が気になった事を書いてます

Haskell

Haskellで不定期練習

OCamlの方が便利かも。今回、繰り返しをやったんですけど、Haskellはちょっとこの辺り不便でした。 import Text.Printf import Data.List import Data.Array main :: IO () main = do putStrLn "変数a" v1 <- getLine putStrLn "変数b" v2 <- getLine putStr…

Haskellで不定期練習

import Text.Printf main :: IO () main = do putStrLn "整数a" v1 <- getLine putStrLn "整数b" v2 <- getLine putStrLn "整数c" v3 <- getLine let a = read v1 :: Int b = read v2 :: Int c = read v3 :: Int if a > b && b > c || c > b && b > a then p…

Haskellで不定期練習

import Text.Printf main :: IO () f n | n >= 0 && n <= 59 = "不可" | n >= 60 && n <= 69 = "可" | n >= 70 && n <= 79 = "良" | n >= 80 && n <= 100 = "優" | otherwise = "不正な点数です。" main = do putStrLn "点数 : " v <- getLine let point = r…

Haskellで不定期練習

import Text.Printf main :: IO () main = do putStrLn "整数値" n <- getLine let ni = read n :: Int if ni < 0 then putStrLn "その値は負です。" else return () import Text.Printf main :: IO () main = do putStrLn "整数値" v <- getLine let n = re…

Haskellで不定期練習

import Text.Printf import System.Random main :: IO () main = do putStrLn "3個の乱数を生成しました。" a <- (getStdRandom $ randomR (0.0, 1.0) :: IO Float) b <- (getStdRandom $ randomR (0.0, 10.0) :: IO Float) c <- (getStdRandom $ randomR (-…

Haskellで不定期練習

import Text.Printf main :: IO() main = do putStrLn "xの値" x <- getLine putStrLn "yの値" y <- getLine let xi = read x :: Float let yi = read y :: Float printf "合計は%fです。\n" (xi + yi) printf "平均は%fです。\n" ((xi + yi) / 2) import Te…

Haskellで不定期練習

関数型言語、このタイプのプログラミング言語は副作用が伴うとプログラムが組みづらいです。OCamlで納得しました。 import Text.Printf main = do let x = 63 y = 18 z = 52 printf "xの値は%dです。\n" x printf "yの値は%dです。\n" y printf "zの値は%dで…

Haskellで問題を解く

なかなか苦戦しました。こんな感じです。 main = do putStrLn "柴" putStrLn "田" putStrLn "望" putStrLn "洋" import Text.Printf main = do putStrLn "柴" putStrLn "田" putStrLn "" putStrLn "望" putStrLn "洋" putStrLn "" sub_print sub_print = pri…

Haskellで問題を解く

OCamlから入門して良かったです。Haskellでもその知識が流用出来ました。まだIO周りしかやってませんが、最初の部分でも結構悩ましいところがあります。print関数で日本語を表示するところですね。文字エンコーディングが表示されて日本語が表示できません。…