情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next

Slides:



Advertisements
Similar presentations
山元進.  今日 総合的な演習  来週  中間試験  期末と中間両方受けて初めて成績が付く  どちらかを欠席したら 成績表は X  期末試験:適切な理由があれば追試が受けられる  適切な理由であるかの判定のため、診断書などを持参せ よ  対外試合に参加、などの理由は基本的に認めない.
Advertisements

山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃. Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名.
1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
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 )
1 例題 ex3b ( 配列 ) 科学科プログラミング. 2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
徳山豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
VBA H106077 寺沢友宏.
プログラミング基礎I(再) 山元進.
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
第6章 2重ループ&配列 2重ループと配列をやります.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
基礎プログラミング演習 第7回 繰り返し.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
第7回 条件による繰り返し.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
第7回 条件による繰り返し.
情報とコンピュータ 静岡大学工学部 安藤和敏
東京大学人間環境学専攻 奥田・橋本研究室 修士1年 相良 光志
実践プログラミング入門2 配列を使ってゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
先週の復習 2重ループを用いた、 表の記入と読み込み.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
プログラミングⅡ 第2回.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第6回:得点を表示しよう! (文字の表示、乱数)
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
精密工学科プログラミング基礎 第7回資料 (11/27実施)
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
プログラミング演習I 補講用課題
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
Presentation transcript:

情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野

配列 同じデータ型は配列としてまとめて扱う 大量のデータを扱う時や複数のデータを次々と自動的に読み出したい時に配列を利用する 水色の箱は整数の箱 (Integer型) x2 x5 x3 x4 x1 x6 x(1) x(2) x(3) x(4) x(5) x(6) インデックス番号 要素 箱をx(1),x(2)・・・ 配列の名前

配列の宣言(インデックス番号指定) Dim x (1 to 6) As Integer 整数型変数を入れる6つの箱 要素 箱をx(1),x(2)・・・, x(6) 配列の名前 Dim x (1 to 6) As Integer データ型 配列名 インデックス番号の範囲

配列の宣言(一般的な方法) Dim x (5) As Integer インデックス番号は「0」から始まる 整数型変数を入れる6つの箱 x(5):名前がxの整数型の箱を6個用意 Dim x (5) As Integer  データ型 配列名 インデックス番号 の最大値

配列の宣言(一般的な方法) 学籍番号1番 100点 学籍番号3番 76点 学籍番号5番 61点 学籍番号2番 65点 学籍番号4番 87点 学籍番号6番 99点 socre(0) socre(1) socre(2) socre(3) socre(4) socre(5) score(0) = 100 score(1) = 65 score(2) = 76 score(3) = 87 score(4) = 61 score(5) = 99

配列の宣言 Sub hairetsu1() Dim score(5) As Integer score(0) = 100 Msgbox score(1) End Sub     

Sub hairetsu2() Dim score(5) As Integer Dim number As Integer score(0) = 100 score(1) = 65 score(2) = 76 score(3) = 87 score(4) = 61 score(5) = 99   number = InputBox(“学籍番号1番から6番までの6人分の成績を参照できます.知りたい学籍番号を教えてください”) Msgbox  “学生番号” & number  & “番の成績は”   & score(number - 1)  & “点です.” End Sub     

For~ Next i<=5 繰り返す回数を指定して処理を行う 繰り返し回数:6回 For i = 0 To 5 Step 1 カウンタという変数を用意し,その範囲を指定し,繰り返す回数を決める カウンタ変数名 : i 繰り返し回数:6回 iの値を1つ増やすi+1をiに代入 i : カウンタ変数名 i=0 カウンタの初期値 カウンタの最大値 For  i  = 0 To 5 Step 1 Next i 動作1 i=i+1 カウンタの増分設定 i<=5 true 動作1 false

カウンタ i Dim i As Integer i=0 i = i +1 の意味 i+1 の値を i に代入する iの値を1つ増やす 0+1 Dim i As Integer i=0 カウンタ名は 自分で決める カウンタ名 : i i = i +1 の意味  i+1 の値を i に代入する iの値を1つ増やす 0+1 i i + 1

i 2 3 1 i = i +1 0+1 i i + 1 i = i +1 1+1 i i + 1 i = i +1 2+1 i + 1 i

Sub hairetsu3() ‘For ~ Next を使い6人分の成績を順番に表示(6回繰り返す) ‘配列名score カウンタ名:number Dim score(5) As Integer Dim number As Integer score(0) = 100 score(1) = 65 score(2) = 76 score(3) = 87 score(4) = 61 score(5) = 99 For number = 0 To 5 Step 1    Msgbox  “学生番号” & number +1  & “番の成績は”   & score(number)  & “点です.” Next number End Sub     

Sub hairetsu4() Dim score(5) As Integer Dim name(5) As String ‘For ~ Next を使い6人分の学籍番号,名前,成績を ‘順番に表示(6回繰り返す) ‘点数の配列名score 名前の配列名name1 カウンタ名:number Dim score(5) As Integer Dim name(5) As String Dim number As Integer score(0) = 100 score(1) = 65 score(2) = 76 score(3) = 87 score(4) = 61 score(5) = 99

name1(0)=“田中浩二”   name1(1)=“阿部弘”   name1(2)=“伊藤明子”   name1(3)=“鈴木一郎”   name1(4)=“加藤貴子”   name1(5)=“木村潤平” For number = 0 To 5 Step 1    Msgbox  “学生番号” & number +1  & “番” & name1(number) & “さんの成績は”   & score(number)  & “点です.” Next number End Sub     

演習1 学籍番号,名前,成績,評価を出力するプログラムを作成して下さい 例:学籍番号1番田中浩二さんの点数は100点で秀です. 評価は90点以上なら“秀”、80点以上90点未満は“優”、70点以上80点未満は“良”、60点以上70点未満は“可”, 60点未満は“不可” プログラム名は hyouka() ヒント hairetsu4()の For~Next 文とseiseki2()の If ~Then ~Else 文を使う

6人分の合計を計算 sum i<=5 i=0, sum=0 i=0 の時 sum =sum+score(0) i=i+1 socre(0) socre(1) socre(2) socre(3) socre(4) socre(5) sum i=0, sum=0 i=0 の時  sum =sum+score(0) i=i+1 i<=5 sum=sum+score(i)

6人分の合計を計算 初期値: sum 100 65 76 87 61 99 i=0 sum sum 1回目 100 100 + i=1 socre(0) socre(1) socre(2) socre(3) socre(4) socre(5) sum 100 65 76 87 61 99 i=0 sum score(0) sum 1回目 100 100 + i=1 100 sum score(1) sum 2回目 65 165 +

6人分の合計を計算 165 sum score(2) + 76 241 3回目 389 sum score(5) + 99 488 6回目

Sub goukei() ‘For ~ Next を使い6人分の成績の合計を計算 ‘配列名score カウンタ名:number  合計の変数:sum Dim score(5) As Integer Dim number As Integer Dim sum As Integer score(0) = 100 score(1) = 65 score(2) = 76 score(3) = 87 score(4) = 61 score(5) = 99 For number = 0 To 5 sum = sum + score(number)   Next number MsgBox number & “人の成績合計点は” & sum &”です.” End Sub