カウンタ

COUNTER3445

講義・実験資料(図等の無断転載禁止)

12Next
2019/12/09

技術者倫理(12/09)

| by yshimada201101
技術者倫理(12/09)資料cls20191209_girr.pdf
(注意)アナウンスしたファイル名を変更しました(2019/12/10)。

06:13
2018/12/08

情報科学(F)のレポート(2018/11/29)、小テスト(2018/12/06)の解答

| by yshimada201101
■レポート(2018/11/29)の解答
Q1(a)
print(list(range(0,10)))
Q1(b)
print('Number='+str(list(range(71,81))))

Q2(a)
list_mix=[2,1.732,'test']
print(list_mix[1])
Q2(b)
(補足)list_mix[1]が文字列の場合(例えば、'1.732'(「'」で文字
列型となる))はfloat関数を使う。
print(list_mix[1]-0.732)

Q3(a)
test_file=open('test.txt','w')
test_file.write('hello!')
test_file.close()
Q3(b)
test1_file=open('test1.txt','w')
test1_file.write('hello!'+'\n')
test1_file.write('1234'+'\n')
test1_file.close()

Q4(a)
Q3(a)で作成されたファイル(一行)を読む。
test_file=open('test.txt','r')
read_str=test_file.readline()
print(read_str)
test_file.close()
Q4(b)
Q3(b)で作成されたファイル(複数行)を読む。
test1_file=open('test1.txt','r')
for line in test1_file:
    print(line.strip())
test1_file.close()

小テスト(2018/12/06)の解答
(全体)
‐今回に限り、print関数が無い回答は△(0.5点)にする。
これまでと同様に、しっかり回答しているが、間違った理解な
ので低い点数の結果が多い。
講義で使用した教科書を、少なくとも私が担当する講義等で使
用する可能性があるので捨てないでください。

(1)
大文字と小文字で区別されるので、PrintやListは×。
2019でなく2020である。
print(list(range(1989,2020)))

(2)
‐list_xやlist_mix等は×。
リスト中の要素番号は小さい順でもよい。ただし、要素の数が増
えるとプログラムを変更しなければならないので推奨しない。
x=[2016,2017,2018,2019]
print(x[2]) あるいは、print(x[-2])

(3)
(2)のすべての説明と同じ。
print(x[3]-813) あるいは、print(x[-1]-813)

(4)
output.csv中に値を書き込むことが目的なので、inflが異なっても○
とする。
inflでなく例えばtest.file等のピリオド「.」がある変数は×。
変数に使う文字の種類は、英数字、アンダーバー「_」である。
infl.close()がなくても○とする。
infl=open('output.csv','w')
infl.write('2019'+'\n')
infl.write('1206'+'\n')
infl.close()

(5)
output.csv中の値を読み込むことが目的なので、inflが異なっても○
とする。
‐(4)の4番目の説明と同じ。
infl=open('output.csv','r')
for line in infl:
<TAB> print(line.strip())  
infl.close()


18:23
2018/11/29

情報科学(F)のレポート(2018/11/22)、小テスト(2018/11/29)の解答

| by yshimada201101
■レポート(2018/11/22)の解答
Q1(a)
print(len([1,2,3]))
Q1(b)
print(len(['A','B','C']))
Q1(c)
print(len('20181122'))

Q2(a)
ver=3.6
print('Python'+str(ver))
Q2(b)
‐nameとnumは個人で異なる。
name='Yoshio Nagata'
num=9999
print(name+','+str(num))

Q3(a)
print(list(range(0,10)))
Q3(b)
print('Number='+str(list(range(71,81))))

Q4(a)
address_new=address.split(',')
print(address_new)
Q4(b)
address1_new=address1.split(',')
print(address1_new)
print(address1_new[3])

Q5(a)
import datetime
today=datetime.date.today()
entrance_date=datetime.date(2018,4,1)
life=today-entrance_date
print(today)
print(entrance_date)
print(life)
Q5(b)
date_past=datetime.datetime(2018,11,22,11,22,11)
date_now=datetime.datetime.now()
ddate=date_now-date_past
print(date_past)
print(date_now)
print(ddate)

■小テスト(2018/11/29)の解答
(1)
‐「~をAnaconda Promptに表示する~のプログラム」のときは、
print関数を使う。
print(len([1,2,3,4,5]))

(2)
‐(1)の説明と同じ。
ver=11.29
print('class'+str(ver))

(3)
‐(1)の説明と同じ。
ikadat='アオリイカ,ホタルイカ,ソデイカ'
ikadat_new=ikadat.split(',')
print(ikadat_new)

(4)
‐(1)の説明と同じ。リスト中の要素の番号はゼロからであるこ
とに注意する。
print(ikadat_new[1])

