回文作成支援プログラム

Similar documents
回文作成支援プログラム

回文作成支援プログラム

万年暦プログラム

相性占いプログラム

回文作成支援プログラム

回文作成支援プログラム

ルーレットプログラム

sinfI2005_VBA.doc

通信対戦プログラム

相性占いプログラム

ブロック パニック

3D回転体プログラム

万年暦プログラム

わにわにパニックプログラム

回文作成支援プログラム

Microsoft Word - VBA基礎(3).docx

通信対戦プログラム

正規表現応用

ExcelVBA

Java講座

MS-ExcelVBA 基礎 (Visual Basic for Application)

Taro-Basicの基礎・条件分岐(公

画像閲覧プログラム

3D回転体プログラム

PowerPoint プレゼンテーション

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

PowerPoint プレゼンテーション

データベース1

構造体

プレポスト【問題】

PowerPoint プレゼンテーション

ファイル操作

ブロック崩し風テニス

データベース1

グラフィックス

VB.NET解説

モグラ叩きプログラム

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

プログラミング実習I

プロセス間通信

Userコントロール

テキストファイルの入出力1

占領双六ゲーム

JavaプログラミングⅠ

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 "

インベーダープログラム

ファイル操作-インターネットキャッシュ

プログラミング基礎

画像閲覧プログラム

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

Microsoft Word - VBA基礎(2).docx

草競馬プログラム

Microsoft Word _VBAProg1.docx

神経衰弱ゲーム

JavaプログラミングⅠ

プレポスト【解説】

データアダプタ概要

VB実用⑦ エクセル操作Ⅰ

Prog1_3rd

ICONファイルフォーマット

JavaScriptプログラミング入門 2.JavaScriptの概要

Microsoft PowerPoint - vp演習課題

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

計算機プログラミング

プログラミング入門1

方程式の解法

Microsoft Word - VB.doc

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

C#の基本

Prog2_12th

エクセルによる数値計算と化学への応用

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

Microsoft PowerPoint - ruby_instruction.ppt

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

VB実用Ⅲ⑩ フリーデータベースⅡ

ex04_2012.ppt

スライド 1

改訂履歴

Scilab 勉強会 ( 第 3 回 ) 高橋一馬, 十文字俊裕, 柏倉守 平成 17 年 11 月 15 日 関数 ファイルはエディタを用いて作成する.Scilab にはエディタ SciPad が附属している.SciPad では なく他のエディタを利用してもよい. 作成した関数は Scilab に

PowerPoint プレゼンテーション

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知

データベース1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

PowerPoint プレゼンテーション

Prog2_15th

Microsoft Word -

連立方程式の解法

DAOの利用

untitled

kantan_C_1_iro3.indd

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

関数とは 関数とは 結果を得るために 処理を行う仕組み です Excel2010 には あらかじめ関数が数式として組み込まれています たとえば SUM 関数 は 指定した値をすべて合計する 仕組みです 長い計算式や複雑な計算式を作成せずに 簡単に結果を求めることができます 例合計 =A1+A2+A3

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft PowerPoint ppt

1. 入力画面

Microsoft PowerPoint - Visualプログラミング

NotifyIconコントロール

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

Transcription:

回文作成支援プログラム VB1 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) 標準コントロールの利用 (Text Label Command Image) プロパティの値の取得と設定 (Text ) イベントの利用 (Click Change) メソッドの利用 (SetFocus) ステートメントの利用 (Unload End) 組込関数の利用 (Len Left Mid Right Str Trim StrConv) 演算子 ( 代入演算子 比較演算子 結合演算子 ) 制御構造構文 ( 条件分岐 ループ処理 ) 今回の重点項目 変数の適用範囲 ( スコープ : サブプロシージャレベル ) If 文に依る条件分岐 (If ~ Then Else End If) For 文に依るループ処理 (For counter=start To end: :Next counter) 文字列操作 ( 文字列操作関数 ) 今回の応用項目 文字列の任意部分を入れ替えたりする等のを追加する 常にキャレットが入力文字列の末尾に在り 入力が行い易い様にする 文字列を右回転させたり 左回転させたり 反転させたり出来る様にする -1-

