基礎プログラミング演習 第7回 繰り返し.

Slides:



Advertisements
Similar presentations
プログラミング Ⅱ 第2回 第1回(プログラミングⅠの復 習) の解説. プログラムの作り方 いきなり完全版を作るのではなく,だんだ んふくらませていきます. TicTa cToe1.
Advertisements

情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
初年次セミナー 第8回 データの入力.
プログラムのパタン演習 解説.
プログラミング入門 電卓番外編 ~エクセルで関数表示~.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
プログラミング基礎I(再) 山元進.
情報理論2 注意!! 11月26日(火)は休講 (小林が学会出張のため) 湘南工科大学情報工学科 准教授 小林 学 湘南工科大学
プログラミング言語としてのR 情報知能学科 白井 英俊.
JavaScriptゼミ第2回 2-2 変数とリテラル 発表者 直江宗紀.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
演習00-0 “Hello,world![改行]”を表示するプログラムを作成せよ. 1 1.
プログラミングができるようになるには…. 一週間に1回では無理! 自分の力でできるだけがんばる
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
プログラミング基礎I(再) 山元進.
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
C言語 配列 2016年 吉田研究室.
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
第6章 2重ループ&配列 2重ループと配列をやります.
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
第7回 条件による繰り返し.
基礎プログラミング演習 第10回.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング序論 2. n人のインディアン.
基礎プログラミング演習 第5回 関数とイベントを使ったプログラム.
第7回 条件による繰り返し.
情報とコンピュータ 静岡大学工学部 安藤和敏
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
2016年度 植物バイオサイエンス情報処理演習 第6回 情報処理(4) データを加工する・2
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
基礎プログラミング演習 第12回.
プログラミングⅠ 平成31年1月7日 森田 彦.
情報基礎演習I(プログラミング) 第11回 7月12日 水曜5限 江草由佳
C言語 はじめに 2016年 吉田研究室.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
統計ソフトウエアRの基礎.
基礎プログラミング演習 第6回.
基礎プログラミング演習 第3回.
プログラミングⅡ 第2回.
プログラミング入門 電卓を作ろう・パートI!!.
アルゴリズムとプログラミング (Algorithms and Programming)
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
ウェブデザイン演習 第6回.
精密工学科プログラミング基礎 第7回資料 (11/27実施)
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
情報処理Ⅱ 第7回 2004年11月16日(火).
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
モバイルプログラミング第2回 C言語の基礎 (1).
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
情報処理Ⅱ 2005年11月25日(金).
プログラミング1 プログラミング演習I 第2回.
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
情報処理技法(Javaプログラミング)1 第8回 同じ処理を何回も繰り返すには?
Presentation transcript:

基礎プログラミング演習 第7回 繰り返し

今日の目標 繰り返しを使ったプログラムを書けるようになる while文(とfor文)を書けるようになる 繰り返しの繰り返し(繰り返しの入れ子)を使ったプログラムを書けるようになる

繰り返しを勉強する前に・・(1) 練習問題08-1をやってみましょう var x = 3; //変数xに3を代入する x = x + 1; //変数xの値を1増やす x の値はどうなるか?

繰り返しを勉強する前に・・(2) デバッガを使う 練習問題08-2

繰り返しを勉強する前に・・(3) 変数を使ってHTMLの属性を変化させる 練習問題08-3(練習問題07-6の応用)

繰り返しを勉強する前に・・(4) 練習問題08-4 document.getElementById(‘biscuit’).innerHTML; は、id=‘biscuit’で指定された<ul>タグの要素、即ち、<li>ポケットを~</li>を取得する(1行目) それを、変数xに連結したものを変数xに代入(3行目)するので、xには<li>タグが2つ(<li>・・・</li><li>・・・</li>)代入される そいつを<ul>タグの要素(getElementById(‘biscuit’).innerHTML)に代入するので、HTMLファイルの<li>タグが結果として一つ増える(箇条書きが一つ増える)

繰り返し(1) 数を一つずつ増やしながらブラウザに出力するには? <script type="text/javascript"> document.write("0 <br />"); document.write("1 <br />"); document.write("2 <br />"); document.write("3 <br />"); document.write("4 <br />"); document.write("5 <br />"); document.write("6 <br />"); document.write("7 <br />"); document.write("8 <br />"); document.write("9 <br />"); document.write("10 <br />"); </script>

繰り返し(2) 繰り返し文を使うと楽 コンピュータは繰り返しが得意 条件式が成り立つ間処理を繰り返す

