情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25

Slides:



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

1 例題 ex3b ( 配列 ) 科学科プログラミング. 2 例題 : ex3b  以下の 3 つについて例題を進める ステップ 1 :配列 ステップ 2 :最小と最大 ステップ 3 :文字型の配列.
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
情報理論2 第4回 小林 学 湘南工科大学 2011年11月1日 〒 神奈川県藤沢市辻堂西海岸1-1-25
関数(1) 第11回 [6月29日、H.16(‘04)] 今日のメニュー 1 前回の課題 2 前回の宿題 3 いろいろな関数の演習 4 課題
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
プログラミング基礎I(再) 山元進.
情報理論2 注意!! 11月26日(火)は休講 (小林が学会出張のため) 湘南工科大学情報工学科 准教授 小林 学 湘南工科大学
計算技術研究会 C言語講座 第3回 Loops (for文 while文).
問題提起その 1 一文字ずつ文字(数字)を読み込み、それぞれの文字が何回入力されたかを数えて出力するプログラム。
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
文字配列の課題1 解説 /* a */ #include <stdio.h> main( ) { int i;
プログラミング入門2 第6回 関数(2) 芝浦工業大学情報工学科 青木 義満
プログラミング演習(2組) 第12回
C言語 配列 2016年 吉田研究室.
第5回C言語講座 ~ポインタと配列.
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月6日、H.16(‘04)] 今日のメニュー 1 前回の課題の復習
CG2 第5回 小林 学 湘南工科大学 2012年5月13日 〒 神奈川県藤沢市辻堂西海岸1-1-25
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
プログラミング入門2 第2回 複合文、繰り返し 情報工学科 篠埜 功.
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
関数の定義.
プログラミング序論 2. n人のインディアン.
知能情報工学演習I 第12回(後半第6回) 課題の回答
第7回 条件による繰り返し.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
復習 前回の関数のまとめ(1) 関数はmain()関数または他の関数から呼び出されて実行される.
知能情報工学演習I 第8回( C言語第2回) 課題の回答
湘南工科大学 2013年10月22日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
CG2 第3回 小林 学 湘南工科大学 2013年4月22日 〒 神奈川県藤沢市辻堂西海岸1-1-25
プログラミング入門第6回 ~レゴロボットのプログラミング6~
プログラミング基礎B 文字列の扱い.
プログラムの制御構造 配列・繰り返し.
岩村雅一 知能情報工学演習I 第11回(後半第5回) 岩村雅一
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
情報理論2 第3回 小林 学 湘南工科大学 2011年10月25日 〒 神奈川県藤沢市辻堂西海岸1-1-25
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
15.1 文字列処理の基本 15.2 文字列処理用ライブラリ関数
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
知能情報工学演習I 第11回( C言語第5回) 課題の回答
CG2 第4回 小林 学 湘南工科大学 2013年5月6日 〒 神奈川県藤沢市辻堂西海岸1-1-25
第6回:得点を表示しよう! (文字の表示、乱数)
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
C言語講座 制御(選択) 2006年 計算技術研究会.
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
ループだよ!難しいよ! 第5章 while(ループ);.
ループだよ! 第7章 for(ループ応用);.
情報処理Ⅱ 2006年11月8日(金).
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
2005年度 データ構造とアルゴリズム 第2回 「C言語の復習:配列」
プログラミング1 プログラミング演習I 第2回.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング序論演習.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第11回(後半第5回) 課題の回答
C言語講座第5回 2017 構造体.
C言語講座 四則演算  if ,  switch 制御文.
計算技術研究会 C言語講座 第二回 制御構文 if , switch.
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
情報処理3 第4回目講義         担当 鶴貝 達政 12/17/2019.
Presentation transcript:

情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒251-8511 神奈川県藤沢市辻堂西海岸1-1-25 情報理論2 第6回 小林 学 〒251-8511 神奈川県藤沢市辻堂西海岸1-1-25 Tel. 0466-30-0232(直通) Fax. 0466-34-5932 kobayasi@info.shonan-it.ac.jp

[前回の課題1] 数を数える(カウント) [課題1]次の配列の2以上の数を数えるプログラムを作成しなさい Data [0] [1] [2] Page 2 [前回の課題1] 数を数える(カウント) [課題1]次の配列の2以上の数を数えるプログラムを作成しなさい Data [0] [1] [2] [3] [4] 2 1 4 実行結果 用意する変数: count(1の数を入れる) 初期値: count = 0

[前回の課題1] 数を数える(カウント) i Data[i] count 初期値: 繰り返し: 0 2 0→1 1 1 1 Page 3 [前回の課題1] 数を数える(カウント) i Data[i] count 初期値: 繰り返し: 0 2 0→1 1 1 1 2 2 1→2 3 4 2→3 4 0 2 if(Data[i]>=2) count++;

Page 4 [前回の課題1の解答] #include<stdio.h> void main(void){ int i, Data[5]={2, 1, 2, 4, 0}; //データの初期化 int count; count = 0; //カウントの初期化 for(i=0;i<5;i++){ if(Data[i]>=2) count++; //Data[i]が1ならば //countを1増やす } printf("Data中の2以上の数:%d\n",count);

アルゴリズム:最大値・最小値 Data [0] [1] [2] [3] [4] 5 3 6 8 2 実行結果 Page 5 アルゴリズム:最大値・最小値 最大の位置 Data [0] [1] [2] [3] [4] 5 3 6 8 2 void main(void){ int Data[5]={5, 3, 6, 8, 2}; //配列Dataの初期化 実行結果 用意する変数: max(最大値の候補), position(最大の位置の候補) 初期値: max = Data[0] position = 0

アルゴリズム:最大値・最小値 i Data[i] max position 初期値: 5 0 繰り返し: 1 3 5 0 (for文) Page 6 i Data[i] max position 初期値: 5 0 繰り返し: (for文) 1 3 5 0 2 6 5→6 0→2 3 8 6→8 2→3 4 2 8 3 if(Data[i]>max){ max = Data[i]; position = i; } [課題2]配列Data[5]={5, 3, 6, 8, 2}の最大値を求めるプログラムを作成しなさい

[前回の課題2の解答] Page 7 #include<stdio.h> void main(void){ int i, Data[5]={5, 3, 6, 8, 2}; //データの初期化 int max, position; max = Data[0]; //初期化 position = 0; //初期化 for(i=1;i<5;i++){ if(Data[i]>max){ max = Data[i]; position = i; } printf("最大の位置:%d\n", position); printf("最大値:%d\n", max);

[前回の課題3]キーボードから5個の整数を入力し,最小値(min)と最小の位置(position)を求めるプログラムを作成しなさい. Page 8 [前回の課題3]キーボードから5個の整数を入力し,最小値(min)と最小の位置(position)を求めるプログラムを作成しなさい. ヒント: printf("5つの整数を入力:\n"); for(i=0;i<5;i++) scanf("%d",&Data[i]);

[前回の課題3の解答] Page 9 #include<stdio.h> void main(void){ int i, Data[5], min, position; printf("5つの整数を入力:\n"); for(i=0;i<5;i++) scanf(“%d”,&Data[i]); //入力 min = Data[0]; //初期化 position = 0; //初期化 for(i=1;i<5;i++){ if(Data[i] < min){ min = Data[i]; position = i; } printf(“最小の位置:%d\n", position); printf(“最小値:%d\n", min);

データ構造2:キュー Data [0] [1] [2] [3] [4] DataNo 画面出力 13 1 Input(9) 13 9 2 Page 10 Data [0] [1] [2] [3] [4] DataNo 画面出力 13 1 Input(9) 13 9 2 Input(22) 13 9 22 3 Output 9 22 2 13 Output 22 1 9

Page 11 [課題1] キュー構造について,以下の問に答えよ int DataNo=0; :データの数を表す int 型変数 int Data[5]; :データを格納する int 型配列 上の定義に対して,以下の命令を実行したときの配列Data の内容と DataNo の変化,画面出力を示しなさい Input(2) → Output → Input(4) → Input(7) → Output (1)と同様に,以下の結果を示しなさい Input(4) → Input(12) → Input(22) → Output → Output → Output

配列 Data の内容をシフトさせる以下のプログラムを完成させなさい [課題2] Page 12 配列 Data の内容をシフトさせる以下のプログラムを完成させなさい #include<stdio.h> void main(void){ int i, Data[5]={5,7,2,9,3}; printf("Data="); for(i=0;i<5;i++) printf(" %d",Data[i]); //ここに配列をシフトさせるプログラムを書く printf("\nData="); } [実行結果]

[課題3] Page 13 次ページのスタックのプログラムを修正して,以下のキューを実現するプログラムを作成しなさい [実行例]

Page 14 [参考2:スタックのプログラム] #include<stdio.h> void main(void){ int select, i, DataNo=0, Data[5], input; while(1){ printf("\nInputならば0,Outputならば1を入力:"); scanf("%d",&select); if(select==0){ printf("入力データ:"); scanf("%d",&input); Data[DataNo] = input; DataNo++; }else{ DataNo--; printf("出力:%d\n",Data[DataNo]); } printf("Data="); for(i=0;i<DataNo;i++) printf(" %d",Data[i]);

Page 15 [課題4]データ構造をキューとし,Input あるいはOutput されるたびにキュー(配列Data)の中の最大値と最大の位置を画面出力するプログラムを作成しなさい.

Page 16 実行結果