• 検索結果がありません。

プログラミング・パラダイム( 2017 年度)・テスト問題用紙

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング・パラダイム( 2017 年度)・テスト問題用紙"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラミング・パラダイム ( 2017 年度) ・テスト問題用紙

(2017 年 11 月 30 日(木) ・ 9:35 〜 10:20)

解答上、その他の注意事項

I.

問題は、問

I〜II

まである。

II.

解答用紙の右上の欄に学籍番号・名前を記入すること。

III.

ノート・プリント・参考書などは持ち込み可である。

IV.

携帯電話などの通信機能を持つものは 持ち込み不可 である。

V.

I

を解答するときのみ、PC を使用して良い。ネットワークに接続して

WWW

を閲覧 しても良いが、掲示板、チャット、メールなどで生身の人間と通信することは禁じる。

VI.

テストの配点は

50

点である。合格はレポートの得点を加点して、100 点満点中

60

点以 上とする。

1

(2)

I. (Haskell実習問題) (13点×2)

(1) 引数として与えられる整数のリストの要素のなかの3の倍数の個数を返す関数 foo :: [Integer] -> Integer

を定義せよ。

例えば、foo [3,5,2,9]は2であり、foo [1,10]は0である。

この問ではmap,filter,foldl,foldrなどのリストに関するライブラリ関数や内包表記 を 使わず、if 〜 then 〜 else 〜 式、算術演算子、論理演算子、比較演算子、パター ンマッチング、ガード、再帰のみを使って定義せよ。

また、Haskellで“余り”を表す算術演算子は‘mod‘である。例えば7 ‘mod‘ 4(あるいは mod 7 4)の値は3である。

(2)整数nを引数として受け取り、正の整数の組(i, j)で、1 ≤ ijni × jが12の倍数 となるものを列挙する関数

bar :: Integer -> [(Integer,Integer)]

を(リストの内包表記を用いて)定義せよ。

例えば、bar 2は[]、bar 4は[(3,4)]で、bar 6は[(2,6),(3,4),(4,6),(6,6)]と なる。

(リストの要素の順番はこの通りでなくても良い。)

なお、mからnまで(ただしmn)の整数のリストは、[m..n]という式で得ることが できる。例えば、[0..5]は[0,1,2,3,4,5]である。

問Iの解答が完了した人はPCを閉じるかシャットダウンし、挙手して問IIの問題用紙を受け取 ること。

2

(3)

II. (Haskell) (12点×2 次の例にならって、下のHaskellの式(1)〜(2)を評価した結果を書け。

例:take 5 (from 1)⇒評価結果:[1,2,3,4,5]

ただし、takeとfromは講義プリントに定義されている通りの関数である。

from :: Integer -> [Integer]

from n = n : from (n + 1) take :: Integer -> [a] -> [a]

take 0 _ = []

take _ [] = []

take n (x:xs) = x : take (n - 1) xs

(1) take 8 (map (\ (x,y) -> x) ((iterate (\ (x,y) ->(y,x+y)) (0,1)))) この問で使用されている関数map,iterateの定義は次の通りである。

map :: (a -> b) -> [a] -> [b]

map f [] = []

map f (x:xs) = f x : map f xs iterate :: (a -> a) -> a -> [a]

iterate f a = a : itarate f (f a)

(2) [ (x,y) | x <- [2..5], y <- [2..5], x * y <= 10 ]

(この問に関してはリスト内の順番のみの間違いは、減点はしない。)

3

(4)
(5)

プログラミング・パラダイム (2017 年度) ・テスト解答用紙 (2017 年

11

30

日)

学籍番号 氏名

(6)

参照

関連したドキュメント

2014年度 2015年度 2016年度 2017年度 2018年度 2019年度 2020年度

2014年度 2015年度 2016年度 2017年度 2018年度 2019年度 2020年度

茨城 NPO 事務支援センターを設立し、NPO 会計スタッフ及び NPO 会計サポーターを人材育成す

開発途上国では女性、妊産婦を中心とした地域住民の命と健康を守るための SRHR

年度 2015 2016 2017

経常収益計 Ⅱ 経常費用 1.事業費 1人件費 給料手当 通勤費 アルバイト代 法定福利費 人件費計 2その他経費 報酬 外注費 旅費交通費 福利厚生費 通信費 交際費 会議費

 現在 2016年度 2017年度 2018年度 2019年度 2020年度

年度 2013 2014 2015 2016