Sticky

海星の世界 改

Niftyの旧サイトから移転し再構築した海星の世界です。

まだまだ未整備ですが、どうぞよろしく。

chou

 

Bootstrapを使ったスライド効果の練習




Bootstrapの活用

Carousel 1 習作1

Carousel 2 自動スライド

Carousel 3 送りボタン付き

Carousel 4 記事コメント及び下部選択ボタン付き

abc

オブジェクト指向プログラミング用の流れ図の提案

オブジェクト指向プログラミング用の流れ図の提案

オブジェクトとメインの流れ図との関わりが明確でないと、解析中にうっかり別のインスタンスなのに同一のインスタンスと勘違いしてしまう可能性がある。
以下の限界を実感する。

    • ①メインの流れの中で、個々のインスタンスにどんな操作をしたか分からない。

 

    • ②各インスタンスの操作で戻り値なし(void)か、戻り値があったときに何に渡しているかが分からない。

 

    • ③呼び出される側のオブジェクト(抽象クラス)でどんな変数(プロパティ)が用意され、何をするメソッドが使えるのかが分からない。

 

    ④オブジェクト(抽象クラス)の継承とインターフェイス継承の関係が分からない。

従って、インスタンスを示す流れ図記号を活用することを提案する。
クラスのインスタンス化を表現
このような図を流れ図に組み込むと、あるインスタンスを操作することが明確になる。
また、そのオブジェクトは戻り値があるのかないのかや、インスタンスの廃棄のタイミングを明示したりできるように次のような細部の差を表すとよいだろう。
クラスのメソッドとプロパティを表記し、戻り値有無やインスタンスの廃棄を表現
この記号で2つのインスタンスを操作することを示すのが次の流れ図である。
インスタンスを明示した流れ図
オブジェクトの設計と実体化を分けて考えるときに有効なのではないか。

オブジェクト指向プログラミング用の教材の紹介

迂闊にダウンロード用のフォルダが不備だったので、「オブジェクト指向プログラミング入門キット2」のダウンロードができない状態でした。
今回、アップデートしましたので、以下のリンク先からダウンロードできます。ぜひ、プログラミング教育用にご活用ください。

「オブジェクト指向プログラミング入門キット2」リンク先

 

小学校児童へのプログラミング教育について

 小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)を読んだ。今後プログラミング能力が切実に必要だとの主張だが、各科目の取組例がプログラマーからみると上っ滑りだ。だから校外のバックアップも要請されてはいるが・・。

小学校の児童へのプログラミング教育で、合計平均の集計や最大値最小値の検出や配列の並び替えや配列の順位付けや小計総合計の二重繰り返しなどを教えるのか、教えられるのか。せめてこれらの30行までのプログラムを作ることができないとプログラミングの要点は教えられないのではないか。

小学生児童へのプログラミング教育について、小学校でアルゴリズムを理解させるのか、ビッグデータの一括操作を体感させるのか、データベース構築やWebプログラミングの有効性を教えるのか。どの教科にアドオンするにしても、情報技術者としての視点がなければ指導案を作ることができない。

ダウンロード素材

ダウンロード素材

1 初歩のネットワークプログラミングの手引き
2 XML操作の手引き
3 「簿記の記帳へのXML技術の導入」論文のダウンロード
以下のlzh形式の実習教材ファイルもぜひ試してみてください。そして、使えるようならどしどしご活用下さい。
また、もし何かお気付きの点やご質問がありましたら、海星までメールをいただければ、できる限り対応いたします。

4 オブジェクト指向プログラミング入門キット

5 VBSによる初歩のプログラミング実習キット

6 COBOL言語による初歩のプログラミング実習キット

7 「オブジェクト指向プログラミング入門キット2」(Java版ウインドウクラスコード込み)

重複文字列確認 度数ソート応用

for($i=0;$i<256;$i++){
$pt[$i]=0;
}
$cnt=0;
$nm=””;
$s = trim(fgets(STDIN));
$r = explode(” “,$s);
$n1=$r[0];
$n2=$r[1];
$w1 = trim(fgets(STDIN));
$w2 = trim(fgets(STDIN));
for($i=0;$i<strlen($w1);$i++){
$at = substr($w1,$i,1);
$pt[ord($at)]++;
}
// for($i=0;$i<256;$i++){ // if($pt[$i]>0) echo chr($i);
// }
for($i=0;$i<strlen($w2);$i++){ $at = substr($w2,$i,1); if ($pt[ord($at)]>0) $pt[ord($at)]–;
// else $nm = $nm + $at;
else $cnt++;
}
echo $cnt;
// echo “$nm\n”;
// echo “strlen($nm)\n”;
?>

