🏠
🌡️ 📆 令和5年3月31日
情報処理概論 戻る 進む 講義スライド

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


クラウドとファイル

  1 クラウドとファイル
クラウド ファイル
場所 ネット上 デバイス中
通信環境 オンラインのみ オフライン可能
識別 URL、URI ファイル名、パス名
検索 フルテキスト、検索エンジン 木構造
使い方 html埋め込み、リンク ダウンロード、アップロード、メール添付
Google ドライブ Google Doc テキストファイル、 Wordファイル、メールの添付ファイル

クラウドでは、ファイルやデータはネット上のサーバーのどれかにあり、どのサーバーをユーザー意識する必要はありません。


ファイルフォルダと木構造

木構造 は、データが木のように枝分かれしている構造です。 ファイルフォルダや論文の章立ては、木構造です。 機械でファイルを検索するなどの場合は、木構造より、フラットな構造の方が検索しやすくなります。

題目 (Title)
著者 ( Author )
要旨 (Abstract)
要旨
目次
  1. 緒言(Introduction)
    1. 背景(Background)
    2. 目的(Aim)
  2. 実験方法 (Experimental)
    1. 準備(Preperation)
    2. 評価(Evaluation)
  3. 結果と考察 (Result and Discussion)
  4. 結論(Conclusion)
  5. 資料(図表
  6. 参考文献 (References)
  1 論文講演の構成

木構造 といいます。

章、節、項、目……
表の書き方 ヒヤリハット

テキストファイルとバイナリファイル

  2 375 🖱 テキスト画像変換

テキストは、文字コードの羅列です。 文字コードを 表示や印刷するには、フォントを使って画像にします。


日本語と文字化け

コンピュータで日本語が使えるようになるには、16ビットコンピュータが普及する必要がありました。

  2 文字コード
文字セット 符号の規格 備考
英数字 ASCII * 7bit 1963 * 制定 (ABC...abc...123!)
英数カナ字 JIS 8bit 1969 * 制定 (アイウ...abc...123!)
世界の文字 *
日本語、中国語、韓国語 SHIFT-JIS 16bit(2byte) 「あいふ…がぎぐ…」
UTF-8 16bit
絵文字 UNICODE * 32bit、符号位置による文字合成含む。
05.情報処理概論 07.情報処理概論 絵文字 test
  3 文字 と文書
レベル 種類
文字 漢字、カタカナ、ひらがな、英字、 ギリシャ文字 ⠟⣠⠳⠠ 😀
数字 3.15159
点字、記号、 絵文字エモティコン ⠟⣠⠳⠠ 😀 EMOJIALL 3.15159
単語 犬 サル きじ
文章 文法、 言語 、用例 本日は、晴天なり。
図表 、グラフ、楽譜、回路図
文書 横書き、縦書き、段組み、レイアウト、文字サイズ、本文、見出し、図表

祇園精舎の鐘の声、諸行無常の響きあり。

沙羅双樹の花の色、盛者必衰のことわりをあらす。

おごれる人も久しからず、 唯春の夜の夢のごとし。

たけき者も遂にはほろびぬ、 ひとえに風の前の塵に同じ。

図 沙羅双樹の花の色
書籍・雑誌 右綴じ、左綴じ、背表紙、版大きさ、用紙 小説、論文、電子書籍、タテコミ
※Windows10から搭載のUDデジタル教科書体をフォント指定しています。 ピクトグラムは難しい

文字で、感情や思想を伝えるのが飛躍的に早くなりました。 数字で、量を伝えるのが飛躍的に早くなりました。


表計算ソフト

Microsoft®Excel®に代表される表計算ソフトはもっともよくつかわれるアプリでしょう。 ほかにも kingsoftのSpreadsheetsや、 GoogleのGoogle スプレッドシートなどがあります。 中にはVBAまで動作する互換性の高いものも。でも インピーダンス の計算に使う複素数アドオンなどはやはりExcel®かも。 最近はクラウドで動作するオンラインが増えていますが、測定器などはまだまだオフライン。

  4 アプリの種類
種類説明
ワープロ 論文報告書、あるいはそれらの 要旨などの 文書を作成、印刷するアプリです。
表計算 数値を計算し、表や グラフなどの図表を作成するアプリです。 平均標準偏差などの統計量も計算できます。 データ の件数は 30件程度までが適切です。 それ以上の件数の場合、データベースアプリと連携して 抽出した データ を使う方が効率的です。
プレゼンテーション 講演スライドやポスターを作成できます。
グラフィックス 図形写真などの 画像の作成や編集をします。
CAD Solid works *
Webページ作成 HTML editor
データベース Microsoft Access Microsoft SQL Server
動画編集
プログラミング google colab

アプリ には、 オペレーティングシステム (OS) 上で動く、インストールアプリと、 Webブラウザ 上で動く Webアプリがあります。

アカウント を有効化して、サービスや アプリ を利用する(ログイン、ログオン、サインイン)には、 認証が必要です。

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

これらはお互いのファイル形式を相互に読み取る機能がありますが、 測定器やその ほかの機械が必ずしも、上記ソフトの ネイティブ形式 をエクスポートできるとは限りません。 テキスト形式 の一種である CSV形式 は最も互換性の高い形式です。 ここではCSV形式を加工するテクニックを学びます。

  5 表現のためのファイル形式の例
表現
バイナリ形式

任意のビット列

テキスト形式

文字コードのみ

ネイティブ 圧縮テキスト テキスト XML
文書 doc docx html,html5 xhtml
表計算 xls xlsx csv
図形 MWF,EMF vml svg
チャート UML
地図 G-XML,GML
数式 マセマティカ TEX MathML
化学式 SMILES CML
楽譜 MIDI MML MusicXML
3D VRML X3D
画像 (image) jpg,png
音楽 (audio) wav,mp3,wma
ビデオ (video) mp4,mov
アプリ exe,dll vb,js,asp

ファイル変換

データロガーによるバッテリーの電圧の記録は以下のリンクから CSV形式でダウロードできる.

データベースソフトの上にあるデータをメールソフトに移すにはどうしたらいいか? アクセスからCSV形式でエクスポートし、エクセルでインポートする。 次にエクセルからXML形式でエクスポートし、アクティブメールにインポートする。

ファイル変換とインポート・エクスポート
プログラム言語

データ/情報の再利用

ファイル変換

インポート/エクスポート

ファイルとオブジェクトストレージ

CSVファイル(カンマ-セパレーテッド-バリュー)

プログラミング言語と開発キット

情報を処理するための手順をコンピュータに与えないとコンピュータは動作しない。 手順を示した指示書のことをプログラムという。プログラムはプログラミング言語によって記述する。

  6 プログラミング言語の種類
種類 分類 言語 特徴
インタプリタ Webアプリ JavaScript Webブラウザ上で動作(クライアントサイド)
vb script(vbs,vba,asp)
AI Webアプリ python (パイソン) 1 ) * データサイエンス * 、 マテリアルズインフォマティクス *、AI
教育 Scratch ビジュアルプログラミング
コンパイル OS C ポインタ、構造体
汎用 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*と続きます。 *

