情報実習I (第15回) 木曜4・5限 担当:北川 晃.

Slides:



Advertisements
Similar presentations
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Advertisements

情報基礎実習 I (第3回) 木曜4・5限 担当:北川 晃. プログラミング演習 2 つの数を入力し,「計算」ボタンをクリック すると,それぞれの計算結果を次のように 表示するプログラムを作れ.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
ファーストイヤー・セミナーⅡ 第13回 2次元グラフィックス(1). 2次元グラフィックス Ultra-C では、これまで利用してきた「標準入出力」 以外に「グラフィックス画面」があり、図形などを 表示できる C 言語のグラフィックスには細かな規定がなく、こ れから学ぶ内容が他の環境、システムでは利用でき.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
初年次セミナー 第13回 2次元グラフィックス(1).
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
初年次セミナー 第14回 2次元グラフィックス(2).
GridLayout オブジェクト(省略)
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」メニュー →「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」タブ ⇒「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
校内研修用提示資料 パワーポイントの基本操作.
Ⅰ.電卓キーの基本的機能 00 0 1 2 3 6 ⑤ 4 9 8 7 M- MR MC + × % M+ - = ÷ C √ +/- GT
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
情報基礎実習I (第2回) 木曜4・5限 担当:北川 晃.
PowerPoint の基本操作 情報機器の操作(e) 2016.
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
文字書式設定(1) 方法1: ①文字書式を設定したい文字列を選択する。 ②「書式」メニュー → 「フォント」とクリックする。
12.3,E,-15, 12.3,E5,+,=, >,<,…,
数値計算及び実習 第3回 プログラミングの基礎(1).
VBA H106077 寺沢友宏.
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
第四回 VB講座 画像とタイマー.
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
Body Mass Index 判定プログラムを作る。
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
プロセッシング入門1 初歩のプログラミング.
プログラミング演習3 第2回 GUIの復習.
「ユーザー設定リスト」の作成と削除 ◎ 新しい「リスト」の作成法
基礎プログラミング演習 第10回.
グラフィックス、その1 色の表示 フォントを変えて文字を表示 直線、四角形、楕円形の描画 円弧の描画 多角形の描画
Java入門 13.5カラーの使用 13.6テキストの表示                  2003/12/12                   紺野憲一.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
プログラミング演習3 第3回 ミニプロジェクト.
フォームのデザイン Labelコントロール変更点 (name): labelDate Font Size: 18pt
第二回 VB講座 電卓を作ろう.
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
第9回 卒業研究1
TCanvas BCB:TCanvasクラスでグラフィックを扱う。 TFormなどもプロパティとして持っている。
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
エクセル(6)の目次 「ユーザー設定リスト」の作成と削除 「入力規則」での「リスト」 ユーザー定義による表示形式
プログラミング演習3 第2回 GUIの復習.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
PowerPoint の基本操作 情報機器の操作(e).
諸連絡 USBメモリの販売について 日時:6月23日(月)授業開始前 商品:プリンストン社製32MBのUSBメモリ
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
Information Engineering Exercise II
プログラミング基礎B 文字列の扱い.
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
ここに 表題や引用文が入る 背景への図の使用とキャプションへのテクスチャの適用 (中級)
エクセル(2)の目次 セル範囲の指定方法 データの消去法 アクティブセルの移動 セル内容の複写と移動 セル幅の変更方法
プログラミングⅠ 平成30年10月22日 森田 彦.
SystemKOMACO Jw_cad 基本操作(3) Ver.1
情報実習I (第2回) 木曜4・5限 担当:北川 晃.
Smart Graphic Layout トピック ステートメント 赤色の背景に画像を含む SmartArt グラフィック (中級)
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
スライドの終わりまでテキストが繰り返しスクロールされます • スライドの終わりまでテキストが繰り返しスクロールされます •
サンプル見出し テキスト 1 行目 テキスト 2 行目 テキスト 3 行目 (中級) 図の背後でタイトルを移動させるアニメーション効果
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
3.テキストボックスによる データ入力 データ入力と表示のプログラム.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
PowerPoint の基本操作 情報機器の操作 (e).
PowerPoint の基本操作 情報機器の操作(e).
Presentation transcript:

情報実習I (第15回) 木曜4・5限 担当:北川 晃

Visual Basicにおけるグラフィックス機能の処理 WindowsサブシステムであるGDI (Graphics Design Interface)により処理される フォーム上に適当な大きさのPictureBoxを配置 プログラム(プロシージャ)内でグラフィックスオブジェクトを宣言 (グラフィックスモジュールの読み込み) グラフィックスメソッド(直線,四角,楕円など)の図形を描画 図形の描画に用いられる単位はピクセル (ディスプレイの最小画素) 座標は左上を原点とし,右横方向に𝑥座標, 下縦方向に𝑦座標をとる.

グラフィックスオブジェクトの作成 グラフィックスオブジェクトの宣言 =グラフィックスグラフィックスモジュールの読み込み 宣言した文字で,グラフィックス命令の先行詞とする フォームに直接グラフィックスを描画する場合: フォーム全体をグラフィックスオブジェクトとして定義する Dim g As Graphics = CreateGraphics() 座標の原点(0,0) ピクチャーボックスにグラフィックスを描画する場合: PictureBoxをグラフィックスオブジェクトとして定義する Dim g As Graphics = PictureBox1.CreateGraphics() 通常はピクチャーボックスを使うとよい 座標の原点(0,0)

グラフィックスメソッドの挿入 赤色で,原点から(100,200)の座標まで直線を引くには… g.DrawLine( Pens.Red, 0, 0, 100, 200 ) 青色で,左上の頂点が原点,幅200,高さ100の長方形を塗りつぶすには… g.FillRectangle( Brushes.Blue, 0, 0, 200, 100 ) グラフィックスオブジェクトをあらかじめ定義しておかないと… PictureBox1.CreateGraphics().DrawLine( Pens.Red, 0, 0, 100, 200 ) (毎回グラフィックスオブジェクトを指定しなければならない) イベントが発生したとき(例えばボタンを押したとき)に, グラフィックスが描画されるようにプログラムする

主なグラフィックスメソッド 画面のクリア Clear( Color.色) 直線の描画 DrawLine( Pens.色, x1, y1, x2, y2) 四角形の描画 DrawRectangle( Pens.色, x, y, w, h) 四角形の塗りつぶし FillRectangle( Brushes.色, x, y, w, h) 円,楕円の描画 DrawEllipse( Pens.色, x, y, w, h) 円,楕円の塗りつぶし FillEllipse( Brushes.色, x, y, w, h) 主な色 赤:Red 緑:Green 青:Blue マゼンタ:Magenta 黄:Yellow シアン:Cyan 黒:Black 白:White 灰:Gray 始点 終点 左上の点 幅,高さ

ペンとブラシ,文字列の描画 線を引くときはペン,塗りつぶすときはブラシを用いる.詳細に定義もできる. Dim ペン名 As New Pen( 色.Color, 線の幅 ) ペン名.DashStyle = Drawing2D.DashStyle.線種 例:赤,幅3ピクセルのペンを定義して,点線を引く場合 Dim gr As Graphics = CreateGraphics() Dim MyPen1 As New Pen( Red.Color, 3 ) MyPen1.DashStyle = Drawing2D.DashStyle.Dot gr.DrawLine( MyPen1, 50, 50, 300,50 ) 文字列を描画するためには,DrawStringを用いる. Dim gr As Graphics = CreateGraphics() Dim MyFont As New Font(“MSPゴシック”, _ 11, FontStyle.Regular) gr.DrawString(“描画される文字列”, MyFont, _ Brushes.Black, 145, 60)

グラフィックスの基本要素 Windowsフォーム上に,グラフィックスの様々な基本要素を 描画するプログラムを作れ. Button1,2 フォーム上に直接画像を描画

プログラム例 'グラフィックスの基本要素 Public Class Form1 '描画スタート Private Sub Button1_Click(sender As Object, _ e As EventArgs) Handles Button1.Click Dim gr As Graphics = CreateGraphics() '直線① Dim MyFont As New Font("MSPゴシック", 11, _ FontStyle.Regular) gr.DrawLine(Pens.Blue, 50, 90, 250, 70) gr.DrawString("①", MyFont, Brushes.Black, 145, 60) '破線② Dim Pen1 As New Pen(Color.Black, 1) '黒色のPen1を設定 Pen1.DashStyle = Drawing2D.DashStyle.Dash '破線指定 gr.DrawLine(Pen1, 50, 120, 250, 120) '破線の描画 gr.DrawString("②", MyFont, Brushes.Black, 145, 100)

プログラム例 '青色のベクトル(先頭の矢印5,5)③ Dim Pen2 As New Pen(Color.Blue, 2) '太さ2,青色のPen2を指定 Pen2.CustomEndCap = _ '矢印指定 New System.Drawing.Drawing2D.AdjustableArrowCap(5, 5) gr.DrawLine(Pen2, 50, 180, 250, 160) 'ベクトル線の描画 gr.DrawString("③", MyFont, Brushes.Black, 145, 150) '赤枠の長方形(幅=200,長さ=80)④ gr.DrawRectangle(Pens.Red, 50, 200, 200, 80)'長方形の描画 gr.DrawString("④", MyFont, Brushes.Black, 145, 230) '赤色で塗りつぶした長方形(幅=200,長さ=80)⑤ gr.FillRectangle(Brushes.Red, 50, 320, 200, 80) '長方形の描画 gr.DrawString("⑤", MyFont, Brushes.Black, 145, 300) '中心(400,130),長径=200,短径=100の楕円⑥ gr.DrawEllipse(Pens.Red, 300, 80, 200, 100) '楕円の描画 gr.DrawLine(Pens.Gray, 280, 130, 520, 130) '横軸 gr.DrawLine(Pens.Gray, 400, 70, 400, 190) '縦軸 gr.DrawString("(400,130)", Font, Brushes.Black, 405, 135) gr.DrawRectangle(Pen1, 300, 80, 100, 50) gr.DrawString("100", Font, Brushes.Black, 340, 115)

プログラム例 gr.DrawString("50", Font, Brushes.Black, 405, 100) gr.DrawString("⑥", MyFont, Brushes.Black, 450, 70) '中心(400,300),半径80のLime色で塗りつぶした円⑦ gr.FillEllipse(Brushes.Lime, 320, 220, 160, 160) '中心(400,300,半径80の円の描画 gr.DrawLine(Pens.Gray, 300, 300, 500, 300) '横軸 gr.DrawLine(Pens.Gray, 400, 210, 400, 390) '縦軸 gr.DrawRectangle(Pen1, 320, 220, 80, 80) gr.DrawString("(320,220)", Font, Brushes.Black, 295, 205) gr.DrawString("(400,300)", Font, Brushes.Black, 405, 305) gr.DrawString("80", Font, Brushes.Black, 355, 285) gr.DrawString("⑦", MyFont, Brushes.Black, 450, 220) End Sub '終了 Private Sub Button2_Click(sender As Object, _ e As EventArgs) Handles Button2.Click End End Class

課題:電卓のフォームアプリ作成 0~9および小数点のキーを備えていること. ACキー(すべてを初期化する)を備えていること. キー入力と連動したディスプレイを一つ以上備えていること. 正の実数の四則演算ができること (答えは負の数になる場合もある). 追加要素の例: 平方根 クリアーキー 正負変換

電卓のフォームアプリ作成:ヒント TextBoxに表示される数字の文字列を 数字のデータに変えたり,また文字列に戻したり. 四則演算をさせるためには,二つの数字を 記憶させなければならない.どのボタンに, どのタイミングで動作させるか. 四則演算のボタンを押したとき,最後にイコール キーを押すまで,どの演算を行うかをどうやって 記憶しておくか ボタンが多くなるので,それぞれの動作の 関連付けを間違えないこと.

データの型の変更 Cint(x): xを整数型へ変換 CStr(x): xを文字列へ変換 CSng(x): xを単精度実数型へ変換 CDbl(x): xを倍精度実数型へ変換 CBool(x): xを論理型へ変換 Val(s): sを適切な数値へ変換

ヒント:足し算機能の実装 足し算キーとイコールキーの動作を次のように設定する. 足し算キー イコールキー それまでに入力されている数の記憶 足し算キー m = Val(TextBox1.Text) op = 1 s = "" 足し算であることの記憶 記憶されている数の消去 イコールキー 二つ目に入力された数の記憶 n = Val(TextBox1.Text) Select Case op Case 1 TextBox1.Text = m + n End Select s = "" 足し算の場合は… 記憶されている数の消去

電卓の自然な動作に向けて1 ディスプレイに「0」が表示されているときに, 0キーを押しても「00」とは表示されない. ヒント:0キーの動作を,ディスプレイの 表示によって場合分けする. (Hint: We divide the action of 0 key Into cases according to string on the display. ) Pushing ‘0’ key Yes No s=‘0’? s=s s=s + ‘0’ Displaying the string ‘s’

電卓の自然な動作に向けて2 ディスプレイ上の数字が小数点を含む場合, 二つ目の小数点を表示しない. 方法1:文字列’s’が’.’を含んでいるかどうかを判定する. 方法2:数字が整数か,小数かを判定する. s1=‘12345’ s2=‘12.345’ Console.WriteLine(s1.IndexOf(“.”)) ’結果は0 Console.WriteLine(s2.IndexOf(“.”)) ’結果は1 文字列の中に’.’が 含まれているかを判定 Fix関数,Int関数 xを整数の範囲で1で割り算 ⇒整数部分だけを取り出せる x-(x\1)=0 or not?