XMLの可能性

XMLの可能性

XML技術はデータベース技術のみならず、ダイナミックHTMLのようなWebページをタイミングよく自由に変形できる表現技術の面や、 RSSやAjaxの活用のようにネットワークの情報授受の際に双方向性を高める技術の面など、多面的な応用分野がある。
また、会計実務用のXML規格であるXBRL(eXtensible Business Reporting Language)が、以下のような経緯で導入されており、実用化の模範となっている。

 

 

XBRLの発達経緯

西 暦 で き ご と
 

1998

1999

2000

2001

2003

2004

2006

2008

 

 

米国のチャールズ・ホフマン氏がAICPA(米国公認会計士協会)に提案。

XFRML運営委員会 (後のXBRL International) 発足。

XFRMLからXBRLに改名。

XBRL-Japan 設立。

東京証券取引所が、XBRLで決算短信を受信・公開するシステム(TDnet)開始。

国税庁がXBRLの決算書の提出による電子納税申告(e-Tax)開始。

日本銀行が各民間金融機関とXBRLによる財務データの電子化の授受を開始。

金融庁がEDINET上でXBRL形式での財務諸表提出を義務付ける。
ジャスダックで企業情報のXBRLによる提供開始。

 

近々、XBRLのスキーマを解説する予定である。

 

The Self-Renewal of Marrow

The Self-Renewal of Marrow

 

I have an idea. It is about the self-renewal of marrow.

I learned about the cell division theory by the lesson of the living thing of a high school.

A vertebrate is turned over in early stages of cell division. Outside cells area becomes inside and inner cells area becomes outside. I think this phenomenon would be reproducing evolution. Therefore, the outside portion which went inside would hit a frame outside the crustacea. As the crustacea casts off the skin periodically, the marrow would cast off it, too.

If it would be true, the obstacle of the process of this self-renewal are the causes, such as myelocytic leukemia and a hematogenous disease. Or the limit of the number of times of this self-renewal can cause aging.

I can’t carry out any experiments to confirm this idea. If you are the expert of the life science, I want to know the truth or falsehood of this idea. If it would be truth, we can get some knowledge for health.

Thank you for reading my explanatory note. I apologize for my strange English. I wrote these sentences by Japanese-English translation software. I don’t usually use English. Then I will read your response by English-Japanese translation software. Especially there will be technical terms of life science in the E-mail. But I think it will be good trainings of my English. I’m waiting messages.

T.M.

fish01

オブジェクト指向プログラミングの指導について

オブジェクト指向プログラミングの指導について

始めに

オブジェクト指向プログラミング(OOP)について長年、私なりに勉強してきました。とても抽象的なので長いこと理解できなかったのですが、どうにか自作のプログラムでオブジェクトを操れるようになり、ある程度理解できるようになりました。
オブジェクト指向は、使うノウハウと作るノウハウが分かれば、基本は理解できたことになります。 このページにまとめた研究成果を学習の参考にしてみて下さい。
また、2016年に公開したJava版のウインドウクラスのコードも足した「オブジェクト指向プログラミング入門キット2」も新たに補充しておきます。

fanm-black扇風機モデル

まず、扇風機オブジェクトを考えました。扇風機とは何でしょうか。それは、扇風機の機能を持つ機械の総称です。この抽象的な扇風機を、抽象的オブジェクトとすれば、様々なメーカーで作り出された様々な種類の扇風機は、オブジェクト実体に当たります。このオブジェクト実体をインスタンスといいます。そして機種が異なろうとも、それぞれの扇風機の風量調節機能や首振り切換機能などの基本的機能は共通しています。この共通する機能をメソッドといいます。このことをプログラムのオブジェクト操作風に表現すると、

 

  • オブジェクトの操作例

  • 扇風機の操作例
  • プログラムにおけるオブジェクト操作の記述例
  • 扇風機とは、・・・である。
  • 涼風という扇風機を制作する。
  • 涼風の風量を3段階に上げる。
  • 涼風の首を振るように切り替える。
  • 涼風を廃棄する。
  • 宣言 扇風機 {変数 風量, 首振オンオフ;
    命令 風量変更(・・・);首振切替(・・・);}
  • 涼風 = new 扇風機
  • 涼風.風量変更 3
  • 涼風.首振切替 “ON”
  • 涼風.廃棄

