情報処理 A/B プログラミング入門テキスト ~ PEN を使って基本を学んだ後で 活用してみよう ~ バージョン吉田智子編集 1. はじめにプログラミングを体験することで ハードウェアとソフトウェアから構成されるコンピューターの本質や それが作り出すコンピューター社会に対する認

Size: px
Start display at page:

Download "情報処理 A/B プログラミング入門テキスト ~ PEN を使って基本を学んだ後で 活用してみよう ~ バージョン吉田智子編集 1. はじめにプログラミングを体験することで ハードウェアとソフトウェアから構成されるコンピューターの本質や それが作り出すコンピューター社会に対する認"

Transcription

1 情報処理 A/B プログラミング入門テキスト ~ PEN を使って基本を学んだ後で 活用してみよう ~ バージョン吉田智子編集 1. はじめにプログラミングを体験することで ハードウェアとソフトウェアから構成されるコンピューターの本質や それが作り出すコンピューター社会に対する認識を深めることができると言われている プログラミング体験のためには さまざまな言語と環境を使うことができる 今回は PEN(Programming Environment for Novices) と呼ばれるプログラミング環境でプログラミングの基本を学ぶこととする そして この環境を使って絵を描いたり LilyPad Arduino というハードウェア用のプログラム( ソフトウェアとかアプリケーションと呼ばれるもの ) を書いて 計測と制御 も学ぶ予定である 考えたことをプログラムに書き表すのは容易なことではない上に 書いたプログラムから間違い ( バグ ) を見つけるのも大変な作業である しかし この作業を通じて コンピューターはプログラムに書かれたことを忠実に実行するだけの機械であることを実感して欲しい 図 1:PEN のプログラミング環境と LilyPad Arduino Development Board 図 2:LilyPad Arduino は導電線で布に縫いつけて使うこともできる 1

2 2. プログラミング入門 2.1 プログラミングの基本 プログラムを書く際に必要となる アルゴリズム とは 問題を解くための手順のことである プログラミングとは まずアルゴリズムを考え それをいずれかのプログラミング言語で記述する作業である 授業で扱った言語でアルゴリズムが記述できるようになると 別のプログラミング言語の文法を学びさえすれば プログラムは書けるようになる 以下に どのプログラミング言語でも共通する部分として 変数 と 制御構造 を説明する [1] 変数アルゴリズムを記述するときに 計算の対象や途中結果などの値を記憶しておく場所が必要になる この置き場所として用いるのが 変数 である 変数に値を入れることを 代入 という 変数は 現実の箱とは少し違った次の性質を持っている 値を参照した後も 箱の中には値は残ったままである すでに値が入っている箱に 別の値を入れると 元の値は消えてしまう 箱の中に入れる値の種類( 整数 実数 文字列など ) によって 違う箱を用意する必要がある [2] 制御構造 アルゴリズムの記述には 逐次処理 条件分岐 繰り返し処理の 3 つの基本制御の いずれかを利用する 1) 逐次処理 アルゴリズムの記述の上から順に処理される 2) 条件分岐 ある条件を満足する場合とそうでない場合で 処理内容を変えたいときに利用する 3) 繰り返し処理 ある条件が満たされている限り いくつかの処理を繰り返したいときに利用する 2

3 1) 逐次処理 アルゴリズムの記述の上から順に処理される 2) 条件分岐 ある条件を満足する場合とそうでない場合で 処理内容を 変えたいときに利用する 3) 繰り返し処理 ある条件が満たされている限り いくつかの処理を 繰り返したいときに利用する 3

4 2.2 プログラムの基本の制御構造 以下では PEN(Programming Environment for Novices) と呼ばれるプログラミ ング言語を例に プログラミングの基本を学ぶ ちなみに PEN は 大学入試センター の 情報関係基礎 で用いられる試験用手順記述言語 (DNCL) に準拠している (1) 逐次処理 学習のポイント : 変数の宣言 代入文 出力文の使い方 前から実行される逐次処理 例題 2.1 キーボードから 1 つの整数を入力し それを 3 倍した値を出力するプログラ ムを書いてみよう プログラム例 :( 行頭の 1: 2: などは説明のためのものであり 入力は不必要 ) 1: 整数 a 2: 整数 b 3: 整数を入力してください: を表示する 4: a input( ) 5: b a * 3 6: b を表示する 画面 :PEN でのプログラミング環境の実行例 4

5 練習問題 2.1 キーボードから長方形の二辺の長さを入力し 面積を表示するプログラ ムを書きなさい 練習問題 2.2 キーボードから 2 つの整数を入力し その積および商を出力するプログ ラムを書きなさい ( 商の余りは切り捨てる ) 練習問題 2.3 ある鉄道の運賃は 乗車距離を a(km) にしたとき ( a) 円であ る 乗車距離を入力して 運賃を求めるプログラムを書きなさい 練習問題 2.4 鉛筆をみんなで分けたい 鉛筆の数と人数を入力し 一人あたり何本もらえるか また 何本残るかのプログラムを書きなさい 復習問題 (1) 下線の部分を埋めなさい プログラムを記述するとき 計算の対象や途中結果などの値を記憶しておくための場所として用いるのが です これに値を入れることを といい PEN での記号は です また PEN において キーボードから文字列 ( 数字の場合もある ) を読み込む命令は input() と記述します たとえば キードードから入力された数字を変数 a に代入する式は と記述します (2) 次のプログラムを作成しなさい スーパーで 商品を2つ買いました 一つ目の買い物の金額 二つ目の買い物の金額を画面から入力すると 合計金額が表示されるプログラムを書きなさい (3) 次のプログラムを作成しなさい ( アドバンスト問題 ) スーパーで それぞれ 100 円以上のものを2つ買いました その日はお客様感謝デーだったので 100 円以上のものを買った場合はそれぞれの商品につき 20 円ずつ値引きしてもらえました 消費税は考えないものとして 一つ目の買い物の金額 (100 円以上 ) 二つ目の買い物の金額 (100 円以上 ) を画面から入力すると 値引き後の合計金額が表示されるプログラムを書きなさい 5

6 (2) 条件分岐 学習のポイント : プログラムの実行順序を変える制御構造の一つ 条件分岐 を学ぶ 例題 2.2 キーボードから入力した数が 3 で割り切れるかどうか調べ 割り切れるな ら 3 の倍数である と出力するプログラムを書いてみよう ( ヒント :a が b で割り切れるなら a % b = 0 と書く たとえば 7 % 3 = 1 ) プログラム例 : 1: 整数 num 2: 整数を入力: を表示する 3: num input( ) 4: もし num % 3 = 0 ならば 5: 3 の倍数である を表示する 6: を実行する 例題 2.3 キーボードから入力した数が 3 で割り切れるかどうか調べ 割り切れるなら 3 の倍数である と出力し そうでないなら 3 の倍数ではない と出力するプログラムを書いてみよう プログラム例 : 1: 整数 num 2: 整数を入力: を表示する 3: num input( ) 4: もし num % 3 = 0 ならば 5: 3 の倍数である を表示する 6: を実行し, そうでなければ 7: 3 の倍数ではない を表示する 8: を実行する 6

