情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.

Slides:



Advertisements
Similar presentations
山元進.  for 文  while 文  do ~ while 文  文のネスト  break 文  continue 文.
Advertisements

情報基礎実習 I (第6回) 木曜4・5限 担当:北川 晃. Stream クラスを用いたファイルの接続 … Dim インスタンス名 As New IO.StreamReader( _ “ ファイルの絶対パス ”, _ System.Text.Encoding.Default) … s = インスタンス名.
情報基礎実習 I (第3回) 木曜4・5限 担当:北川 晃. プログラミング演習 2 つの数を入力し,「計算」ボタンをクリック すると,それぞれの計算結果を次のように 表示するプログラムを作れ.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
ループで実行する文が一つならこれでもOK
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
情報基礎実習I (第2回) 木曜4・5限 担当:北川 晃.
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
プログラミングができるようになるには…. 一週間に1回では無理! 自分の力でできるだけがんばる
数値計算及び実習 第3回 プログラミングの基礎(1).
情報基礎実習I (第5回) 木曜4・5限 担当:北川 晃.
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
第6章 2重ループ&配列 2重ループと配列をやります.
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
4.2 連立非線形方程式 (1)繰返し法による方法
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
第7回 条件による繰り返し.
繰り返し計算 while文, for文.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
繰り返し計算 while文, for文.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
高度プログラミング演習 (03).
第7回 条件による繰り返し.
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
プログラムの基本構造と 構造化チャート(PAD)
コンパイラ 2011年10月20日
先週の復習 2重ループを用いた、 表の記入と読み込み.
情報実習I (第2回) 木曜4・5限 担当:北川 晃.
補講:アルゴリズムと漸近的評価.
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
プログラミングⅡ 第2回.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
~sumii/class/proenb2009/ml6/
プログラミング基礎演習 第4回.
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2012年10月11日
アルゴリズムの視覚化 この図は左が大きく、 右が小さくなるようにソートしている  この図は左が大きく、  右が小さくなるようにソートしている
情報処理Ⅱ 第2回 2004年10月12日(火).
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
情報処理Ⅱ 小テスト 2005年2月1日(火).
情報処理Ⅱ 第3回 2004年10月19日(火).
情報処理Ⅱ 2006年10月20日(金).
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
8.数値微分・積分・微分方程式 工学的問題においては 解析的に微分値や積分値を求めたり, 微分方程式を解くことが難しいケースも多い。
Presentation transcript:

情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃

Microsoftアカウントの取得 https://www.microsoft.com/ja-jp/msaccount/へアクセスする.

Microsoftアカウントの取得

For……Next文の基本的な表式 For 制御変数 [As 型] = 初期値 To 終了値 [Step 増分] 文ブロック 制御変数の値が初期値から終了値の間,ループを繰り返す. 1回ループするたびに,制御変数の値は増分だけ増加する. 増分が負の場合は,減少する. 増分が1の場合のみ,”Step 1”は省略可. ループ内でのみ用いる制御変数を,Asで宣言できる. […]内は省略可.

For……Next文の例文 整数nを読み込んで,1+2+…+nの値を計算せよ. Console.Title = "1~nまでの和" Dim n As Integer, sum As Integer = 0 Console.Write("n=") n = Console.ReadLine() For i As Integer = 1 To n sum = sum + i Next i Console.WriteLine("1+2+…+n={0}", sum) 変数iは,ループ内 でのみ用いる. 増分”1”は省略 繰り返し 構造 繰り返し構造の終了 (iは省略可)

For……Next文の入れ子構造 文頭でi,jの型を For j = 1 To n 宣言している場合 For i = 1 To n 文ブロック Next 繰り返し構造の中に繰り返し 構造を作ることもできる. “Next i”などと書けば,どの 変数のループかはっきりする For j = 1 To n For i = 1 To n 文ブロック Next j Next i 右のようなループの   組み合わせは許されない.

例題:フィボナッチ数列 フィボナッチ数列の最初の40項を求めて 出力するプログラムを作れ. …

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

フィボナッチ数列:出力例

フィボナッチ数列:プログラム例 項の数 初項 第二項 i=1~num(=40)まで繰り返し 増分”Step 1” は省略 これらの文を Dim i, num, n_old, n_last, n_new As Integer num = 40 n_old = 0 Console.WriteLine("{0}", n_old) n_last = 1 Console.WriteLine("{0}", n_last) For i = 3 To num n_new = n_last + n_old Console.WriteLine("{0}", n_new) n_old = n_last n_last = n_new Next 項の数 初項 第二項 i=1~num(=40)まで繰り返し 増分”Step 1” は省略 これらの文を 逆にしてはならない

さまざまな組み込み関数 Math.Abs(x): xの絶対値 Math.Sign(-5)→-1 Math.Sign(0)→0 Math.Sign(x): xの符号 Int(x): xを超えない最大の整数 Fix(x): xの整数部分 Math.Sqrt(x): xの平方根 Math.Log(x): xの自然対数 Math.Exp(x): xの指数関数 Math.Sin(x): xの正弦(ラジアン単位) Math.Cos(x): xの余弦(ラジアン単位) Math.Tan(x): xの正接(ラジアン単位) Math.Sign(-5)→-1 Math.Sign(0)→0 Math.Sign(30)→1 Int(-4.3)→-5 Int(4.3)→4 Fix(-4.3)→-4 Fix(4.3)→4

例題:平方根の計算 a=1, 2, …, 50に対して,その平方根 を求め, 表を出力するプログラムを作れ. : Math.Sqrt(a) 補正値:

平方根の計算:アルゴリズム 整数 について,以下の手順を繰り返す. 初期値として, roota=1を代入する. 補正値 の計算を行う. 整数 について,以下の手順を繰り返す. 初期値として, roota=1を代入する. 補正値 の計算を行う. roota=roota+cにより補正を行う. 補正した値の相対値 を設定した値 と比較して 小さくなるまで補正を繰り返す.

平方根の計算:出力例

平方根の計算:プログラム例 許容誤差 単精度実数型の限界 Dim a As Integer, eps As Single = 0.000001 Dim roota, c As Single For a = 1 To 50 roota = 1 c = 1 While Math.Abs(c) / roota > eps c = (a / roota - roota) / 2 roota = roota + c End While Console.WriteLine("√{0}={1}", a, roota) Next 整数a=1~50に ついて繰り返す √aの初期値 補正値の計算 √aの値を補正 補正値が許容誤差より 小さくなるまで繰り返す

例題:4次式の数表 4次式 の値を,0から0.2きざみで5.0までのxに対して計算し, 順に書き出すプログラムを作れ. Dim y As Single For x As Single = 0.0 To 5.0 Step 0.2 y = 1.5 * x ^ 4 - 0.8 * x ^ 3 _ + 6.2 * x ^ 2 + 0.5 * x + 2.1 Console.WriteLine("{0,8},{1,16}", x, y) Next “x”を書き出すために, 8文字分確保する

書き換えが煩雑!!関数として定義できないか? 例題:4次式の数表(改) 4次式 について,      の値を,0から0.2きざみで5.0までの xに対して計算し,順に書き出すプログラムを作れ. xをMath.Sqrt(x)で置き換え Dim y As Single For x As Single = 0.0 To 5.0 Step 0.2 y = 1.5 * x ^ 4 - 0.8 * x ^ 3 _ + 6.2 * x ^ 2 + 0.5 * x + 2.1 Console.WriteLine("{0,8},{1,16}", x, y) Next 書き換えが煩雑!!関数として定義できないか?