配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習

Slides:



Advertisements
Similar presentations
プログラミング入門2 芝浦工業大学情報工学科青木 義満 第6回関数(2). プログラミング入門2 2 今回の講義内容 関数 配列データの受け渡し ( p.130 ~) 入出力と文字 ( p.198 ~) 文字列の基本 ( p.208 ~)
Advertisements

情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第5回 関数(1) 情報・知能工学系 山本一公
演算、整数型と浮動小数点型 第3回目 [4月27日、H.16(‘04)] 本日のメニュー 1)前回の課題・宿題 2)ファイルサーバの利用
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
配列(2) 第10回目 [6月22日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)課題
関数(1) 第11回 [6月29日、H.16(‘04)] 今日のメニュー 1 前回の課題 2 前回の宿題 3 いろいろな関数の演習 4 課題
ポインタ プログラミング入門2 第10回 芝浦工業大学情報工学科 青木 義満
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
プログラミング演習Ⅱ 第12回 文字列とポインタ(1)
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
最終回 総合演習 第13回目 [7月17日、H.15(‘03)] 本日のメニュー 1)総合演習課題 2)過去の試験問題 3)試験について
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
プログラミング入門2 第6回 関数(2) 芝浦工業大学情報工学科 青木 義満
プログラミング演習(2組) 第12回
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
C言語講座 第4回 ポインタ.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月6日、H.16(‘04)] 今日のメニュー 1 前回の課題の復習
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
選択構造と条件判断 第5回目 [5月18日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)構造化プログラム(選択構造)
第7回 条件による繰り返し.
プログラミング入門2 第5回 関数(1) 芝浦工業大学情報工学科 青木 義満
最終回 総合演習 第13回目 [7月13日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)総合演習課題
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
関数の定義.
第10回関数 Ⅱ (ローカル変数とスコープ).
知能情報工学演習I 第12回(後半第6回) 課題の回答
プログラミング入門2 第11回 情報工学科 篠埜 功.
講義では、Cプログラミングの基本を学び 演習では、やや実践的なプログラミングを通して学ぶ
第7回 条件による繰り返し.
プログラミング入門2 第11回 情報工学科 篠埜 功.
第7回 プログラミングⅡ 第7回
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (02).
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
プログラミング演習(’04) ・ガイダンス ・簡単なプログラムの作成 ・aucopyの練習 ・今日の課題・宿題
第11回 プログラミングⅡ 第11回
関数の再帰呼び出しとは ハノイの塔 リダイレクト レポート課題
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
配列変数とポインタ 静的確保と動的確保 ポインタ配列 2次元配列 時間計測 第1回レポートの課題
プログラミング序論演習.
知能情報工学演習I 第11回( C言語第5回) 課題の回答
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
第5回 プログラミングⅡ 第5回
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
プログラミング基礎演習 第4回.
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
高度プログラミング演習 (07).
関数と再帰 教科書13章 電子1(木曜クラス) 2005/06/22(Thu.).
プログラミング演習I 2003年6月11日(第9回) 木村巌.
第10回 関数と再帰.
プログラミング入門2 第5回 配列 変数宣言、初期化について
知能情報工学演習I 第11回(後半第5回) 課題の回答
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
第5回 配列.
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
変数と代入・読込と表示 第2回[平成15年4月24日(木)]:PN03ー02.ppt 今日の内容 1 プログラムの構造(復習)
プログラミング 2 静的変数.
Presentation transcript:

