🏠
令和6年11月21日 (木)

👨‍🏫 プログラミング言語

  1 プログラミング言語の種類
種類 分類 言語 特徴
インタプリタ Webアプリ JavaScript Webブラウザ上で動作(クライアントサイド)
vb script(vbs,vba,asp) 1 ) 1964 開発 キーボードとディスプレイが必要
AI Webアプリ python パイソン 2 ) * ビッグデータ データサイエンス * 、 マテリアルズインフォマティクス *、AI
教育 Scratch ビジュアルプログラミング
コンパイル OS C 3 ) ポインタ、構造体
汎用 VB.NET オブジェクト指向(多重継承なし)
汎用 Kotlin アンドロイドアプリ向け
OS C++ オブジェクト指向
colab jupyter

ファイルベースのシステムでは、コンパイラ言語は実行可能なファイルを生成し、 インタプリタ言語はそれを生成しないという違いがありました。 しかし、クラウドベースになって、実行ファイルそのものをクライアントにダウンロードしなくなり、 ジャストインコンパイルで実行結果だけを利用するようになると コンパイラ言語とインタプリタ言語の違いは、あまり本質的でなくなりました。

科学技術用の伝統的な言語としては、FORTRANがあります。 FORTRAN系列の言語としては、BASIC、pythonがあります。 統計用言語としてRがあります。

アルゴリズム重視の伝統的な言語としてALGOLがあります。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinと進化してきました。 juliaはCに迫る計算速度を誇ります。

サーバーサイドで使われてきたPerlや Ruby もクラウドで利用できるようになってきました。

人工知能で伝統的な言語Lispは、F#Schemeもクラウドで利用できるようになってきました。

人気 プログラミング言語 は、java script、そしてpython*と続きます。 *


注釈(コメント)

  2 注釈(コメント)
言語 説明
html <!-- コメント -- >
Python (パイソン)
# 注釈
#(クロスハッチ)を使います。
Basic (ベーシック)
REM 注釈
' 注釈
予約語REMを使うか、'(アポストロフィー)を使います。
C
/* 1行コメント */

/*
複数行に渡る
コメント
*/
javascript
// 1行コメント
/* 1行コメント */

/*
複数行に渡る
コメント
*/

ほとんどの言語には、注釈機能があります。 人間がよみやすくするためです。 (可読性)


変数

  3 変数
言語 記述例 説明
Basic Dim A As Integer 整数、浮動小数点、文字列、配列
C 厳密な型宣言
Python
# タプルの配列を円の座標で初期化
t = np.arange(start = 0, stop = 2 * math.pi, step = 0.05)
xy = [ (math.sin(p), math.cos(p))  for p in t]
複素数、リスト、タプル 配列の初期化の記述が柔軟

変数には変数名を付けます。 ほとんどの言語では、予約語があり、予約語は変数名に使えません。

変数名の命名規則にはいろいろありますが、スネークキャストがおすすめです。 *


  4 式の要素
要素 数式 プログラミング言語
C python
変数 x
public double x;
関数 f
double f(double x);
関数と従属変数 y = f ( x )
double f(double x) {
	return y;
}
定義域 x=0: y = f ( x )
x>0: y = g ( x )
C では、VBのselect構文のように switch構文では、定義域を指定することはできません。 結局if構文をネストさせることになります。 python では、switch構文はありませんが、 elif構文でネストさせずに定義域を指定できます。
if x == 0:
	print('0')
elif x < 0:
	print('負')
elif x > 1:
	print('正')
else:
	print('発散') 
S = i = 1 n k i
for ( i = 1; i < n; i ++ ) {
	s += k[i];
}
for i in range(1, n):
	s = s + k[i]
*