7 例題 2.4 入力された数 ( 点数 ) が 90 以上なら 秀 80 以上 90 未満なら 優 70 以上 80 未満なら 良 60 以上 70 未満なら 可 60 未満なら 不合格 と 出力するプログラムを書きなさい プログラム例 : 1: 整数 score 2: 点数は?: を表示する 3: score input( ) 4: もし score >= 90 ならば 5: 秀 を表示する 6: を実行し, そうでなくもし score >= 80 ならば 7: 優 を表示する 8: を実行し, そうでなくもし score >= 70 ならば 9: 良 を表示する 10: を実行し, そうでなくもし score >= 60 ならば 11: 可 を表示する 12: を実行し, そうでなければ 13: 不合格 を表示する 14: を実行する 練習問題 2.5 キーボードから点数 (x) を入力し x が 60 以上なら 合格 と表示し x が 60 未満なら 不合格 と表示するプログラムを書きなさい 練習問題 2.6 体格指数 (BMI:Body Mass Index) とは 現在の体重と身長を基礎として一定の計算式から導かれます BMI= 体重 (kg) 身長 (m) ² bmi taiju / ( (shincho/100) * (shincho/100) ) まず bmi の結果を表示し その値が 26 以上なら 太っている 24 以上 26 未満なら 過体重 22 以上 24 未満なら 理想体重 20 以上 22 未満なら やせ気味 20 未満なら やせすぎ と出力するプログラムを書きなさい なお 利用する3つの変数 (bmi, taiju, shincho) は すべて整数ではなく 実数とすること ( 小数点以下の部分も保存する必要があるため ) 7

8 ここまでの復習問題と 繰り返し処理 の準備問題 (1) 次のプログラムを作成しなさい ( 復習問題 ) スーパーで 一つだけ 買い物をしました その日はお客様感謝デーだったので 100 円以上のものを買った場合は 20 円値引きしてもらえました 消費税は考えないものとして 買い物の金額を画面から入力すると 100 円以上なら 20 円引き 100 円未満ならそのままの金額を出力するプログラムを書きなさい (2) 次のプログラムを作成しなさい ( 準備問題 ) スーパーで 4 つ買い物をしました その日はお客様感謝デーだったので 100 円以上のものを買った場合はそれぞれの商品につき 20 円ずつ値引きしてもらえました 消費税は考えないものとして 一つ目の買い物の金額 (100 円以上 ) 二つ目の買い物の金額 (100 円以上 ) 三つ目の買い物の金額(100 円以上 ) 四つ目の買い物の金額(100 円以上 ) をそれぞれ画面から入力すると 合計金額が表示されるプログラムを書きなさい ヒント : このプログラムを考える前に 購入した品物 2 個の合計金額を求めるプログラム を思い出してみると 次の通りである 1: 整数 a, b 2: 整数 gokei 3: 一つ目の買い物の金額を入力してね: を表示する 4: a input() 5: 二つ目の買い物の金額を入力してね: を表示する 6: b input() 7: gokei (a - 20) + (b - 20) 8: それぞれ 20 円割引した合計金額は を改行なしで表示する 9: gokei を改行なしで表示する 10: 円です を表示する 購入した品物が 4 個の場合は 上のプログラムの 3 4 行目の命令を 4 回 繰り返して書けばよい しかし 購入した品物が多い場合 その方法を使うと行数が増えすぎてしまう そのような場合に 繰り返し処理 を利用すると便利なのである 8

9 (3) 繰り返し処理 学習のポイント : プログラムの制御構造の一つ 繰り返し処理 を学ぶ 例題 2.5 いちご ( 単数形 ) の正しいスペルを入力させるプログラムを書いてみよう プログラム例 : 1: 整数 a 2: 文字列 word 3: a 1 4: いちご( 単数形 ) のスペルを入力してね : を改行なしで表示する 5: word input() 6: word strawberry の間, 7: a a + 1 8: スペルが間違っています もう一度入力してね: を表示する 9: word input() 10: を繰り返す 11: 正解です いちごのスペルは と word と です を表示する 12: あなたは と a と 回目の挑戦で正解しましたね を表示する このプログラムは スペルを入力させ 合っていれば 正解のスペルと 何度入力したかを表示してプログラムが終了する 間違っていれば 再度スペルを入力させ 正しいスペルが入力できるまで終了できない というものである 変数として 次の二つを利用している 整数 a 今が何度目の挑戦かを表す変数文字列 word 入力されたスペルが入る変数繰り返しが終わるのは strawberry というスペルが正しく入力された時なので 繰り返しの条件は 変数 word strawberry となる つまり strawberry というスペルが正しく入力されるまで 繰り返し続ける 9 START 変数準備 a に 1 を入れる 入力指示文表示 画面入力 スペルは間違っているか YES a を 1 増やす 再度画面入力 何度目の挑戦で正解したかを表示 NO END

10 例題 2.6: スーパーで 20 個 買い物をしました その日は特別に 100 円以上の商品を買った場合は それぞれ20 円ずつ値引きしてもらえました 消費税は考えないものとして 買ったもの (100 円以上 ) の金額を一つずつ入れていくと 値引き後の合計金額が表示されるプログラムを書きなさい このプログラムを考える前に 購入した品物 2 個の合計金額を求めるプログラムを思い出してみよう 1: 整数 a, b 2: 整数 gokei 3: 一つ目の買い物の金額を入力してね(100 円以上 ): を表示する 4: a input() 5: 二つ目の買い物の金額を入力してね(100 円以上 ): を表示する 6: b input() 7: gokei (a - 20) + (b - 20) 8: それぞれ 20 円割引した合計金額は を改行なしで表示する 9: gokei を改行なしで表示する 10: 円です を表示する 購入した品物が 5 個の場合は 上のプログラムの 3 4 行目の命令を 5 回 繰り返して書けばよい しかし 購入した品物が多い場合 その方法を使うと 行数が増えすぎてしまう そこで 3 4 行目を 20 回処理させるために 繰り返し を利用する プログラム例 : 1: 整数 a 2: 整数 gokei, counter 3: counter 1 4: counter 20 の間, 5: 買い物の金額を入力してね(100 円以上 ): を表示する 6: a input() 7: gokei gokei + (a - 20) 8: counter counter + 1 9: を繰り返す 10: それぞれ 20 円引きした合計金額は を改行なしで表示する 11: gokei を改行なしで表示する 12: 円です を表示する 10

11 練習問題 2.7: 購入した品物の数を最初に入力し その数の商品の合計金額を求めるプ ログラムを書いてみましょう ( 今回は 100 円以上でも 20 円引きにはなりません ) 練習問題 2.8: このプログラムに機能追加し 100 円以上の品物を買った場合だけ 20 円引きして 合計金額を求めるプログラムを書いてみましょう 最後に補足 : 繰り返し処理 が使えないなら どんなに困るかを考えてみる (1) 繰り返し処理が使えないなら 3-4 行目を 20 回書く必要がでてきます ( 大変!) 整数 a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t 整数 gokei 一つ目の買い物の金額を入力してね(100 円以上 ): を表示する a input() 二つ目の買い物の金額を入力してね(100 円以上 ): を表示する b input() 三つ目の買い物の金額を入力してね(100 円以上 ): を表示する c input() 四つ目の買い物の金額を入力してね(100 円以上 ): を表示する : (28 行分 略 ) : r input() 十九個目の買い物の金額を入力してね(100 円以上 ): を表示する s input() 二十個目の買い物の金額を入力してね(100 円以上 ): を表示する t input() gokei (a-20)+(b-20)+(c-20)+(d-20)+(e-20)+(f-20)+(g-20)+(h-20)+(i-20)+(j-20)+ (k-20)+(l-20)+(m-20)+(n-20)+(o-20)+(p-20)+(q-20)+(r-20)+(s-20)+(t-20) それぞれ 20 円引きした合計金額は を改行なしで表示する gokei を改行なしで表示する 円です を表示する 11

12 (2) 変数 a を何度も利用して gokei 変数に合計金額に足しこんでいくと 変数を 多く使う必要はなくなるが 整数 a 整数 gokei 買い物の金額を入力してね(100 円以上 ): を表示する a input() gokei (a-20) 買い物の金額を入力してね(100 円以上 ): を表示する a input() gokei gokei+(a-20) :( 51 行分 略 ) : 買い物の金額を入力してね(100 円以上 ): を表示する a input() gokei gokei+(a-20) それぞれ 20 円引きした合計金額は を改行なしで表示する gokei を改行なしで表示する 円です を表示する (3) 何度も処理を記述する部分に 繰り返し処理 を使うと すっきり解決! 整数 a 整数 gokei, counter counter 1 counter 20 の間, 買い物の金額を入力してね(100 円以上 ): を表示する a input() gokei gokei + (a - 20) counter counter + 1 を繰り返す それぞれ 20 円引きした合計金額は を改行なしで表示する gokei を改行なしで表示する 円です を表示する 12