配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習 プログラミング演習('03) 2017/3/21 第12回 [7月10日、H.15(‘03)] 配列の扱い、探索 有効範囲と記憶域期間 今日のメニュー 1 前回の課題の復習 2 前回の宿題の復習 3 今回の課題 6 演習 PE03-12.ppt PE03-12.ppt

前回の課題 (1)List6-1を参考に演習6ー1(118頁) (2)List6-2を参考に演習6ー2(118頁) プログラミング演習('03) 2017/3/21 前回の課題 (1)List6-1を参考に演習6ー1(118頁) (2)List6-2を参考に演習6ー2(118頁) (3)List6-3を参考に演習6ー3(119頁) List6-6を参考に演習6ー4(121頁) (4)List6-7,8を参考に演習6ー5(123頁) (5)演習6ー6(125頁) ファイル名は enB-****.c 提出はいつもと同様、リスト印刷とファイル転送 PE03-12.ppt

演習6-1の関数の中身を記述 演習6-2の関数の中身を記述 演習6-3の関数の中身を記述 演習6-4の関数の中身を記述 #include <stdio.h> int minof( int x, int y) { } int min3( int x, int y, int z) { } int cube( int x) { } int pow4( int x) { } 演習6-1の関数の中身を記述 演習6-2の関数の中身を記述 演習6-3の関数の中身を記述 演習6-4の関数の中身を記述

演習6-5の関数の中身を記述 演習6-6の関数の中身を記述 void alert( int no) { } void hello( void ) { } int main(void) { int na, nb, nc; /*演習6-1,6-2の場合*/ /*整数を入力する*/ printf("小さい方の値は %d です。\n",           minof( na, nb) ); printf("3数中の最小値は %d です。\n",  min3( na, nb, nc) ); ・・・・・・ 演習6-5の関数の中身を記述 演習6-6の関数の中身を記述

#include <stdio.h> /*演習6-1、2、3*/ int minof(int x, int y) { return ( (x-y)>0 ? y : x ); } int min3(int x, int y, int z) { int min = x; if ( y < min ) min = y; if ( z < min ) min = z; return ( min ); } int cube(int x) { return ( X*x*x); } int main(void) { ・・・・ }

前回の課題(演習6-4) 関数を利用する 前に定義しておく sqr( sqr(x) ) #include <stdio.h> プログラミング演習('03) 2017/3/21 前回の課題(演習6-4) #include <stdio.h> int sqr(int x) { return ( x * x ); } int pow4(int x) { return ( sqr(x) * sqr(x) ); } int main(void) { int a; printf("整数を入力せよ=>"); scanf("%d", &a); printf("四乗は %d です。\n", pow4(a)); return(0); } 関数を利用する 前に定義しておく sqr( sqr(x) ) PE03-12.ppt

while(no-->0) putchar('\a'); #include <stdio.h>  /*演習6-5*/ void alert(int no) { int i; for ( i=0; i<no; i++) putchar('\a'); return; } int main(void){ int n; printf("Enter n =>"); scanf("%d",&n); alert(n); return (0); while(no-->0) putchar('\a');

#include <stdio.h> /*演習6-6*/ void hello( void ) { puts("こんにちは。");   return; } int main(void){ int n, i; printf("Enter n =>"); scanf("%d",&n); for ( i=1; i<=n; i++) hello(); return (0);

課題の提出について ・main関数は最後に記述する ・演習6-4の pow4 は教科書List6-3の関数 sqr を用いる ・プログラムの構成 #include <stdio.h> /* 関数1を定義する */ int minof(・・・) {   ・・・ } /* 関数2を定義する */   ・・・ int main(void) {  int ・・・  puts("番号・氏名");  必要な関数を呼び出す } ・main関数は最後に記述する ・演習6-4の pow4 は教科書List6-3の関数 sqr を用いる return(x*x*x*x); return( sqr(x)*sqr(x) ); return( sqr( sqr(x) ) );

前回の宿題 (1)List6-12、 List6-13 等参考にして、演習6ー7、 演習6-8、 演習6-9(133頁)を完成せよ。 プログラミング演習('03) 2017/3/21 前回の宿題 (1)List6-12、 List6-13 等参考にして、演習6ー7、 演習6-8、 演習6-9(133頁)を完成せよ。 (2)教科書114~133頁を良く読み直して復習し、次に、134~145頁を予習せよ。 ファイル名:hwB-****.c 締め切り: 7月8日(火) 午後5時(厳守) PE03-12.ppt

int min_of(const int vc[], int no) /*演習6-7*/ { int i, min = vc[0];   for ( i=1; i<no; i++)     if ( vc[i]<min ) min = vc[i];   return ( min ); } void rev_intary( int vc[], int no) /*演習6-8*/ { int i, temp;   for ( i = 0; i< no/2; i++) {     temp = vc[no-i-1];     vc[no-i-1] = vc[i];     vc[i]     = temp;       }   return; void intary_rcpy(int v1[],const int v2[],int no) { int i; /*演習6-9*/   for (i=0;i<no;i++) v1[i]=v2[no-i-1];

int main(void) { int i, v[10], v1[10], N=10; puts("整数を10個入力せよ"); for ( i=0; i<N; i++) { printf("v[%d]=>",i); scanf("%d", &v[i]); } printf("配列 v の要素中の最小値は %d です。\n", min_of(v,N) ); puts("配列 v を逆順にすると"); rev_intary(v,N); for ( i=0; i<N; i++) printf("v[%d]=%d\n",i,v[i]); puts("更に v を逆にして v1 に代入すると"); intary_rcpy(v1, v, N); printf("v[%d]=%d: v1[%d]=%d\n", i, v[i], i, v1[i]); return(0); }

宿題の提出について 配列の入れ替えなどを関数で実行せずに、mainの中で実行している。 mainの中で、関数の呼び出しが無い。 転送ファイルが無い、番号・氏名が無い、リストのプリントアウト提出が無い

今日の課題 ファイル名:enC-****.c (1)List6-20 を参考に、演習6-12 を完成せよ。 プログラミング演習('03) 今日の課題 2017/3/21 ファイル名:enC-****.c (1)List6-20 を参考に、演習6-12 を完成せよ。 (2)第10回の課題・宿題の続きとして、各科目の最高点・最低点、合計の最高点・最低点の出力を追加せよ。(最高点、最低点を求める関数を作る) 学籍番号 英語 数学 国語 合計点  平均点  1023 63 71 68 202 67.33  1026 49 28 51 128 42.67 : : : :  1132 81 89 75 245 81.67 平均点   67.3 62.1 72.1 201.5 67.17 最高点 96 89 92 265 88.33 最低点 44 23 46 113 37.67 提出はいつもと同様、リスト印刷とファイル転送 PE03-12.ppt

関数外で定義・宣言 関数内でstatic付き #include <stdio.h>  /*演習6-12*/ int a[5]; int main(void){ static int b[5]; int i, c[5]; printf("\n a : "); for(i=0;i<5;i++) printf("%d",a[i]); printf("\n b : "); for(i=0;i<5;i++) printf("%d",b[i]); printf("\n c : "); for(i=0;i<5;i++) printf("%d",c[i]); printf("\n"); return (0); } 関数外で定義・宣言 関数内でstatic付き 0に初期化される 自動記憶域期間の変数は不定値

今日の宿題[提出不要] 以下のプログラムを実行させ、関連する説明を復習せよ。(134-145頁) プログラミング演習('03) 2017/3/21 今日の宿題[提出不要] 以下のプログラムを実行させ、関連する説明を復習せよ。(134-145頁) (1)List6-14(134頁)[逐次探索] (2)List6-15,16(136頁-)[番兵法] (3)List6-17(138頁)[多次元配列] (4)List6-18(140頁)[有効範囲] (5)List6-19(143頁)[記憶域期間] PE03-12.ppt

次回(第13回)の プログラミング入門、 プログラミング演習は プログラミング演習('03) 2017/3/21 次回は最終回です。 第12回終了 次回(第13回)の プログラミング入門、 プログラミング演習は 7月17日です。 PE03-12.ppt