オブジェクト プロパティ一覧 イメージ 1 イメージ 2 ラベル 1 ラベル 2 コマンドボタン 1 ラベル 3 テキスト コマンドボタン 2 ラベル 4 ラベル 5 ラベル 6 ラベル 8 ラベル 7 ラベル 9 コントロールの種類 プロパティ プロパティの設定値 フォーム オブジェクト名 Form1 回文作成 ラベル1 オブジェクト名 lbltitle 回文作成支援プログラム ラベル2 オブジェクト名 lblmessage 原文の欄に仮名文を入力して下さい ラベル3 オブジェクト名 lblitem1 原文 ラベル4 オブジェクト名 lblitem2 回文 ラベル5 オブジェクト名 lbldest 空白 Font MSゴシック 標準 16 BorderStyle 1 実線 Appearance 0 フラット ラベル6 オブジェクト名 lblitem3 原文の字数 ラベル7 オブジェクト名 lblitem4 回文の字数 -2-

コントロールの種類 プロパティ プロパティの設定値 ラベル8 オブジェクト名 lbllensrc 0 Font MSゴシック 標準 16 BorderStyle 1 実線 Appearance 0 フラット Alignment 1 右揃え ラベル9 オブジェクト名 lbllendest 0 Font MSゴシック 標準 16 BorderStyle 1 実線 Appearance 0 フラット Alignment 1 右揃え テキスト オブジェクト名 txtsrc Text 空白 Font MSゴシック 標準 16 IMEMode 4 全角ひらがな コマンドボタン1 オブジェクト名 cmdclear Font 消去 (MSゴシック 太字 12) コマンドボタン2 オブジェクト名 cmdfinish Font 終了 (MSゴシック 太字 12) イメージ オブジェクト名 imglogo1 Picture logo1.gif イメージ オブジェクト名 imglogo2 Picture logo2.gif ラベルテキストを表示するコントロール 此のテキストは ユーザーが直接入力したり変更したりする事は出来ない テキストボックステキストの入力や表示を行うコントロール 此のテキストは ユーザーが直接入力したり変更したりする事が出来る コマンドボタンユーザーが選択したコマンド ( 命令 ) や操作を実行するコントロール OK ボタンや実行ボタン等 処理の開始や中断 終了の合図に用いられ 最も良く利用されるコントロールです イメージビットマップ アイコン メタファイル JPEG ファイル GIF ファイル等の画像を表示するコントロール 描画メソッドを用いて描画する事は出来ない -3-

プログラムリスト Option Explicit ' コマンドボタン ( 消去 ) がクリックされた時の処理 Private Sub cmdclear_click() ' テキストボックスとラベルの表示を消去する txtsrc.text = "" lbldest. = "" ' テキストボックスにフォーカスを移す txtsrc.setfocus End Sub ' コマンドボタン ( 終了 ) がクリックされた時の処理 Private Sub cmdfinish_click() ' プログラムをメモリから消去し終了する Unload Me End End Sub 此の場合のイコール (=) 記号は 代入演算子で有り 右辺の値を左辺に代入する働きをする ダブルコーテーションの間に何も記述せず 2 個連続して記述すると 長さ 0 の文字列 ( ヌルストリング ) を意味し 文字列の消去等に利用する アプリケーションを終了する場合 正しくプログラムをメモリから消去して終了する事が望ましい Private Sub txtsrc_change() ' サブプロシージャレベルでローカルな変数を宣言する Dim S As String Dim D As String Dim T As String Dim I As Integer ' データを代入する S = txtsrc.text D = S ' 回文を作成する If Len(S) > 0 Then T = Left$(S, Len(S) - 1) For I = Len(T) To 1 Step -1 D = D & Mid$(T, I, 1) Next I End If ' データを表示する lbldest. = D lbllensrc. = StrConv(Trim$(Str$(Len(S))), vbwide) lbllendest. = StrConv(Trim$(Str$(Len(D))), vbwide) End Sub 此処で宣言した変数は宣言したサブプロシージャ内でしか値の参照と設定を行う事が出来ない 条件判定に 比較演算子を使用して居る A > B : AはBより大きい テキストボックスの Text プロパティに文字列を代入する事に依り テキストボックスの表示文字列を変更する 此処では 数値を文字列に変換して 余分な空白を取り除き 最後に全角文字に変換して居る -4-

