1 / 13

配列 ( 1 )

第9回目 [6月19日、H . 15(‘03)]. 配列 ( 1 ). 本日のメニュー. 1)前回の課題について 2)前回の宿題について 3)配列 4)課題. PE03-09 . ppt. 前回の課題. 教科書の List 4 - 17、4 - 18、4 - 19を良く復習してから、次の各演習を順に処理するプログラムを字下げに注意して作れ。  ・演習4 - 16、演習4 - 17(80頁)、  ・演習4 - 18(81頁). 提出 はいつもと同様、 リスト印刷 と ファイル転送. ファイル名は en8- * *** .c.

Download Presentation

配列 ( 1 )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 縦長・横長の四角形の表示 /* 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'); } < *************** ***************

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

  5. ピラミッドの表示 /* 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'); } ****************

  6. 課題の提出について • ・*がいっぱい出力される。 無限に出力される •     → 無限ループになっている。 • for(初期設定式;継続条件式;再設定式) で、継続条件式の書き方がおかしい •     不等号の向きが逆、式の間違え • ・入力した二つの値の大小関係を調べていない • ・縦長、横長が逆になっている → 横長にする • ・三角形の上下が逆 → 画面上側を直角にする • ・ピラミッドが右(左)側半分しか出力されない • ・セミコロン(;)、コンマ(,)、ダブルクォーテイション(")、などの記号が抜けてコンパイルエラーとなる

  7. 前回の宿題 ファイル名は hw8-****.c ◎前回の宿題の発展問題 整数 n を順に変えて、約数の和が n のちょうど2倍となるような整数を4つ見つけ出せ。 条件を満足する整数は、 6 28 ???? ???? 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月17日(火) 午後5時 • リストの提出は、オープン利用室のレポート入れ • aucopy でのファイル転送フォルダーは、[森下伊三男]-[プログラミング演習]

  8. int n, m, sum; /* 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); } 初期値の代入を 忘れない! 約数の合計 を計算する 約数の合計が n の2倍 かどうかを チェックする 6 28 496 8128

  9. 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);

  10. 宿題の提出について • ・課題の文章が悪かった → 反省します。 • ・繰り返す範囲の間違え→ インデンテーション→ 複合文{ }を適切に使う • ・宿題の提出者数が少ない。 • ・提出されたプログラムの完成度は高かった。 • ・うまくプログラムを作るには、 • → 全体の流れを、まず、言葉で紙に書いてみる • → それぞれの部分をプログラム言語に置き換える • → 繰り返し範囲、選択構造などを確認する

  11. 今日の課題 教科書の List 5-1~5-6 を良く復習してから、次の各演習を順に処理するプログラムを作成せよ。  ・演習5-1、演習5-2(91頁)、  ・演習5-4(93頁)、演習5-5(95頁) 提出はいつもと同様、リスト印刷とファイル転送 ファイル名はen9-****.c ファイル名の **** は学籍番号の二桁目と下3桁例:学生番号 024987 ならば xxx-2987.c

  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月24日(火) 午後5時(厳守)

  13. 第9回終了 次回(第10回)のプログラミング入門、プログラミング演習は 6月26日です。

More Related