初めてのプログラム 4日目 SmallBASICで四則演算プログラム

2010/3/23 読まれた回数1116
このエントリーを含むはてなブックマーク |  このページを Google Bookmarks に追加 | Yahoo!ブックマークに登録 | このエントリの Delicious history

4日目はif文について
昨日作った挨拶プログラムを改良して引き算やかけ算等も出来るようにするよ

SmallBasicを起動したら
昨日保存した3_Tashizanを開いて、
名前を付けて保存で「4_Shisoku」で保存する。

どの計算をするかを選んでもらうために


TextWindow.WriteLine("元の値を入れてね")
x = TextWindow.ReadNumber()



TextWindow.WriteLine("足す値を入れてね")
y = TextWindow.ReadNumber()

の間に計算する記号を入力してもらう処理を追加する。

TextWindow.WriteLine("元の値を入れてね")
x = TextWindow.ReadNumber()
TextWindow.WriteLine("計算する方法を選んでね [+ - * /]")
f = TextWindow.Read()
TextWindow.WriteLine("計算する値を入れてね")
y = TextWindow.ReadNumber()

これでfにどの方法で計算するかがセットされる。

次に入力された内容によって計算方法を切り替える処理を作る。
条件によって処理を切り替えるにはif文を使う。

if文は
If 条件 Then
処理
ElseIf 条件 Then
 処理
Else
 処理
EndIf
と言う風に書く。
If 条件 Thenは
もし、条件に該当する場合だけ処理を行うと言う意味
ElseIf 条件 Thenは
今までの条件に該当せずに、新しい条件に該当する場合だけ処理を行うと言う意味
Elseは
今までの条件に該当しなかった場合に処理を行うと言う意味

例えば
If 条件1 Then
 処理A
ElseIf 条件2 Then
 処理B
ElseIf 条件3 Then
 処理C
Else
 処理D
EndIf
と言う場合、
条件1に該当する場合、処理Aが実行され、
条件1に該当せず、条件2に該当する場合、処理Bが実行される。
条件1、2該当せず、条件3に該当する場合、処理Cが実行される。
条件1、2、3全てに該当しない場合は処理Dが実行される。

ElseIfやElseは省略することも出来る。
If 条件1 Then
 処理A
Else
 処理B
EndIf
とすれば、もし条件1に該当すれば処理Aを実行し、
条件Aに該当しない場合は処理Bを行う。

If 条件1 Then
 処理A
ElseIf 条件2 Then
 処理B
EndIf
とすれば、もし条件1に該当すれば処理Aを実行し、
条件1に該当せず、条件2に該当する場合は処理Bを行い、
条件1,2に該当しない場合は何も処理を行わない。
このif文のことを条件によって処理を分岐することから条件分岐という。

今回はfに入力された値を元に計算を行い、
もし+,-,*,/以外が入力された場合はエラーを表示する処理を作る。

xとyを必ず足し算する処理をfに"+"が入ってきた場合のみ行うようにするには、

a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)

をIf文で囲って

If f="+" Then
a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)
EndIf

とする。

次に引き算の処理を追加する。
EndIfの前にElseIfを追加して、fが"+"ではなく"-"だった場合に引き算を行う処理を追加する。

If f="+" Then
a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)
ElseIf f="-" Then
a = x - y
TextWindow.WriteLine(x + "-" + y + "=" + a)
EndIf

同様に、かけ算、割り算の処理も追加する

If f="+" Then
a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)
ElseIf f="-" Then
a = x - y
TextWindow.WriteLine(x + "-" + y + "=" + a)
ElseIf f="*" Then
a = x * y
TextWindow.WriteLine(x + "*" + y + "=" + a)
ElseIf f="/" Then
a = x / y
TextWindow.WriteLine(x + "/" + y + "=" + a)
EndIf


最後にElseを使って+-*/以外が入力されるとエラーとなる処理を追加する。

If f="+" Then
a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)
ElseIf f="-" Then
a = x - y
TextWindow.WriteLine(x + "-" + y + "=" + a)
ElseIf f="*" Then
a = x * y
TextWindow.WriteLine(x + "*" + y + "=" + a)
ElseIf f="/" Then
a = x / y
TextWindow.WriteLine(x + "/" + y + "=" + a)
Else
TextWindow.WriteLine("計算できないです")
EndIf



