第4回バイオインフォマティクスアルゴリズム実習
|
|
|
- ひろと みょうだに
- 9 years ago
- Views:
Transcription
1 第 5 回バイオインフォマティクスアルゴリズム アラインメントアルゴリズム (3) 慶應義塾大学先端生命科学研究所
2 アラインメント 置換 挿入 欠損を考慮して塩基配列あるいは アミノ酸配列の似た部分をそろえることギャップ - を挿入する CAAGACATTTTAC CATACACTTTAC CA-AGACATTTTAC CATACAC--TTTAC ** * ** *****
3 アラインメントはグラフで表現できる seq2 A A C G A seq1 C G A-CG AACG
4 直前のノード MS(i,j) を位置 (i,j) における最大スコアと定義 MS(i-1,j-1) MS(i-1,j) +SC(seq1(i),seq2(j)) +GP MS(i,j-1) +GP MS(i,j)
5 最大スコアの再帰的定義最大スコアの再帰的定義 = = = 1)) 2( 1), 1( ( 1) 1, ( ) 1, ( 1), ( max or if ), ( j seq i SC seq j i MS GP j i MS GP j i MS j i j i MS
6 動的計画法を使う (C 言語 ) MS(i,j) 各ノード (i,j) について (1) 最大スコア MS(i,j) と (2) 方角 direction(i,j) を記録しておく struct { int score; /* そのノードに至ったときの最大スコア */ int direction; /* そのノードに到達して最大スコアになったときの直前のノードの方角 */ } score_path_matrix[max_seq_len][max_seq_len]; /* MAX_SEQ_LEN は扱える最大の配列長さ */ score_path_matrix[i][j].score = max_score; score_path_matrix[i][j].direction = max_dir;
7 最大スコア方向の情報からアラインメントを求める seq2 A T C G A a_seq1: G a_seq2: G C C - T A A seq1 C G a_seq1: A-CG a_seq2: ATCG
8 void board_to_alignment(char a_seq1[], char a_seq2[], int m, int n){ /* a_seq にアラインメント結果を格納する m, n は 2 つの入力配列のそれぞれの長さ */ int i, j, p; /* i,j が現在注目対象となっている 2 つの配列の塩基の位置 p がアラインメント格納位置 char tmp; } for(p =, i = m, j = n; i!= j!= ;){ switch(score_path_matrix[i][j].direction){ case V: a_seq1[p] = seq1[ -- i]; a_seq2[p] = GAPM; p ++; break; case H:??????????????????? case D:??????????????????? } } a_seq1[p] = ' '; a_seq2[p] = ' '; strrev(a_seq1); strrev(a_seq2); C 言
9 アラインメントの呼び出し (C 言語 ) main(){ static char a_seq1[1], a_seq2[1]; strcpy(seq1, "acg"); strcpy(seq2, "aacg"); seq1_len = strlen(seq1); seq2_len = strlen(seq2); printf("%d n", find_max_score(seq1_len, seq2_len)); } board_to_alignment(a_seq1, a_seq2, seq1_len, seq2_len); printf("%s n%s n", a_seq1, a_seq2);
10 sub board_to_alignment($$){ my($m, $n) /* $m, $n は 2 つの入力配列のそれぞれの長さ */ /* アラインメント結果を格納する配列 */ my($i, $j, $p); /* $i, $j が現在注目対象となっている 2 つの配列の塩基の位置 $p がアラインメント格納位置 */ my($tmp); for($p =, $i = $m, $j = $n; $i!= $j!= ;){ my $d = $score_path_matrix[$i]->[$j]->{"direction"}; if($d eq "V"){ $a_seq1[$p] = substr($seq1, --$i, 1); $a_seq2[$p] = $::GAPM; $p ++; } elsif($d eq "H"){ #????????????????????????? } elsif($d eq "D"){ #????????????????????????? } = = reverse(@a_seq2); } return Perl
11 アラインメントの呼び出し (Perl) $seq1 = "acg"; $seq2 = "atcg"; my $seq1_len = length($seq1); my $seq2_len = length($seq2); printf("%d n", find_max_score($seq1_len, $seq2_len)); my($a_seq1, $a_seq2) = board_to_alignment($seq1_len, $seq2_len); printf("%s n%s n", $a_seq1, $a_seq2);
12 変数の中味の具体例 (1) seq2 i = 1 A A T C G seq1: A C G seq2: A T C G seq1 C j = 2 p = 1 G a_seq1: G C a_seq2: G C
13 変数の中味の具体例 (2) seq2 i = 1 A A T C G seq1: A C G seq2: A T C G seq1 C j = 1 p = 2 G a_seq1: G C - a_seq2: G C T
14 結局どこが動的計画法だったのか? アラインメントの問題を 各位置について 以下のように分割 配列 1 と 2 の塩基をマッチさせる場合 配列 1 に GAP を入れる場合 配列 2 に GAP を入れる場合 各ノードに以下の途中経過を記録し 高速化 そのノードまでの最大スコア ( そのノードで最大スコアになるときの直前のノード )
15 ローカルアラインメント (1) 配列 1 配列 2 cagtagctgatcgatgctagctgat tttatgat gatgctagctacactac 切り捨てたい部 本当に似ている部 アラインメントを開始したいポイント
16 ローカルアラインメント (2) seq2 A T C G A seq1 C G 負のスコアに未来はない? 7
17 ローカルアラインメントローカルアラインメント (3) (3) = = = 1)) 2( 1), 1( ( 1) 1, ( ) 1, ( 1), ( max or if ), ( j seq i SC seq j i MS GP j i MS GP j i MS j i j i MS
18 最大スコアと方角の記録 (1) seq2 T A G C C seq1 A G 1 6 4
19 最大スコアと方角の記録 (2) ローカルアラインメントは MS(i,j) が最も高い位置から始める seq2 T A G C seq1 C A 3 a_seq1: GA a_seq2: GA G a_seq1: AG a_seq2: AG
20 より根拠のあるアラインメントのスコア体系 ゲノム配列には生物学的にどのような変異が生じやすいかを考えてアラインメントのスコア体系を構築すべき DNA でどのような変異が起こりやすいか スペーサ 繰り返し配列 プロモータ タンパク質のコード領域 ( コドンの第 1~3 塩基 ) Etc. タンパク質の配列でどのような変異が起こりやすいかの方が考慮すべき要素が減り 考えやすい 疎水性のアミノ酸は他の疎水性のアミノ酸に変化しやすい 正電荷を持つアミノ酸は他の正電荷を持つアミノ酸に変化しやい Etc.
21 基本的な考え方 : 同一祖先由来と思われるタンパク質を収集し 置換率を考える 例 : ロイシンジッパーを含むタンパク質 ACA2_YEAST P4535 KRARLLERNRIAASKCRQRKKVAQLQLQKEFNEIKDENRIL AP1_HUMAN P5412 KAERKRMRNRIAASKCRKRKLERIARLEEKVKTLKAQNSEL K K K L K E 4 箇 1 箇 1 箇 置換率に基づいてスコア体系を決めより正確には アミノ酸 aとbがアラインメントされたときのスコアは aとbの組み合わせが同一祖先からの置換によって生じる確率 log aとbの組み合わせがランダム抽出で得られる確率
22 標準的に使用されているスコア体系 A R N D C Q E G H I L K M F P S T W Y V B Z X * A R N D C Q E G H I L K M F P S T W Y V B Z X * BLOSUM62 PAM Dayhoff et al タンパク質の全長の類似性に基づいて導出された BLOSUM Henikoff and Henikoff, 1992 タンパク質の高い保存性を持つ部分配列に基づいて導出された BLAST など有名なツールにも使用されている
23 より根拠のあるアラインメントのスコア体系 (2) 塩基の挿入 欠損はまとめて起こりやすい CCCAAAAAAAAAAGGG CCCAAAAAGGG CCCAAAAAAAAAAGGG CCCA-A-A-A-A-GGG CCCAAAAAAAAAAGGG CCCAAAAA-----GGG どちらが良いアラインメント?
24 より複雑な GAP のペナルティ GAP open penalty GAP の始まりに対して付けられるペナルティー (ex. -5) GAP extension penalty 連続して GAP が入っている領域の 2 番目以降の GAP に対して付けられるペナルティー (ex. -1) CCCAAAAAAAAAAGGG CCCA-A-A-A-A-GGG CCCAAAAAAAAAAGGG CCCAAAAA-----GGG GAP ペナルティーが一定でない 再帰式の変更が必要
25 もはや GAP ペナルティーは一定ではない MS(i,j) を位置 (i,j) における最大スコアと定義 MS(i-1,j-1) MS(i-1,j) +SC(seq1(i),seq2(j)) +GP open?,+gp ext? MS(i,j-1) MS(i,j) +GP open?,+gp ext?
26 最大スコアの場合分け MS(i, j) を位置 (i, j) における最大スコアと定義 MS H (i, j) を直前のノードが位置 (i, j-1) だったときの位置 (i, j) における最大スコアと定義 MS D (i,j) MS H (i,j) MS V (i,j) MS(i,j) MS( i, j) = MS MS MS H V D ( i, ( i, ( i, j) j) j)
27 2 つ前まで見れば 経路のペナルティーは一定 (i-1,j-2) MS H = MS max MS D H ( i, j ( i, j 1) + GP 1) + GP open ext MS D (i,j-1) (i,j-2) +GP open MS H (i,j) MS H (i,j-1) + GP ext
28 アラインメントの準最適解を求めるもの BLAST (Altschul SF et al. 199) 基本的に GAP なし高速 FASTA (Lipman DJ et al. 1985) GAP を扱うことができるそこそこ速い パッケージ中の ssearch は最適解を求める BLAT (Kent J et al. 22) BLAST より精度が落ちるとされるが とても高速
29 BLAST word の抽出 Query を word(n アミノ酸単位 ) に分割 データベース中の word に一致する部分の検出 Hit からの拡張 Hit 部分の統合
30 マルチプルアラインメント 2 本の配列のアラインメントをペアワイズアラインメントという 3 本以上の配列のアラインメントをマルチプルアラインメントという ツールとしては CLUSTALW(Thompson JD et al. 1994) などが有名 AC-GT-A ACCAT-A GC--T-A GC--TCA
31 マルチプルアラインメントを行う手法 ツリーベース法 ACGTA ACCATA GCTA GCTCA AC-GTA ACCATA GCT-A GCTCA AC-GT-A ACCAT-A GC--T-A GC--TCA シミュレーテッドアニーリング法 隠れマルコフモデル
bioinfo-a10s-4_align
4 (2) ATCAATCGATCGATC ATCCATTGAACCATC ATCAATCGATCGATC ATCAATCGAGGAGGATCGATC ATCAATCGATCGATC ATCAACGATC - CAAGACATTTTAC CATACACTTTAC CA-AGACATTTTAC CATACAC--TTTAC ** * ** ***** seq2 A A C G A seq1 C G A-CG
アルゴリズム入門
アルゴリズム入門 第 11 回 ~ パターン認識 (1)~ 情報理工学系研究科 創造情報学専攻 中山英樹 1 今日の内容 パターン認識問題の 1 つ : アラインメント アルゴリズム 再帰 動的計画法 2 パターン認識 音や画像の中に隠れたパターンを認識する 音素 音節 単語 文 基本図形 文字 指紋 物体 人物 顔 パターン は唯一のデータではなく 似通ったデータの集まりを表している 多様性 ノイズ
PowerPoint プレゼンテーション
プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科
バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (
Microsoft PowerPoint - lec10.ppt
今日の内容, とポインタの組み合わせ, 例題 1. 住所録例題 2. と関数とは. を扱う関数. 例題 3. のリスト とポインタの組み合わせ 今日の到達目標 自分で を定義する 自分で定義したについて, 配列やポインタを作成する データ型 基本データ型 char 文字 (1 文字 ) int 整数 double 浮動小数など その他のデータ型配列 データの並び ( 文字列も, 文字の並び ) ポインタ
Taro-再帰関数Ⅲ(公開版).jtd
0. 目次 1 1. ソート 1 1. 1 挿入ソート 1 1. 2 クイックソート 1 1. 3 マージソート - 1 - 1 1. ソート 1 1. 1 挿入ソート 挿入ソートを再帰関数 isort を用いて書く 整列しているデータ (a[1] から a[n-1] まで ) に a[n] を挿入する操作を繰り返す 再帰的定義 isort(a[1],,a[n]) = insert(isort(a[1],,a[n-1]),a[n])
進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2
連立 1 次方程式の数値解法 小規模な連立 1 次方程式の解法 消去法 Gauss 消去法 Gauss-Jordan 法 ( 大規模な連立 1 次方程式の解法 ) ( 反復法 ) (Jacobi 法 ) 講義では扱わない 1 進捗状況の確認 1. gj も gjp も動いた 2. gj は動いた 3. gj も動かない 2 パターン認識入門 パターン認識 音や画像に中に隠れたパターンを認識する 音素
Taro-スタック(公開版).jtd
0. 目次 1. 1. 1 配列によるの実現 1. 2 再帰的なデータ構造によるの実現 1. 3 地図情報処理 1. 4 問題 問題 1 グラフ探索問題 - 1 - 1. は データの出し入れが一カ所で行われ 操作は追加と削除ができるデータ構造をいう 出入口 追加 削除 操作 最初 111 追加 111 222 追加 111 222 333 追加 111 222 333 444 追加 111 222
Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]
if 文 (a と b の大きい方を表示 ) C 言語 Ⅰ の復習 条件判定 (if, 条件式 ) ループ (for[ 二重まで ], while, do) 配列 ( 次元 次元 ) トレース int a, b; printf( 整数 a: ); scanf( %d, &a); printf( 整数 b: ); scanf( %d, &b); //つのif 文で表現する場合間違えやすい どっちに =
Microsoft PowerPoint - 09.pptx
情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源
分子系統解析における様々な問題について 田辺晶史
分子系統解析における様々な問題について 田辺晶史 そもそもどこの配列を使うべき? そもそもどこの配列を使うべき? 置換が早すぎず遅すぎない (= 多すぎず少なすぎない ) そもそもどこの配列を使うべき? 置換が早すぎず遅すぎない (= 多すぎず少なすぎない ) 連続長は長い方が良い そもそもどこの配列を使うべき? 置換が早すぎず遅すぎない (= 多すぎず少なすぎない ) 連続長は長い方が良い 遺伝子重複が起きていない
メソッドのまとめ
メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか
Bioinformatics2
バイオインフォマティクス配列データ解析 2 藤 博幸 データベース検索 (1) ブラウザで NCBI を検索 (2)NCBI で配列データの取得 (3)NCBI で BLAST 検索 ブラウザで NCBI を検索 ブラウザで NCBI を検索 クリック ブラウザで NCBI を検索 NCBI トップページ National Center for Biotechnology Information 分
第1回 プログラミング演習3 センサーアプリケーション
C プログラミング - ポインタなんて恐くない! - 藤田悟 [email protected] 目標 C 言語プログラムとメモリ ポインタの関係を深く理解する C 言語プログラムは メモリを素のまま利用できます これが原因のエラーが多く発生します メモリマップをよく頭にいれて ポインタの動きを理解できれば C 言語もこわくありません 1. ポインタ入門編 ディレクトリの作成と移動 mkdir
02
54 163116831 02 1 168 54 158 53 162 53 148 52 152 52 10,000 0 40,000 30,000 20,000 50,000 70,000 60,000 1,000 500 1,500 2,000 0 2,500 3,000 4,000 3,500 4,500 168 54 158 53 162 53 148 52 152 52 03 52148
memo
数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int
PowerPoint プレゼンテーション
プログラミング応用演習 第 5 回演習 前回までのお話 ポインタ ポインタを用いた文字列処理 構造体 ファイル 再帰的構造体 リスト構造 動的メモリ管理 今日のお題 ポインタやファイルなど これまでの内容の練習 教材 以前 以下に単語を収録したファイルがあることを紹介した : /usr/share/dict/words この中からランダムに単語を取り出したファイルを用意した http://sun.ac.jp/prof/yamagu/2019app/
7-1(DNA配列から遺伝子を探す).ppt
DNA 配列の中から遺伝子を探す Blast 解析.6 Query DNA 塩基配列アミノ酸配列 DNA 塩基配列をアミノ酸配列に変換アミノ酸配列 DNA 塩基配列をアミノ酸配列に変換 データベース DNA 塩基配列アミノ酸配列アミノ酸配列 DNA 塩基配列をアミノ酸配列に変換 DNA 塩基配列をアミノ酸配列に変換 1. 2. 3. TATGGCTTA---- T G L TATGGCTTA----
gengo1-11
関数の再帰定義 自然数 n の階乗 n! を計算する関数を定義してみる 引数は整数 返却値も整数 n! = 1*2*3*... * (n 1)*n である ただし 0! = 1 とする int factorial(int n) int i, tmp=1; if( n>0 ) for(i=1; i
早稲田大学大学院理工学研究科 博士論文概要 論文題目 An algorithm for alignment of multiple biological sequences with generalized gap penalty functions 一般化ギャップペナルティ関数を用いた生物配列のマルチプルアラインメントアルゴリズム 申請者 山田 Shinsuke 真介 Yamada 情報 ネットワーク専攻並列
cp-7. 配列
cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標
バイオインフォマティクスⅠ
バイオインフォマティクス ( 第 3 回 ) 慶應義塾大学生命情報学科 榊原康文 アセンブリの演習問題 ( 解 ) CGTCCGT CATCG 5 3 4 ATCCAT TCCGTAT 5 3 3 4 GTATC CGTCCGT-------- --TCCGTAT------ -----GTATC----- -------ATCCAT-- ----------CATCG ===============
C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2
アセンブラ (Z80) の例 ORG 100H LD B,10 SUB A LOOP: ADD A,B DEC B JR NZ,LOOP LD (SUM),A HALT ORG 200H SUM: DEFS 1 END 1 C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i
char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く
変数 入出力 演算子ここまでに C 言語プログラミングの様子を知ってもらうため printf 文 変数 scanf 文 if 文を使った簡単なプログラムを紹介した 今回は変数の詳細について習い それに併せて使い方が増える入出力処理の方法を習う また 演算子についての復習と供に新しい演算子を紹介する 変数の宣言プログラムでデータを取り扱う場合には対象となるデータを保存する必要がでてくる このデータを保存する場所のことを
データ構造
アルゴリズム及び実習 7 馬青 1 表探索 定義表探索とは 表の形で格納されているデータの中から条件に合ったデータを取り出してくる操作である 但し 表は配列 ( 連結 ) リストなどで実現できるので 以降 表 の代わりに直接 配列 や リスト などの表現を用いる場合が多い 表探索をただ 探索 と呼ぶ場合が多い 用語レコード : 表の中にある個々のデータをレコード (record) と呼ぶ フィールド
PowerPoint Template
プログラミング演習 Ⅲ Linked List P. Ravindra S. De Silva e-mail: [email protected], Room F-413 URL: www.icd.cs.tut.ac.jp/~ravi/prog3/index_j.html 連結リストとは? 一つひとつの要素がその前後の要素との参照関係をもつデータ構造 A B C D 連結リストを使用する利点 - 通常の配列はサイズが固定されている
Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 78
Undestand の解析 Understand の C 言語で抽出できない依存関係について サンプルコードを用いて説明します 確認バージョン Understand 3.0 (Build 640) Understand 3.1 (Build 700) Understand 4.0 (Build 788) 抽出できない依存関係 Understand の C 言語の解析 (Fuzzy/Strict) で
PowerPoint プレゼンテーション
コンパイラとプログラミング言語 第 3 4 週 プログラミング言語の形式的な記述 2014 年 4 月 23 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用
RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
モデリングとは
コンピュータグラフィックス基礎 第 5 回曲線 曲面の表現 ベジェ曲線 金森由博 学習の目標 滑らかな曲線を扱う方法を学習する パラメトリック曲線について理解する 広く一般的に使われているベジェ曲線を理解する 制御点を入力することで ベジェ曲線を描画するアプリケーションの開発を行えるようになる C++ 言語の便利な機能を使えるようになる 要素数が可変な配列としての std::vector の活用 計算機による曲線の表現
PowerPoint Presentation
工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない
このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字
正規表現について 作成日 : 2016/01/21 作成者 : 西村 正規表現? 正規表現 (Regular Expression Regex) というと難しいもののように感じますが 正規表現 というのは 文字のパターンを表したもの です ( 例 ) これはソエルで使用している見積書の番号です A1500033 この番号は 下記のルールで付けられています 固定 年度 固定 通番 ( 枝番 ) ルール
プログラミングI第10回
プログラミング 1 第 10 回 構造体 (3) 応用 リスト操作 この資料にあるサンプルプログラムは /home/course/prog1/public_html/2007/hw/lec/sources/ 下に置いてありますから 各自自分のディレクトリにコピーして コンパイル 実行してみてください Prog1 2007 Lec 101 Programming1 Group 19992007 データ構造
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
Microsoft PowerPoint - BIセンターセミナー2013.pptx[読み取り専用]
遺伝子配列解析の基礎 genome=gene+ome DNA 配列からタンパク質へ cgtgctttccacgacggtgacacgcttccctggattggccagactgccttccgggtcactgccatggaggagccgcagtcagatcctagcgtcgagccccctctga gtcaggaaacattttcagacctatggaaactacttcctgaaaacaacgttctgtcccccttgccgtcccaagcaatggatgatttgatgctgtccccggacgatattga
/*Source.cpp*/ #include<stdio.h> //printf はここでインクルードして初めて使えるようになる // ここで関数 average を定義 3 つの整数の平均値を返す double 型の関数です double average(int a,int b,int c){
ソフトゼミ A 第 6 回 関数 プログラムは関数の組み合わせでできています 今までのゼミAでも printf や scanf など様々な関数を使ってきましたが なんと関数は自分で作ることもできるのです!! 今日は自作関数を中心に扱っていきます ゲーム制作でも自作関数は避けては通れないので頑張りましょう そもそもまず 関数とは 基本的には 受け取った値に関数によって定められた操作をして その結果の値を返す
Microsoft PowerPoint - CproNt02.ppt [互換モード]
第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント
PowerPoint プレゼンテーション
プログラミング応用演習 第 4 回再帰的構造体 プログラミングを 余談 : 教えることの難しさ 丁寧に説明しないと分かってもらえない 説明すると 小難しくなる学生が目指すべきところプログラム例を説明されて理解できる違うやり方でも良いので自力で解決できる おっけー 動けば良い という意識でプログラミング 正しく動くことのチェックは必要 解答例と自分のやり方との比較が勉強になる 今日のお題 再帰的構造体
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>
C 言語講座第 2 回 作成 : ハルト 前回の復習基本的に main () の中カッコの中にプログラムを書く また 変数 ( int, float ) はC 言語では main() の中カッコの先頭で宣言する 1 画面へ出力 printf() 2 キーボードから入力 scanf() printf / scanf で整数を表示 / 入力 %d 小数を表示 / 入力 %f 3 整数を扱う int 型を使う
Taro-2分探索木Ⅰ(公開版).jtd
2 分探索木 Ⅰ 0. 目次 1. 2 分探索木とは 2. 2 分探索木の作成 3. 2 分探索木の走査 3. 1 前走査 3. 2 中走査 3. 3 問題 問題 1 問題 2 後走査 4. 2 分探索木の表示 - 1 - 1. 2 分探索木とは 木はいくつかの節点と節点同士を結ぶ辺から構成される 2 つの節点 u,v が直接辺で結ばれているとき 一方を親節点 他方を子節点という ある節点の親節点は高々
プログラミング実習I
プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 [email protected] 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.
Microsoft PowerPoint - prog04.ppt
プログラミング言語 2 第 04 回 (2007 年 05 月 14 日 ) 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/language/ にアクセスすると 教材があります 2007 年 05 月 14 日分と書いてある部分が 本日の教材です 本日の内容