変数 (variable) とは 定義 変数とは プログラムの実行中に変更出来る特定の型のデータを入れる名前付きの場所を謂う 通常 適切な名前を付けて宣言し 数値 文字列 其他のデータを代入 ( 格納 ) したり演算に使用する コンピュータのメモリ ( 記憶装置 ) は 夫々の場所を示すアドレス ( 番地 ) が割り当てられて居る アドレスは 実装されたメモリ空間の特定の場所を指し示す数値で有り メモリに記憶 ( 保存 ) されたデータは 其のアドレスに依り参照される 併し BASIC 等の高級言語では データの記憶場所と変数名が自動的に関連付けられる為 データが記憶されたアドレスを覚えて置く必要は無く データを 其の内容を連想し易い名前で参照する事が出来る 変数とは データを入れて置く為の箱の様な物で 其の箱を区別する為に 内容が解り易い名前 ( 変数名 ) を付けて居ると考えると良い 代入文 左辺の変数やオブジェクトのプロパティに 右辺の式の値を代入する 下記の様な式を代入文と呼ぶ 此処で使用して居る =( イコール ) は 数学の等号の様に左辺と右辺が等しいと謂う意味では無く 右辺の計算式の値を左辺の変数等に代入すると謂う意味で有る X=10 左辺の値 (10) を代入 X = 10 A=X+Y 左辺の値 (10+20) を代入 10 20 A = X + Y 此の代入文の右辺には数値 変数 式を記述する事が出来るが 右辺には 1 個の変数 又はオブジェクトのプロパティしか記述する事が出来ない 例えば X+Y=A と謂う様な記述は出来ない -5-

If 文に依る条件分岐 論理式の条件判断を行うステートメント 単一行形式 1 If 論理式 Then 論理式が真の場合の処理 単一行形式 2 If 論理式 Then 論理式が真の場合の処理 Else 論理式が偽の場合の処理 ブロック形式 1 If 論理式 Then 論理式が真の場合の処理 End If ブロック形式 2 If 論理式 Then 論理式が真の場合の処理 Else 偽 (False) 論理式が偽の場合の処理 論理式真 (True) End If ブロック形式 3 If 論理式 1 Then 論理式 1が真の場合の処理 ElseIf 論理式 2 Then 論理式 2が真の場合の処理 Else 論理式 1と論理式 2が偽の場合の処理 End If 偽の場合の処理 真の場合の処理 論理式の条件に依りプログラムの実行を制御する 即ち 論理式が真 (0 以外 ) ならば Then 以下の処理が実行され 偽 (0) ならば Else 以下の処理が実行される 但し Else 節が無い場合には End If の次のコードが実行される 通常 論理式 ( 条件式 ) には比較式を指定するが 数値として評価出来る式で有ればどんな式でも指定する事が出来る 論理式の値は 真 (True) と偽 (False) の孰れかとして評価され 数値の 0 は偽に 0 以外の数値は真に評価される 単一行形式は 短く簡単な条件判断を行う時に使用する 亦 ブロック形式は 単一行形式の構文に比べ より構造化された柔軟な記述が出来 コードの読み易さや保守性が向上し デバッグも行い易く成る ブロック形式かどうかを判断する場合 Then の後に何が続くかが調べらる Then と同じ行の後ろの部分にコメント以外の記述が有ると 単一行形式として扱われる Else 節と ElseIf 節はどちらも必要に応じて定義する 亦 ブロック形式では ElseIf 節は幾つ指定しても構わない 但し Else 節の後ろには ElseIf 節を指定する事は出来ない 亦 1 つの条件式の値に依り 複数の処理の孰れかを実行させるには Select Case ステートメントの方が適して居る -6-