Phthon (パイソン)は、多様なデータ構造が組み込まれているので、データ処理しやすい言語仕様です。 Anaconda(アナコンダ)や、Google Colaboratoyなどの開発環境があります。 Phthonには、数値計算ライブラリNumPyがあります。 NumPyは、CやふFORTRANで、実装されていて、高速で実行できます。 ほかにも、Matplotlib(グラフ描画ライブラリ) pandas(データ分析ライブラリ) TensorFlow(機械学習ライブラリ) OpenCV(画像処理ライブラリ) など便利なライブラリが多数あります。

Java:HelloWorld

colabの概要

colab は、googleのpythonプラットフォームです。


python(パイソン)

  5 python 言語の使い方
応用例
無作為抽出
extracted = random.sample(data, 10)
平均
average = statistics.mean(data)
average = np.mean(data)
標準偏差
std = statistics.stdev(data)
std = np.std(data)
std = np.std(data, ddof=1) # 標本標準偏差
散布図 *
import numpy as np
import matplotlib.pyplot as plt
 
# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)
 
# 散布図を描画
plt.scatter(x, y)
ヒストグラム
import matplotlib.pyplot as plt
ax1 = fig.add_subplot(211)
ax1.hist(x1, bins=bins)
画像 (matplotlib) の例:

ともひろてすと

可読性重視の科学計算向け。 4 ) 5 )

Phthon (パイソン)は、多様なデータ構造が組み込まれているので、データ処理しやすい 言語です。 Anaconda(アナコンダ)や、 Google Colaboratoy などの開発環境があります。 Phthonには、数値計算ライブラリNumPyがあります。 NumPyは、CやふFORTRANで、実装されていて、高速で実行できます。 ほかにも、Matplotlib(グラフ描画ライブラリ) pandas(データ分析ライブラリ) TensorFlow(機械学習ライブラリ) OpenCV(画像処理ライブラリ) など便利なライブラリが多数あります。

pymatgenライブラリは、まだあまり普及していない。 *

Webアプリ を書くには、 django プラットフォームがあったほうがいいかも。


javascript

  6 javascript 言語の使い方
応用例
注釈
// 注釈
Webアプリ の例: BodeNyquist.asp

SQL

  7 SQL 言語の使い方
応用例
無作為抽出 select top(1) * from contents order by NEWID()
平均 select AVG(price) from products

テキストファイルを変換しよう~表計算とBASIC~

鷹山テキストファイルを変換しよう~表計算とBASIC~

ファイルとクラウド


Private Sub GenerateIndex()

Set fs = CreateObject("Scripting.FilesystemObject")
Set a = fs.CreateTextFile("Everyone.html")

a.WriteLine ("<html><body>")
For i = 2 To 76

a.WriteLine ("<a href='" & Cells(i, 5) & "'>" & Cells(i, 3) & "</a><br />")

Next
a.WriteLine ("</body></html>")

a.Close
Set a = Nothing
Set fs = Nothing

End Sub


コンピュータと情報の歴史

  8 コンピュータと情報の歴史
1900 Excelでさかのぼれる一番古い日
1946 エニアック
紙テープ、パンチカード *
1971 8'FDD(128kByte) *
1976 Z80(8bit,2.5MHz,64kByte)
1976 5.25'FDD(80kByte)
1978 8086(16bit,5MHz,1MByte) *
1979 PC8001(8bit, 2.5MHz, 16kByte) *
1980 3.5'FDD(360kB) *, **
1982 PC9801(16bit,5MHz,1MByte)
1982 CD 16bit,44.1kHz,650MByte
1987 98互換機 * ,**
1988 ISDNデジタル回線(64kbps) *
プロテクト戦争 *
1999 ADSL(50.5Mbps)
1999 👨‍🏫 SVG
1999 ギガイーサネット(1Gbps) *
2006 10GBase-T(10Gbps) *
2008 FTTH


QRコード

🎄🎂🌃🕯🎉
〒992-8510 山形県米沢市城南4丁目3-16

Copyright ©1996- 2024 Databese Amenity Laboratory of Virtual Research Institute,  Yamagata University All Rights Reserved.