プログラム全体は以下の通り

TextWindow.WriteLine("元の値を入れてね")
x = TextWindow.ReadNumber()
TextWindow.WriteLine("計算する方法を選んでね [+ - * /]")
f = TextWindow.Read()
TextWindow.WriteLine("計算する値を入れてね")
y = TextWindow.ReadNumber()
If f="+" Then
a = x + y
TextWindow.WriteLine(x + "+" + y + "=" + a)
ElseIf f="-" Then
a = x - y
TextWindow.WriteLine(x + "-" + y + "=" + a)
ElseIf f="*" Then
a = x * y
TextWindow.WriteLine(x + "*" + y + "=" + a)
ElseIf f="/" Then
a = x / y
TextWindow.WriteLine(x + "/" + y + "=" + a)
Else
TextWindow.WriteLine("計算できないです")
EndIf

入力し終わったら実行ボタン
+-*/によって計算方法が変わること、
それ以外の値を入れるとエラーとなることを確認したら保存を押してプログラムを保存しよう
初めてのプログラム 5日目 SmallBASICで電卓プログラム

関連キーワード

[簡易言語][SmallBasic]

コメントを投稿する

名前URI
コメント

トラックバック URL(β)

CR-Zとインサイトを見てきました

2010/3/22 読まれた回数1839
このエントリーを含むはてなブックマーク |  このページを Google Bookmarks に追加 | Yahoo!ブックマークに登録 | このエントリの Delicious history

CR-Z、写真で見ると随分野暮ったい雰囲気だけれど、
実物はそんなこと無かったです。

サイズが小さいのでぎゅっと締まった感じで、
特にヘッドライトの立体的な造形が良い具合にアクセントになってる。
車高が低く、幅が有るので思った以上に格好いい
内装の作りもメーター周りが飾りすぎな感じはするけれど、全体の作りがまとまっていたので取って付けたような印象は受けなかった。

けれど、CR-Zは2シーターと割り切った方が良いと思う。
リアシート狭すぎ。
シルビアやRX-7のリアシートも狭かったけれど、そんなもんじゃない
普通2+2の車は座面が低くて体をたたみ込むように乗るんだけれど、インサイトはバッテリーがある関係か座面が高い。
そのくせ天井が低いから乗れたモンじゃない。
リアシートはハンドバック置き場で2シーターと割り切った方が良い。(そもそも北米は2シーター)
ただ、2シーターと割り切ると、もっと面白そうな車がいっぱいあるんだよね、マツダのロードスターとかダイハツのコペンとか
そもそも、実質2シーターを今更買えないってことで、CR-Zはパス

ということで、インサイト見てきました。
プリウスが同価格帯でぶつけられたときは、インサイト終わった って思ったけれど、試乗してみて印象が変わりました。
同じ値段ならプリウスよりこっちが良い。

車内に乗り込んだときに感じたのが凄くスポーティーなドライビングポジション。
座面が低く、若干寝そべった感じでシルビアに近い。
ファミリーカーでここまでスポーティーなのは初めて。

試乗したときはエアコンが付いていてエンジンが回っていたんだけれど、それを感じさせないほど静か 若干アイドリングの振動が伝わってくることでエンジンが回っているのが分かるんだけれど、エアコンを切ってエンジンを止めても、プリウスみたいに突然静かになったって感じがしない。

ブレーキを解除すると自動的にエンジンがかかる。
クリープに入るまでに一瞬タイムラグがあるのでATの感覚でブレーキを離していたら、流れに乗れない。
MTの感覚で早めにブレーキを外すと自然に運転できるた。
クリープ自体はするので、アクセルにふれずに渋滞ののろのろ運転とかは出来る。
エンジン始動時の振動はぶるっと大きな揺れが一瞬くる。
ATからの乗り換えはプリウスの電動クリープの方が自然に感じると思う。
振動も走行中にエンジンを始動できるプリウスの方が有利。

一つ驚いたのが音の静かさ、
普通考えればエンジンが回っているインサイトと
エンジンが止まっていても動くプリウスならプリウスの方が圧倒的に静かになりそうだけれど、街中で乗ってみた感覚は逆