といったように、扇風機という抽象的なものの風量を変えるのではなく、具体的な涼風と名付けた対象物の風量を変えたり、首振りを切り替えたりするメソッドを指示します。プログラムの中でも一般的な複数の操作をまとめて、抽象的オブジェクトを決めておき、その規格にあったオブジェクト実体を作り出したあとで、そのインスタンス(オブジェクト実体)を操作するのです。だから、更に他の対象の操作を付け加えたい場合には、別の扇風機オブジェクト 「パワーファン」などと名付けて実体化宣言し、この「パワーファン」に対していろいろと操作する手順をとることになります。
次のリンク先でサーバ上に設定してある扇風機オブジェクトの実際動作を体験できます。この動作は@NiftyのラクーカンサービスでPHPプログラムを働かす仕組みで実現しています。

・ オブジェクト指向プログラミング(OOP)サンプル1 扇風機モデルの操作

1 扇風機操作1(別ウインドウに表示します)

2 扇風機操作2(別ウインドウに表示します)

3 扇風機クラスのPHPコード表示(別ウインドウに表示します)

4 扇風機オブジェクト操作1のPHPコード表示(別ウインドウに表示します)

5 扇風機オブジェクト操作2のPHPコード表示(別ウインドウに表示します)

ウインドウモデル

具体的に、ウインドウズ上で簡単に試すことができるインタプリタ言語のVBScriptを活用して、さらにもう一つ、より情報処理らしいオブジェクトを設定し開発しました。それがウインドウオブジェクトモデルです。例えば、仕事やインターネット活用でディスプレイ画面上のいくつものウインドウ枠を表示させたり、最小化したりして、ウインドウを操っている訳ですが、その画面上の個々のウインドウがまさにオブジェクトなのです。これを自由に操れるメソッドを用意すれば、ウインドウを並べて思い通りに操作する実習ができるのです。
ウインドウオブジェクトモデルを開発するために様々な技術を習得する必要がありましたが、なんとか構想したとおり動作させられるようになりました。

ア オブジェクトの定義

まず取り扱いたい働きをまとめる。

 

(ア) ウインドウ枠を生み出す。

(イ) ウインドウの大きさを変える。

(ウ) ウインドウを移動させる。

(エ) ウインドウの色を変える。

(オ) ウインドウに文字を表示させる。

(カ) ウインドウに長方形を表示させる。

(この機能は継承の実習で取り入れる)

(キ) ウインドウ上の長方形の変形・色指定・位置指定を行う。

(ク) ウインドウの現在の状況を確認する。

 

イ オブジェクトの部品の決定

上記の定義を実現するための要素、つまり部品を並べます。

(ア) ウインドウオブジェクトの状態を記録する変数(プロパティ)を決めます。

  • ウインドウ名(namae) 入力表示文(hyoujibun) 入力背景色(iro)
  • ウインドウ上隅座標(objIE.Top) ウインドウ左隅座標(objIE.Left)
  • ウインドウ幅(objIE.Width) ウインドウ高さ(objIE.Height)
  • ウインドウ内の文字表示枠1(objIE.Document.getElementById(“div-id-1”).InnerText)
  • ウインドウ背景色(objIE.Document.bgColor)

(イ) ウインドウオブジェクトの操作方法(メソッド)をプログラミングします。

  • a.ウインドウクラスの名称指定 → set_namae()
  • b.ウインドウクラスの名称獲得 → get_namae()
  • c.ウインドウ内文字埋め込み  → moji_hyouji()
  • d.ウインドウ位置指定     → idou()
  • e.ウインドウのサイズ変更   → henkei()
  • f.ウインドウの背景色指定   → ironuri()
  • g.ウインドウ情報表示     → jyouhou_hyouji()
  • h.ウインドウを閉じる     → tojiru()

ウ できあがったオブジェクトの操作

(ア) オブジェクトを実体化(インスタンス化)します。

―ウインドウを開き名前を与える ―

例 Set w1 = new window_class(ウインドウ w1を実体化)

(イ) 実体化したオブジェクト(インスタンス)を操作します。

