oe ufsn f k= a w s i ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3...

48

Upload: others

Post on 17-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 2: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 3: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 4: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 5: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

端から一枚ずつみていく

効率的に探索範囲を狭める

Page 6: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 7: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 逐次探索の実装 alg1.cpp #include<iostream> using namespace std;

int main(){ const int size = 10000; int a[size] ={};

for(int i =0; i < size; i++){ a[i] = i;

}

const int x = 5000;

int idx = 0; for(int i =0; i < size; i++){

if(a[i] == x){ idx = i; break;

} }

cout << “見つけたのは : ” << idx << “ 番目” << endl; return 0;

} %./alg1 見つけたのは 5000 番目

出⼒結果

Page 8: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 9: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

探索開始位置 探索終了位置

探索終了位置探索開始位置

中央

中央

Page 10: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

探索終了位置

探索開始位置 中央

Page 11: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

探索開始位置

探索終了位置

中央

探索終了位置

探索開始位置

Page 12: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 13: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 二分探索(main 関数) alg3.cpp #include<iostream> using namespace std;

bool binarySearch(const char [], int, char);

int main(){ const int size = 11; const char a[size] ={‘C’, ‘G’, ‘I’, ‘K’, ‘L’, ‘O’, ‘P’, ’S’, ‘U’, ‘W’, ‘X’};

char x = ‘P’; // 探したい文字

cout << x << “ は配列の中に ”; if(binarySearch(a,size,x)) cout << “ あります”; else cout <<“ ありません”; cout << endl; return 0;

}

Page 14: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

bool binarySearch(const char a[], int sz, char x){

bool found = false;

int first = 0; // 探索開始位置 int last = sz - 1; // 探索終了位置

while( first <= last ) { // 探索終了は探索区間が無くなった時 int middle = (first + last) / 2; // 中央の位置を計算割り切れる必要はない

if(a[middle] == x){ found = true; break;

}

if(a[middle] < x){ // 目的のものが中央より右側にあるなら first = middle + 1; // 探索開始位置が右にずれる

}else{ // 現在の中央より左側にある last = middle - 1; // 探索終了位置が左にずれる

} }

return found; }

Page 15: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 16: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

14 78 3

14 78 3

14 78 3

14 78 3

14 78 3

1478 3

14 78 3

34 78 1

14 78 35

34 78 1

1478 38

1478 39

3 1478

   

 

Page 17: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

10 1478 3

  1478 3

11 1478 3

for(int i=0; i < size -1; i++){ // 最後のループは比較・交換の必要なし for(int j =0; j< size -1 -i; j++){ // ループが進むにつれて比較対象が減る if(mn[j] < mn[j+1]) // 隣と比較 swap(mn[j],mn[j+1]);// 入れ替え } }

Page 18: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

14 78 3

14 78 3

2 14 78 3

3 14 78 3

4 14 78 3

Page 19: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

1 8 74 35

5 1 4 78 3

6 1 4 78 3

7 1 4 78 3

8 1 4 78 3

Page 20: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

5 7 4 18 3

10

9 1 4 78 3

7 4 18 3

11 7 4 18 3

12 7 4 18 3

13 7 4 18 3

14 7 4 18 3

5 7 4 18 3

5 7 4 38 1

Page 21: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

for(int i=0; i < size - 1; i++){ // 一番最後は比較・交換の必要なし int m = i; // ループの開始を最大と仮定 for(int j = i+1; j < size; j++){ // 比較するのは最大とそれより後方 if(mn[m] < mn[j]) // 最大要素より現要素が大きければ m = j;  // 最大値の要素番号を書き換える } // 最大値の探索は配列末尾までやる

// 最後に,先頭要素と最大要素の入れ替え swap(mn[i],mn[m]); }

Page 22: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 23: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// sort()の使いかた alg4.cpp #include<iostream> #include<algorithm> using namespace std;

int main(){ const int size = 5; int a[size] = {5, 3, 2, 7, 2};

sort(&a[0], &a[size]);

for(int i = 0; i < size; i++){ cout << a[i] << ‘ ’;

}

cout << endl; return 0;

} %./alg4 5 3 2 7 2 2 2 3 5 7

出⼒結果

Page 24: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

int a[size] size = 5

a[0] a[1] a[2] a[3] a[4]

345 12a[5]

Page 25: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// sort()の使い方 alg5.cpp #include<iostream> #include<algorithm> using namespace std; // binarySearch関数は前述なので省略 int main(){

const int size = 11; char a[size] = {‘Z’, ‘G’, ‘K’, ‘Y’, ’T’, ‘P’, ’S’, ‘C’, ‘I’, ‘X’}; sort(&a[0], &a[size]);

char x; while( cin >> x){

if(binarySearch(a, size, x)) cout << x <<“ is found. ”<< endl; else cout << x <<“ is not found. ”<< endl;

} return 0;

}

Page 26: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 逐次探索 alg6.cpp

#include <iostream>#include <algorithm>

using namespace std;

int main() {

const int size = 11; const char a[size] = {’Z’, ’G’, ’W’, ’K’, ’Y’, ’T’, ’P’, ’S’, ’C’, ’I’, ’X’}; char x; while (cin >> x) {

if (find(&a[0], &a[size] , x) != &a[size]) {

cout << x << " is found in the array a[]." << endl;

}else{

cout << x << " is not found." << endl; }

return 0;

}

Page 27: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 二分探索 alg7.cpp #include<iostream> #include<algorithm> using namespace std; int main(){

const int size = 11; char a[size] = {‘Z’, ‘G’, ‘K’, ‘Y’, ’T’, ‘P’, ’S’, ‘C’, ‘I’, ‘X’}; sort(&a[0], &a[size]);

char x; while( cin >> x){

if(binary_search(&a[0],&a[size], x)) cout << x <<“ is found.”<< endl; else cout << x <<“ is not found.”<< endl;

} return 0;

}

Page 28: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 29: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 30: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 間接参照の基礎(添字配列を作る)ind1.cpp #include<iostream>

using namespace std; int main(){

const char a[7] = {‘N’, ‘H’, ‘E’, ‘O’, ‘Q’, ‘A’, ‘L’};

// HELLO と出力したい (書き下す) cout << a[1] << a[2] << a[6] << a[6] << a[3] << endl;

// 間接参照で出力 const int m = 5; // 文字数 int n[m] = {1, 2, 6, 6, 3}; // 添字配列

for(int i =0; i < 5; i++){ cout << a[n[i]] ;  // 配列 a の n[i] 番目を出力

} cout << endl;

}

Page 31: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 日付の処理 ind2.cpp

#include <iostream>#include <string>using namespace std;

// 月の数字を文字列に変換して出力 (0 で終了)

void print(const int idx[]){

const string montab[] = {"", "Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec"}; for (int i = 0; idx[i] != 0; i++) // 配列要素が 0 なら終了 cout << montab[ idx[i] ] << " "; cout << endl; }

int main() {

const int sm[] = {2, 4, 6, 9, 11, 0}; // 日数の少ない月print(sm);const int cl[] = {4, 5, 6, 7, 9, 10, 11, 12, 1, 0}; //授業のある月

print(cl);const int hm[] = {7, 9, 10, 1, 0}; //ハッピーマンデーのある月

print(hm);return 0;

}

%./ind2 Feb Apr Jun Sep Nov Apr May Jun Jul Sep Oct Nov Dec Jan Jul Sep Oct Jan

出⼒結果

Page 32: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 33: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// 辞書とコード(プリプロセッサ省略)ind3.cpp

int main(){ const int dicsz = 29; // 辞書単語数 const string dic[dicsz] = { “,”, “.”, “AFTER”, “ARE”, “CLOUDS”, “COME”, “COMES”,

“FAIR”, “FALLEN”, “FALLING”, “FALLS”, “FROM”, “GO”, “HAS”, “IN”, “LIKE”, “MAINLY”, “ON”, “OR”, “PLAIN”, “RAIN”, “SHINE”, “SPAIN”, “TEARS”, “THAT”, “THE”, “TO”, “WATER”, “WEATHER”};

const int ssz = 48; // 文章中単語数 const int idx[ssz] = { 25, 20, 14, 22, 10, 16, 17, 25, 19, 1, 20, 27, 0, 24, 13, 8, 11, 25, 4, 14, 20, 1, 23, 3, 9, 15, 20, 1, 2, 20, 6, 7, 28, 1, 5, 20, 18, 21, 1, 20, 0, 20, 0, 12, 26, 22, 1 };

 for(int i =0; i <ssz; i++){ string s = dic[ idx[i] ]; if(s == “.”){

cout << s << endl; }else if( s == “,”){

cout << s; }else{

cout << “ ” << s; }

} return 0;

}

%./ind3 THE RAIN IN SPAIN FALLS MAINLY ON THE PLAIN. RAIN WATER, THAT HAS FALLEN FROM THE CLOUDS IN RAIN. TEARS ARE FALLING LIKE RAIN. AFTER RAIN COMES FAIR WEATHER. COME RAIN OR SHINE. RAIN, RAIN, GO TO SPAIN.

出⼒結果

Page 34: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 35: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// ポインタによる検索用の索引(プリプロセッサ省略)

int main(){ const int max = 6; // 全体集合要素数 Member a[max] = { {“Kasai” , 41}, {“Honda”, 20}, {“Tanaka”, 48}, {“Suzuki” , 20}, {“Okuda”, 30}, {“Sakai”, 33}}; Member* s[max]; // 結果保存用ポインタ配列 int n = find_all(s, a, max, 20);   // 20 代を探す print(s, n);

n = find_all(s, a, max, 30); print(s, n); // 30 代を探す return 0; }

%./ind4 Honda 20 Suzuki 20

Okuda 30 Sasaki 33

出⼒結果

Page 36: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

// ポインタによる検索用の索引

struct Member{ string name; int age;

};

void print(Member* p[], int num){ for(int i =0; i < num; i++){

cout << p[i]-> name <<“ ” << p[i]-> age << endl; }

cout << endl; }

int find_all(Member* p[], Member a[], int num, int age){ int n = 0; // 検索結果数を格納 for(int i = 0; i < num; i++){

const int x = a[i].age; if( age <= x && x < age +10){ // 対象年齢なら

p[n] = &a[i]; // 要素のアドレスを格納 n++;

} } return n;

}

Page 37: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 38: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 39: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 40: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 41: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 42: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+

Microsoft Kinect

ぬいぐるみロボット

パーソナル コンピュータ

ぬいぐるみロボット

Microsoft Kinect

USB

無線LAN

姿勢指令値

実世界環境

Page 43: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 44: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 45: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 46: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 47: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+
Page 48: OE UFSN F k= A W S I ]iui.ci.seikei.ac.jp/~takase/wp/wp-content/uploads/2016/...¿ ¿ · õ ( Ú f 3 Ú(X~' þ[ í Ë Ö õ õY Lqz \ 端から一枚ずつみていく Lqz \ "#$%&'()*+