精密工学科プログラミング基礎 第7回資料 (11/27実施)

Slides:



Advertisements
Similar presentations
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
Advertisements

復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
ファーストイヤー・セミナーⅡ 第8回 データの入力.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング論 I 行列の演算
基礎プログラミングおよび演習 第9回
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング基礎I(再) 山元進.
問題提起その 1 一文字ずつ文字(数字)を読み込み、それぞれの文字が何回入力されたかを数えて出力するプログラム。
C言語 配列 2016年 吉田研究室.
基礎プログラミング (第五回) 担当者: 伊藤誠 (量子多体物理研究室) 内容: 1. 先週のおさらいと続き (実習)
問題 1 フィボナッチ数列 xn は次で定義される。
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
精密工学科プログラミング基礎Ⅱ 第3回資料 今回の授業で習得してほしいこと: 2次元配列の使い方 (前回の1次元配列の復習もします.)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
CGと形状モデリング 授業資料 長井 超慧(東京大学)
C 言語について 補足資料 資料および授業の情報は :
C言語講座 第3回 ポインタ、配列.
プログラミング演習 バージョン1 担当教員:綴木 馴.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
関数と配列とポインタ 1次元配列 2次元配列 配列を使って結果を返す 演習問題
第10回関数 Ⅱ (ローカル変数とスコープ).
精密工学科プログラミング基礎 第10回資料 (12/18実施)
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
高度プログラミング演習 (03).
知能情報工学演習I 第12回(後半第6回) 課題の回答
第7回 プログラミングⅡ 第7回
地域情報学 C言語プログラミング 第5回 ポインタ、関数、ファイル入出力 2017年11月17日
第11回 プログラミングⅡ 第11回
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
情報理論2 第3回 小林 学 湘南工科大学 2011年10月25日 〒 神奈川県藤沢市辻堂西海岸1-1-25
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
精密工学科プログラミング基礎Ⅱ 第5回資料 今回の授業で習得してほしいこと: 構造体 (教科書 91 ページ)
Cプログラミング演習資料.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
プログラミング入門2 第9回 ポインタ 情報工学科 篠埜 功.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
プログラミング基礎a 第7回 C言語によるプログラミング入門 ファイル入出力
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
岩村雅一 知能情報工学演習I 第13回(後半第7回) 岩村雅一
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
計算機プログラミングI 第5回 2002年11月7日(木) 配列: 沢山のデータをまとめたデータ どんなものか どうやって使うのか
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

精密工学科プログラミング基礎 第7回資料 (11/27実施) 今回の授業で習得してほしいこと: 配列の使い方   (今回は1次元,次回は2次元をやります.) 宣言の仕方 アクセス (値の代入・参照) の方法 繰り返し文と配列の組み合わせ 資料のURL : http://lecture.ecc.u-tokyo.ac.jp/~tohtake/

「配列」とは? データを並べたもの 数列やベクトルなどを扱う時に必須となります int A[7]; A[0] = 1; A[1] = 3; … double v[3]; v[0] = -0.5; v[1] = 3; v[2] = sqrt(3.0);

配列の宣言 型 + 配列名 + 長さ を指定する 型 配列名[ 長さ ]; 各配列においては,単一の型しか使えない もし長さが未定なら大きめにとる (別途,実際の長さを表す整数変数が必要) 型 配列名[ 長さ ]; 例: 10個の実数値を扱いたい double a,b,c,d,e, f,g,h,i,j; 同じ double a[10]; 配列を使う 変数を使う

アクセスの方法 何番目か (インデックス) を指定して, 通常の変数と同様に使う. 配列名[ インデックス ] 何番目か (インデックス) を指定して,         通常の変数と同様に使う. 長さの指定が N ならインデックスは 0 からN-1 配列名[ インデックス ] 例: 3個の整数の和を計算したい int a,b,c,sum; a = 10; b = 100; c = 20; sum = a+b+c; int a[3],sum; a[0] = 10; a[1] = 100; a[2] = 20; sum = a[0]+a[1]+a[2]; 代入 同じ 参照 変数を使う 配列を使う

このような書き方ができる. ↓でも勿論 OKです. 繰り返し文との組み合わせ for 文がおすすめ for(カウンタ=0; カウンタ<長さ; カウンタ++) 配列のカウンタ番目に関する計算処理; 例: 5個の実数の和を計算したい int i; double a[5] = {1,5.5,-5,10.5,-12}; double sum; sum = 0; for(i=0; i<5; i++) sum = sum + a[i]; printf("合計 = %f\n", sum); 宣言と同時に 値を代入する時にだけ このような書き方ができる. ↓でも勿論 OKです. a[0] = 1; a[1] = 5.5; a[2] = -5; a[3] = 10.5; a[4] = -12;

標準入力からの読み込み 配列の長さは十分長くして宣言し, 必要なところのみを使用する. int i; とりあえず 100 個で十分 配列の長さは十分長くして宣言し, 必要なところのみを使用する. int i; int a[100]; int n; scanf("%d", &n); for(i=0; i<n; i++) scanf("%d", &(a[i])); printf("a[%d]=%d\n",i,a[i]); とりあえず 100 個で十分 実際に使う長さ 読み込み プリント ※ ↑で毎回入力するのは面倒なので,以下のようなデータファイル (ファイル名 data とおく) を作って “./a.out < data” とするのがお勧め。 10 1 4 2 4 5 6 15 2 8 32

課題 (1) 整数の列を配列へ入力した後,以下を行い, 結果を出力するプログラムを作成せよ. 平均と標準偏差を計算. 整数の列を配列へ入力した後,以下を行い,    結果を出力するプログラムを作成せよ. 平均と標準偏差を計算. できれば関数呼び出しを使ってほしい 配列の値を累積値へ更新. i 番目の値は,先頭から i 番目までの和となる. 最小値とそのインデックスを見つける. 最小値とそのインデックスを覚えておく変数が必要. 配列を昇順へ並び変える. 課題 (1)-3 を利用するとよい.

課題 (2) N 次元の実数ベクトルを2つ入力し, 内積と直積を出力せよ. 2つの縦ベクトルを a, b とおくと 内積 : aT b (スカラ値), 直積 : a bT (N×N 行列). 以下のような多項式 において, 指定した値 d における の値を出力せよ. テキストの67ページを参照. 余裕があれば k 階微分も考えてみよ. パスカルの三角形を表示せよ. 表示は二等辺三角形でなく,直角三角形でもよい. 掛け算は使ってはいけない.