情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃. Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名.

Slides:



Advertisements
Similar presentations
情報基礎実習 I (第3回) 木曜4・5限 担当:北川 晃. プログラミング演習 2 つの数を入力し,「計算」ボタンをクリック すると,それぞれの計算結果を次のように 表示するプログラムを作れ.
Advertisements

5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
プログラミング演習( 2 組) 第 9 回
小テスト解説 問1 次の中置記法で書かれた数式を、前置記法、後 置記法に直せ。 12 × 23 +( 34 + 45 ) × ( 56 + 67 ) × 78 + × 23 +( 34 + 45 ) × ( 56 + 67 ) × 78 + 89  前置記法 12 x 23 + (+ 34.
Fortran と有限差分法の 入門の入門の…
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
情報基礎実習I (第2回) 木曜4・5限 担当:北川 晃.
数理情報工学演習第一C プログラミング演習 (第3回 ) 2014/04/21
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
数値計算及び実習 第3回 プログラミングの基礎(1).
解析的には解が得られない 方程式を数値的に求める。 例:3次方程式
VBA H106077 寺沢友宏.
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
第13回 プログラミングⅡ 第13回
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
数値計算及び実習 第7回 プログラミングの基礎(5).
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
4.2 連立非線形方程式 (1)繰返し法による方法
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
スクリプト言語を用いたPHITSの連続実行
CSVファイルとは? CSVとは、Comma Separated Value(カンマで区切られた値)の頭文字をとったものです。つまり、CSVファイルとは、値(数値や文字等)をカンマ(,)で区切って書いたテキストファイルのことを指しています。 メリットは、異なるソフト間でデータの受け渡しをする時によく使われます。
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
第7回 条件による繰り返し.
プログラミング 2 ファイル処理.
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
第7回 条件による繰り返し.
ルンゲクッタ法 となる微分方程式の解を数値的に解く方法.
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラムの基本構造と 構造化チャート(PAD)
Cプログラミング演習資料.
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
C言語 はじめに 2016年 吉田研究室.
統計ソフトウエアRの基礎.
先週の復習 2重ループを用いた、 表の記入と読み込み.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
Cプログラミング演習 ニュートン法による方程式の求解.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
3 一次関数 1章 一次関数とグラフ §4 方程式とグラフ         (3時間).
コンピュータープログラミング (C言語)(10) 1.ファイル入出力
ねらい 数値積分を例題に、擬似コードのアルゴリズムをプログラムにする。
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
第14章 ファイル操作 14.1 ファイルへの書き込み 14.2 ファイルからの読み込み 14.3 ファイルへの追加書き込み
コンピュータの高速化により, 即座に計算できるようになってきたが, 手法的にはコンピュータ出現以前に考え出された 方法が数多く使われている。
プログラミング言語によっては,複素数が使えない。
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
8.数値微分・積分・微分方程式 工学的問題においては 解析的に微分値や積分値を求めたり, 微分方程式を解くことが難しいケースも多い。
Presentation transcript:

情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃

Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名. … インスタンス名.Close() 外部ファイルから変数 ’s’ にデータを読み込む場合 ReadToEnd :ファイルの内容すべてを取得 ReadLine :ファイルから1行読み込む Read :ファイルから1文字読み込む ファイルを閉じ る プログラム中におけ る ファイルの名前

外部ファイルからのデータの読み込み:例文 Dim a, b, c As Single Dim ReadText As New IO.StreamReader( _ “D:\read_test\data.txt”, _ System.Text.Encoding.Default) a = ReadText.ReadLine b = ReadText.ReadLine c = ReadText.ReadLine Console.WriteLine(“a={0}”,a) Console.WriteLine(“b={0}”,b) Console.WriteLine(“c={0}”,c) ReadText.Close() ファイル名 ”data.txt” とし て “D:\read_test\” に保存 ファイ ル を閉じ る 1行ずつ 読み込み

Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamWriter( _ “ ファイルの絶対パス ”, _ [True または False], [ 文字コードの指定 ]) … インスタンス名. … インスタンス名.Close() 外部ファイルにデータを書き込む場合 WriteLine :ファイルに書き込む(改行) Write :ファイルに書き込む(改行無し) ファイルを閉じ る プログラム中におけ る ファイルの名前 ‘True’ のときは追記

外部ファイルへのデータの書き出し:例文 Dim Writer As New IO.StreamWriter( _ "D:\...\result.txt") Dim x As Single = 3, y As Single y = Math.Sqrt(x) Writer.Write(y) Writer.Close() ファイルを閉じ る ‘y’ の値を, Writer として接 続したファイルに書き込 む Writer として, ファイル “D:\...\result.txt” を接続 ‘True’ と書かれていないので, ファイルは上書きされる

フィボナッチ数列の最初の 40 項を求めて外部ファイル ’result.txt’ へ出力するプログラムを作れ. … 例題:フィボナッチ数列(改)

1. 求めたい項を ’n_new’ ,ひとつ前の項を ’n_last’ , 二つ前の項を ’n_old’ とする. 2. 初期値として n_old = 0 , n_last = 1 を代入し, 第一項と第二項をそれぞれ書き出す. 3. 第三項を n_new = n_old + n_last により計算し,書き出す. 4. 次の第四項を求めるために, n_old = n_last , n_last=n_new の置き換えを行う. 5. この手順を,第 40 項が求まるまで繰り返す. フィボナッチ数列:アルゴリズム

Dim i, num, n_old, n_last, n_new As Integer Dim Writer As New IO.StreamWriter( _ "D:\...\result.txt") num = 40 n_old = 0 Writer.WriteLine("{0}", n_old) n_last = 1 Writer.WriteLine("{0}", n_last) For i = 3 To num n_new = n_last + n_old Writer.WriteLine("{0}", n_new) n_old = n_last : n_last = n_new Next Writer.Close() Console.WriteLine(" ファイル書き込み完了しました. ") フィボナッチ数列:プログラム例 項の数 初項 第二項 増分 ”Step 1” は省略 i=1 ~ num (=40) まで繰り返し これらの文を 逆にしてはならな い Writer として, ファイル “D:\...\result.txt” を接続 Writer とし て 接続した ファイルに 書き込む ファイル を 閉じる 完了を 知らせる 出力

例題:関数のグラフの作成 区間 において,正弦関数の グラフを作成せよ. 考え方: x0 をキーボードから読み込み, x=x0 から 0.1 刻みで x=x0+ 1 まで変化させる. それぞれの x について, y=Math.Sin(x) を計算する. x,y の組を CSV (Comma Separated Value) 形式で ファイルに書き出す⇒ Excel で読み込み

CSV 形式のファイル テキストエディタで開くと … Excel で開くと …

Dim x0, x, y As Single Dim Writer As New IO.StreamWriter( _ "D:\...\result.csv",True) Console.Write(" 初期値 x0 を入力してください: x0=") x0 = Console.ReadLine() For x = x0 To x Step 0.1 y = Math.Sin(x) Writer.WriteLine(" {0,10}, {1,10}", x, y) Next Writer.Close() Console.WriteLine(" ファイル書き込み完了しました. ") 三角関数のグラフ:プログラム例 Writer として, ファイル “D:\...\result.csv” を接続 Writer として接続し た ファイルに書き込む ファイルを閉じ る 完了を知らせる出 力 コンマで区切 る ファイルがある場合は追 記

三角関数のグラフ:出力例 追記されている

三角関数のグラフ:出力例(続き) データの列を選択

三角関数のグラフ:出力例(続き)

プログラミング演習 区間 において,正弦関数 およびその導関数,2階導関数のグラフを作成せよ. 考え方: オイラーの差分公式を用いる. x, y, dy, d2y の各値を, CSV 形式で 外部ファイルに書き出す. y ⇒ dy ⇒ d2y ⇒

三角関数の導関数:出力例

Dim x, y, dy, d2y, h As Single Dim Writer As New IO.StreamWriter("D:\...\result.csv") h = 0.01 For x = 0 To 10 Step 0.1 y = Math.Sin(x) dy = (Math.Sin(x + h) - Math.Sin(x)) / h d2y = (Math.Sin(x + h) - 2 * Math.Sin(x) _ + Math.Sin(x - h)) / h ^ 2 Writer.WriteLine("{0,10},{1,10},{2,10},{3,10}", _ x, y, dy, d2y) Next Console.WriteLine(" ファイルの書き込み終了しました. ") Writer.Close() 三角関数の導関数:プログラム例 Writer として, ファイル “D:\...\result.csv” を接続 導関数の計算 ファイルを閉じ る 完了を知らせる出 力 コンマで区切 る 微小量を定める

プログラミング演習 区間 において,矩形波を 出力するプログラムを作れ. 考え方: 矩形波 を Function プロシージャとして作成する. x,y の組を CSV (Comma Separated Value) 形式で ファイルに書き出す⇒ Excel で読み込み

矩形波のグラフ:出力例

Sub Main() Dim x, y As Single Dim Writer As New IO.StreamWriter( _ "D:\...\result.csv") For x = 0 To 10 Step 0.01 y = rect(x) Writer.WriteLine(" {0,10}, {1,10}", x, y) Next Writer.Close() Console.WriteLine(" ファイル書き込み完了しました. ") End Sub 矩形波のグラフ:プログラム例 Writer として, ファイル “D:\...\result.csv” を接続 Writer として接続し た ファイルに書き込む ファイルを閉じ る 完了を知らせる出 力 コンマで区切 る

Function rect(x) Dim y As Single If x - Fix(x / 2) * 2 < 1 Then y = 0 Else y = 1 End If Return y End Function 矩形波のグラフ:プログラム例(続き) y の値を返す x=0.5 のとき, 0.5-Fix(0.25)*2=0.5<1 x=1.5 のとき, 1.5-Fix(0.75)*2=1.5>1 x=2.5 のとき, 2.5-Fix(1.25)*2=0.5<1 …

プログラミング演習 次の微分方程式の初期値問題をオイラー法により数値的に解け. 考え方: オイラーの差分公式を利用する. について,繰り返し計算を行う. x=0 のとき, =y0=2 として, =y を計算する. x と y を書き出し, y0=y と置き直して 次の x について計算を続ける. ⇒

微分方程式(オイラー法):出力例

Dim x, y, y0, h As Single Dim Writer As New IO.StreamWriter("D:\...\result.csv") h = 0.01 : y0 = 2 For x = 0 To 2 Step h y = y0 + h * f(x, y0) Writer.WriteLine("{0,10}, {1,10}", x, y) y0 = y Next Console.WriteLine(" ファイルの書き込み終了しました. ") Writer.Close() 微分方程式(オイラー法):プログラム例 Writer として, ファイル “D:\...\result.csv” を接続 Writer として接続し た ファイルに書き込む ファイルを閉じ る 完了を知らせる出 力 コンマで区切 る 次の計算のための置き直し 刻み幅,初期値の設 定

Function f(x, y0) Dim y As Single y = -x / y0 Return y End Function 微分方程式(オイラー法):プログラム例(続き) 関数プロシージャ部分