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

計算機言語 I 第 2 回 教科書 2 章の補足とレポートに対するコメ ント

N/A
N/A
Protected

Academic year: 2021

シェア "計算機言語 I 第 2 回 教科書 2 章の補足とレポートに対するコメ ント"

Copied!
2
0
0

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

全文

(1)

計算機言語 I 2 回 教科書 2 章の補足とレポートに対するコメ ント

この資料

: http://www.math.u-ryukyu.ac.jp/~suga/gengo/2019-1/02.pdf

1 #include について

まずは

,

教科書

p. 18 – p. 20

の内容を読んで

,

プログラムを実行してください

.

前回述べましたが

, C

言語の処理系では

,

処理を分割して最終的な成果物を作成します

.

その際

,

行の先頭 が

#

で始まる行は

cpp (C pre processor)

が処理をします

.

それは

, C compiler (ccom)

が処理をする前に

,

コ メント文の削除や

,

マクロの展開などの文字列処理を行いなす

.

プログラムの先頭に書かれる

#include

,

別ファイルに記述してある内容をプログラムの中に取り込む操 作が行われます

.

教科書に書かれている

#include <stdio.h>

, stdio.h

という名前のファイルをプログラムに取り込んでいます

.

この時

,

ファイル名の両脇にある記

<, >

,

プログラム処理系で特に定まった場所にあるファイルを取り込むという意味になります

. Linux

などの

Unix

系処理系では

,

その場所は

, /usr/include

というディレクトリです

.

実際そこには

, stdio.h

,

math.h

という名前のファイルがあります

.

2 マクロ置換 : #define

教科書

p. 24

にあるように

,

行頭の

#define

cpp

により

,

マクロ置換と呼ばれる操作が行われます

.

#define HOGE hogehoge

とあると

, cpp

がプログラムソース内の

HOGE

という文字列を

hogehoge

という文字列に置き換えて

,

その

結果を

C compiler

に渡します

.

実行していることは単純な置き換え以外の何者でもありません

.

2.1 教科書とレポートへのツッコミ

さて

,

ファイル

math.h

を前回のプログラム

,

レポート問題

,

この後の教科書のプログラムで用います

.

math.h

というのは

,

数学関数を利用するにあたって

,

それらの宣言が記述されたファイルです

.

当然

,

その中

には

,

計算に重要な数学定数も定義されているはずです

.

1

(2)

bash-4.2$ less /usr/include/math.h

を実行してみると

,

# define M_PI 3.14159265358979323846

という行があります

.

従って

, double

型で数値計算をするときには

, math.h

include

して

, M_PI

を利用するのが通常で

,

教科 書のように

, #define PAI ....

と書いたりはしません

.

レポートの解答で

,

このような優れたものがありました

.

レポートの解答で

, sin(30)

を計算した方がいました

.

通常

, sin

の変数は

radian

ですので

,

当然

,

間違った 答えになっています

.

間違いを犯すのは

,

よくあることなのですが

,

重要なのは間違いに気づくことです

. sin(30

) =

12

,

三角比 を習った時点ですぐに知る内容なはずです

. 0.5

に近い値が出なかったときに

,

「何かを間違えている」と気づ けないようでは

,

数理の学生として失格です

.

また

, 3

角関数の変数が

radian

を単位にする理由もきちんとわかっていてください

. (sin x)

= cos x

のそ こそこ厳密な証明くらいはできるようになって

, (

あるいは

,

高校の教科書の

lim

x→0

sin x

x = 1

の証明のどこにゴ マカシがあるのかを理解して

)

卒業してください

.

レポート問題

1. (

必修

) double

型を利用して

,

a

640320 · 640320 · 640320

b

640320 · 640320 · 640320 + 744

c

e

π163

640320 · 640320 · 640320 744

3

つの値をコンピュータが計算して出力するプログラムを書け

.

レポートする内容は

,

プログラムソースと実行結果

.

実行結果の出力形式は

,

各自に任せる

.

件 名

: gengo2019-1 report 2-1,

送 り 先

: [email protected],

締 切

4

22

(

) 10:00(JST)

2. (

必修ではないが提出すると加点

)

上の問題の

(b)

は正しい計算結果を与えない

.

正しい値との差を

IEEE–754

の規格に則って説明せよ

.

件名

: gengo2019-1 report 2-2,

送り先

: [email protected],

締切は今学期終了時

.

2

参照

関連したドキュメント

点算定してい と最も多いものとな 点算定 最も多いも 地域医療支援病院かつ臨床研修 点算定している病院の割. 合が約

概要:近年,世界的なグローバル化により,多言語間でのコミュニケーションや情報共有の機会が増加傾向

概要:近年,世界的なグローバル化により,多言語間でのコミュニケーションや情報共有の機会が増加傾向

概要:近年,世界的なグローバル化により,多言語間でのコミュニケーションや情報共有の機会が増加傾向

bash-4.4$ mkdir gengo bash-4.4$ cd gengo bash-4.4$ mkdir chap01 bash-4.4$ cd chap01 コマンドcdはchange directoryの略で, Gnome 端末のshellのワーキングディレクトリを変更するコ... この意味は, 計算機概論 I でやりましたので,

Economies, Japan External Trade Organization (IDE-JETRO) http://www.ide.go.jp シリーズタイトル アジ研トピックリポート シリーズ番号 34

これは、某大学の大学院入試問題ですが、電磁気学

他人が書いたものの丸写し・盗作・剽窃ではないか)が設けられており、