科学技術計算(FORTRAN, BASIC,python(パイソン))

人工知能(Lisp, F#)

事務処理(COBOL)

システム(C,C++,Rust)

オブジェクト指向言語(C++, C#, Java,python),python(パイソン)はAIや機械学習でもよく使われます.

スクリプト言語(VBAなどマクロ言語,Perl, Java Script, TypeScript

マークアップ言語(Web用のHTML, SGML, XML, TeX)

開発環境
Visual Studio, Android SDK, Android Studio, Monaca, Eclipse

クロスプラットフォームの開発環境
Monaca, Visual Studio 2015,2017がある.Visual Studio 2017は,あらゆるアプリを "Visual Studio" ひとつで開発できます.

演習:CSVファイルの入手とVBAによるHTML生成アプリ開発

1.ファイルエクスプローラーで,\\yzdn\dfs\share6\www\Public\52210\(受講年) を開く(新型コロナウィルスのため削除)

1.FTPクライアント(WinSCP)を使って,FTP接続をしてください.次に,/Public/52210/adgmp/のディレクトリを開いてください.

2._KadaiEntry52210_2021.csvファイルをデスクトップにコピーする

Excelで開発環境の準備

1. [ファイル]タブ → [オプション] → [リボンのユーザー設定]

2. 右側のウィンドウの[開発]のチェックボックスをチェック

3. [OK]をクリック

4.[開発]タブが表示された準備完了

Visual Basicでマクロを書いてみよう

1. [開発]タブ → [Visual Basic] をクリック

2. プロジェクトエクスプローラーの[VBAProject] → [Microsoft Excel Object]→[Sheet1(_KadaiEntry52210_2021.csv)]

3. プロジェクトエクスプローラーの[Sheet1(_KadaiEntry.csv)]を右クリック → [コードの表示]を左クリック

4. 下記のようなコードを記述

動作確認

1.►ボタン(Sub/ユーザーフォーム)の実行を左クリック

2.プログラムが正常に終了すると デスクトップに,EveryOne.htmlファイルが作成されます.

3.EveryOne.htmlファイルをブラウザーで開いてリンクをクリックしてみよう


数式とプログラミング言語

  7 式の要素
要素 数式 プログラミング言語
C Phthon
変数 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(画像処理ライブラリ) など便利なライブラリが多数あります。


BASICを使ったSVGによるグラフ表現

西暦 y / 年消費電力 P / kW1990200020102020203010.08.06.04.02.00.0 L 555.555555555556 122.819022466918 L 416.666666666666 162.316256027897 L 555.555555555556 122.819022466918 L 416.666666666666 162.316256027897米沢キャンパス全域基幹スイッチ
.山形大学の 基幹通信機器 と 建物までの通信機器 の消費電力の年代別推移
©2023 Kazuhiro Tachibana ,Tomohiro Ito

正しく記述すること

プログラムとは手順を正しく記述すること!音楽の楽譜と同じ

下記のパッヘルベルのカノンは,間違いだらけ,詳しい人,直してちょうだい.カノンは,繰り返しのコードが隠れている楽譜

Sound[{{SoundNote["D3", 1, "Contrabass",SoundVolume ->0.5]},{SoundNote["A2", 1, "Contrabass",SoundVolume ->0.6]},{SoundNote["B2",1,"Contrabass",SoundVolume ->0.7]},{SoundNote["F2", 1, "Contrabass", SoundVolume -> 0.5]},{SoundNote["G2",1, "Contrabass",SoundVolume->0.9]},{SoundNote["D2", 1, "Contrabass",SoundVolume -> 0.7]},{SoundNote["G2",1, "Contrabass",SoundVolume -> 0.6] },{SoundNote["a2",1, "Contrabass",SoundVolume -> 0.5]},{SoundNote["D3", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["F#5", 1, "Violin"]},{SoundNote["A2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["E5", 1, "Violin"]},{SoundNote["B2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["D5", 1, "Violin"]},{SoundNote["F2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", 1, "Violin"]},{SoundNote["g2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["B4",1, "Violin"]},{SoundNote["D2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["A4", 1, "Violin"]},{SoundNote["G2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["B4", 1, "Violin"]},{SoundNote["a2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", 1, "Violin"]},{SoundNote["D3",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["D5",{0, 1}, "Violin"],SoundNote["F#5", 1, "Violin"]},{SoundNote["A2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", {0,1}, "Violin"],SoundNote["E5", 1, "Violin"]},{SoundNote["B2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["D5", {0,1}, "Violin"],SoundNote["B4", 1, "Violin"]},{SoundNote["F2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", {0,1}, "Violin"],SoundNote["A4", 1, "Violin"]},{SoundNote["g2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["B4",{0,1}, "Violin"],SoundNote["G4",1, "Violin", SoundVolume -> 0.5]},{SoundNote["D2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["A4", {0,1}, "Violin"],SoundNote["F4", 1, "Violin",SoundVolume -> 0.3]},{SoundNote["G2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["B4", {0,1}, "Violin"],SoundNote["G4", 1, "Violin",SoundVolume -> 0.2]},{SoundNote["a2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", {0,1}, "Violin"],SoundNote["E4", 1,"Violin", SoundVolume -> 0.1]},{SoundNote["D3",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["D5",{0, 1}, "Violin",SoundVolume -> 1],SoundNote["F#5",{0,1}, "Violin",SoundVolume -> 1],SoundNote["D4", 0.5, "Violin"],SoundNote["F#4", {0.5,1}, "Violin"]},{SoundNote["A2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", {0,1}, "Violin",SoundVolume -> 1],SoundNote["E5",{0, 1}, "Violin",SoundVolume -> 1],SoundNote["A4",0.5, "Violin"],SoundNote["G4",{ 0.5,1}, "Violin"]},{SoundNote["B2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["D5", {0,1}, "Violin",SoundVolume -> 1],SoundNote["B4", {0,1}, "Violin",SoundVolume -> 1],SoundNote["F#4", 0.5, "Violin"],SoundNote["D4", {0.5,1}, "Violin"]},{SoundNote["F2", {0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote[{"C#5","A4"}, {0,1}, "Violin",SoundVolume -> 1],SoundNote["F#4", 0.5, "Violin"],SoundNote["E4", {0.5,1}, "Violin"]},{SoundNote["g2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["B4",{0,1}, "Violin"],SoundNote["G4",{0,1}, "Violin"],SoundNote["D4",0.5, "Violin", SoundVolume ->0.5],SoundNote["B3",{0.5,1}, "Violin"]},{SoundNote["D2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["A4", {0,1}, "Violin",SoundVolume -> 1],SoundNote["F4", {0,1}, "Violin",SoundVolume -> 0.3],SoundNote["D4", 0.5, "Violin"],SoundNote["A4", {0.5,1}, "Violin"]},{SoundNote["G2",{0,1}, "Contrabass", SoundVolume -> 1],SoundNote["B4", {0,1}, "Violin",SoundVolume -> 1],SoundNote["G4",{0, 1}, "Violin",SoundVolume -> 0.2],SoundNote["G4", 0.5, "Violin"],SoundNote["B4", {0.5,1},"Violin"]},{SoundNote["a2",{0,1}, "Contrabass", SoundVolume -> 0.5],SoundNote["C#5", {0,1}, "Violin",SoundVolume -> 0.6],SoundNote["E4", {0,1}, "Violin",SoundVolume -> 0.1],SoundNote["A4", {0,0.5}, "Violin"],SoundNote["G4", {0.5,1}, "Violin"]}}]
317
©M.Sekiguchi

このマークは本説明資料に掲載している引用箇所以外の著作物について付けられたものです。

  1. 情報機器の購入からリサイクルまで~Chrome bookに至る歴史~
    • 情報機器の発展の 歴史 エニアックからChrome bookまで
    • Chrome book、スマートフォンとネットワーク
    • パソコン とその周辺機器
    • 情報機器の購入とリサイクル
  2. データ通信技術からスマートグリッドまで~ライフラインとインターネット~
    • IP電話、光電話、携帯電話、通信キャリア、回線、プロバイダ
    • 山形大学の無線LAN
    • テレワークと遠隔授業
    • SIMフリー、データローミング

      0036 0033 0077 0088

    • 電力自由化とスマートメーター
    • プロバイダの選択と契約まで-未成年の契約-
    • 情報技術とコミュニケーション-電信、電話、メール、SNS,電子会議システム、電子書籍、電子出版-
    • 関連講義:直交とウォルシュ関数、偶と奇関数, 数学<桑名先生
  3. 検索エンジンから特許電子出願まで~DNA配列は特許になるか?~
    • 検索エンジン
    • 知的財産権と情報
    • 特許検索、電子出願
    • 著作権-音楽、画像、肖像権-
    • 論文検索-情報と出版-論文代行はあり?
  4. 個人認証から電子決済まで~フィンテックとセキュリティ~
    • 個人特定ツールとしての電子メールと携帯電話番号
    • 住民基本台帳とマイナンバー
    • インターネットバンキング
    • 電子マネーとクレジットカード、ネットショッピング
    • フィンテック-資産管理アプリと家計簿アプリ-
    • 確定申告
    • 関連講義:行列と整数論, 数学<桑名先生
  5. ホームページの仕組みと応用-受講成果を公開しよう-

    ホームページに公開するとき amenity

    • フィッシング詐欺、サイト証明
    • レンタルサーバーの使い方
    • マルチメディア表現 (音楽・写真・グラフィックス)
    • e-ラーニング、履修登録、出席管理
    • ブログ、SNS
    • HTML
    • xml
  6. 化学式ワープロと分子軌道計算~量子力学もコンピュータで解こう~
    • 点群と空間群-結晶構造
    • 分子軌道とHOMO、LUMO、電子密度
    • 反応経路探索
    • 関連講義:直交系と行列変換, 数学<桑名先生
  7. テキストファイルを変換しよう~spread sheetとjava script~
    • クラウドとファイル
    • プログラム言語 としてのjava script
    • 開発プラットフォームとしてのhtml5
  8. 3D-CADを使った分子模型作成~計算結果を3Dプリンターへ~
    • CADとCAM
    • 3D-CAD
    • ラピッドプロトタイピング,3D-プリンタ
  9. 演算処理と数式処理~微分方程式はコンピュータで解こう~
    • 数式処理ソフト、 マセマティカ
    • 関連講義:微分方程式の組み立てと境界条件, 数学と化学数学<桑名先生
  10. 汎用非線形有限要素法によるCAE~工業の現場で使われるシミュレーション~
  11. オペレーティングシステムとデータベース~ビッグデータと機械学習~ ~
  12. サプライチェーンマネジメントと電子マニフェスト~薬品や材料の調達・管理~
  13. スマホアプリを作ってみよう~Javaとセンサ~
  14. ワープロと機械翻訳~多国語長文ドキュメント作成~
    • ライセンスとアカウント
    • 機械翻訳
    • ドキュメンテーション
    • アウトラインプロセッサとしてのワープロ
  15. 受講ノートの仕上げと提出

山形大学 准教授

伊藤智博

山形大学 大学院 理工学研究科
C1ラボラトリー
992-8510 山形県 米沢市
城南4丁目3-16
3号館(物質化学工学科棟) 3-3301
Tel: 0238-26-3753
URL: http://c1.yz.yamagata-u.ac.jp/

QRコード
https://edu.yz.yamagata-u.ac.jp/Public/52210/52210_07.asp


〒992-8510 山形県米沢市城南4丁目3-16
3号館(物質化学工学科棟) 3-3301
准教授 伊藤智博
0238-26-3573

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