13 PEN による 図形描画 の準備問題 (1) 図形描画 のために必要な( 通常の PEN のプログラム記述に追加する ) ステップは次の通りである (a) 描画ウィンドゥを開く gopenwindow( 横ピクセル, 縦ピクセル ) という関数を使う (b) 色を決める gset なんとか color( 赤値, 緑値, 青値 ) という関数を使う (c) 描く図形の種類を選び どの場所に どのサイズで描くかを指示する gfill なんとか () あるいは gdraw なんとか () という関数を使う (2) これらの関数の基本的な説明は 次の通りである (a) 描画ウィンドゥを開く gopenwindow( 横ピクセル, 縦ピクセル ) という関数を使う たとえば gopenwindow(400,400) と書くと 横方向に 400 ピクセル 縦方向に 400 ピクセ ルのウィンドゥが開く (b) 色を決める gset なんとか color( 赤値, 緑値, 青値 ) という関数を使う色を決める ( 赤値, 緑値, 青値 ) は 光の 3 原色の加法混合で表現するため それぞれの強さを 0~255 の範囲で指定する (0,255,0) は緑 (0,0,0) は黒 (255,255,255) は白となる たとえば gsetfillcolor(255,0,0) と書くと 塗りつぶしの色が赤にセットされる 13

14 (c) 描く図形の種類を選び どの場所に どのサイズで描くかを指示する gfill なんとか () あるいは gdraw なんとか () という関数を使う 描く図形の種類の位置を指定するための座標軸 (x 座標 y 座標 ) は 描画ウィンドゥの左上の地点から 右へが x 座標 下へが y 座標である たとえば gopenwindow(400,400) gsetfillcolor(255,0,0) の後の FillBox (230,300,80,30) なら 次のような場所に次のサイズの長方形が描かれる (3) この赤い箱をちょうど真ん中に描画するには x 座標 y 座標をどう書けばよいだろうか 14

15 3. 図形描画 学習のポイント : 図形の描画モデルを理解する 図形描画の関数の使い方を学ぶ 3.1 描画関数の使い方 例題 の描画ウィンドウを開き 丸と四角と文字列を描いてみよう プログラム例 : 1: gopenwindow(400,400) 2: gsetfillcolor(255,0,0) 3: gfillcircle(200,200,50) 4: 5: gsetlinewidth(3) 6: gfillbox(230,300,80,30) 7: 8: gsettextcolor(0,255,255) 9: gsetfontsize(24) 10: gdrawtext( ようこそ, 70,100) 練習問題 3.1: の描画ウィンドウを開き キーボードから縦と横を入力し 描画ウィンドウの中央に長方形を表示してみよう 3.2 条件分岐を利用した描画例題 3.2 キーボードから点数を入力し 60 以上なら描画ウィンドウの中央に半径 50 の緑の円を描き 60 未満の場合は半径 50 の赤い円を描いてみよう プログラム例 : 1: 整数 ten 2: gopenwindow(200,200) 3: 点数?: を改行なしで表示する 4: ten input() 5: もし ten 60 ならば 6: gsetfillcolor(0,255,0) 7: を実行し, そうでなければ 8: gsetfillcolor(255,0,0) 9: を実行する 10: gfillcircle(100,100,50) 15

16 練習問題 3.2: キーボードから点数を入力し 80 点以上なら描画ウィンドウの中央に 半径 50 の緑の円を表示し 60 点以上 80 点未満なら黄色の円を表示し 60 点未満なら 赤い正方形を表示するプログラムを作れ 3.3 繰り返しを利用した描画 例題 の描画ウィンドウに 半径 25 の赤い円を互いに接するように水 平に配置せよ プログラム例 : 1: 整数 x 2: gopenwindow(400,400) 3: gsetlinecolor(255,0,0) 4: 5: x 25 6: x < 400 の間, 7: gdrawcircle(x,200,25) 8: x x : を繰り返す 半径 25 の赤い円を互いに接するように水平に配置するのに必要な描画命令は 次の通りである gdrawcircle( 25,200,25) gdrawcircle( 75,200,25) gdrawcircle(125,200,25) gdrawcircle(175,200,25) gdrawcircle(225,200,25) gdrawcircle(275,200,25) gdrawcircle(325,200,25) gdrawcircle(375,200,25) 練習問題 の描画ウィンドウに 半径 25 の赤い円を 15 個 互いに重なり合うように水平に配置せよ 練習問題 の描画ウィンドウの真ん中に 半径がそれぞれ 20,40,60,...,200 の同心円を描け 円の色は好きな色でよい 16

17 PEN のプログラムを LilyPad Arduino にロードして使うための準備 *Arudino の入出力装置を制御する命令 アナログ入出力関数 analogread(pin) pin 値を読み込むピン番号 戻り値 0 から 1023 までの整数値ピンに接続されたアナログ機器から値を読み込む命令読み込まれる値は 0 から 5 ボルトの入力電圧を 0 から 1023 の数値に変換したもの analogwrite(pin, value) pin 値を書き込むピン番号 value ピンに接続されたアナログ機器に value を書き込む命令 デジタル入出力関数 pinmode(pin, mode) pin 設定したいピン番号 mode INPUT( 入力 )/ OUTPUT( 出力 ) ピンに接続されたデジタル機器が入力用か出力用なのかを設定する命令 digitalread(pin) pin 値を読み込むピン番号 戻り値 HIGH ( 1 ) / LOW ( 0 ) ピンに接続されたデジタル機器から値を読み込む命令 digitalwrite(pin, value) pin 値を書き込むピン番号 value HIGH ( 1 ) / LOW ( 0 ) ピンに接続されたデジタル機器に value を書き込む命令 17

18 *LilyPad Development Board とは? 18

19 4. PEN と LilyPad Arduino で プログラムによる計測と制御 を学ぶ 次に LilyPad Development Board の 押しボタンスイッチ スライドスイッチ 白色 LED RGB フルカラ LED 明るさセンサー 温度センサー ブザー バイブレータ などの周辺モジュールを制御するためのプログラムを PEN で書いてみる 実際に手元でハードウェアを動かすことのできるプログラムを書くことで コンピューターの簡単な入出力の仕組み つまり プログラムによる計測と制御 を理解することを目標とする 4.1 逐次処理とデジタル出力目的 : PEN の環境に慣れること および 逐次処理について理解する LED の点灯 消灯を行うプログラムを作成することにより 逐次処理とデジタル出力について理解する 例題 1-1: 白色 LED を 5 秒間点灯させよ プログラム例 : 1: pinmode(5, "OUTPUT") 2: digitalwrite(5, 1) /* 白の LED を点灯 */ 3: delay(5000) /* 5 秒間待つ */ 4: digitalwrite(5, 0) /* 白の LED を消灯 */ 解説 : pinmode() は 指定したピンを出力 (OUTPUT) として扱うのか あるいは入力 (INPUT) として扱うかを設定するものである ここでは 白色 LED が接続されている 5 番ピンを出力 (OUTPUT) に設定している digitalwrite() は 指定したピンにデジタル出力を行う命令である 出力する値は 0 または 1 であり 1 を出力すると LED は点灯し 0 を出力すると LED は消灯する delay() は 指定した時間 ( ミリ秒単位 ) プログラムの実行を休止させる ここでは 5 秒間休止させている 19

