バイオプログラミング第一 · 2020-07-20 · プログラム言語とは?...
TRANSCRIPT
![Page 1: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/1.jpg)
バイオプログラミング第一
榊原 康文、佐藤 健吾
慶應義塾大学理工学部 生命情報学科
![Page 2: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/2.jpg)
プログラム言語とは?
u 計算機と対話(命令)するためのもの
n CPUは機械語(アセンブラ)を解釈し,実行
例) 01000011 (加算命令)
高級プログラム言語
FORTRAN, C, Python, Java, LISP, など
n 人間がこの言葉で命令する(プログラムを書く)のは難しい
n より人間に近いプログラム言語でプログラミング
![Page 3: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/3.jpg)
コンピュータ上でのプログラム作成手順
エディタ プログラムの作成
コンパイラー 機械語へ翻訳
コンピュータ上で実行(CPU, メモリー, ディスク)
![Page 4: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/4.jpg)
C言語とは
C言語 → 言葉 → 言葉には文法がある↓
まず文法を理解↓
次に表現方法を学習(プログラム作法,アルゴリズム)
u カーニハン,リッチーにより(UNIXのシステム記述言語として)開発された現在最も広く使われているプログラム言語
n パソコンから,ワークステーション,大型コンピュータまで
n バイオインフォマティクスのソフトウエア作成
u 教科書は,C言語の文法を中心に書かれている
![Page 5: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/5.jpg)
前半の目標
u C言語を使って,
行列の積(掛け算)のプログラムが書けるように
なること
÷÷÷
ø
ö
ççç
è
æ=
÷÷÷
ø
ö
ççç
è
æ´÷÷÷
ø
ö
ççç
è
æ
401256059107103172644
4392383112
0510917231
![Page 6: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/6.jpg)
プログラミングの勉強
u とにかく自分でプログラムを作成して,何度も間違いを起こすことを通じて,プログラミング技法を覚えていくことが重要!!
uスキル(技術)の獲得はまず手をうごかすこと
![Page 7: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/7.jpg)
問題を解くプログラムが書けるようになるためには
C言語の習得
アルゴリズムの勉強(問題を解くためのプログラム手法)
生命科学における応用問題
バイオプログラミング第一
•アルゴリズムと情報処理•バイオプログラミング第二•基礎生命実験
•バイオインフォマティクス•生命情報実験
![Page 8: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/8.jpg)
授業の進め方,単位について
u毎回プログラミング実習を行う予定
u単位について
n期末試験
n レポート課題(3回位を予定)
n翌週までにプログラムと実行結果を提出
(授業支援)
![Page 9: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/9.jpg)
出席について
u すべての回をZoomによるオンライン講義で実施します。u Zoomの接続状況を使って毎回出席を取ります。
![Page 10: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/10.jpg)
Zoomの運用ルール
u 本名で参加してください。
! 参加時に本名を入力する。
! 後から変更するには、「参加者」→自分の名前→「詳細」→「名前の変更」で変更可能
u プライバシーを保護するため、「バーチャル背景」を推奨します。
! 「ビデオ」の右の「^」から設定可能
u 全体への説明中: マイクは常にOFF、ビデオはON
u 実習中: マイクは必要な時にON、ビデオはON
u Zoom内のチャットはほぼ見ません。代わりにSlack(後述)を使ってください。
![Page 11: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/11.jpg)
Zoomの運用ルール
u 全体への説明は、メインセッションで行います。
u 実習は、各自に割り当てられたブレークアウトルーム (BR) で行います。
u 実習中、教員はメインセッションにいます。TAは各ルームを見廻ります。
メインセッション BR1
BR2
榊 佐
TA
学
学
学
学
![Page 12: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/12.jpg)
Slackの運用ルール
u biopro1-2020.slack.com(バイオプログラミング第1用のワークスペース)に参加してください。
u チャンネルの役割
! #general: 全体の連絡を書き込みます。! #yyyy-mm-dd(日付): その日の連絡を書き込みます。教員はここを見ています。
! #helpme: TAはここを見ています。TAを自分のブレークアウトルームに呼びたい時に書き込んでください。自分のルーム
番号と質問内容を書いてください。
! #random:雑談用のチャンネルなので、自由に使ってください。
![Page 13: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/13.jpg)
参考
uホームページ
n http://www.dna.bio.keio.ac.jp/lecture/progen/
u メールアドレス
![Page 14: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/14.jpg)
プログラミング言語講義
![Page 15: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/15.jpg)
Cのプログラムの構造
【インクルード文】
【宣言文】
【main関数】
【関数】
:
:
【関数】
← 標準関数などを「組み込む」ための処理
← グローバル変数宣言,関数のプロトタイプ宣言,define文
} C言語では,「あるひとまとまりの処理」はすべて関数として扱われる
![Page 16: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/16.jpg)
main関数
uどのようなプログラムにおいても,必ず用意され
なければならない関数
u実行プログラムの中で最初に実行される関数
uほかのすべての関数は,このmain関数の中で
使われる
![Page 17: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/17.jpg)
main関数の構造
int main(void){【変数の宣言】;:【文】;::
return 0;}
文は一つの処理を書いたもの,「セミコロン」で終わる
![Page 18: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/18.jpg)
単純なCのプログラム
#include <stdio.h>
int main(void){【変数の宣言】;:【文】;::
return 0;}
【インクルード文】
【宣言文】
【main関数】
【関数】
:
:
【関数】
}
![Page 19: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/19.jpg)
単純なCのプログラム
#include <stdio.h> 【インクルード文】
標準入出力を使うためのインクルード文
入力) キーボード
出力) CRTディスプレイ
![Page 20: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/20.jpg)
最も単純なCのプログラム
#include <stdio.h>
int main(void){
【文】;::
return 0;}
#include <stdio.h>
int main(void){printf(”Hello”);return 0;
}
![Page 21: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/21.jpg)
最も単純なCのプログラム
#include <stdio.h>
int main(void){printf(”Hello”);return 0;
}
printf
画面への出力(関数)
” ” (ダブルクォーテーション)で囲まれた中に書かれた文字や記号はそのまま画面に出力される
![Page 22: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/22.jpg)
注意事項
![Page 23: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/23.jpg)
演習について
u 基本的にはどのようなプログラミング環境でも構いません。
u この講義では当面の間、ブラウザ開発環境paiza.ioを使います。
https://paiza.io/ja
u 慣れてきたらVisual Studio Codeを使用します。後日改めて説明します。
![Page 24: バイオプログラミング第一 · 2020-07-20 · プログラム言語とは? u計算機と対話(命令)するためのもの nCPUは機械語(アセンブラ)を解釈し,実行](https://reader035.vdocuments.net/reader035/viewer/2022080719/5f78e9f48f5cfa51f2671c1a/html5/thumbnails/24.jpg)
演習について
u 演習課題は「授業支援」を用いて提出してください。
u 毎回、「考察」を記述したテキストファイルを一緒に提出してください。
! 内容はそれほど長くなくてもいいです。
! Wordではなく、メモ帳などで作成したテキストファイルにしてください。
u ファイル名には日本語が含まれないようにしてください。
! ZIPファイル、Cファイル、TXTファイル