外の音が響いて、エンジンが止まっているのにエンジン音が聞こえるプリウスに対して、インサイトはエンジンが回っていても静か。
停車するときも、エンジンが切れる瞬間に軽い振動があるくらいで、殆ど音が気にならない。
田舎に行くと印象は逆転するはずだけれど、街中で走る分ではインサイトの方が車格が上に感じた。

加速感はインサイトの圧勝。
CVTは加速と共にエンジンの回転数が上がっていくタイプで、いかにも加速しているって感じがする。
おまけに踏み足し時のモーターアシストが自然で数値以上にトルク感がある。
プリウスのスピードが乗らないようで実はスピードが上がっているのと比べると、とても自然で気持ちよく加速する。

ステアリングの感じもインサイトの方が一段上
電動パワステの違和感は残っているけれど、プリウスのハンドルとタイヤが別になっている感覚はなく普通のコンパクトカーレベルで自然に運転できた。

ブレーキはプリウスとインサイトで逆の印象。
プリウスは踏み始めた瞬間にガクっと強めのブレーキがかかり
その後はわりとリニアに止まる。
インサイトは軽く踏んだときのブレーキがあまり効かずに、じんわりブレーキがかかって、あわてて踏みますってことが何度かあった。
踏みましたときのブレーキの強まり方もいびつでいまいちつかみ所がない感じがした。
正直、どっちもどっちであまり好きじゃない。
プリウスのブレーキは酔いそうだし、インサイトのブレーキは怖い

足回りはインサイトの一人負け
プリウスは普通レベルのサスペンション。
インサイトは、足回りが固い。
足回りが固いっていうとスポーティーな感じだけど、
スポーティーな堅さは一気に揺れてすぐに収束する。
インサイトは一気に揺れるのにそのまま収束せずにぐらぐらと揺れ続けて、バスやトラックみたいな乗り味になってる。
実は板バネですっていわれたら信じる。

後部座席は必要最低限で、見た目で想像するほど広くない。
ドアの下部があまり開かないので足を入れにくいのと、シートが高くて天井が低いので頭上スペースも少ない。
あくまでコンパクトカーレベル。
荷室の収納もバッテリーの関係で深さがないので、見た目ほど荷物は載らない。

内装は全ての装備が普通で良かった。
サイドブレーキはレバー式だし、ATレバーも、普通の直線型だし、ハザードの場所も分かりやすく押しやすい
メーター周りだけ特殊だけれど、スピードメーターだけ見る分には見やすい。
内装がプリウスに比べてチープって言われているけれど、長く使っていて使いやすいのはインサイトの方じゃないかな

総評で、プリウスと比べて、チープだけれど走りの楽しさがある。
特にアクセルの感覚が良かった。
ハイブリッドにしては、ではなく、普通のAT車と比べても良い
装備面でも、L以上ならHIDが標準だし、カーナビをつければETCやバックビューも付いてくるし、オプションをあまりつける必要が無くて
車両本体価格では大差なくても、乗り出しはインサイトの方がだいぶ安い。

純粋に実用性だけで言えば後部座席が広いプリウスの方が上だけれど、走りの楽しさまで含めて考えたらインサイトは決してプアマンズプリウスじゃないな っと感じた。

関係ないけれど、帰りに見かけた面白い看板。

関連キーワード

[][ドライブ]

コメントを投稿する

名前URI
コメント

トラックバック URL(β)

雑記

2010/3/20 読まれた回数598
このエントリーを含むはてなブックマーク |  このページを Google Bookmarks に追加 | Yahoo!ブックマークに登録 | このエントリの Delicious history

最近あったことをいろいろと

Intuos3のペンがやばい


G5買ったときの写真探してたらIntuos3が写っていて、
そういえば、俺intuos3を何年使ってるんだろうとか思った。
発売直後に買ったような気がするからそうすると6年
最近、ペンの滑り止めが劣化して柔らかくなってきちゃって、握るとぐにゃぐにゃ
最近流行のシリコンジェルみたいになってる。
そろそろIntuos4買い時かなぁ

シトロエン C3が可愛い