(5)
‐(1)の説明と同じ。datetime.datetimeを使う。月等の値で数字の
前にゼロをつけない(03や09)。
import datetime
stime=datetime.datetime(1970,3,15,0,0,0)
etime=datetime.datetime(1970,9,14,0,0,0)
print(etime-stime)
あるいは、
import datetime
stime=datetime.datetime(1970,3,15)
etime=datetime.datetime(1970,9,14)
print(etime-stime)

20:49
2018/11/22

情報科学(F)のレポート(2018/11/15)、小テスト(2018/11/22)の解答

| by yshimada201101
■レポート(2018/11/15)の解答
Q1(a)
print((1+5)/(2+3))
(出力)1.2
Q1(b)
print(86400/(60*60))
(出力)24.0

Q2(a)
print([1,2,3,4,5])
(出力)[1, 2, 3, 4, 5]
Q2(b)
print([1/3, 2/3, 3/3, 4/3, 5/3, 6/3, 7/3])
(出力)[0.3333333333333333, 0.6666666666666666, 1.0, 1.3333333333333333, 1.6666666666666667, 2.0, 2.3333333333333335]
あるいは、
print(['1/3', '2/3', '3/3', '4/3', '5/3', '6/3', '7/3'])
(出力)['1/3', '2/3', '3/3', '4/3', '5/3', '6/3', '7/3']

Q3(a)
print(['one','two','three'])
(出力)['one', 'two', 'three']
Q3(b)
print(['コウイカ', 'ヤリイカ', 'アオリイカ', 'ホタルイカ', 'スルメイカ'])
(出力)['コウイカ', 'ヤリイカ', 'アオリイカ', 'ホタルイカ', 'スルメイカ']

Q4(a)出力内容は実行毎に異なる。
sai1=random.choice([1,2,3,4,5,6])
sai2=random.choice([1,2,3,4,5,6])
sai3=random.choice([1,2,3,4,5,6])
print(sai1)
print(sai2)
print(sai3)
(出力)2
(出力)1
(出力)2

Q4(b)出力内容は実行毎に異なる。
ika1=random.choice(['ケンサキイカ', 'スルメイカ', 'ヤリイカ'])
ika2=random.choice(['ケンサキイカ', 'スルメイカ', 'ヤリイカ'])
ika3=random.choice(['ケンサキイカ', 'スルメイカ', 'ヤリイカ'])
(出力)スルメイカ
(出力)ヤリイカ
(出力)ケンサキイカ


■小テスト(2018/11/22)の解答

(注意)「当日の配布用紙のみ」で小テストの解答する。無断で
別の用紙を使った場合は減点にする。

(1)
print関数を使う。
print([1,2,3,4,5])

(2)
print関数を使う。
print(['ABC','DEF','HIJ'])

(3)
‐randomモジュールを呼び出す。print関数を使う。サイコロ
は四面体。
import random
sai=random.choice([1,2,3,4])
print(sai)
((3)の別解)
import random
print(random.choice([1,2,3,4]))

(4)
小数点有無の違いはない。分母に積の項等があればカッコで
括る。
x=(a+b)/(4.0*c)
((4)の別解)
x=(a+b)/4.0/c

(5)
‐複数有り。計算の優先順位は、
正負符号 > 累乗 > かけ算・わり算 > たし算・ひき算
3.14*R*R
3.14*(R**2)
3.14*R**2
R**2*3.14
R*R*3.14


17:39
2018/11/15

情報科学(F)のレポート(2018/11/8)、小テスト(2018/11/15)の解答

| by yshimada201101
■レポート作成の注意
‐レポートの画像中の文字が小さいために、内容を確認できない
レポートが多いです。こちらで頑張っても文字が見えない場合、
採点しません。レポート枚数は1枚でなくてもよいですので、文
字が見えるように画像を拡大してください。ご心配であれば、画
像中の文字サイズは、レポートにタイピングした名前・番号のサ
イズより少し小さめがよいと思います。

‐スクリーンショットの画像中の余白があまりにも大きいことに
より、文字が小さくなっているレポートが多いです。ペイント等
の画像編集ソフトを使って余白部分を削除し、必要な箇所を拡大
してレポートファイル(ワードファイル)に貼り付けてください。

■レポート(2018/11/8)の解答
Q1(a)
print('abc')
(出力)abc
Q1(b)
print('あいうえお')
(出力)あいうえお

Q2(a)
print(2+4)
(出力)6
Q2(b)
print(2-4)
(出力)-2

Q3
print(2*4)
(出力)8

Q4
print(4/2)
(出力)2.0

Q5(a)
print(2**4)
(出力)16
Q5(b)
print(289**0.5)
(出力)17.0
(289**1/2=289/2となり×、289**(1/2)は〇。)
Q5(c)
print(2**-1)
(出力)0.5

Q6
print(8%3)
(出力)2


■小テスト(2018/11/15)の解答
(1)dir
(2)cd  test
(3)2**0.5
(math.sqrt(2)はモジュールが必要なので×。2**(1/2)は〇、2**1/2は×。)
(4)(1+5)/(2+1)
(5)9

17:02
2018/11/12

