配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題

Slides:



Advertisements
Similar presentations
山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
Advertisements

多重ループ 繰り返し構造:補足事項 第8回[平成16年6月8日(火)]:PN0 4ー08. ppt 1 繰り返し構造(for)の復習 2 演算子の復習 3 多重ループ 4 繰り返し構造の補足:break文、 continue 文 5 その他(プログラムの要素と書式) 6 演習 今日の内容.
プログラミング演習( 2 組) 第 9 回
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
初年次セミナー 第8回 データの入力.
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
配列(2) 第10回目 [6月22日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)課題
ループで実行する文が一つならこれでもOK
プログラミング演習(1組) 第7回
関数(1) 第11回 [6月29日、H.16(‘04)] 今日のメニュー 1 前回の課題 2 前回の宿題 3 いろいろな関数の演習 4 課題
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
プログラミング基礎I(再) 山元進.
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
プログラミングができるようになるには…. 一週間に1回では無理! 自分の力でできるだけがんばる
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
6/26 前回復習 for文、while文による繰り返し計算
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
プログラミング基礎I(再) 山元進.
最終回 総合演習 第13回目 [7月17日、H.15(‘03)] 本日のメニュー 1)総合演習課題 2)過去の試験問題 3)試験について
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
プログラミング序論演習.
C言語 配列 2016年 吉田研究室.
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月6日、H.16(‘04)] 今日のメニュー 1 前回の課題の復習
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
選択構造と条件判断 第5回目 [5月18日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)構造化プログラム(選択構造)
第7回 条件による繰り返し.
最終回 総合演習 第13回目 [7月13日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)総合演習課題
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
プログラミング演習(2組) 第8回
プログラミング序論 2. n人のインディアン.
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
プログラミング演習(’04) ・ガイダンス ・簡単なプログラムの作成 ・aucopyの練習 ・今日の課題・宿題
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
プログラミング序論演習.
知能情報工学演習I 第11回( C言語第5回) 課題の回答
プログラミングⅡ 第2回.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
プログラミング基礎a 第4回 C言語によるプログラミング入門 条件判断と反復
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
精密工学科プログラミング基礎 第7回資料 (11/27実施)
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
~sumii/class/proenb2009/ml6/
プログラミング基礎演習 第4回.
ループだよ! 第7章 for(ループ応用);.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
モバイルプログラミング第2回 C言語の基礎 (1).
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
知能情報工学演習I 第11回(後半第5回) 課題の回答
情報処理Ⅱ 第3回 2004年10月19日(火).
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
Presentation transcript:

配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題 プログラミング演習('04) 2018/10/12 第9回目 [6月15日、H.16(‘04)] 配列(1) 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題 PE04-09.ppt PE04-09.ppt

プログラミング演習('04) 2018/10/12 前回の課題 ファイル名は en8-****.c 教科書の List 4-17、4-18、4-19を良く復習してから、次の各演習を順に処理するプログラムを字下げに注意して作れ。スタイルも評価対象とする。  ・演習4-16、演習4-17(80頁)、  ・演習4-18(81頁) 提出はいつもと同様、リスト印刷とファイル転送 ファイル名の **** は学籍番号の二桁目と下3桁 例:学生番号 034987 ならば xxx-3987.c PE04-09.ppt

縦長・横長の四角形の表示 /* hen1, hen2 に値を入力する*/ if( hen1 > hen2 ) { tate=hen1; yoko=hen2; } else { tate=hen2; yoko=hen1; } for ( i=1; i<=tate; i++) { for ( j=1; j<=yoko; j++) putchar('*'); putchar('\n'); } < *** *** *** *** *** ***** ***** *****

三角形・逆三角形の表示 /* ln に段数を入力する*/ for ( i=1; i<=ln; i++ ) { for ( j=1; j<=i; j++) putchar('*'); putchar('\n'); } i=ln; i>=1; i-- i=1; i>=ln; i++ i=ln; i>=1; i-- for ( j=1; j<=ln-i; j++) putchar(' '); * ** *** **** **** *** ** *     *    **   ***  ****  ****   ***    **     *

ピラミッドの表示 /* dan に段の値を入力する*/ for ( i=1; i<=dan; i++) { for ( j=1; j<=dan-i; j++) putchar(' '); for ( j=1; j<=2*i-1; j++) putchar('*'); putchar('\n'); } * *** ***** *******

課題の提出について ・*がいっぱい出力される。 無限に出力される → 無限ループになっている。     → 無限ループになっている。  for(初期設定式;継続条件式;再設定式) で、 継続条件式の書き方がおかしい     不等号の向きが逆、式の間違え ・入力した二つの値の大小関係を調べていない ・縦長、横長が逆になっている → 横長にする ・三角形の上下が逆 → 画面上側を直角にする ・ピラミッドが右(左)側半分しか出力されない ・段数や*の数が多すぎる、少なすぎる。余分なスペースがある。段がずれている。

前回の宿題 ファイル名は hw8-****.c ◎前回の宿題の発展問題 プログラミング演習('04) ファイル名は hw8-****.c 2018/10/12 前回の宿題 条件を満足する整数は、 6 28 ???? ???? ◎前回の宿題の発展問題 整数 n を順に変えて、約数の和が n のちょうど2倍となるような整数を4つ見つけ出せ。 6の約数は 1 2 3 6 であるから、  1+2+3+6 = 12 → 2x6 28の約数は 1 2 4 7 14 28 であり、  1+2+4+7+14+28 = 56 → 2x28 締め切り: 6月12日(土) 午後1時 リストの提出は、オープン利用室のレポート入れ aucopy でのファイル転送フォルダーは、 [森下伊三男]-[プログラミング演習] PE04-09.ppt

int n, m, sum; /* 4個の完全数を求める */ for ( n=1; n<=10000; n++) { /* 4個の完全数を求める  */ for ( n=1; n<=10000; n++) { sum = 0; for ( m=1; m<=n; m++) if ( n % m == 0 ) sum += m; if ( 2*n == sum ) printf(" %d ",n); } 初期値の代入を 忘れない! 約数の合計 を計算する この方法では、 4個目が10000以上だと求まらない! 約数の合計が n の2倍 かどうかを チェックする 6 28 496 8128

int n=1, m, cnt=0, sum; do { /* 別解(forを用いない) */ sum = 0; for ( m=1; m<=n; m++) if ( n%m == 0 ) sum += m; if ( 2*n == sum ) { printf(" %d ",n); cnt++; } n++; } while ( cnt <= 3 );

宿題の提出について ・無限ループ、5個目探し → 4個求めたら停止する ・繰り返す範囲の間違え → インデンテーション → 複合文 {   } を適切に使う ・宿題の提出者数が少ない。 ・探す上限を10000にしてしまった。 ・個数の数え方が問題:毎回 0 に初期化している ・うまくプログラムを作るには、 → 全体の流れを、まず、言葉で紙に書いてみる → それぞれの部分をプログラム言語に置き換える → 繰り返し範囲、選択構造などを確認する

プログラミング演習('04) 2018/10/12 今日の課題 ファイル名は en9-****.c 教科書の List 5-1~5-8 を良く復習してから、次の各演習を順に処理するプログラムをインデンテーションや変数名等に気を配って作成せよ。  ・演習5-1、演習5-2(91頁)、  ・演習5-4(93頁)、演習5-5(95頁) 提出はいつもと同様、リスト印刷とファイル転送 ファイル名の **** は学籍番号の二桁目と下3桁 例:学生番号 034987 ならば xxx-3987.c PE04-09.ppt

プログラミング演習('04) 2018/10/12 今日の宿題 [提出はいつもの通り] ◎ 教科書のList5-19を参考にして、1から n までの間のすべての素数を求めよ。(最大10000ぐらい) 1)上限値(n)の値は初め   に入力する 2)素数は1行に10個づつ   出力する 3)素数の個数を出力する 4)乗除回数を出力する 上限値を入力せよ:200 200以下の素数は、 2 3 5 7 11 ・・・ 31 37 41 43 47 ・・・ ・・・ 179 181 191 193 197 ・・・ 素数の数は 46 個です。 乗除の回数: 492 ファイル名:hw9-****.c 締め切り: 6月19日(土) 午後1時(厳守) PE04-09.ppt