繰り返し(3) 繰り返し文(while文)を使って書くと・・・ <script type="text/javascript"> var i = 0; //変数iの初期値を0にする while(i <= 10){ //iが10以下ならば、{}内を順番に実行 document.write(i + “<br />”); //iの値と改行を連結して表示 i = i + 1; //iの値を1増やす } </script> ・変数名は何を使ってもよい。iの変わりにxと書いても同じ ・変数の初期値を必ず決めること ・条件式の書き方はif文と同じ ・i=i+1はiの値を1つ増やすという意味 ・条件が成立しなければ(偽ならば)while文のループから抜ける({}内は実行しない)

繰り返し(4) いろいろな例(どのような実行結果になるか予想せよ) var i = 0; while(i < 100){ document.write(i + “<br/>”); i = i + 10; } var i = 0; while(i > 100){ document.write(i + “<br/>”); } while(i < 10){ var i = 100; while(i > 10){ document.write(i + “<br/>”); i = i – 5; }

繰り返し(5) for文(while文と等価、少し短く書ける) <script type="text/javascript"> for(var i=0 ; i<=10 ; i=i+1){ document.write(i + "<br />"); } </script> ・変数の初期化、条件式、変数の値の増加を()内にまとめて書ける。 ・while文とfor文両方とも書けるようになること

練習問題1 helloという文字列を50個表示するプログラムを作れ(while文、for文両方のバージョンを作ること) 上記のプログラムを修正して、0,2,4,8・・のように0から100までの偶数を表示するようにせよ。改行すること。 同様に100までの奇数を表示するようにせよ 同様に100までの3の倍数を表示するようにせよ(%を使う) 1から100までの数を表示しなさい。ただし3で割り切れる場合はFIZZを、5で割り切れる場合はBUZZを、両者で割り切れる場合はFIZZBUZZを、数字の代わりに表示するようにしなさい。改行すること。

練習問題1 6. 一日目は100円、二日目は200円、三日目は400円・・・というように毎日前日の倍額を貯金するとする。この時、貯金総計が100万円を越える日を下記の実行結果のように表示させるプログラムを書け(ひんと:日と合計金額を記憶する変数をそれぞれ作り、初期値に注意すること)

繰り返しの入れ子(1) 右下のような出力結果を得たい document.write(“P”);を10回繰り返せば横一列を描ける 10回繰り返したら改行し、・・・ ・・・以上を10回繰り返す

繰り返しの入れ子(2) スタート 条件1 F T 条件2 F T 処理 終了

繰り返しの入れ子(3) while文やfor文は入れ子にすることができる <script type="text/javascript"> var i = 0; while(i < 10){ var j = 0; while(j < 10){ document.write("P"); j = j + 1; } document.write("<br />"); i = i + 1; </script> ・外側のループが一周する度にjの値が0にリセットされている点に注意 実行結果

練習問題2 先ほどのプログラムを改良して、以下のような模様を描くプログラムを作れ(ヒント:割り算の余りを求める%を使った条件分岐(if文)を使い、2で割り切れれば一方の模様を、割り切れなかったら他方の模様を表示する) 模様は適宜変えてよい(’や”等の特殊文字を使う場合は直前に\を付けてエスケープシーケンスすること)

innerHTML(1) 例えば、以下のような実行結果を得たい場合、document.write();ではうまくいかない 後から出力する内容を変えたい場合、innnerHTMLを用いる(詳細は教材参照)

innerHTML(2) <script type="text/javascript"> function sfc(){ //ボタンがクリックされたら実行される関数 var n = document.getElementById(‘form1’);//フォームと変数nをひもづける //<div>で確保した描画領域と変数ansをひもづける var ans = document.getElementById('answerArea'); var i = 0; //繰り返しのカウンタ用変数(初期値は0) while(i < n.value){ //iがフォームに入力された値未満の場合以下を繰り返す ans.innerHTML += “SFC <br />”; //描画領域に文字列とHTMLを代入 i = i + 1; //iの値を1増やす } </script> <form> <input type=“text” id=“form1”> //フォームの設置 <input type=“button” value=“OK” onclick=“sfc()”> //ボタンの設置 </form> <div id=“answerArea”></div> //描画領域を確保してidをつけておく

練習問題3 繰り返しの入れ子とinnerHTMLを使って以下のような実行結果を得るプログラムを作れ

配列(1) 変数名は1つのまま、それに番号をつけて複数の値を記憶できるようにしたもの 変数が一軒家とすれば、アパート(ただし、部屋番号は0から始まる)

配列(2) 配列の生成方法 var name = [“佐藤”, “田中”, “鈴木”, “加藤”]; 配列の参照 var n = 3; インデックスは0から始まるので注意 var n = 3; document.write(name[n]); 「加藤」と出力される 配列名    要素

配列(3) for文と組み合わせることが多い var array = ["佐藤", "鈴木", "田中", "渡辺", "伊藤", "山本"];   var i; for (i = 0; i < array.length; i++) {   document.write(i + “番目: ” + array[i] + “<br />"); } *配列名.lengthは配列の要素数を表す。この場合は、6