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

Slides:



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

情報基礎実習 I (第3回) 木曜4・5限 担当:北川 晃. プログラミング演習 2 つの数を入力し,「計算」ボタンをクリック すると,それぞれの計算結果を次のように 表示するプログラムを作れ.
5.制御構造と配列 場合分け( If Then Else , Select Case ) 繰返し( Do While ) 繰返しその2( For Next )
7/10 if 文課題 力作が多くて感心! 演習1:キーボードから2つの整数を入力し、小さい方の数字を 表示せよ。
ループで実行する文が一つならこれでもOK
プログラミング演習(1組) 第7回
情報基礎実習I (第4回) 木曜4・5限 担当:北川 晃.
情報基礎実習I (第2回) 木曜4・5限 担当:北川 晃.
VBAを通して プログラム言語の基本構造を学ぶ
情報基礎実習I (第7回) 木曜4・5限 担当:北川 晃.
VBA H106077 寺沢友宏.
多重ループ 繰り返し構造:補足事項 第8回目 [6月8日、H.16(‘04)] 本日のメニュー 1)前回の課題について
多重ループ 繰り返し構造:補足事項 第8回目 [6月12日、H.15(‘03)] 本日のメニュー 1)前回の課題について
情報基礎A 第13週 VBAプログラミング VBAの基本文法7・実際のデータ処理
情報基礎A 第10週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
C言語 配列 2016年 吉田研究室.
情報基礎A 第7週 プログラミング入門 VBAの基本文法2 データ型・If ~Then~Else
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
情報基礎A 第11週 プログラミング入門 VBAの基本文法3 配列・For~Next
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
情報基礎実習I (第1回) 木曜4・5限 担当:北川 晃.
テキストボックス、チェックボックス×2、コマンドボタンを配置する。 コマンドボタンに機能を与える
配列(1) 第9回目 [6月15日、H.16(‘04)] 本日のメニュー 1)前回の課題について 2)前回の宿題について 3)配列 4)課題
繰り返し計算 while文, for文.
実例で学ぶプログラミング VBAを用いて簡単なゲームを作ろう 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
本時の目標 「簡単なプログラム言語の意味を理解し、マクロ機能を使って簡単なプログラムを作ることができる。」
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
第二回 VB講座 電卓を作ろう.
電気・機械・情報概論 VBAプログラミング 第2回 2018年7月2日
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
地域情報学演習 VBAプログラミング 第3回 2017年10月24日
情報実習I (第7回) 木曜4・5限 担当:北川 晃.
第7回 条件による繰り返し.
情報とコンピュータ 静岡大学工学部 安藤和敏
情報基礎Ⅱ (第11回) 月曜4限 担当:北川 晃.
VBで始めるプログラミング 第三回 コードを書こう!! まきはた@ナーク ’04/05/21.
情報基礎Ⅱ (第5回) 月曜4限 担当:北川 晃.
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
11.再帰と繰り返しの回数.
プログラムの基本構造と 構造化チャート(PAD)
9.構造体.
先週の復習 2重ループを用いた、 表の記入と読み込み.
情報実習I (第2回) 木曜4・5限 担当:北川 晃.
基礎プログラミング演習 第6回.
第6回レポート解説 条件1 条件2 条件3 月の入力 月、日、曜日の表示 日の入力 曜日の入力
情報基礎Ⅱ (第1回) 月曜4限 担当:北川 晃.
プログラミングⅡ 第2回.
情報工学Ⅱ (第9回) 月曜4限 担当:北川 晃.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃.
ウェブデザイン演習 第6回.
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2016年11月25日
プログラミング基礎演習 第4回.
情報実習I (第6回) 木曜4・5限 担当:北川 晃.
情報工学Ⅱ (第8回) 月曜4限 担当:北川 晃.
cp-3. 計算 (C プログラミング演習,Visual Studio 2019 対応)
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
岩村雅一 知能情報工学演習I 第10回(後半第4回) 岩村雅一
地域情報学 C言語プログラミング 第3回 入力、if文、for文 2017年11月1日
四則演算,変数 入力文,出力文,代入文, ライブラリ関数
場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
プログラミング言語によっては,複素数が使えない。
情報処理Ⅱ 第3回 2004年10月19日(火).
情報基礎A 第14週プログラミング 実際のデータ処理での応用(2)
5.2 グレゴリー・ニュートン(Gregory-Newton)の補間式 (1)導入
Presentation transcript:

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

