粗茶でございます日本語 プログラミング 言語 「なでしこ」 大好き 

このページの記事目次 (カテゴリー: プログラミング全般

スポンサーサイト

   ↑  --/--/-- (--)  カテゴリー: スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

(記事編集) http://nadesocha.blog.fc2.com/?overture" target="_new

--/--/-- | Comment (-) | ホーム | ↑ ページ先頭へ ↑ |

切り上げ、切り下げ、切り捨て、四捨五入

   ↑  2013/03/24 (日)  カテゴリー: プログラミング全般
 プログラミングで気になるのは、数値の端数処理です。
 たとえば整数型に小数を入れることができませんので、小数点以下を処理するような場合です。

 そして誰もが疑問に思うのが、マイナス数値の端数を処理したときに、どんな値が得られるのかということです。
 「1.5」の小数点を切り上げたら「2」だけど、「-1.5」の小数点を切り上げたら「-1」なのか「-2」なのか悩みますよね。

 マイナス数値を丸めることについて、少し調べてみましたが、絶対的な答えはでてきませんでした。
 とりあえず、次のようにまとめてみましたので、参考にしてください。

・四捨五入
 処理する数値が0から4ならばゼロ方向に丸める。5から9ならばゼロとは反対の無限大方向に丸める。
・切り上げ(*A)
 正の無限大方向に丸める。
・切り下げ
 負の無限大方向に丸める。
・切り上げ(*B)
 ゼロとは反対の無限大方向に丸める。
・切り捨て
 ゼロ方向に丸める。


 小数第2位を処理して、小数第1位まで求める場合を例に説明します。
・四捨五入
 1.24→1.2
 1.25→1.3
 -1.24→-1.2
 -1.25→-1.3
 エクセルのRound関数と同じです。4以下ならば端数を捨ててしまいます。5以上ならば端数を捨てて、上の位に1を加えます。
 数直線上で-1.24から見てゼロ方向は-1.2です。-1.25から見てゼロとは反対の無限大方向は-1.3です。
 (負)-1.4__-1.3_←_-1.25__-1.24_→_-1.2__-1.1__0__1(正)

・切り上げ(*A)
 1.24→1.3
 1.25→1.3
 -1.24→-1.2
 -1.25→-1.2
 エクセルのCeiling関数と同じです。端数を捨てて、正の無限大方向へ丸めます。
 数直線上で-1.24から見て正の無限大方向は-1.2です。1.24から見て正の無限大方向は1.3です。
 (負)-1.4__-1.3__-1.25_→_-1.24_→_-1.2__-1.1__0__1__1.2__1.24_→_1.25_→_1.3__1.4(正)

・切り下げ
 1.24→1.2
 1.25→1.2
 -1.24→-1.3
 -1.25→-1.3
 エクセルのFloor関数と同じです。端数を捨てて、負の無限大方向へ丸めます。
 数直線上で-1.24から見て負の無限大方向は-1.3です。1.24から見て負の無限大方向は1.2です。
 (負)-1.4__-1.3_←_-1.25_←_-1.24__-1.2__-1.1__0__1__1.2_←_1.24_←_1.25__1.3__1.4(正)

・切り上げ(*B)
 1.24→1.3
 1.25→1.3
 -1.24→-1.3
 -1.25→-1.3
 エクセルのRoundUp関数と同じです。端数を捨てて、ゼロとは反対の無限大方向へ丸めます。
 数直線上で-1.24から見てゼロとは反対の無限大方向は-1.3です。1.24から見てゼロとは反対の無限大方向は1.3です。
 (負)-1.4__-1.3_←_-1.25_←_-1.24__-1.2__-1.1__0__1__1.2__1.24_→_1.25_→_1.3__1.4(正)

・切り捨て
 1.24→1.2
 1.25→1.2
 -1.24→-1.2
 -1.25→-1.2
 エクセルのRoundDown関数と同じです。端数を捨てて、ゼロ方向へ丸めます。
 数直線上で-1.24から見てゼロ方向は-1.2です。1.24から見てゼロ方向は1.2です。
 (負)-1.4__-1.3__-1.25_→_-1.24_→_-1.2__-1.1__0__1__1.2_←_1.24_←_1.25__1.3__1.4(正)


 ここで、切り上げに2通りあることに気づかれたと思います。
 切り上げをするときに、数値を絶対値として扱うか、数直線と同じの大小で扱うかによって結果が違うのです。
 使用しているプログラミング言語によって、どちらが実装されているのか確認する必要がありますね。

 数学においても、マイナスの切り上げについては定義がされていないようです。
 区別するために、「切り上げ(*B)」は「切り入れ」とかにしてもいいのでは?と思います。



スポンサーサイト

この記事に含まれるtag : Excel 

FC2スレッドテーマ : プログラミング (ジャンル : コンピュータ

(記事編集) http://nadesocha.blog.fc2.com/blog-entry-166.html

2013/03/24 | Comment (0) | Trackback (0) | ホーム | ↑ ページ先頭へ ↑ |

SyntaxHighlighterを使ってみた

   ↑  2012/05/03 (木)  カテゴリー: プログラミング全般
 fc2ブログで、VBとかC#とかのプログラム ソースを綺麗に表示したくて、いろいろと調べていたら、SyntaxHighlighterというものが良さそうなので、導入してみました。

 使用したのは、バージョン3.0.83です。
 以下、設定メモ。

1.SyntaxHighlighter3.0.83をダウンロード
 こちらのサイトにアクセス。SyntaxHighlighter3.0.83
 ページの本文にある、「Click here to download.」をクリックして、「syntaxhighlighter_3.0.83.zip」をダウンロードします。
 ダウンロードしたzipファイルを展開すると、中に以下のファイルがあります。
 ・compass(フォルダ)
 ・scripts(フォルダ)
 ・src(フォルダ)
 ・styles(フォルダ)
 ・tests(フォルダ)
 ・index.html
 ・LGPL-LICENSE
 ・MIT-LICENSE

2.ファイルをアップロード
 fc2ブログの管理画面のファイルアップロードを開き、必要なファイルをアップロードします。
 【必須ファイル】
  (styles)フォルダ内
  ・shCore.css
  ・shCoreDefault.css
  (scripts)フォルダ内
  ・shAutoloader.js
  ・shBrushXml.js
  ・shCore.js
  ・shLegacy.js
 【任意ファイル】表示したい言語を選択
  (scripts)フォルダ内
  ・shBrushCSharp.js
  ・shBrushDelphi.js
  ・shBrushPlain.js
  ・shBrushVb.js
 私は、C#、Delphi、テキスト、VB用のファイルを選択しました。
 ファイルをアップロードしたら、そのファイルのリンク先を調べておきます。
 たとえば、ファイルアップロード画面で、アップロードしたファイル名の左にある「表示」というリンクを右クリックして、ショートカットのコピーをすれば、リンク先がわかります。
 リンク先は「http://~ユーザー名/ファイル名」となっているはずです。このファイル名を除いた部分「http://~ユーザー名」を後で使います。

3.テンプレートを書き換える
 fc2ブログの管理画面のテンプレートの設定を開き、HTML編集欄で、<head>と<body>を書き換えます。
 まず、</head>の直前に、下記のHTMLを挿入します。
<link type="text/css" rel="stylesheet" href="[リンク先]/shCore.css" />
<link type="text/css" rel="stylesheet" href="[リンク先]/shCoreDefault.css" />

 [リンク先]の部分は、先ほど調べたリンク先(ファイル名を除く)に置き換えて下さい。
 次に、</body>の直前に、下記のHTMLを挿入します。
<script type="text/javascript" src="[リンク先]/shCore.js" charset="euc-jp"></script>
<script type="text/javascript" src="[リンク先]/shAutoloader.js"></script>
<script type="text/javascript" src="[リンク先]/shLegacy.js"></script>
<script type="text/javascript" src="[リンク先]/shBrushXml.js"></script>
<script type="text/javascript">
SyntaxHighlighter.autoloader
(
"csharp [リンク先]/shBrushCSharp.js",
"delphi [リンク先]/shBrushDelphi.js",
"text plain [リンク先]/shBrushPlain.js"
"vb [リンク先]/shBrushVb.js",
);
SyntaxHighlighter.config.bloggerMode=true;
SyntaxHighlighter.all();
</script>

 同じく、[リンク先]の部分は、先ほど調べたリンク先(ファイル名を除く)に置き換えて下さい。また、各言語ファイルの指定は、アップロードしたファイルごとに記述します。
 「更新」ボタンを押して、HTMLの編集を終了します。

 これで、SyntaxHighlighterの設置が完了しました。
 他の表示オプションの設定等は、他のブログを参考にしました。
 また、テンプレートによっては、うまく表示できないものがありました。おそらく、<pre>タグの表示に何か細工がしてあるのかもしれません。
 私が何度も失敗したところは、[リンク先]でした。アップロードしたファイルのリンク先なのに、間違えてブログのアドレスにしていたため、表示できなかったのです。

4.ブログにソースを表示する
 記事の中に、プログラム ソースを表示するには、タグで囲みます。
<pre class="brush: 言語名;">
ソースコード
</pre>

 言語名には、先ほどのHTMLに記入した「csharp」や「text」などを指定します。
 たとえば、VBのソース コードならば、次の通りです。
<pre class="brush: VB;">
Sub Test()
Dim ans as string
ans = &quot;mile&quot;
MsgBox &quot;S&quot; &amp; ans &amp; &quot;s!&quot;
End Sub
</pre>


Sub Test()
Dim ans as string
ans = "mile"
MsgBox "S" & ans & "s!"
End Sub


 ただし、特殊文字は面倒ですが変換しておく必要があります。
 特殊文字についても、他のブログを参考にして下さい。

 SyntaxHighlighterは、表示されたコードをダブルクリックするだけで、選択できるのでとても便利です。また、改行やインデントもきちんと表示してくれるので、とても見やすいです。
 なでしこのソースコードを表示するのにも役立ちます。

FC2スレッドテーマ : プログラミング (ジャンル : コンピュータ

(記事編集) http://nadesocha.blog.fc2.com/blog-entry-146.html

2012/05/03 | Comment (0) | Trackback (1) | ホーム | ↑ ページ先頭へ ↑ |

タブの実験

   ↑  2008/10/07 (火)  カテゴリー: プログラミング全般

「なでしこ」でタブページを作成すると、タブは上部に並びます。
これを左側や右側に並ぶように変更できないか、調べてみました。
すると、タブの位置を変更する方法については簡単に分かりましたが、
タブを縦に並べるということは、テキストも縦書きになるのでは?
と思い、今度はフォントを変更する方法を探し始めることに・・・


ところが、フォントを作成してタブに設定するという方法が
非常にわかりにくく(←私にとって)、フォントの書体とサイズと修飾を
変えたいだけなのに、その他にいっぱい設定とか必要で、
しかもクリエイトしなければならないとか、お手上げ状態でした。


そこで、別のGUI部品(エディタなど)でフォントを変更し、
その情報をコピーすることを思いつき、
なんとかフォントを変更することはできました。


さて、タブの位置を変更できましたし、フォントを変更することも
できましたが、このふたつを同時に設定することができません。
タブを縦に並べると、テキストが表示されないのです。


ここでものすごく悩んで、さんざん調べたあげく、
4日目にして、ようやくWindowsXPが原因だと判明。
つまり、Windows画面のプロパティにXPスタイルを適用していると
タブにテキストが表示されないらしいです。


これでようやく、やりたいことができました!
完成したプログラムは以下の通りです。
あとでGUI辞典にまとめるつもりです。


(2008.10.20追記)
後日、同じプログラムを実行してみると、
なぜかまったく表示されませんでした。
この記事を書いたときには大成功だったのに、
何がおかしいのかさっぱりわかりません。
Windowsのアップデートなのか、
なでしこのバージョンアップなのか、
原因が分からないので、この件は凍結します。

(記事編集) http://nadesocha.blog.fc2.com/blog-entry-32.html

2008/10/07 | Comment (0) | Trackback (0) | ホーム | ↑ ページ先頭へ ↑ |

2008年の目標

   ↑  2007/10/22 (月)  カテゴリー: プログラミング全般

今年も残り2ヶ月となりました。


来年(2008年)の目標を考えていたときに、「なでしこ」のために何ができるのか?というテーマが頭に浮かんできました。


そこで、じゃあ、私に何ができるのか?なんて考えてみたら、やっぱり自分が一番欲しいもの「なでしこマニュアル」に関するお手伝いがしたい!と思いました。


2008年中に、なでしこに関するマニュアルを1冊出版する!


これを目標にしたいと思います。


Excel/Word関連のマニュアルを書き上げましたが、WIKIの更新も滞っており、これもなんとかしないと・・・


具体的な内容


1.Excel/Word関連のマニュアルを加筆・修正
2.Excel/Word関連のマニュアルをWIKIにアップロード
3.GUI辞典の作成(クジラさんに協力してもらう)
4.GUI辞典を製本(ついでにExcel/Word関連のマニュアルと合わせる)
5.GUI辞典の見本をWIKIにアップロード
6.GUI辞典をイベント会場やネットで販売できるようにする。


もし、他のテーマでマニュアルの要望があり、私にできることであれば、そちらに変更してもいいかもです。


出版の費用は、出版社と契約できればOKですが、自費出版でも原価を回収できる見込みがあれば、出資します。


この件については、12月までにじっくりと考えてみようと思います。

(記事編集) http://nadesocha.blog.fc2.com/blog-entry-31.html

2007/10/22 | Comment (0) | Trackback (0) | ホーム | ↑ ページ先頭へ ↑ |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。