20 例題 1-2: フルカラー LED で様々な色を光らせよ プログラム例 : 1: pinmode(9, "OUTPUT") 2: pinmode(10, "OUTPUT") 3: pinmode(11, "OUTPUT") 4: digitalwrite(9, 0) /* 赤色 LED を点灯させる */ 5: delay(1000) /* 1 秒待つ */ 6: digitalwrite(9, 1) /* 赤色 LED を消灯させる */ 7: digitalwrite(10, 0) /* 青色 LED を点灯させる */ 8: delay(1000) /* 1 秒待つ */ 9: digitalwrite(10, 1) /* 青色 LED を消灯させる */ 10: digitalwrite(11, 0) /* 緑色 LED を点灯させる */ 11: delay(1000) /* 1 秒待つ */ 12: digitalwrite(11, 1) /* 青色 LED を消灯させる */ 解説 : 赤色, 青色 緑色の LED がそれぞれ 番ピンに設定されている まず pinmode() で 番ピンを出力 (OUTPUT) に設定している その後 番ピンに digitalwrite() で 0 の値を与えて LED を点灯し 1 の値を与えて LED を消灯させている LED はそれぞれ一秒間点滅する 4.2 アナログ出力目的 : LED の明るさを制御することで アナログ出力の仕組みについて理解する 例題 2-1: 白色 LED を暗めに点灯 ( 明るさ 100) させた後 明るく点灯 ( 明るさ 255) させ 最後に消灯 ( 明るさ 0) させるプログラムを作成せよ プログラム例 : 1: pinmode(2, "OUTPUT") 2: analogwrite(2, 100) /* 暗めに点灯させる */ 3: delay(2000) 4: analogwrite(2, 255) /* 明るく点灯させる */ 5: delay(2000) 6: analogwrite(2, 0) /* 消灯させる 解説 : analogwrite(pin, value) は LED の明るさを変える関数である このプログラムでは 2 番のアナログピンに出力している value の値 ( 0~255) で LED の明るさを決める 20

21 4.3 繰り返し 条件分岐 デジタル入力目的 :LilyPad Development Board 上のスイッチを読み取ることによって デジタル入力の仕組み および 繰り返し文についての理解をする 例題 3-1: 白色 LED の 1 秒間ずつの点灯 消灯を 50 回繰り返せ プログラム例 : 1: 整数 i 2: pinmode(5, "OUTPUT") 3: i 0 4: i < 50 の間, /* 繰り返し文 */ 5: digitalwrite(5, 1) 6: delay(1000) 7: digitalwrite(5, 0) 8: delay(1000) 9: i i+1 10: を繰り返す 解説 : 4~10 行目は繰り返し文である 4 行目の条件で 5~9 行目の処理を繰り返し ている 一回ごとに 5 番ピンの LED を 1 秒間ずつ点灯と消灯させている 例題 3-2: スイッチと白色 LED を連動させよ プログラム例 : 1: 整数 i 2: pinmode(5, "OUTPUT") 3: pinmode(2, "INPUT") /* スイッチのあるピンを入力設定 */ 4: 1 = 1 の間, 5: もし digitalread(2) = 0 ならば /* スイッチを切る */ 6: digitalwrite(5, 0) /* LED の消灯 */ 7: を実行し, そうでなければ /* スイッチを入れる */ 8: digitalwrite(5, 1) /* LED の点灯 */ 9: を実行する 10: を繰り返す 21

22 解説 : 3 行目でスイッチがある 2 番ピンを入力用に設定する 5 行目の digitalread() は 引数で指定したピン ( このプログラムでは 2 番 ) に電圧がかかっているかをチェックし 0~1023 で返す 4~10 行目は条件文である もし の後に書かれた条件式の値が真なら 6 行目を実行する 偽なら 8 行目を実行する 4.4 アナログ入力目的 : 明るさセンサーによる アナログ入力の仕組みを理解する 例題 4-1: 明るさセンサーと LED を連動させよ 暗ければ点滅速度を速く 明るければ遅く光らせよ プログラム例 : 1: 整数 light 2: pinmode(5, "OUTPUT") 3: pinmode(6, "INPUT") 4: 1=1 の間, 5: light analogread(6) /* light に 6 番ピンの値を代入 */ 6: digitalwrite(5, 1) 7: delay(light*3+1) /* light の値に応じて待機時間を変化させる */ 8: digitalwrite(5, 0) 9: delay(light*3+1) 10: を繰り返す解説 : 2 行目で LED の出力を 5 番ピンに 3 行目で明るさセンサーが接続されている 6 番ピンを入力に設定している 4~10 行目の繰り返しの処理で delay() の引数に analogread() で読み込んだ 6 番ピンの値を 3 倍して 1 を加えた値を与えることで 点灯と消灯の間隔を変化させている 4.5 総合演習 目的 : アナログ入力の値に応じてデジタル出力結果を変化させるなどの総合演習によって デジタル入出力とアナログ入出力の仕組みを復習する 例題 4-2: 明るさセンサーの値が 200 以下ならフルカラー LED を赤く点灯させて 200 より大きければ 白色 LED を点灯させよ 22