例 w1.henkei 400,150 (w1の大きさを横400ピクセル × 縦150ピクセルに変形する)

(ウ) 実体化したオブジェクト(インスタンス)を解放します。

例  Set w1 = Nothing(w1をクリアにする)

VBScript言語のオブジェクト指向プログラミング用の命令説明

オブジェクト指向プログラミング用のVBScript命令

 

VBScriptの命令文

説  明

Class クラス名~End Class オブジェクトの設定(プロパティとメソッド)を並べる範囲。
Private プロパティ名1, プロパティ名2, ・・・ クラス内でプロパティ名を明示する。
Public Sub メソッド名(引数1, 引数2, ・・・)

End Sub
クラス内でメソッド(命令)の動きをプログラミングする。
Set インスタンス名 =new クラス名 あるクラスをインスタンス名と名付けて実体化(インスタンス化)する。原則的にいくつも実体化できる。この実体化のタイミングで自動的に Class_Initialize メソッドが働く。
インスタンス名.メソッド名( 引数1, 引数2, ・・・ ) インスタンスが持つメソッドを働かせる。関数のように後ろに値を用意することもある。 例.SUZUKAZE.change_tsuyosa3
Set インスタンス名 =Nothing インスタンスを廃棄する。不要なインスタンスはクリアしてしまわなければ、メモリーが足りなくなっていく(メモリーリーク現象)。この廃棄のタイミングで自動的に Class_Terminate メソッドが働く。
privateプロパティ名 または メソッド名 プロパティやメソッドをクラスの範囲内でしか指定できないように秘密扱いに設定する。
publicプロパティ名 または メソッド名 プロパティやメソッドをクラスの範囲外でも指定できるように(公開するように)設定する。
Sub Class_Initialize

End Sub
インスタンスを実体化するときに自動的に動くメソッド(コンストラクタ)。インスタンスの初期設定のためなどに使う。
Sub Class_Terminate

End Sub
インスタンスを廃棄するときに自動的に動くメソッド(デストラクタ)。オブジェクト操作終了の合図のためなどに使う。

 

 

各種言語のオブジェクト指向プログラミング用の命令比較表1

操作

PHP言語

Ruby

JAVA

クラス宣言
(オブジェクト定義)

Class クラス名{
(インスタンス宣言)
:
Function 操作名{ }
}

Class クラス名
def 操作名
:
end
end

Class クラス名{
(インスタンス宣言)
:
Function 操作名
{ }
}

オブジェクトの実体化
(インスタンス化)

$インスタンス名
=new クラス名( );

$インスタンス名
=クラス名.new( )

クラス宣言
インスタンス名
= new クラス名( );

実体化オブジェクト
(インスタンス)の
操作(メソッド)活用

$インスタンス名

->操作名( )

インスタンス名
->操作名( )
インスタンス名
.操作名( );

クラスの継承

Class クラス2
extends クラス名1{
:
}

Class クラス2 extends クラス名1{
:
}

Class クラス2 extends クラス名1{
:
}

実体化オブジェクト
の 廃 棄

自動的に消滅。(ガベージコレクション機能)
ただし、消滅時にしたいことを __destruct()メソッドに用意できる。

自動的に消滅。(ガベージコレクション機能)

インスタンス名
.destroy();
自動的に消滅。(ガベージコレクション機能)

各種言語のオブジェクト指向プログラミング用の命令比較表2

操作

C++

Perl

VBScript

クラス宣言
(オブジェクト定義)

Class クラス名{
(インスタンス宣言)
:
操作名{ };
};

package クラス名;
sub 操作名( )
{
:
}

Class クラス名
(実体化時動作
Class_Initialize)
Sub 操作名
:
End Sub
(解放時動作
Class_Terminate)
End Class

オブジェクトの実体化
(インスタンス化)

クラス名
インスタンス名;
インスタンス名
.create( );

$インスタンス名
=クラス名->new( );

Set インスタンス名
= new クラス名

実体化オブジェクト
(インスタンス)の
操作(メソッド)活用

インスタンス名
.操作名( );

$インスタンス名
->操作名( )

インスタンス名
.操作名( )

クラスの継承

Class クラス2
: クラス名1{
:
};

use Export::
クラス名->操作名( );

なし

実体化オブジェクト
の 廃 棄

インスタンス名
.destroy();

