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

プログラミング演習

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング演習"

Copied!
11
0
0

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

全文

(1)

プログラミング演習

II

2003

1

1月

5

日(第

4

回)

木村巌

(2)

今日やること

減算、負の整数への準備

データ型の実装の変更

データ型の実装の隠蔽

Predicate

の実装

(3)

減算、負の整数

前回は、自然数の足し算のみ実装した

減算では、負の整数が自然に現れる

負の整数をどのように表現するか?

(4)

負の整数を表すデータ型の実 装

いまでどおり、

long

の配列だが

{0

桁目

, 1

桁目

,…,DIM-1

桁目

,

符号

}

最後に、符号を表す

1

(正)、

-1

(負)を付け足す

(5)

変数の初期化などを関数に

前回のように、手動で変数を初期化す るのは面倒だし、間違いを起こしやす い

専用の関数を用意する

多倍長整数を、

mpi

と略す(

multiple p recision integer

(6)

初期化関数、終了関数

mpi_init () mpi_clear()

mpi0.c

を参照

(7)

データの実装の隠蔽

Mpi

がどのように実装されているか

(配列を使って、最後の桁が符号)

これは意識しなくてもよいこと

各桁を取り出す、各桁を設定する、符 号を取り出す、符号を設定する

C

long

から

mpi

への変換関数 などを用意する

mpi1.c

を参照

(8)

さらに関数の追加

mpi

の符号を変更する二つの関数

与えられた mpi を変更するか

与えられた mpi から新たに作るか

mpi

0

であること

mpi

の等号、大小

(9)

以上をふまえての加減算

加減算を、以上をふまえて実装したい 加算は本当に加算か?

1 + (-2) ?

減算は本当に減算か?

1 – (-2)?

(10)

レポート課題

Web

に掲示した

mpi2-report.c

の指示に 従って、関数

mpi_iszero(), mpi_iseq(), mpi_isgt(), mpi_islt()

の実装を完成させ ること。

それらの関数が正しく実装されている

ことを示す例を、

main()

内に挙げるこ

と。

(11)

レポート課題提出要領

2003

11

11

日(火)一杯に、木村 までメールで送ること.

アドレスはiwao@sci.toyama-u.ac.jp

添付ファイルではなく、できるだけメ ール本文にレポート本文を記載してく ださい.

参考にした文献や友人のレポートは、

その旨明記すること.

参照

関連したドキュメント

(実被害,構造物最大応答)との検討に用いられている。一般に地震動の破壊力を示す指標として,入

2021] .さらに対応するプログラミング言語も作

チューリング機械の原論文 [14]

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

このように、このWの姿を捉えることを通して、「子どもが生き、自ら願いを形成し実現しよう

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

運航当時、 GPSはなく、 青函連絡船には、 レーダーを利用した独自開発の位置測定装置 が装備されていた。 しかし、

・私は小さい頃は人見知りの激しい子どもでした。しかし、当時の担任の先生が遊びを