For 文に依るループ処理 指定した回数だけ一連の処理を行うステートメント For カウンター変数 = 初期値 To 終了値 Step 増分一連の処理 Next カウンター変数 For Next ステートメントは For ステートメントから Next ステートメントの間に記述された一連の処理を 指定した回数だけ繰り返し ( ループ ) 実行する Step 節は省略する事が出来 此の場合 増分はプラス 1 と看做される 亦 増分は 負の値を指定する事も出来る For Next ステートメントのループは 下記の順序で実行される 1. カウンター変数に初期値が設定される 2. カウンター変数と終了値の値を比較し カウンター変数の値が終了値より大きい場合は ループ内の処理は実行されずに ループが終了する ( 増分が負の値の場合は カウンター変数が終了値より小さいかどうかが判断される ) 3. ループ内の処理を実行する 4. カウンター変数に増分を加算する (Step 節を省略した場合は 1 が加算される ) 5. ステップ 2 から 4 を繰り返す Exit For ステートメントを使用すると ループから強制的に抜け出す事が出来る ループ回数が事前に解からない場合には Do Loop ステートメントを使用する Len 関数に依る文字数の取得 文字列の長さを返す関数 Len( 引数 ) 指定した文字列の文字数を返す 引数には 文字列 又は 文字列を格納した変数を指定し 必ず指定する Left 関数に依る文字列の取得 文字列の左端から指定した文字数分の文字列を返す関数 Left( 引数 1, 引数 2) 引数 1 で指定した文字列の左端から引数 2 で指定した文字数を取り出した文字列を返す 引数 1 には 文字列 又は 文字列を格納した変数を指定し 必ず指定する 引数 2 には 取り出す文字列の文字数を指定し 必ず指定する -7-

Right 関数に依る文字列の取得 文字列の右端から指定した文字数分の文字列を返す関数 Right( 引数 1, 引数 2) 引数 1 で指定した文字列の右端から引数 2 で指定した文字数を取り出した文字列を返す 引数 1 には 文字列 又は 文字列を格納した変数を指定し 必ず指定する 引数 2 には 取り出す文字列の文字数を指定し 必ず指定する Mid 関数に依る文字列の取得 文字列から指定した文字数分の文字列を返す関数 Mid( 引数 1, 引数 2, 引数 3) 引数 1 で指定した文字列の引数 2 で指定した位置から引数 3 で指定した文字数を取り出した文字列を返す 引数 1 には 文字列 又は 文字列を格納した変数を指定し 必ず指定する 引数 2 には 文字列を取り出す位置を先頭を 1 とした位置で指定し 必ず指定する 引数 3 には 取り出す文字列の文字数を指定し 省略する事が出来る ( 省略時は文字列の最後迄 ) Str 関数に依る数値の文字列化 数式の値を文字列で表した値で返す関数 Str( 引数 ) 引数で指定した数値を文字列に変換する 引数には 数値 又は 数値を格納した変数を指定し 必ず指定する Str 関数で数値を文字列に変換した場合 先頭に符号を表示するためのスペースが常に確保される 数値が負の場合はマイナス記号 (-) が 正の場合はスペースが付加される Trim 関数に依る余分な空白の削除 文字列の先頭と末尾のスペースを削除した文字列返す関数 Trim( 引数 ) 引数で指定した文字列の先頭と末尾の空白文字 ( 半角と全角 ) を削除する 引数には 文字列 又は 文字列を格納した変数を指定し 必ず指定する -8-

Unload ステートメントに依るプログラムの消去 オブジェクトをメモリからアンロードするステートメント Unload Object フォーム 又は オブジェクトをメモリから消去する プログラムを終了する場合や 使用中のメモリを他の用途に使う場合や プロパティを元の値にリセットする場合等に使用される フォームをメモリからアンロードする時には 表示されて居る構成要素だけがアンロードされ 其のフォームモジュールのコードはメモリに保持されるが 総てのフォームがアンロードされ 実行するコードが無く成れば 其の時点で イベントドリブンのアプリケーションは終了する End ステートメントに依るプログラムの終了 プログラムの実行を終了させるステートメント End 実行中のアプリケーションを直ちに終了させる End ステートメントより後のコードは実行されず 亦 End ステートメントを実行した後はイベントも発生しない プログラムの通常の終了の場合には 総てのフォームをアンロードする必要が有るが End ステートメントは プログラムを強制的に停止させる手段を提供して居る 算術演算子 比較演算子 論理演算子 1.^ 冪乗 1.= 等しい 1.Not 否定 2.- 負数 2.<> 等しくない 2.And 論理積 3.* / 乗算と除算 3.< より小さい 3.Or 論理和 4. 整数除算 4.> より大きい 4.Xor 排他的論理和 5.Mod 剰余 5.<= 以下 5.Eqv 同値 6.+ - 加算と減算 6.>= 以上 6.Imp 包合 算術演算子と論理演算子では 複数の演算子が使用されて居る場合には 頭に付けた番号の順序で演算が行われる ( 上に書かれて居る演算子程優先順位が高い ) -9-