シトロエンのDセグメント車。
日本で言えばヴィッツやマーチに当たる車なんだけれど
フロントガラスが、常識外れにデカくて、頭上まで伸びてる。
オープンカー以外なら次の車はこれが良い


4ドアで4人乗れるし価格も200万程度だと思う。下取りは望めないけれどもね
町中ならコレで十分かと思う。
本国仕様の1.6Lディーゼルとか最高に楽しいだろうけどなぁ
日本に来るのは1.4Lガソリン 4ATだそーです。

ロータリーアイコンを作ったよ


faviconを変更しました。
キャッシュが残っていると古いままになりがちだけど、
ロータリーエンジンをイメージしたデザインでマルチアイコンになってます。
safariだと上手く表示できなくてメジャーなサイトを見ると16x16のシングルアイコンが普通みたい。 シングルが良いのかなぁ
ダウンロード出来ますので好きに使って下さい。
ロータリーアイコン
アイコンのダウンロード



PCの調子が悪い


メインPCでWindows7の移行に失敗32bitも64bitも起動時にブルースクリーン多発
結局移行を断念してWindowsVistaのまま使い続けていたんだけど
最近Vistaも調子が悪くなっていて、ATOKが突然動かなくなるとか、ファイルにアクセスできなくなるとか(再起動で復活する)
恐らくマザーボードのコンデンサが日に日に劣化してきてるんだろうなぁ
しかもThinkPadが絶好調すぎ&Windows7便利すぎで次第にVistaのまま使うのが不快になってきた。
夏辺りにCore i3で組もうかな

M500のスクロール


M500の高速スクロールが便利なんだけれど、ホイールから指を戻そうとするときに上にスクロールすることがある。
ホイールの径が大きいので指が触れてるのが原因ぽい、マウスのプロパティでホイール時の行数を3行から1行に減らしたら快適になった。
レーザーの反応は良好。 レーザーになれたらもう光学式には戻れないね

Androidウィジェットの進捗


いまいち進んでいなくて、モチベーションの維持が大変
あとは設定画面と本体のロジックを調整するだけなんだけれど
ウインドウ一つ開くにも、Intentの発行から全部自分で実装しないと行けなくて単純作業が多いのが難点。
WindowsPhone7の方が作るのは楽しいね

引っ越し


近々引っ越しの予定。
物件選びに皆が遊びに来やすいところってのを基準に選んだので
皆に遊びに来てもらいたいな
メインPCと仕事用ノートの2台だけ持ってくつもりだったけれど、
メインPCが不安定なんでThinkPadも持って行こうか迷ってる。 PC何台になるんだ!

テルマエ・ロマエ


漫画大賞とったらしい。
凄く面白いけれど、マイナー雑誌だから海底人類アンチョビー みたいな無冠の名作になるかと思ってたのに

関連キーワード

[]

コメント

名前:SIAM|投稿日:2010/03/21 00:12

どこら辺に住むのかな?ぜひぜひ遊びいくのでよろしゅうです♪

名前:kenz|投稿日:2010/03/21 10:03

Welcome welcome.
賀茂の近くだよ

名前:SIAM|投稿日:2010/03/21 22:59

りょーかい♪新居に乗り込みます!

名前:kyo|投稿日:2010/03/21 23:31

おお、家決まったんだね^^
遊びに行くけん!!

名前:kenz|投稿日:2010/03/22 14:29

おまちしてまーす

コメントを投稿する

名前URI
コメント

トラックバック URL(β)

RSSで読むRSSフィードを購読

プロフィール

kenz

新しいものが大好き
仕事ではクラウドをプライベートではAndroidアプリを作ってます。
最近、プログラムしている人が減っているのでSmallBasicの紹介記事でプログラム好きな人が増えてくれたら嬉しい

FriendFeed

日記の一覧

follow me

☆最新コメント

近況報告 
kenz:うん、タイムライン組...

近況報告 
Take:写真をiphotoに...

音楽が異常にいいゲー 
kenz:思った以上に曲数が増...

最近の日記

kenz 9月2日
Apple新製品発表

kensei 8月26日
次の

京 7月28日
postgresでクエリ結果をファイルに書き出し。 (1)

jyun 6月30日
いよいよ福岡へ (1)

あわせて読みたいブログパーツ