情報科学(F)の質問と回答

| by yshimada201101
 情報科学(F)の質問と回答
------------------------------------------------------------------------------------------------------

■2018/11/12
(質問)編集したプログラムファイルを上書き保存することができな
い。そのときエラーが表示される。
(回答)siryoフォルダの中でファイルを編集したようである。自分
編集したプログラムファイル、それがあるディレクトリ(フォル
ダ)を確認してください。

■2018/11/12a
(質問)編集したプログラムファイルを上書き保存し実行しても、編
集が反映された結果が出力されない。
(回答)編集したプログラムファイルのディレクトリと、実行したプ
ログラムファイルのディレクトリが異なるようである。Anaconda
 Promtにおけるコマンド入力行で「dir」を入力して、更新時刻等
確認してください。
(例)
>dir
2018/11/08  11:37             1,573 test.py

■2018/11/12b
(質問)数式を入力したが、Anaconda Promptにおける表示が数式と
なり計算結果とならない。
(回答)数式の間にシングルクォーテーション「'」が入力されてい
ようですので消去してください。
(例)
print(11+12)

15:38
2017/12/09

鉛直分布図の書き方

| by yshimada201101
参考図を示しましたが、レポートにおける鉛直分布図の書き方の
一部は下記の通りです。今後のご参考にして下さい。

■軸について
‐縦軸は深度(下方向)、横軸は観測値(水温、塩分、密度等)に設定
する。
‐軸に観測値の名前、括弧付きでその単位を記す。
‐縦軸に記す深度はゼロから始める。
‐2つ以上の鉛直分布図を並べるとき、縦軸は同じ書式にする。

■目盛について
‐軸に目盛線(軸に値(ラベル)を記す線)、補助目盛線(軸に値を記さ
ない線)を記す。
‐目盛線、補助目盛線の間隔はわかりやすい区切りにする。

■その他
‐通常は図の中に補助線を描かない(邪魔になる場合がある)。必
要であれば目立たない補助線を描く。
10:28
2017/12/06

小テスト(4)の解答

| by yshimada201101
小テスト(4)の解答

(1)(11/20の講義で提供したプログラムex5_4_0.f90を参考)
open(31,file='aaa.dat')

(2)(11/20の講義で提供したプログラムex5_4_0.f90を参考)
read(31,*)score

(3)(11/29の講義で提供したrun_arng.sh(sed)を参考)
$sed -e "s/cuttlefish/squid/g" bbb.dat > ccc.dat

実行例:
$cat bbb.dat   (cat は端末画面にファイルの中身を出力する(標準出力)コマンド)
cuttlefish tuna sardine
sardine cuttlefish tuna
tuna sardine cuttlefish

$sed -e "s/cuttlefish/squid/g" bbb.dat > ccc.dat
$cat ccc.dat
squid tuna sardine
sardine squid tuna
tuna sardine squid
squid tuna sardine

(4)(11/29の講義で提供したrun_arng.sh(awk)を参考)
$awk '{print $3, $2}' eee.dat > fff.dat

実行例:
$cat eee.dat
cuttlefish tuna sardine
sardine cuttlefish tuna
tuna sardine cuttlefish
cuttlefish tuna sardine

$awk '{print $3, $2}' eee.dat > fff.dat
$cat fff.dat
sardine tuna
tuna cuttlefish
cuttlefish sardine
sardine tuna

質問等がありましたら気軽にお問い合わせください。
18:42
2017/11/30

小テスト(3)の解答

| by yshimada201101
小テスト(3)の解答

(1)(例題5-4を参考)
s = 0 !(あるいは上の行でreal :: s = 0)
         !(sの初期値を定義しない場合はゼロになるが、お薦めしない。) 
do  n = 1, 10
  s = s + real(n)
  !(整数型より実数型の方が強いので s=s+nでもよいが、お薦めしない。)
end do


(2)(例題5-3の15行目、例題5-4の22行目を参考)
print '(f9.4)', s


(3)(例題5-4の12行目を参考)
do n = 1, 10
 if(n == 5)exit  !(あるいはif(n>4)exit ) 
end do


(4)(例題4-1を参考。小テスト(2)の(3)と同じ)
aint(c)

質問等がありましたら気軽にお問い合わせください。
07:21
2017/11/20

小テスト(2)の解答

| by yshimada201101
小テスト(2)の解答

(1)(例題1.3を参考)
theta=60.0*3.14/180.0
s= sin(theta)

(2)(例題3.3、If構文の中身は前回の小テスト参考)
if(x<0.0)then
  f=x**2
else if(x<2.0)then
  f=(b**0.5)*x ! (b**0.5*xはあまり使わない?)
 あるいは、f=x*sqrt(b)     ! (sqrt(b)*xはあまり使わない?)
else
  f=x*b/(2.0*a)
endif

(3)(例題4.1を参考)
aint(c)

質問等がありましたら気軽にお問い合わせください。
20:08
12Next