プログラミング演習 非負の整数 を読み込んで,その階乗 を計算するプログラムを作れ.ただし, とする. 考え方: 非負の整数  を読み込んで,その階乗 を計算するプログラムを作れ.ただし, とする. 考え方: 非負の整数nと整数pを導入する. i=1~nについて,繰り返しp=p*iを計算する. 最終的なpを書き出す.

階乗の計算:プログラム例 整数型では Dim n, p As Integer Console.Title = "階乗の計算" の数しか扱えない Dim n, p As Integer Console.Title = "階乗の計算" Console.Write("非負の整数nを入力して下さい:n=") n = Console.ReadLine() p = 1 If n <> 0 Then For i As Integer = 1 To n p = p * i Next End If Console.WriteLine("{0}!={1}", n, p) pの初期値 nがゼロかどうかで場合分け

階乗の計算:実行例

プログラミング演習 三角形の3辺a, b, cを読み込んで, 三角形ができる場合は面積Sを計算せよ. A 三角形の成立条件 c b かつ C ヘロンの公式 ただし

三角形の面積:出力例

三角形の面積:プログラム例 Label1~4,TextBox1~4, Button1~3の貼り付け

三角形の面積:プログラム例(つづき) 「計算」ボタン Dim a, b, c, p, s As Single a = Val(TextBox1.Text) b = Val(TextBox2.Text) c = Val(TextBox3.Text) If a = 0 Or (Math.Abs(a - b) > c Or a + b <= c) Then TextBox4.Text = "三角形にならない" Else p = (a + b + c) / 2 s = Math.Sqrt(p * (p - a) * (p - b) * (p - c)) TextBox4.Text = s End If

例題:ピタゴラス数 すべてを正数としたとき,次の関係 を満たすような の組を見つけて表示せよ. ただし, とする. 考え方      すべてを正数としたとき,次の関係 を満たすような     の組を見つけて表示せよ. ただし,        とする.       を求め,Fix関数を用いて小数点を切り捨てる. この数を再び二乗し,     に一致するか調べる.         より,l=1~99,m=l+1~100の数値に対して For~Next文を用いて調べる. 考え方

ピタゴラス数:プログラム例 Dim ℓ, m As Integer Dim n_sq, n_int As Single Console.Title = "ピタゴラス数" For ℓ = 1 To 99 For m = ℓ + 1 To 100 n_sq = ℓ ^ 2 + m ^ 2 n_int = Fix(Math.Sqrt(n_sq)) If n_sq = n_int ^ 2 Then Console.WriteLine( _ "{0,4}^2+{1,4}^2={2,4}^2", ℓ, m, n_int) End If Next ループの 入れ子構造 nの整数部分 の計算 nが整数なら, 書き出す “l”を書き出すために, 4文字分確保する

ピタゴラス数:出力例 “ℓ”を書き出すために, 4文字分確保されている

プログラミング演習 角度 について, きざみに 正弦,余弦,正接の表を出力する プログラムを作れ. 考え方: 角度        について,  きざみに 正弦,余弦,正接の表を出力する プログラムを作れ. 考え方: 変数’theta’について,For~Next文を用いて 繰り返し計算する. 組み込み関数’Math.Sin(x)’の変数はラジアン単位.

三角関数の表:プログラム例 πの近似値 Dim theta_rad As Single, pi As Single = 3.1415926 Console.WriteLine("θ(°) sinθ cosθ tanθ") For theta As Integer = 0 To 90 Step 5 theta_rad = pi / 180 * theta Console.WriteLine( _ "{0,4}, {1,20}, {2,20}, {3,20}", _ theta, Math.Sin(theta_rad), _ Math.Cos(theta_rad), Math.Tan(theta_rad)) Next スペースは適宜調整する ラジアン単位の角度変数 整数’theta’を 0から5おきに 90まで繰り返す 度からラジアンへの変換 スペースは 適宜調整

三角関数の表:実行例

プログラミング演習 N=11個のデータ 最大値:9,最小値:1 n個のデータx1, x2, …, xnがある.データの個数とデータを 順次読み込んで,それらのデータの最大値と最小値を求めよ. N=11個のデータ 最大値:9,最小値:1

