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

問題 過去の定期試験問題 tkunishi complang1 200001

N/A
N/A
Protected

Academic year: 2018

シェア "問題 過去の定期試験問題 tkunishi complang1 200001"

Copied!
2
0
0

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

全文

(1)

1999 年度計算機言語 I 定期試験

2000/02/04 担当: 国島 1. 次の問いに答えよ。

(a) 整数 x の i 乗を求める関数 power(x,i) を ML で実装せよ。

(b) 上で実装した関数 power について、power(5,2) の評価に伴う環境の変化 の過程を図を用いて述べよ。

2. 図 1 に、組合せnCmを計算するML プログラム comb とその実行結果を示し ている。出力からわかるように、ML 処理系は comb を、int * int を引数とし 出力がint であるような関数と推論している。この推論の過程を説明せよ。 3. 以下のプログラムを ML で実装せよ。リストを逆順に並び替える関数 reverse

はすでに定義されているものとして用いてよい。

(a) 整数のリストから偶数 (偶数番目ではない!) の要素を削除する関数 re- moveeven。

(b) リストのリスト L が与えられたとき、各要素を逆順に並び替え、かつ 全体も逆順に並び替える関数revrev。たとえば、revrev([[1,2], [3,4,5]]) の 評価結果は[[5,4,3],[2,1]] となる。

(c) 逆順に並び替えても同じになる文字列を palindrome という。与えられ た文字列が palindrome であるかどうかを判定する関数 palindrome。 (d) 図 2 に示すように二分木を定義したとする。このとき、すべての節点を

たどりその総和を計算する関数sumBinTree。 - fun comb(n, m) =

= if m=0 orelse m=n then 1

= else comb(n-1, m) + comb(n-1, m-1); val comb = fn : int * int -> int

- comb(5,2); val it = 10 : int -

図 1: 組合せ関数の定義とその実行結果

(2)

datatype ’label btree = Empty |

Node of ’label * ’label btree * ’label bree;

図 2: 二分木を表すデータ構造

参照

関連したドキュメント

最大消滅部分空間問題 MVSP Maximum Vanishing Subspace Problem.. MVSP:

問題集については P28 をご参照ください。 (P28 以外は発行されておりませんので、ご了承く ださい。)

②防災協定の締結促進 ■課題

[r]

けることには問題はないであろう︒

難病対策は、特定疾患の問題、小児慢性 特定疾患の問題、介護の問題、就労の問題

⽉⽇ 時間 事象・対応内容