23 プログラム例 : 1: 整数 light 2: pinmode(5, "OUTPUT") 3: pinmode(9, "OUTPUT") 4: pinmode(6, "INPUT") 5: 1 = 1 の間, 6: light analogread(6) /*light に 6 番ピンの値を代入 */ 7: もし light <= 200 ならば 8: digitalwrite(9, 0) /* 赤色 LED の点灯 */ 9: delay(1000) 10: digitalwrite(9, 1) /* 赤色 LED の消灯 */ 11: を実行し, そうでなければ 12: digitalwrite(5, 1) /* 白色 LED の点灯 */ 13: delay(1000) 14: digitalwrite(5, 0) /* 白色 LED の消灯 */ 15: を実行する 16: を繰り返す解説 : 6 行目で明るさセンサーの値を light という変数に取り込み その値に応じて 赤色 LED を点灯させるか 白色 LED を点灯させるかを決めている 参考文献 : 山口直希, 中村亮太, 松浦敏雄, 吉田智子 : プログラムによる計測 制御 を学ぶための学習環境の開発, 大阪市立大学大学院創造都市研究科都市情報学専攻電子紀要 情報学, 11 巻, 1 号, pp (2014). LilyPad 研究会のページ ( このテキストで紹介した例題や練習問題には 一部 PEN の開発元である大阪市立大学松浦研究室で作成されたテキストや 上記の論文や LilyPad 研究会のページに含まれるものを使っています 23

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

2.2 LilyPad Development Board LilyPad Arduino[12] は, オープンソースのマイコンボー ド Arduino[13] の一種である. 布地に縫い付けて利用する ことができ, センサーからの入力や LED やモーターなどの アクチュエータへの出力のための部

2.2 LilyPad Development Board LilyPad Arduino[12] は, オープンソースのマイコンボー ド Arduino[13] の一種である. 布地に縫い付けて利用する ことができ, センサーからの入力や LED やモーターなどの アクチュエータへの出力のための部 プログラムによる計測と制御 を学ぶための学習環境の開発と教育実践 ~LilyPad Arduino シミュレータ機能付 PEN を利用して ~ 1 吉田智子 2 中村亮太 2 松浦敏雄 中学校の技術 家庭科の技術分野において プログラムによる計測 制御 が必修項目となっている. 我々の研究グループでは, この学習に選択できる教材の幅を広げるために, 手芸作品作りに使えるマイコンボード LilyPad

More information

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

書式に示すように表示したい文字列をダブルクォーテーション () の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf( 情報処理基礎 ); printf(c 言語の練習 ); printf 情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている

More information

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア 1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとアナログポートを利用し 様々 なセンサーを接続したり デジタルポートの出力により モーターや各種機器をコントロールする

More information

ToDo: 今回のタイトル

ToDo: 今回のタイトル グラフの描画 プログラミング演習 I L03 今週の目標 キャンバスを使って思ったような図 ( 指定された線 = グラフ ) を描いてみる 今週は発展問題が三つあります 2 グラフの準備 値の算出 3 値の表示 これまでは 文字列や値を表示するのには 主に JOptionPane.showMessageDialog() を使っていましたが ちょっとしたものを表示するのには System.out.println()

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

Microsoft PowerPoint - Prog05.ppt

Microsoft PowerPoint - Prog05.ppt 本日の内容 プログラミング言語第五回 担当 : 篠沢佳久櫻井彰人 平成 20 年 5 月 19 日 制御構造 条件式 論理式 ( 復習 ) if 式 繰り返し (1) 無限の繰り返し 1 2 Ruby vs. Excel 浮動小数点数の計算能力は同じ 整数の計算能力は Ruby が上 Ruby なら何桁でも計算できる Excel には 整数計算だけやって! ということができない欠点がある 使いやすさは

More information

PowerPoint Presentation

PowerPoint Presentation プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include

More information

JavaScriptで プログラミング

JavaScriptで プログラミング JavaScript でプログラミング JavaScript とは プログラミング言語の 1 つ Web ページ上でプログラムを動かすことが主目的 Web ブラウザで動かすことができる 動作部分の書き方が C や Java などに似ている 2 JavaScript プログラムを動かすには の範囲を 1. テキストエディタで入力 2..html というファイル名で保存

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

AREF RESET L TX RX ON 12 ~11 ~10 ~9 8 7 ~6 ~5 4 ~3 2 TX->1 RX

More information

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 第 14 回 応用 情報処理演習 ( テキスト : 第 10 章 ) 画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう 特定色の画素の検出 ( テキスト 134 ページ ) 画像データが保存されているファイルを読み込んで, 特定色の画素の位置を検出するプログラムを作成しなさい 元画像生成画像 ( 結果の画像 )

More information

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63> C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う

More information

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の 4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の組み合わせで作れる. ここでは (2) と (3) について扱う. 4.1 分岐処理 4.1.1 if

More information

Taro-テキスト.jtd

Taro-テキスト.jtd 付録 1 実習テキスト Arduinoスケッチプログラミング Arduinoスケッチプログラミング Arduinoスケッチプログラミング 1. 的 作成 : 米田文彦 Arduino アルドゥイーノ の基本構成 機能を理解し 簡単なスケッチ * を行える能力を身につける また パソコンの標準的なキーボードやマウスといった入出力デバイスではなく センサやモータのような物理的な情報を扱える入出力デバイスを用いた制御をすることで

More information

Microsoft Word - SU1202教本(Disp)原稿.docx

Microsoft Word - SU1202教本(Disp)原稿.docx void setup(){ pinmode(9, OUTPUT); void loop(){ digitalwrite(9, HIGH); digitalwrite9,high 9 制限抵抗 A K P 型 N 型 基板 ( 土台 ) + P 型半導体 - N 型半導体 1.2 R(Ω) 1.8 20m 3V digitalwrite(13,high); digitalwrite(13,low);

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

Microsoft Word - SU1203教本(Sens)原稿.docx

Microsoft Word - SU1203教本(Sens)原稿.docx int valsw; // void setup(){ pinmode(13, OUTPUT); pinmode(a4, INPUT_PULLUP); //13 //A4 } void loop(){ valsw = digitalread(a4); if(valsw == 0){ //A4 valsw //valsw } digitalwrite(13, HIGH); //valsw 0LED ------(A)

More information

プログラムの基本構成

プログラムの基本構成 Java 入門 この 2 回 ( 今回と次回 ) が勝負だ! プログラムは自転車の練習と同じだ! 今日の予定先ず プログラムの構造を学び (p.2~6) jcpad でプログラム ( 計算機実習室 ) 戻ってきてプログラムの解読手書きプログラムを TA にみてもらい OK の出た人は計算機実習室でプログラム作成し実行実行結果を TA がチェックして帰り プログラムの基本構成 Step1: 入力 Step2:

More information

プログラミング基礎

プログラミング基礎 C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス

More information

Microsoft Word - Cプログラミング演習(1)_2012

Microsoft Word - Cプログラミング演習(1)_2012 第 1 回 (4/16) 参考書 : [1] B.W. カーニハン,D.M. リッチー著 : プログラミング言語 C 第 2 版 ANSI 規格準拠, 共立出版, 1989 年. [2] 高橋麻奈著 : やさしい C 第 2 版, ソフトバンククリエイティブ, 2003 年. [3] 柴田望洋著 : 新版明解 C 言語入門編, ソフトバンククリエイティブ, 2004 年. [4] 林晴比古著 : 新

More information

みんなの Arduino 入門 課題と演習 本資料は みんなの Arduino 入門 を使っている方々への課題 ( 演習含む ) を参考としてま とめたものです 本書の理解度の確認と今後のステップアップのためにご利用下さい ( 最終更新日 :2014 年 4 月 25 日 ) 株式会社タブレイン T

みんなの Arduino 入門 課題と演習 本資料は みんなの Arduino 入門 を使っている方々への課題 ( 演習含む ) を参考としてま とめたものです 本書の理解度の確認と今後のステップアップのためにご利用下さい ( 最終更新日 :2014 年 4 月 25 日 ) 株式会社タブレイン T みんなの Arduino 入門 課題と演習 本資料は みんなの Arduino 入門 を使っている方々への課題 ( 演習含む ) を参考としてま とめたものです 本書の理解度の確認と今後のステップアップのためにご利用下さい ( 最終更新日 :2014 年 4 月 25 日 ) 株式会社タブレイン T.Takamoto Ph.D. 第 1 章の課題と演習 1) 人間の五感と ICT のセンサーとの違いをまとめて人間の五感が

More information

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

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く 変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 7 回目 switch 文と論理演算子課題 1. 複数の選択肢から 1 つを選択するコードを switch 文で作りなさい 質問と解説は各自で設定しましょう ヒント : 選択肢の番号 1~4 で分岐するように switch 文を用いましょう あなたの好みの色は何色ですか? 1. 赤. 青. 黄 4. 緑 青の好きなあなたは沈着冷静な方です あなたの好みの色は何色ですか?

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

Microsoft PowerPoint - 3.pptx

Microsoft PowerPoint - 3.pptx 条件分岐 ( if 文 ) 第 2 回の講義資料で出題した練習問題や演習問題の計算は, 勿論電卓でもでき, わざわざプログラムを作ってまでするほどの計算ではありませんでした. プログラムによる計算と電卓の計算の きな違いの つが, プログラムには, 条件による処理の分岐, 繰り返しがあることです. まず今回は, 条件による処理の分岐 ( 処理の切り替え と う が適切かもしれません ) の書き について学んでいきます.

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

Taro-テキスト.jtd

Taro-テキスト.jtd 付録 7 実習テキスト Processingスケッチプログラミング Processingスケッチプログラミング Processingスケッチプログラミング 1. 的 作成 : 米田文彦 Processing プロセッシング を使い プログラムによるビジュアル表現を学ぶ また Arduino と連携させ デジタルとフィジカルの融合がどのように行われているのかを知る 2. 使 機器 パソコン Processing

More information

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E >

<4D F736F F F696E74202D F4B87555F A838B B F5F91E63189F12E > プログラミング演習 Ⅱ フィジカルコンピューティング 第 1 回 Arduino をはじめよう 担当 : 橋本 フィジカルコンピューティングとは コンピュータにさまざまな入出力デバイスをつないで実世界との物理的なやりとりを実現する方法 プログラミングと電子工作の融合 電気的な装置をプログラムから操れる! 入力 プログラム 出力 人の活動や物理現象 2 センサとアクチュエータ センサ ( 入力 ) 光センサ

More information

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx

Microsoft PowerPoint - å®�æ−•è©¦é¨fi3ㆮ対ç�Œ.pptx C言語の繰り返し処理 for文と while文と do文 臼杵 潤 0) 準備 変数の加減算 int a, b=10; // a= a = 0; a = a+1; // a= a += 1; // a= // a= a ++; a = a + b; // a= a += b; // a= // a= a --; 下を1行ずつ実行すると それぞれ aの値はどう変わるか 0 1 2 3 13 23 22

More information

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - 4.pptx while 文 (1) 繰り返しの必要性 while の形式と動作 繰り返しにより平 根を求める ( 演習 ) 繰り返しにより 程式の解を求める ( 課題 ) Hello. をたくさん表示しよう Hello. を画面に 3 回表示するには, 以下で OK. #include int main() { printf("hello. n"); printf("hello. n");

More information

Microsoft Word - no103.docx

Microsoft Word - no103.docx 次は 数える例です ex19.c /* Zeller の公式によって 1 日の曜日の分布を求めるプログラム */ int year, month, c, y, m, wnumber, count[7] = {0, i; for(year = 2001; year

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

More information

Microsoft Word - no11.docx

Microsoft Word - no11.docx 3. 関数 3.1 関数関数は数学の関数と同じようなイメージを持つと良いでしょう 例えば三角関数の様に一つの実数値 ( 角度 ) から値を求めますし 対数関数の様に二つの値から一つの値を出すものもあるでしょう これをイメージしてもらえば結構です つまり 何らかの値を渡し それをもとに何かの作業や計算を行い その結果を返すのが関数です C 言語の関数も基本は同じです 0 cos 1 cos(0) =

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

More information

Prog1_6th

Prog1_6th 2012 年 5 月 24 日 ( 木 ) 実施 多分岐のプログラム 前回は多段階の 2 分岐を組み合わせて 3 種類以上の場合分けを実現したが, 式の値の評価によって, 一度に多種類の場合分けを行う多分岐の利用によって見通しのよいプログラムを作成できる場合がある ( 流れ図は右図 ) 式の評価 : 値 1 : 値 2 : 値 n : 該当値無し 処理 1 処理 2 処理 n 既定の処理 switch

More information

Microsoft Word - SU1204教本(Driver)原稿.docx

Microsoft Word - SU1204教本(Driver)原稿.docx void setup(){ pinmode(13, OUTPUT); //13 void loop(){ digitalwrite(13, HIGH); //13 HIGH delay(500); digitalwrite(13, LOW); //13 LOW delay(500); setup pinmode loop delay C M B void setup(){ pinmode(12,output);

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション Excel VBA の基本 1 VBA Visual Basic for Applications Office シリーズに搭載されているプログラミング言語 マクロを作成するために使われる 1 プログラミングとは 人間の意図した処理を行うようにコンピュータに指示を与えること セル A1 の内容をセル B1 にコピーしなさいセル A1 の背景色を赤色にしなさいあれをしなさいこれをしなさい 上から順番に実行

More information

スライド 1

スライド 1 グラフィックスの世界第 3 回 サイバーメディアセンター サイバーコミュニティ研究部門安福健祐 Processing によるアニメーション setup と draw void setup() size(400, 400); void draw() ellipse( mousex,mousey,100,100); void とか setup とか draw とかはじめて見る が出てきてややこしい ellipseは円描く関数でした

More information

Prog1_2nd

Prog1_2nd 2019 年 10 月 3 日 ( 木 ) 実施浮動小数点数 Java 言語で実数を扱う場合, 実用的な計算には変数のデータ型としては,double 型を用いる 浮動小数点数とは, 実数を表す方式の一つで,2 進数の場合は例えば 1.101 2 3 ( 判り易さの為にここでは 2 や 3 は 10 進数で表記 ) の様な表記法である なお, 第 1 回の教材にあった, 単精度, 倍精度という用語で,

More information

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは 400 200 と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2 for 文を用いて図 3 の様な図形を描くプログラムを作成せよ 但し ウィンドウのサイズは 300 300

More information

Microsoft Word - SU1201MotorDriverSheildManual.doc

Microsoft Word - SU1201MotorDriverSheildManual.doc モータードライバーシールドスタートマニュアル はじめにはじめにモータードライバーシールド (SU-1201) は Arduino によって動作させることを前提としています このマニュアルでは モータードライバーシールドを動かすときの具体的な設定や サンプルプログラムについて解説しています 対応する Arduino 2012 年 9 月 1 日現在 Arduino 基板 : Duemilanove UNO(R3)

More information

Microsoft PowerPoint - C1(演算と変数).ppt

Microsoft PowerPoint - C1(演算と変数).ppt C 言語プログラミング 式の計算と変数 配列の概念 50 人の生徒の点数の平均点, 最高点 最低点を求めるプログラム ( センター入試 23 年度数学 2 情報関係基礎 第 3 問 ) (01) sowa 0, saiko 0, saitei 100 代入文 : 変数に値を代入 ( 格納 ) する (02) 配列 TNin のすべての要素を 0 にするための文 (03) bango を 1 から 50

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

情報システム設計論II ユーザインタフェース(1)

情報システム設計論II ユーザインタフェース(1) プログラミング演習 (3) 変数 : 計算とアニメーション 中村, 高橋 小林, 橋本 1 目標 Processing で計算してみよう Processing でアニメーションしよう 計算の方法を理解する 変数を理解する 課題 : Processing でアニメーションしよう! 計算してみよう 地球の半径は 6378.137km. では, 地球 1 周の距離はどれくらいになるでしょうか? println(

More information

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

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

More information

Microsoft PowerPoint - kougi2.ppt

Microsoft PowerPoint - kougi2.ppt C プログラミング演習 第 2 回 Microsoft Visual Studio.NET を使ってみよう 説明 例題 1. プログラム実行の体験 コンピュータを役に立つ道具として実感する 次ページのプログラムを使って, Microsoft Visual Studio.NETでの C++ ソースファイル編集, ビルド, テスト実行の一連の過程を体験する 例題 1 のプログラムの機能 計算の繰り返し

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,

More information

Microsoft PowerPoint - lec4.ppt

Microsoft PowerPoint - lec4.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 最大公約数の計算例題 2. 自然数の和 while 文例題 3. フィボナッチ数列例題 4. 自然数の和 for 文例題 5. 九九の表繰り返しの入れ子 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も, 見やすいプログラムを書くために,

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2017 年 5 月 15 日 東邦大学金岡晃 前回の復習 (1) このプログラムを作成し実行してください 1 前回の復習 (2) このプログラムを作成し実行してください 2 前回の復習 (3) 3 前回の復習 演算子 代入演算子 インクリメント シフト演算子 型変換 4 場合に応じた処理 5 こういうプログラムを作りたい 5 教科のテスト

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

Microsoft Word - Scratch編_プログラム見本-Web用.docx

Microsoft Word - Scratch編_プログラム見本-Web用.docx 中学校技術 家庭 [ 技術分野 ] 教授用資料 やってみようプログラミング 補助資料 -Scratch 編 - p5 スプライトをダンスさせるスクリプト Scratch は MIT メディア ラボのライフロング キンダーガルテン グループによって開発されました 詳しくは http://scratch.mit.edu をご参照ください p5 Challenge 新しい音を読み込んだり, 録音したり,

More information

データ構造

データ構造 アルゴリズム及び実習 7 馬青 1 表探索 定義表探索とは 表の形で格納されているデータの中から条件に合ったデータを取り出してくる操作である 但し 表は配列 ( 連結 ) リストなどで実現できるので 以降 表 の代わりに直接 配列 や リスト などの表現を用いる場合が多い 表探索をただ 探索 と呼ぶ場合が多い 用語レコード : 表の中にある個々のデータをレコード (record) と呼ぶ フィールド

More information

kantan_C_1_iro3.indd

kantan_C_1_iro3.indd 1 章 C# の学習を始める前に プログラムの 01 基本 Keyword プログラムプログラミング言語 プログラムとは プログラムとは コンピューターへの命令の集まりです 学校の先生が プリントを持ってきて と生徒に指示した場合を考えてみましょう 先生をプログラマー ( プログラムの作成者 ) 生徒をコンピューターとしたとき プリントを持ってきて という指示がプログラムです 人間とは違い コンピューターは曖昧な指示を理解できません

More information

Microsoft Word - VBA基礎(6).docx

Microsoft Word - VBA基礎(6).docx あるクラスの算数の平均点と理科の平均点を読み込み 総点を計算するプログラムを考えてみましょう 一クラスだけ読み込む場合は test50 のようなプログラムになります プログラムの流れとしては非常に簡単です Sub test50() a = InputBox(" バナナ組の算数の平均点を入力してください ") b = InputBox(" バナナ組の理科の平均点を入力してください ") MsgBox

More information

講習会 Arduino

講習会  Arduino 講習会 Arduino 6 回目 タイマー ( 時間の関数 ) 目的 時間に関する関数を覚え プログラムの制御に使う タイマー割込みを知る 制御をするときにセンサー等の外部入力以外にも時間で制御したい時があるかもしれない 例えば一定の間隔をあけてから制御したい場合や制御してからある時間以内ではこの制御 過ぎてからはこの制御をしたいなど 時間に関する関数を紹介する 時間による割り込みを入れることにより正確な計測を行うことができる

More information

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw ものづくり基礎工学 情報工学分野 前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw ディップスイッチ getdipsw スイッチの状態によって関数の戻り値が変わる

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 2 第 03 回 (2007 年 05 月 07 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること hp://www.nlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 07 日分と書いてある部分が 本日の教材です 本日の内容

More information

ガイダンス

ガイダンス 情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある

More information

3-4 switch 文 switch 文は 単一の式の値によって実行する内容を決める ( 変える ) 時に用いる 例えば if 文を使って次のようなプログラムを作ったとする /* 3 で割った余りを求める */ #include <stdio.h> main() { int a, b; } pri

3-4 switch 文 switch 文は 単一の式の値によって実行する内容を決める ( 変える ) 時に用いる 例えば if 文を使って次のようなプログラムを作ったとする /* 3 で割った余りを求める */ #include <stdio.h> main() { int a, b; } pri 3-4 switch 文 switch 文は 単一の式の値によって実行する内容を決める ( 変える ) 時に用いる 例えば if 文を使って次のようなプログラムを作ったとする /* 3 で割った余りを求める */ int a, b; b = a % 3; if (b== 0) printf( %d は 3 で割り切れます n, a); if (b == 1) printf( %d を 3 で割った余りは

More information

Microsoft Word - 415Illustrator

Microsoft Word - 415Illustrator 15.1 ベクトル画像とビットマップ画像 ベクトル画像とビットマップ画像の違い 第 15 章描画の取り扱い コンピュータグラフィックスで扱う画像は大きく分けて ベクトル画像とビットマップ画像に分ける事ができます ベクトル画像はドロー系画像あるいは描画とも呼ばれています この二種類の画像は共に画像データの表現方法を表していますが根本的に異なるものです そのため 双方の特徴を踏まえた上で利用する必要があります

More information

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド メソッド ( 教科書第 7 章 p.221~p.239) ここまでには文字列を表示する System.out.print() やキーボードから整数を入力する stdin.nextint() などを用いてプログラムを作成してきた これらはメソッドと呼ばれるプログラムを構成する部品である メソッドとは Java や C++ などのオブジェクト指向プログラミング言語で利用されている概念であり 他の言語での関数やサブルーチンに相当するが

More information

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 8 3. プロフィール画像の登録 まとめ 27 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Word 2013( テキスト内では Word と記述します ) Internet Explorer 11 画面の設定( 解像度 ) 1024 768 ピクセル テキスト内の解説で利用しているマイクロソフト社の Web メールサービス Outlook.com については 2014 年 9 月時点で提供している内容にもとづいています

More information

Microsoft Word - no202.docx

Microsoft Word - no202.docx 1.4 ポインタと配列 ポインタ変数は前回説明したように 値の入っているアドレスを示す変数です では 配列はどの ようにメモリ上に格納されるか調べてみましょう ex07.c /* ポインタと配列の関係 */ int a[3]={1, 2, 3; /* int 型の大きさ 3 の配列として宣言 */ int *i; /* int 型へのポインタとして宣言 */ double x[3] = {1.0,

More information

Microsoft PowerPoint - class04.ppt

Microsoft PowerPoint - class04.ppt フローチャート フローチャートとは プログラムの処理の流れを整理し 図的に順序立てて描いたもの 流れ図流れ図ともいう 例 : 始め 半径 R 端子 : 開始 終了 停止などを示す 手操作入力 : キーボードなどから手で操作して入力することを示す 面積 S πr 2 処理 : あらゆる種類の処理を示す S 終わり 表示 : ディスプレイ表示を示す このようにフローチャートでは 記号形状自体が処理の意味を示している

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

情報プリント パソコンプログラミング

情報プリント パソコンプログラミング 修正試運転 Project Editor のメニューから [ ベーシック ] [ デバッグ ] を選択する 情報プリントパソコンプログラミング [p1] Ⅰ. プログラミング言語 Active Basic Ver2.6 を用いたプログラム開発の概要 1Basic とは Beginner's All-purpose Symbolic Instruction Code の略で 1964 年ダートマス大学で大型コンピュータの教育用言語として開発された

More information

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること

今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順

More information

DCモータの制御

DCモータの制御 Arduino の紹介 京都大学防災研究所技術室 中川潤 目次 はじめに Arduino とは DC モーターの制御 振動台模型の活用 センサーの液晶表示 センサー液晶表示の活用 おわりに 参考文献 はじめに 目的 Arduino の簡単な使い方を学んでもらい 業務に役立てるきっかけにする Arduino が実際にどんなものに使用できるかイメージをつかんでもらう Arduino とは マイコンを使った開発ボードである

More information

Prog1_3rd

Prog1_3rd 2019 年 10 月 10 日 ( 木 ) 実施 プログラムの制御構造 1960 年代後半にダイクストラが提唱した構造化プログラミングという考え方では, 手続き型のプログラムを記述する際には, 順次, 選択, 反復という標準的な制御構造のみを用い, 先ずプログラムの概略構造を設計し, その大まかな単位を段階的に詳細化して処理を記述していく 順次構造順次構造とは, プログラム中の文を処理していく順に記述したものである

More information

第 1 節 関数とは 関数とは 与えられた文字や数値に対し 定められた処理を行って結果を返す命令のことです 例えば パンをホームベーカリーで作るには 最初に材料となる小麦粉などを入れ 次いでドライイースト 最後に水を入れるという順序があります そして スタートボタンを押すとパンが完成します ホームベ

第 1 節 関数とは 関数とは 与えられた文字や数値に対し 定められた処理を行って結果を返す命令のことです 例えば パンをホームベーカリーで作るには 最初に材料となる小麦粉などを入れ 次いでドライイースト 最後に水を入れるという順序があります そして スタートボタンを押すとパンが完成します ホームベ 第 5 回 Excel 関数 141 第 1 節 関数とは 関数とは 与えられた文字や数値に対し 定められた処理を行って結果を返す命令のことです 例えば パンをホームベーカリーで作るには 最初に材料となる小麦粉などを入れ 次いでドライイースト 最後に水を入れるという順序があります そして スタートボタンを押すとパンが完成します ホームベーカリーは関数 材料などを投入する順序は命令 パンはその命令の結果に当たります

More information

Microsoft PowerPoint - prog04.ppt

Microsoft PowerPoint - prog04.ppt プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容

More information

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和 入出力処理 三池克明 関数 printf() と新たに学ぶ関数 scanf() を使ってデータの入出力処理を解説します 特に scanf() は対話式プログラム ( ユーザーに操作を促すプログラム ) を作るうえで重要です 目次 1. 関数 scanf()... 1 1.1. 2 整数の和を求める...1 1.2. 入力した文字を得る...3 2. 入出力処理と計算... 4 2.1. 2 整数の商を求める...4

More information

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ 8 タイマ割り込みを使ってみよう割り込み (Interrupt) とは, 言葉の意味の通り, ある作業中に割り込むことである. マイコンにおいてはとても重要な機能の一つである. 例えば, インスタントカップ麺にお湯を入れて 3 分間待ってから食べることを想像してみよう. お湯を入れてカップ麺ができるまでの 3 分間, 時計の針だけを見つめ続けて, 他には何にもせずに待ち続ける人はほとんどいないだろう.

More information

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード]

Microsoft PowerPoint P演習 第10回 関数.ppt [互換モード] プログラミング演習 (10) 関数 中村, 橋本, 小松, 渡辺 1 目標 Processing で関数に挑戦! 機能をどんどん作ってみよう! 円とか四角形だけじゃなくて, 色々な図形描画を関数にしてしまおう! 判定も関数で! 関数 背景を塗りつぶす : background( 色 ); 円を描く : ellipse(x 座標, y 座標, 縦直径, 横直径 ); 線を描く : line( x1,

More information

プログラミングA

プログラミングA プログラミング A 第 5 回 場合に応じた処理 繰り返し 2019 年 5 月 13 日 東邦大学金岡晃 場合に応じた処理 1 こういうプログラムを作りたい 5 教科のテスト 100 点以上各科目の点数の合計が 100 点未満 おめでとう! これで 100 点越えのプレゼントを獲得! というメッセージを出力 残念!100 点越えのプレゼントまであと ** 点! というメッセージを出力 5 教科の点数の合計が

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

フィルタとは

フィルタとは フィルタコマンドの使い方 フィルタとは? 一般的にはフィルタとは, 与えられたものの特定成分を取り除いたり, 弱めたりする機能を持つものをいう ( コーヒーのフィルタ, レンズのフィルタ, 電気回路のフィルタ, ディジタルフィルタなど ). Unix では, 入力されたデータを加工して出力するプログラム ( コマンド ) をフィルタと呼ぶ. ここでは,Unix の代表的なフィルタコマンドとして次のものを取り上げる.

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの

More information

C#の基本2 ~プログラムの制御構造~

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや PowerPoint で楽しむムービー作成講座 第 1 回 アニメーションの仕組みとタイトル作成 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft PowerPoint 2010( テキスト内では PowerPoint と記述します ) 画面の設定 ( 解像度 ) 1024 768 ピクセル 本テキストは 次の環境でも利用可能です Windows

More information

データ構造

データ構造 アルゴリズム及び実習 9 馬青 1 文字列の探索 文字列探索 (string searching) は文字列照合 (string pattern matching) ともいう テキストと呼ばれる文字列の中に パターンと呼ばれる文字列に一致する部分があるかどうかを調べる問題である そのような部分が見つかった場合には その場所を答えとする テキストエディターにおける探索コマンドやテキストデータベースにおける検索などに使われる

More information

Studuinoライブラリ環境設定Mac編

Studuinoライブラリ環境設定Mac編 Studuino ライブラリセット 環境設定手順書 Mac 編 本資料は Studuino ライブラリのセットアップ手順書になります 以下の作業の前に 本資料を参考に Arduino 言語開発環境を設定して下さい Arduino 言語で加速度センサーを制御する Studuino プログラミング環境で Arduino 言語に変換したソースを編集する もくじ 1. Arduino IDE のインストール...

More information

Microsoft Word - Cプログラミング演習(3)

Microsoft Word - Cプログラミング演習(3) 第 3 回 (5/7) 5. ループ ( 繰り返し ) 1 for 文 例題 1-15 正の数 n をキーボードから入力すると,1 から n までの整数の和を出力するプログラムをつくりなさい 出力結果 1-15 2 以上の整数を入力してください! 357 1 + + 357 = 63903 考え方合計を保持する変数を long 型で宣言し, 入力した数値 n までループ処理で累積する 正しい数値が入力されたとき

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer

More information

計算機プログラミング

計算機プログラミング プログラミング言語 C 第 8 講 システム標準関数 ( 入出力関数 ) システム標準関数 システムに備え付けの関数 例 ) printf( ); scanf( ); 標準出力関数 標準入力関数 A. 入出力用の関数 高水準入出力関数 高水準言語 (OS に依存しない ) 低水準入出力関数 機械語レベル (OS に依存 ) B. それ以外の関数 引数と関数の型 ( 戻り値 ) に注目しましょう 例

More information

ゲームエンジンの構成要素

ゲームエンジンの構成要素 cp-3. 計算 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 自由落下距離四則演算例題 2. 三角形の面積浮動小数の変数, 入力文, 出力文, 代入文例題 3. sin 関数による三角形の面積ライブラリ関数 2 今日の到達目標 プログラムを使って, 自分の思い通りの計算ができるようになる

More information

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^ この節では GeoGebra を用いて関数のグラフを描画する基本事項を扱います 画面下部にある入力バーから式を入力し 後から書式設定により色や名前を整えることが出来ます グラフィックスビューによる作図は 後の章で扱います 1.1 グラフの挿入関数のグラフは 関数 y = f(x) を満たす (x, y) を座標とする全ての点を描くことです 入力バーを用いれば 関数を直接入力することが出来 その関数のグラフを作図することが出来ます

More information

Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint - prog08.ppt プログラミング言語 2 第 07 回 (2007 年 06 月 25 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/27 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 06 月 25 日分と書いてある部分が 本日の教材です

More information

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード] if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに =

More information

Microsoft PowerPoint - while.ppt

Microsoft PowerPoint - while.ppt 本日の内容 繰り返し計算 while 文, for 文 例題 1. 自然数の和例題 2. 最大公約数の計算例題 3. ベクトルの長さ while 文例題 4. 九九の表 for 文と繰り返しの入れ子例題 5. ド モアブルの公式計算誤差の累積 今日の到達目標 繰り返し (while 文, for 文 ) を使って, 繰り返し計算を行えるようになること ループカウンタとして, 整数の変数を使うこと 今回も,

More information

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System   操作説明ビデオなどは 高校 情 マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System http://www.sgpsys.com/en/ 操作説明ビデオなどは 高校 情報科 の教材 指導案作ってみました http://www.beyondbb.jp/ Zip の教材内に入っています

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n を入力してもらい その後 1 から n までの全ての整数の合計 sum を計算し 最後にその sum

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

More information

Sample 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows

Sample 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) ピクセル 本テキストは 次の環境でも利用可能です Windows 本テキストの作成環境は 次のとおりです Windows 7 Home Premium Microsoft Excel 2010( テキスト内では Excel と記述します ) 画面の設定( 解像度 ) 1024 768 ピクセル 本テキストは 次の環境でも利用可能です Windows 7 Home Premium 以外のオペレーティングシステムで Microsoft Excel 2010 が動作する環境

More information

PowerPoint Presentation

PowerPoint Presentation マイコンシステム 第 12 回 青森大学ソフトウェア情報学部 橋本恭能 haship@aomori-u.ac.jp 目次 講義 内部設計 3 Deviceタブ Actionタブの関数実装 例題 定義した機能を実現する方法を検討する 課題 動作確認 2 講義 内部設計 3 残りの関数を実装 3 組込みシステム開発 週テーマ内容 7 キッチンタイマーの組立キッチンタイマーのハードを製作 確認 8 9 10

More information