自動的に消滅。(ガベージコレクション機能)
ただし、消滅時にしたいことを DESTROYメソッドに用意できる。

Set インスタンス名
= Nothing

オブジェクト指向プログラミング基本用語表

用 語

説  明

オブジェクト

プログラムで変数(プロパティ)と命令(メソッド)をまとめた処理単位。

ク ラ ス

オブジェクトの設定を記述したもの。抽象的オブジェクトともいう。

プロパティ

オブジェクトに内蔵した変数。

メソッド

オブジェクトに設定した自作の命令。

インスタンス

名前をつけてクラスを実体化したもの。複数作ることができる。

オブジェクト
の廃棄

インスタンスを作れば作るほどメモリーを多く占有してしまうので、使い終えたインスタンスのメモリーは他で使えるようにクリアしなければならない。

カプセル化

インスタンス内のプロパティ(変数)は、自作の代入メソッドや取り出しメソッドを作らなければ使えないということ。これは欠点ではなく、変数の重複によるエラーを防ぐための、開発に便利な利点である。

継  承

クラスを改造するときに、先にできているクラスの設定を再利用する仕組み。例.扇風機クラスに、加湿機能メソッドを追加する。

多 態 性

メソッドの使い方を何通りか設定できるようにすること。
例.スイッチメソッドで、扇風機1.スイッチ( “ON” ) と命令すれば、スイッチが入り、扇風機1.スイッチ()と()内を空欄で命令すれば、元のスイッチの状態を切り替えるようにする。

カプセル化 - 継承 - 多態性 の発想法の展開

モデル各種

計算機、テレビ、携帯電話、日時、ファイル操作、など)

ダウンロード素材

1 オブジェクト指向プログラミング入門キット

2 オブジェクト指向プログラミング入門キット2

プログラミング言語の対比論

プログラミング言語の対比論

(1) COBOL言語

事務処理向け言語として、文字型か数字型か明確なデータの形式でデータ部を示す特徴がある。他言語と比較して、表現力は劣るが、データベース操作の考え方の入門用には、適している。
また、各言語と比べてみると、計算用の数値と印刷用の数字との文字の型変換の操作が単純である。COBOLならMOVE命令1行ですむことが、CやJavaなどでは、文字列を1文字ずつ操作する必要があるので、文字数分の繰り返し処理を3行以上かけて記述しなければならない。

(2) BASIC言語

BASIC言語は、家庭用パソコンの普及とともに、全世界に普及したプログラミング言語である。変数の宣言を省略でき、インタープリタ言語なので、プログラミングの入門用に適している。  インタープリタ言語は、デバッグの時間が節約できるので、開発が効率的である。しかし、構造化されていないため、ファイル更新処理などの複雑な分岐が、GOTO文の多用になり、見通しの悪いコーディングになってしまうことがある。
ウインドウズでは、マウス操作向きの見栄えのよいプログラムを、起動ボタンや表示枠などの部品を選んで簡単に開発できるVisual Basicが普及してきている。

(3) C言語

コンピュータの仕組みを効率的に活用できるアセンブラ言語に近いプログラムから、画像処理やファイル処理用の専用関数を利用しての複雑なプログラムまで、利用範囲の広い言語である。企業では、C言語による開発が主流になっている。UNIXのOSが、C言語で記述されているように、コンピュータネットワークの操作にもよく活用されている。他の言語のプログラムと並べてみると、厳密に構造化されていることが分かる。しかし、入力レコード1行分の文字を数個の項目に分けて、数値化するだけでも特別な処理のパターンが必要である。

(4) Java言語

Java言語の特徴は、C言語に似ているところと、オブジェクト指向言語という新しいプログラム形式を採用していることである。  オブジェクト指向とは、サブルーチンを作るときに変数の役割やサブルーチン名を詳しく決めて使いこなす方法である。  例えば、将棋のオブジェクト指向プログラムがあるとすると、自分の駒の操作処理と、相手の駒の操作処理とを同一のサブルーチンに割り当てて、同時に進めていっても、それぞれの処理をなめらかに進めることができる。これを、これまでの逐次記述方式のプログラミング言語で記述すれば、駒の操作処理用によく似た形の2種類のサブルーチンを設定して活用することになる。オブジェクト指向プログラミング言語は、必要なサブルーチンを何通りにも、同時に使えるようにできるプログラミング言語である。

各種プログラミン言語の代表的命令の比較