最大と最小:考え方 第(i-1)番目までのデータについて, 最大値xmaxと最小値xminが分かっているとする. 次に読み込む第 i 番目のデータ xi について, (i)xi>xmaxのとき,xiが新たな最大値となる. xmax=xi (ii)xi≦xmaxのとき, (ii)-1. xi≧xminのとき,xmax,xminは変わらず. (ii)-2. xi<xminのとき,xiが新たな最小値となる. xmin=xi これをすべてのデータについて繰り返す.

最大と最小:アルゴリズム 最初のデータxを読み込む. 最大値と最小値の初期値として,最初のデータを代入 xmax=x, xmin=x 必要があればxmaxもしくはxminを 読み込んだデータxで置き換え. これを繰り返し,最後にxmaxとxminを書き出す.

プログラム例:最大値と最小値 その1 Dim xmax, xmin, x As Single, n As Integer Console.Write("データの個数nを入力して下さい") n = Console.ReadLine() Console.Write("1個目のデータxを入力して下さい") x = Console.ReadLine() xmax = x xmin = x 最大の値,最小の値の初期値として, ともに1個目のデータxを代入する.

プログラム例:最大値と最小値 その2 For i As Integer = 2 To n Console.Write("{0}個目のデータxを入力して下さい", i) x = Console.ReadLine() If x > xmax Then xmax = x ElseIf x >= xmin Then Else xmin = x End If Next Console.WriteLine("最大の値は{0}", xmax) Console.WriteLine("最小の値は{0}", xmin) xが最大値より大きければ, 最大値を置き換える. xは最大値より小さい. このとき,xの値が最小値より 大きい場合は,何もしない. それ以外の場合は 最小値を置き換える.

最大値と最小値:実行例

例題:不定回数の繰り返し 1日目に1円,2日目に2円,…,n日目にはd=2n-1円の ように,毎日倍額を貯金するとする.ある金額tを読み 時の合計金額がいくらになるか,表示するプログラム を作れ.

不定回数の繰り返し:プログラム例 Label1~3,Textbox1~3, Button1,2の貼り付け

不定回数の繰り返し:プログラム例(つづき) Private Sub Button1_Click(sender As Object, e As EventArgs) … Dim n, d, t, sum As Integer t = Val(TextBox1.Text) n = 0 : d = 1 : sum = 0 While sum < t sum = sum + d d = d * 2 n = n + 1 End While TextBox2.Text = Format(n, "###") TextBox3.Text = Format(sum, "###,###,###") End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) … End sumがtを超える まで繰り返す

不定回数の繰り返し:出力例

プログラミング演習 高知大学の各学部を入力し,どこのキャンパスに あるかを表示するプログラムを作れ.

各学部の所在地:プログラム例 Label1~3,TextBox1,2, Button1の貼り付け

各学部の所在地:プログラム例(つづき) 「検索」ボタン Dim faculty As String faculty = TextBox1.Text Select Case faculty Case "人文" TextBox2.Text = "朝倉" Case "教育" Case "理" Case "医" TextBox2.Text = "岡豊" Case "農" TextBox2.Text = "物部" Case Else TextBox2.Text = "(存在しない)" End Select

プログラミング演習 ラジオボタンで高知大学の各学部を選択し, どこのキャンパスにあるかを表示するプログラムを作れ.

Label1~4,TextBox1,2,Button1,2, 学部の場所:プログラム例 Label1~4,TextBox1,2,Button1,2, RadioButton1~5の貼り付け

学部の場所:プログラム例(つづき) 「検索」ボタン If RadioButton1.Checked Then TextBox1.Text = "人文" TextBox2.Text = "朝倉" ElseIf RadioButton2.Checked Then TextBox1.Text = "教育" ElseIf RadioButton3.Checked Then TextBox1.Text = "理" ElseIf RadioButton4.Checked Then TextBox1.Text = "医" TextBox2.Text = "岡豊" ElseIf RadioButton5.Checked Then TextBox1.Text = "農" TextBox2.Text = "物部" End If

学部の場所:プログラム例(つづき) 「クリア」ボタン RadioButton1.Checked = False TextBox1.Text = "" : TextBox2.Text = ""