lecture1 drill withTextDatamps.q.t.u-tokyo.ac.jp › ~shibata.kazuya › douki › 1st ›...
Transcript of lecture1 drill withTextDatamps.q.t.u-tokyo.ac.jp › ~shibata.kazuya › douki › 1st ›...
1
動機付けプロジェクト(前半第1回)
演習課題 2019 年 9 月 24 日
(担当:柴田和也)
演習課題1.下記のホームページにアクセスし、レポートのテンプレートファイ
ルをダウンロードせよ。
(ダウンロード URL)
http://mps.q.t.u-tokyo.ac.jp/~shibata.kazuya/douki/
ファイル名: lecture1_report.docx
(補足)インターネットへの接続は「UTokyo WiFi(キャンパス内で利用出来る学内共通無
線 LAN サービス)」を利用できる。
http://www.u-tokyo.ac.jp/ja/administration/dics/service/wifi.html
演習課題2.次週以降で使用する UNIX 環境を各自のノートパソコン上に構築
するために、ソフトウェアをダウンロードしインストールせよ。
(補足:インターネットの接続状況が悪い場合は、講義後に家で行っても良い。)
<macOS を使用する人>
特に無し(ターミナルを使用する予定です)。
<Linux を使用する人>
特に無し(ターミナルを使用する予定です)。
<Windows を使用する人>
MinGW または Cygwin をダウンロードし、インストールせよ。
(MinGW の方が容量が小さく、またインストール時間が短い。本講義では
MinGW の機能で十分である。ただし、より多くの機能をインストールして使用
したい場合は Cygwin が良い。Cygwin の方が高機能で拡張性も高い。)
●MinGW(Minimalist GNU for Windows)のダウンロード
http://www.mingw.org/
2
容量は 410MB 程度。
ダウロードとインストール時間:10分程度
[インストール方法]
(i) MinGW のホームページの右の方にある Download Installer の
ボタンを押す。
(ii) ダウンロードしたmingw-get-setup.exeを実行する(ダブルクリック)。
(iii)インストールの際のパッケージの選択は例えば下のようにすると良い。
Basic Setup を選択して以下の項目にチェックをつける。
(Mark for Installation をクリック)。
mingw-developer-toolkit
mingw32-base
mingw32-gcc-g++
msys-base
選択後、MinGW Installation Manager の左上の Installation をクリック
→Apply Changes→Apply
●Cygwin のダウンロード:
https://www.cygwin.com/
補足1:ダウンロードとインストールに30分程度かかります。
また容量が 2GB 程度必要です。
ストレージ容量に余裕が無い場合は、MinGW をお勧めします。
補足2:C 言語や様々なコマンドを使えるようにするために、以下の必要な
パッケージをインストールしてください。
[インストールすべきパッケージ]
・Devel -> make
・Devel -> gcc-core
・Editors -> vim-common
・Shells -> chere
3
[参考]
・Cygwin で C
http://www.spice.ci.ritsumei.ac.jp/~hiratsuka/cygwin.html
・Make コマンドのインストール
http://fshianasan.hateblo.jp/entry/2013/11/09/030923
・Cygwin のシェルを、ディレクトリのコンテキストメニューから呼び
出す。
http://kiriyam.blogspot.jp/2010/01/cygwin.html
・開発ツール/Cygwin に vim エディタをインストールする
(上のキーワードで google で調べるとページがヒットすると思います。)
演習課題3.次週以降で使用する C 言語のプログラミング環境を各自のノート
パソコン上に構築するために、ソフトウェアをダウンロードしインストールせ
よ。(補足:下記以外のソフトウェアでも可。インターネットの接続状況が悪い場合は、講義後
に家で行っても良い。)
<Windows PC を使用する人>
下記の 1)または 2)等
(補足:1)と 2)の両方インストールすると、両方学習できます。)
1) MinGW または Cygwin(演習課題2で Cygwin をインストールしていれば、
新たにインストールは不要。)
2) Visual Studio
例:Microsoft Visual Community
https://www.visualstudio.com/ja/vs/community/
(画面を
<macOS を使用する人>
Xcode
(インストール方法)
(1) "App Store"のアイコンをクリックして、検索欄に"Xcode"と入力して
リターン・キーを押す。
参考:
https://itunes.apple.com/jp/app/xcode/id497799835?mt=12
(2) 通常のインストールの操作(必要なボタンをクリック)。
参考: http://blog.codecamp.jp/xcode_install/
(3) Xcode を起動。
7
演習課題5. 次の文字列を、その文字列の右側にコピー&ペーストせよ。ただ
し、マウスは使用せず、ショートカットを用いよ。(補足:カーソルの移動は好
みがあるのでマウスを使用しても結構ですが、この課題ではキーボードを使っ
てみましょう。)(注:原文は、レポートファイルに書かれているのでそれを使用
してカット&ペーストすれば良い。)
例: あいうえお あいうえお
<ショートカットの補足説明(Windows 用の Microsoft Office Word の場合)>
カーソルの移動(1文字ずつ):矢印キー
カーソルの移動(単語ずつ):"Ctrl"+矢印キー
文字列の選択範囲を1文字広げる(または狭める):"Shift"+矢印キー
文字列の選択範囲を1単語広げる(または狭める):"Shift"+"Ctrl"+矢印キー
文字列の選択範囲を行の最後まで広げる:"Shift"+"End"
(Windows には End キーがあるが、Mac にはない。)
文字列の選択範囲を文の最初まで広げる:"Shift"+"Home"
(Windows には Home キーがあるが、Mac にはない。)
コピー:"Ctrl" + "c"
ペースト:"Ctrl" + "v"
やり直し:"Ctrl" + "z"
(1) ショートカットは
(2) 仕事のスピードを
(3) あげることができます。
(4) いろいろなソフトウェアには
(5) ショートカット機能がありますので
(6) ぜひインターネット等で
(7) 調べて使えるようになりましょう。
8
演習課題6.次のようなスペース区切りの2つの文字列の順番を、カット&ペー
ストにより反対にせよ。ただしマウスは使用せず、ショートカットを用いよ。
(注:原文は、レポートファイルに書かれているのでそれを使用してカット&ペ
ーストすれば良い。)
例: abc def → def abc
<ショートカットの補足説明(Windows 用の Microsoft Office Word の場合)>
カット:"Ctrl" + "x"
ペースト:"Ctrl" + "v"
やり直し:"Ctrl" + "z"
カットとは:選択範囲を削除するとともに、
ペーストできる状態(つまりコピーの状態)にします。
データの移動に使用します。
(1) ショートカットは カットアンドペーストの
(2) ですが 基本的なコマンド
(3) いました? 知って
9
演習課題7. 次の数式をワープロソフト(Word など)で書け。
できるだけショートカットやコマンドを調べて用いよ。
(補足:コマンドを使わない入力でも良い。
macOS では使用できないコマンドがある。)
<補足1(ショートカット)>
数式の挿入: "Alt"+"="
("="の入力は、キーボードに依存する。例えば"Shift"+"-"。)
注意:macOS ではこのショートカットは使用できない。
<補足2(コマンド)>
×: ¥times(例 2 3 は 2¥times 3)
(注:¥times の後にスペースを入力する必要がある。)
分数: / (例 は 1/2 の後にスペース)
指数: ^ (例 2 は 2^3 の後にスペース)
<参考 HP>
http://nasimeya.blog.fc2.com/blog-entry-395.html
https://sites.google.com/site/bknobiboroku/windows/word_equation_editor_shortcuts
(1) 1 2 3
(2) 1 2 2
(3) 0.5
(4) 2 8
(5) √2 ≅ 1.414
(6) 𝑎 1
(7) αβγ ϕψσ
(8) a b
(9) a b
(10) a b
(11) a b
(12) 𝐷
(13) a → b
(14) b ← b
10
(15) 𝑥 𝑥 ∆𝑥
(16) ∇ 𝜙 𝑏
(17) 𝑥 𝑑𝑥 𝐶
(補足:斜体(斜体)は文字列を選択して"Ctrl"+"i)
(18) cos 𝑥 𝑑𝑥
(19) √𝑒 𝑑𝑥
(20) lim→
(21) AB⃗
(22) x y 2
2x 3y 4
(23) a ⋯ d ⋮ ⋮
w ⋯ z
演習課題8. 表計算ソフトによるデータ解析の課題
次ページの注意事項を良く読み、以下の課題を行え。
(1) ホームページからファイル(lecture1_data-a.xlsx)を読み込み、
Sheet1 において A 列の値の総和を計算し、結果を B1 に書き込め。
また A 列の値の平均値を B2 に書き込め。
(ヒント: A1 から A10 までの総和は=SUM(A1:A10) という数式で求まる。)
(2) 上記のファイルの Sheet2 において各行の A 列と B 列の和を計算し、結果を
C 列に書き込め
(ヒント: たとえば=A1+B2 という数式と、「Ctr+c」、「shift+Ctr+矢印」、「Ctr
+v」を用いると簡単である。)
(3) 上記のファイルの Sheet3 において
A 列の値 a と B 列の値 b を用いて、C 列に8a 𝑏√5の値を書き込め。
(ヒント: たとえば2 √3は =(2^3)*SQRT(3)という数式で計算できる。)
(4) 上記のファイルの Sheet4 において
A 列に1~10,000 までの連番を書け(A1~A10000 に書け)。
11
例 1
2
3
・
・
(ヒント:A1 セルに 1 を入力し、Excel の「ホーム」→「フィル」→「連続
データの作成(範囲は”列”、種類は加算、停止値は 10000 に設定する。)」macOS
の場合はツールバーのΣのボタンの下にフィルのボタン(下矢印↓が四角の中
中に表示されたボタン)がある。このフィルのダイアログの表示はマウス操作以
外にも、Alt キーを押した後に eis を同時にではなく順番にタイプすることでも
表示できる。フィル以外にも、Alt キーを押した後に画面上に表示されるキーを
入力することで様々な処理を行うことができる。
(5) 上記のファイルの Sheet5 において
B 列の各行に、A 列の値に C 列の1行目の値を掛けた値を書き込め。
(ヒント: エクセルの 絶対参照・相対参照の機能を調べると良いです。
例えば、=A1*$C$1 のように式中のセルに$マークをつけると$後の列の文字や
$後の行番号を固定できます。C1 を$C$1 のようにつけるには、ショートカット
が便利です。式中の C1 のところで F4 キーを押すと$C$1 に変わります。もう一
度 F4 キーを押すと C$1(行を1行目に固定)に変わります、さらにもう一度 F4
キーを押すと$C1(列を C 列に固定)に変わります。$C$1$マークをつけないで
そのセルをコピー&ペーストすると、相対的に列の文字や行番号が変化してし
まいます。式のコピーは「Ctr+c」、「shift+Ctr+矢印」、「Ctr+v」を用いると簡単で
す。)
<注意事項>
マウスをできるだけ使用せず、ショートカット機能を用いよ。
(例)
カーソルの移動:矢印(→,↑,←,↓等)
データ上の端部へのカーソルの移動:
"Ctrl"+"矢印(→,↑,←,↓等)"
選択範囲の変更(データの端部まで選択範囲を拡張):
"Ctrl"+"Shift"+"矢印(→,↑,←,↓等)"
選択範囲の変更(1セル分変更):
"Shift"+"矢印(→,↑,←,↓等)"
コピー: "Ctrl"+"c"
ペースト: "Ctrl"+"v"
12
カット(切り取り): "Ctrl"+"x"
(補足) カットは、選択範囲を削除するとともに、ペーストできる状態
(つまりコピーの状態)にします。データの移動に使用します。
演習課題9. グラフ作成の課題1
(1) ホームページからファイル(lecture1_data-b.xlsx)を読み込み下図とほぼ等し
いグラフをエクセルなどの表計算ソフトで描け。(補足1:線の種類などを変更
してできるだけこの下図に近い図を作成せよ。)(補足2:Excel でただ描いただ
けでは論文や報告書に使えるキレイなグラフを描くことができない。この課題
のお手本のように、マーカーや線の種類を適切に設定する必要がある。)
(補足)グラフの種類は、散布図(直線とマーカー)とせよ。Simulation も
データは、○印のマーカーでプロットし、直線は後で削除せよ Analytical
solution のデータは、散布図(直線とマーカー)を用いて点線で表し、マー
カーは後で削除せよ。図中の線やマーカーは全て黒色で描画せよ。データラ
ベル(○Simulation ----Analytical solution)を記載せよ。横軸の軸間隔は
1000Pa とせよ。軸のメモリの向きは内向きとせよ。縦軸のメモリの軸間隔は
0.1m とせよ。軸ラベル(Difference in surface pressure (Pa), Difference in water
level (m))を記載せよ。Font は、Times New Roman とせよ。ただし macOS な
どの OS のエクセルソフトでは Times New Roman のフォントが無い場合が
ある。その場合は他のフォントを用いて良い。
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0 1000 2000 3000 4000 5000
Dif
fere
nce
in w
ater
leve
l (m
)
Difference in surface pressure (Pa)
SimulationAnalytical solution
13
(2) Microsoft Word(もしくは類似のソフト)ファイルを新たに作成し、作成した
グラフを Word ファイルに貼れ。Word ファイルの名前は lecture1_data-b.docx と
せよ。
(補足)貼り付けの際の形式は、図(拡張メタファイル)とせよ。
(ホーム→貼り付け→形式を指定して貼り付け→図(拡張メタファイル)
macOS のエクセルの場合、拡張メタファイルが選択できない場合があ
る。その場合、形式はどれでも良い(解像度が低下しない形式をお勧
めします。)
演習課題10. グラフ作成の課題2
(1) ホームページからファイル(lecture1_data-c.txt)を読み込み下図とほぼ同じグ
ラフを Excel などの表計算ソフトで描け(線の種類などを変更して、できるだけ
この下図に近い図を作成せよ)。
(補足1)
作成したファイルのファイル名は、
lecture1_data-c.xlsx もしくは
lecture1_data-c.xls
とせよ。(ファイル名を変更するには”F2”のショートカットキーを使っ
てください(ショートカットを勉強するためです)。
(補足2)グラフの種類は、散布図(直線)とせよ。Font は、Times New Roman
とせよ。ただし macOS などの OS のエクセルソフトでは Times New Roman
のフォントが無い場合がある。その場合は他のフォントを用いて良い。
(補足3)ファイルがテキスト形式(拡張子が txt のため、そのままでは Excel
で開けないので工夫せよ。
例1: Excel の「ファイル」→「開く」(場合によっては、「データ」
→「区切り位置」を使う必要有り。)
0
1000
2000
3000
4000
5000
6000
0 1 2 3
Pre
ssur
e (P
a)
Time (s) Existing methodPresent method
14
例2:Excel を起動し、その Excel のウィンドウの上にファイルを
ドラッグ&ドロップする、など
(補足4)グラフ中の目盛線や補助目盛線(図の背景の縦線や横線)を消す
には、それらをマウスでグラフ上でクリックして選択し、”DEL”キーを押す
と良い。
(2) Microsoft Word(もしくは類似のソフト)のファイルを新たに作成し、(1)で作
成したグラフをファイル上に貼れ。Word ファイルの名前は lecture1_data-c.docx
とせよ。
(補足1)Windows でファイル名を変更するには、ファイルのアイコンを
マウスで選択して”F2”のショートカットキーを使ってください(ショー
トカットを勉強するためです)。macOS の場合は”Enter”キーです。
(補足2)貼り付けの際の形式は、図(拡張メタファイル)とせよ。macOS
の場合、拡張メタファイルが選択できない場合がある。その場合は形式は
どれでも良い(解像度が低下しない形式をお勧めします。)
演習課題11. Microsoft エクセルの関数の課題
(1) SUMIFS 関数の課題1
ホームページからファイル(lecture1_data-d_sumifs1.xlsx)を読み込み F3 と、F4 に
取引先の金額の合計を SUMIFS 関数を用いて求めよ。
(ヒント: F3 セルで=SUMIFS($C$3:$C$7,$B$3:$B$7,E3)を入力すればよい。
F4 セルも同様。F3 セルの値が 80、F4 セルの値が 90 となれば正解。)
(2) SUMIFS 関数の課題 2
ホームページからファイル(lecture1_data-e_sumifs2.xlsx)を読み込み F6 に、開始
日から終了日までの販売個数の合計を SUMIFS 関数を用いて求めよ。
(ヒント: F6 セルで=SUMIFS(C5:C15,B5:B15,">="&G4,B5:B15,"<="&G5)を入
力すればよい。F6 セルの値が 1689 となれば正解。)
(3) COUNTIFS 関数の課題
ホームページからファイル(lecture1_data-f_countif.xlsx)を読み込み F3~F5 に、
各取引先の取引件数の合計を countifs 関数を用いて求めよ。
(ヒント: F3 セルで=COUNTIFS($B$3:$B$7,E3)を入力すればよい。F4~F5 も
同様。F3,F4,F5 のセルの値がそれぞれ 2, 2, 1 になれば正解。)
15
(4) VLOOKUP 関数の課題
ホームページからファイル(lecture1_data-g_vlookup.xlsx)を読み込み、E3 セルの
コードに対応する商品名を vlookup 関数を用いて F3 セルに求めよ。
(ヒント: F3 セルで=VLOOKUP(E3,B3:C6,2,FALSE)を入力すればよい。F3 の
値が Coffee になれば正解。)
(5) IF 関数の課題
ホームページからファイル(lecture1_data-h_if.xlsx)を読み込み、D3~D5 セルに
if 関数を用いて60点以上であれば合格、60点未満であれば不合格と表示させ
よ。 (ヒント: D3 セルで=IF(C3>=60,"合格","不合格")を入力すればよい。D4
~D5 も同様。)
(6) SUM 関数の課題
ホームページからファイル(lecture1_data-i_sum.xlsx)を読み込み、sum 関数を用
いて4月から6月の合計の値を E3 セルで求めよ。 (ヒント: E3 セルで
=SUM(B3:D3)を入力すればよい。)
(7) MAX 関数と MIN 関数の課題
ホームページからファイル(lecture1_data-j_max_min.xlsx)を読み込み、Pressure の
時系列データの最大値と最小値をそれぞれ I2 と I3 セルで求めよ。 (ヒント:
E3 セルで=MAX($D$3:$D$103)を入力すればよい。)
演習課題12. 演習課題4(11)でタイピングしたプログラムは、どのような処
理をするプログラムか、1行程度で説明せよ。
<ヒント>
下記の黒字の 3 行の部分は、とりあえずプログラムの実行に必要なおまじ
ないと考えてもらっても結構です(後でだんだん分かってきます)。
#include <stdio.h> C 言語のプログラムに必要な「おまじない」。 <補足説明> この行は、標準的な入出力に必要なライブラリの導入を 意味する。 void main 関数の戻り値が「何も無い(void)」ことの宣言
16
main( void ){ C 言語の最初に実行される関数である main 関数の 実体の記述の始まりを表す。
(void は、main 関数の引数が「何も無い(void)」ことの宣言である。)
演習課題13. 普段使っている OS(オペレーティングシステム)やソフトウェ
アのショートカットを調べ、以下に書け。(数は、10個以上。自分が使いたい
機能を調べてください。今後自分が使用するメモになるように書くと良い。
調べ方:google などで、Windows ショートカット などのキーワードで調べら
れます。)
例:・ファイル名の変更:マウスでファイルのアイコンを選択して、
”F2”キーを押す。
・開いている全てのウィンドウを一度に最小化する:
”ウィンドウズマーク”+d(補足:もう一度実行すると戻ります。)
・画面を画像としてキャプチャー: “Fn”+”PrtSc”
(補足:キャプチャーした後にペイントなどのソフトで Ctr+v
を押すとキャプチャーした画像を貼り付けられます。)
・選択している Window のみを画像としてキャプチャー:
“Alt”+“Fn”+”PrtSc”
(補足:キャプチャーした後にペイントなどのソフトで Ctr+v
を押すとキャプチャーした画像を貼り付けられます。)
・Windows 上で、エクスプローラのウィンドウの追加: "Ctrl"+"n"
・Windows のエクスプローラのウィンドウ上でフォルダの追加:
"Ctrl"+"Shift"+"n"
・Windows のエクスプローラのウィンドウ上で全てのファイルを選択:
"Ctrl"+"a"
・Windows のエクスプローラのウィンドウ上でファイルのコピー:
ファイルを選択し、"Ctrl"+"c"
・Windows のエクスプローラのウィンドウ上でファイルのカット:
ファイルを選択し、"Ctrl"+"x"
・Windows のエクスプローラのウィンドウ上でファイルをペースト:
"Ctrl"+"v"
17
・Windows のエクスプローラのウィンドウ上で上のフォルダに移動:
"Back space" または "Alt"+"↑"
・Windows のエクスプローラのウィンドウ上で選択したフォルダ
に移動: フォルダを選択し、"Enter"
・Windows のエクスプローラのウィンドウ上で1つ前のフォルダ
に移動: "Back space" または "Alt"+"←"
・Windows のエクスプローラのウィンドウ上で1つ先のフォルダ
に移動: "Back space" または "Alt"+"→"
・Windows のウィンドウをモニターの左に並べる:
”ウィンドウズマーク”+ "←"
・Windows のウィンドウをモニターの右に並べる:
”ウィンドウズマーク”+ "→"
・Windows のウィンドウを最大化する:
”ウィンドウズマーク”+ "↑"
・Windows のウィンドウを最大化を解除する:
”ウィンドウズマーク”+ "↓"
・Windows のウィンドウを最小化する:
”ウィンドウズマーク”+ "↓"
演習課題14. C 言語の学習
<C 言語をまだあまり学習したことが無い人への課題>
残り時間で、下記のようなホームページを活用して、C 言語を自習しまし
ょう。(本を1冊持っていると便利だと思います。)
http://9cguide.appspot.com/ 苦しんで覚えるC言語
<C 言語プログラミングの経験がある人への課題>
残り時間で、好きなプログラムを C 言語で作ってください。
(何でも結構です。短いプログラムでも結構です。
せっかくなので自分があまり作ったことのないプログラムを
作ってください。)
18
--------------------------------------
レポートの提出方法:
--------------------------------------
電子メールで以下のメールアドレスに送信。
●メールアドレス: [email protected]
●メールの件名: [動機付けプロジェクト前半第1回] (学籍番号)(氏名)
(補足:(学籍番号)(氏名)と氏名の欄は適切に変更してください。)
●提出期限: 2019年10月8日(火)21:30
●提出内容: 本講義(私の担当の範囲)においてはメールの本文は、無し
(空メール)でよい。ただし、メールの件名は上述の通りとし、レポートの電子
ファイル(記入した lecture1_report.docx と、演習で作成したエクセルファイル)
を添付すること。