代表的なプログラミング言語の代表的な命令を以下の表に抜き出してみた。これを比較すれば、それぞれの言語の興味深い特徴が理解できるであろう。
一部の命令であるが、この表にように、並べて比較してみると、その言語の重視している条件や、向き不向きなどの特徴を読み取ることができる。  本質的には、基本的な命令は、それぞれの命令の形式で表現が可能である。一つのプログラミング言語を使いこなすことができれば、その命令の使い方を、他の言語の命令の使い方と比較・対応させながら、短期間で新しい言語の習得ができる。

各種プログラミング言語の代表的命令の比較表1

動作

C言語

Java言語

COBOL言語

整数変数
宣 言

int Kazu; int Kazu; 01 KAZU PIC 9(4).

配列宣言
と呼び出し

int Suu[5];
Kazu=Suu[0];

int[] Suu
= new int[5];
Kazu=Suu[0];

01 SUU PIC 9(2)
OCCURS 5 TIMES.
MOVE SUU(1) TO KAZU.

入力ファイル
を 開 く

MeiboF=fopen
(“C:MEIBO.DAT”,”r”);
InputStream MeiboF
= new FileInputStream
(“C:MEIBO.DAT”);
SELECT MEIBO-F ASSIGN
TO “C:MEIBO.DAT”
OPEN INPUT MEIBO-F

変数に1を足す

Kazu++; KAZU++; ADD 1 TO KAZU

文字と変数を
画面表示する

printf(“答= %d\n”
,Kazu);
System.out.println
(“KOTAE= “+Kazu);
DISPLAY
“答= ” KAZU

IF文

if(Kazu==50)
{ ~; }
else{ ~; }
if(Kazu==50)
{ ~; }
else{ ~; }
IF KAZU=50
THEN ~
ELSE ~
END-IF

条件付き
繰り返し

while
(Kazu<=100){

}
while(Kazu<=100){

}
PERFORM
UNTIL KAZU>100

END-PERFORM

各種プログラミング言語の代表的命令の比較表2

動作

VBScript言語

PHP言語

整数変数
宣 言

Dim KAZU ($から始まる文字列を使い宣言不要) 例 $Kazu

配列宣言
と呼び出し

Dim SUU(4)
KAZU=SUU(0)
$Suu=array(0,0,0,0,0);
$Kazu=$Suu[0];

入力ファイル
を 開 く

Set FileObj=CreateObject(“Scripting.FileSystemObject”)
Set MeiboObj= FileObj.OpenTextFile(“C:MEIBO.DAT”)
$MeiboF=fopen
(“C:MEIBO.DAT”,”r”);

変数に1を足す

KAZU=KAZU+1 $Kazu++;

文字と変数を
画面表示する

MsgBox(“答= “&KAZU) print(“答= “.$KAZU);

IF文

If KAZU=50 Then ~
Else ~
End If
if($Kazu==50)
{ ~; }
else{ ~; }

条件付き
繰り返し

Do While KAZU<=100
:
Loop
while
($Kazu<=100){

}

各種プログラミング言語の代表的命令の比較表3

動作

Ruby

ドリトル

なでしこ

整数変数
宣 言

(英字から始まる文字列を使い宣言不要) 例 kazu 数!作る。 変数数とは、整数。

配列(番号付きデータ)を扱う

suu=[0,0,0,0,0]
kazu=suu[0]
数値=配列!作る (0)入れる(0)入れる
(0)入れる(0)入れる (0)入れる。
数=数値!1。
数=「0,0,0,0,0」

入力ファイル
を 開 く

meibof=File.open
(“C:MEIBO.DAT”)
名簿ファイル!作る
「{C:}MEIBO.DAT」を開く。
名簿ファイルに
「C:MEIBO.DAT」を開く。

変数に1を足す

kazu+=1 数!1足す。 数に1を足して、数に代入。

文字と変数を
画面表示する

print “答= “+kazu 表示枠=フィールド!作る(“答=”+数!N)書く。 「答=」と数を、表示。

IF文

if kazu==50 then

else

end
「数 == 0」!なら
「 ~ 」
そうでなければ
「 ~ 」実行。
もし、数と50が等しいならば、
~。
違えば
~。

条件付き
繰り返し

while Kazu<=100 do

end
「数<=100」!の間
「 ~ 」実行。
(数が100以下)の間
: