情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else

Slides:



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

1 情報基礎 A プログラムやソフトウエアの 構造 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 回 プログラミング入門 VBA の基本文法 1 - 計算の基本構造とプログラミング - 準備・変数・データの入出力 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 5 週 EXCEL 2 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 6 週 EXCEL 3 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 情報基礎 A 第 4 週 EXCEL 徳山 豪・全眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
表計算ソフトウェア 関数の利用(基本編) Excel. 関数とは 関数とは ・ 計算方法があらかじめ定義され た 数式のこと ・ 必要な値を定められた書式に 従っ て入力するだけで、簡単に計算結 果を求めることができる.
ゴールデンウィークの課題 (提出日:2009/05/12) 2009/05/12に小テストがあります!
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
徳山豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
12.3,E,-15, 12.3,E5,+,=, >,<,…,
数値計算及び実習 第3回 プログラミングの基礎(1).
VBA H106077 寺沢友宏.
C言語 第2講 生物機能制御学講座 濱田 農学部7号館209室.
プログラミング基礎I(再) 山元進.
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
コンピュータと情報 第15回 Excelの使い方 その4.
第5回 統計処理(2) 塩浦 昭義 東北大学全学教育科目 情報基礎 A 1セメスター 木曜1,3講時 経済学部・法学部
プログラミング 平成24年10月30日 森田 彦.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
コンピュータと情報 第14回 Excelの使い方 その4.
プログラミング 平成25年11月5日 森田 彦.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
地域情報学演習 VBAプログラミング 第2回 2017年10月17日
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
アルゴリズムとプログラミング (Algorithms and Programming)
プログラミング演習I 2003年5月7日(第4回) 木村巌.
実践プログラミング入門2 配列を使ってゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
「入力」はInputBoxやテキストボックスに限らず、 セルからのデータの入力や、チェックボックス等からの入力全てを含める。
もっと詳しくArrayクラスについて調べるには → キーワード検索
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング入門.
C言語ファミリー C# 高級言語(抽象的) Java オブジェクト指向 C++ C 機械語(原始的)
先週の復習 2重ループを用いた、 表の記入と読み込み.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
基礎プログラミング演習 第6回.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
ウェブデザイン演習 第6回.
C言語講座 制御(選択) 2006年 計算技術研究会.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
オブジェクト指向言語論 第二回 知能情報学部 新田直也.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
PROGRAMMING IN HASKELL
情報処理Ⅱ 第2回 2004年10月12日(火).
プログラミング 平成28年10月25日 森田 彦.
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
C言語講座 四則演算  if ,  switch 制御文.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
Presentation transcript:

情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野

数値のデータ型 Byte バイト型 ~255 1バイト Integer 整数型 -32,768 ~ 32,767 2バイト Long ~255 1バイト Integer 整数型 -32,768 ~ 32,767 2バイト Long 長整数型 -2,147,483,648 ~ 2,147,483,647 4バイト Single 単精度浮動小数点型 ±3.4×1038 ~ ±1.4×10-45 Double 倍精度浮動小数点型 ±1.8×10308 ~ ±4.9×10-324 8バイト

論理型・文字列型・その他 Boolean 論理型 True, False String 文字列型 Date 日付型 100年1月1日~9999年12月31日 Currency 通貨型 Longより大きな数値を扱える(小数点を含む数値も使える) Variant ユーザ定義型などあらゆる種類の変数に対応できる特別な型,データ型の宣言をしないとVariantになる

変数 値を入れておく箱のようなもの 変数の宣言 例:整数の値が入る“x”と言う名前の変数を用意する Dim x As Integer Integer型の変数xを宣言 Dim name As String String型の変数nameを宣言 黄色の箱は文字の箱 (String型) 水色の箱は整数の箱 (Integer型) name x x1 score abc

文字列変数の宣言 Sub myprogram3() Dim name As String name = “徳山”   Msgbox name & “さん,こんにちは”  End Sub     

データの入力 Sub yeartrans3() ‘ 平成を西暦に直すプログラム Dim x1 As Integer Dim name As String name = InputBox (“あなたの名前は?”) x1 = InputBox(“あなたは平成何年生まれですか?”) x2 = x1 + 1988 Msgbox name & “さんは西暦” & x2 & “年生まれです” End Sub     

エクセル関数ーIf文 「TRUE」 と「FALSE」での動作選択(Branching, 分岐) 「IF」文を用いたプログラム IF (判定式, 動作1, 動作2) 判定式がTrue なら動作1を、Falseなら動作2を行う  =IF(論理式,[真の場合], [偽の場合]) 文字列で返す場合は “ ”で囲んで入力 数値の場合は数値のみを入力 論理式又はセル番号

エクセル関数ーIf文 >=60 合格 前回作成した成績の「合格」「不合格」の判定 不合格 60点以上は合格,60点未満は不合格 D16 =IF(A1>=60, “合格”, “不合格”) true >=60 合格 false 不合格

VBAでは If ~ Then ~ Else 論理式 If 論理式 Then Else End If 真の場合 動作1 偽の場合 動作2

成績の合否判定プログラム >=60 合格 入力された成績の「合格」「不合格」の判定を行って下さい 不合格 true false 60点以上は合格,60点未満は不合格 true >=60 合格 false 不合格

成績の合否判定プログラム Sub seiseki1() ‘ 成績の合否判定 Score1 >=60 合格 Dim score1 As Integer Dim name1 As String name1= InputBox(“名前は”) score1= InputBox(“成績を入力して下さい”) If score1 =>60 Then Msgbox  “おめでとう! ” &  name1 & “さんは合格しました.” Else Msgbox  name1 &  “さんは不合格です.” End IF End Sub      Score1 >=60 true 合格 false 不合格

秀 >=90 優 >=80 良 >=70 >=60 可 If ~ Then ~ Else文を使った計算 不可 成績が90点以上なら秀、80点以上90点未満は優、70点以上80点未満は良、60点以上70点未満は可, 60点未満は不可 true 秀 >=90 false >=80 true 優 false >=70 true 良 false >=60 true 可 false 不可

エクセル関数If文を使った計算 秀 >=90 優 >=80 良 >=70 >=60 可 不可 true false 入れ子の構造 true 秀 >=90 false >=80 true 優 false >=70 true 良 false >=60 true 可 false 不可

成績の評価(エクセル関数If文を使った計算) 成績が90点以上なら“秀”、80点以上90点未満は“優”、70点以上80点未満は“良”、60点以上70点未満は“可”, 60点未満は“不可” =IF(B2>=90,“秀”,IF(B2>=80,“優”, IF(B2>=70,“良”, IF(B2>59,"可","不可"))))

VBAでは If ~ Then ~ ElseIf 論理式1 論理式2 真の場合 動作1 偽の場合 真の場合 動作2 If 論理式1 Then ElseIf 論理式2 Then Else End If 偽の場合 動作3 動作1 動作2 動作3

Sub seiseki2() ‘ 成績の評価 If ~Then ~ElseIf Dim score2 As Integer Dim name2 As String name2= InputBox(“名前は”) score2= InputBox(“成績を入力して下さい”) If score2 =>90 Then Msgbox   name2 & “さんの成績は秀です.” ElseIf score2 =>80 Then Msgbox   name2 & “さんの成績は優です.” ElseIf score2 =>70 Then Msgbox   name2 & “さんの成績は良です.” ElseIf score2 =>60 Then Msgbox   name2 & “さんの成績は可です.” Else Msgbox   name2 &  “さんの成績は不可です.” End If End Sub     

If ~Then ~Else を使った入れ子構造のプログラム false 不可 >=60 true >=70 false 可 true >=80 false 良 true >=90 false 秀 true 優

Sub seiseki3() ‘ 成績の評価 If ~Then ~Else を使い入れ子構造のプログラム Dim score3 As Integer Dim name3 As String name3= InputBox(“名前は”) score3= InputBox(“成績を入力して下さい”) If score3 =>60 Then     If score3 =>70 Then        If score3 =>80 Then           If score3 =>90 Then              Msgbox   name3 & “さんの成績は秀です.”       Else          Msgbox   name3 & “さんの成績は優です.”       End IF    Else       Msgbox   name3 & “さんの成績は良です.”    End IF     Else    Msgbox   name3 & “さんの成績は可です.”        End IF     Msgbox   name3 &  “さんの成績は不可です.” End IF End Sub