Download presentation
Presentation is loading. Please wait.
1
情報工学Ⅱ (第2回) 月曜4限 担当:北川 晃
2
Visual Studio 2017を使ってみよう ファイルメニューから,新規作成→プロジェクトを選ぶ.
Visual Basicからコンソールアプリケーションを選び, ’Hello’と名前をつける.(保存箇所にも注意)
3
プログラミングの第一歩 ここにプログラムを書く. Sub:サブルーチン, ひとかたまりのプログラム (値を返さない)
4
プログラミングの第一歩(続き) Sub Main() Dim s As String s = "Hello world"
Console.WriteLine(s) End Sub 左のプログラムを入力して保存
5
プログラミングの第一歩(続き) 「デバッグ」タブから, 「デバッグなしで開始」を選ぶ. コンソールに結果が表示される.
6
プロジェクトとソリューション プロジェクト: フォームやプログラムなどを含む1つの アプリケーション全体を指す.
ソリューション: 1つまたは複数のプロジェクトと,それ全体を含む. C#など,Visual Studioの他の言語の プロジェクトを含むことができる. 当面,1つのソリューションに1つのプロジェクトを作成 プロジェクト: フォームやプログラムなどを含む1つの アプリケーション全体を指す. プロジェクトごとにプログラムを作成して保存. プログラムを作成する=プロジェクトを作成する
7
コード記述の基本 ステートメント(文)は1行に1つが基本. 長い文の場合は,文末にスペースと
アンダースコアを書くことで,次の行に継続できる. 各行でアポストロフィ(’)をつけた箇所以降は, コメント扱いとなる(何も処理されない). コメントは,プログラムを見る人間向けの説明書き. プログラムのうち,半分程度がコメントであるプログラムがよいとされる. 折に触れ,コメントをつけるよう心がけるとよい.
8
定数と変数 定数:プログラムで扱うデータを定数という. (プログラム実行中に,その値は変わらない) 変数:データを記憶する場所を変数という.
(その値は計算中に変化する場合がある) 変数名の付け方 頭文字は英字. 英字,数字,アンダースコア(_)を使用する. 大文字,小文字の区別はない. 字数は16383字以内.
9
定数と変数の型 いろいろな型のデータがあるが, 基本的には以下のものを用いる. 整数型:Integer 単精度実数型:Single
倍精度実数型:Double 文字列:String ブール型(論理型):Boolean 日付型:Date
10
変数の宣言 プログラムの最初に,必ず変数の型宣言を行う. Dim 変数名, … As 型名, 変数名, … As 型名 例:
Dim Gokei As Integer Dim a As Single, b As Double Dim moji5 As String Dim L As Boolean Dim sum As Integer=100 宣言時に任意の 初期データを設定可能
11
四則演算,様々な演算 変数にデータや式の計算結果を 記憶させるには,代入文を用いる. 等号“=”は,右辺の式の計算結果を
左辺の変数に代入するという意味である. 式に用いることのできる演算子は,次の通り. ():かっこ ^:べき乗 -:負符号 *, /:乗算,除算 \:整数除算の商 Mod:整数除算の余り +, -:加算,減算 &:文字の結合
12
プログラムの例 二つの整数の和,差,積,商,余りを計算するプログラム
Dim m, n, wa, sa, seki, sho, amari As Integer ’値を代入する m=7 n=3 wa=m+n sa=m-n seki=m*n sho=m\n amari=m-(m\n)*n Console.WriteLine( _ “和={0},差={1},積={2},商={3},余り={4}”, _ wa, sa, seki, sho, amari) 整数型の変数宣言 値を代入 コメント文 演算の実行 文の継続
13
プログラミング演習 二つの整数m,nの和,差,積,商,余りを計算する プログラムにおいて,mおよびnの値をキーボードから
入力する形式に変更してみよ. 円の半径rを読み込んで,円周の長さLと 面積Sを計算して表示させるプログラムを作れ.
14
解答例:m, nの和,差,積,商,余り 入力に先立って“m=”と 表示させることで,次に 何をすればよいかわかり やすくなる.
Console.Title=“m, nの和,差,積,商,余り” Dim m, n, wa, sa, seki, sho, amari As Integer Console.Write(“m=”) m=Console.ReadLine() Console.Write(“n=”) n=Console.ReadLine() wa=m+n sa=m-n seki=m*n sho=m\n amari=m-(m\n)*n Console.WriteLine( _ “和={0},差={1},積={2},商={3},余り={4}”, _ wa, sa, seki, sho, amari) 入力に先立って“m=”と 表示させることで,次に 何をすればよいかわかり やすくなる.
15
出力例:m, nの和,差,積,商,余り
16
“WriteLine”と“ Write”の使い分けに注意
解答例:円の円周,面積の計算 Console.Title = "円の円周,面積の計算" Dim r, pi, L, S As Single Console.WriteLine("半径を入力して下さい") Console.Write("r=") r = Console.ReadLine() pi = L = 2 * pi * r S = pi * r ^ 2 Console.WriteLine("円周の値は{0}," _ & "円の面積は{1}", L, S) 単精度実数型 “WriteLine”と“ Write”の使い分けに注意 πの近似値を代入 べきの計算 文字列の途中で改行する方法
17
出力例:円の円周,面積の計算
18
判断と飛び越し1 IF文 WHILE型 条件成立? 繰り返して 実行する部分 次の処理へ NO YES GoTo文
19
If文の基本的な表式1 条件式: 条件式が満たされれば文1を実行 満たされないときは文2を実行 [ ]で囲まれたElse句は省略可.
If 条件式 Then 文1 [Else 文2] 条件式(比較演算子)の書き方 < (より小さい) If a<100 Then …… <= (以下) If a<=100 Then …… > (より大きい) If a>100 Then …… >= (以上) If a>=100 Then …… = (等しい) If a=100 Then …… <> (等しくない) If a<>100 Then ……
20
1行のIf文の例文 Dim a, b, c, d, As Integer Dim flag As Boolean
If a > b Then c = 100 Else c = -100 If a <= b Then c = 125 If flag Then c = d 条件式は論理型の変数として扱われる. 満たされた場合は「真」(True), 満たされない場合は「偽」(False)という. 条件式に,論理型の変数を用いることも可能.
21
例題:ユークリッドの互除法 ユークリッドの互除法を用いて,2つの正整数a,b (a>b)の最大公約数を求めるプログラムを作れ. あまり
のとき, と の最大公約数は と の最大公約数に等しい. 例:1058と943の最大公約数 1058÷943=1 あまり 115 (943と115の最大公約数) 943÷115=8 あまり 23 (115と23の最大公約数) 115÷23=5 あまり 0 あまりが0になるまで この作業を繰り返す. あまりが0になったときの 割る数が最大公約数
22
ユークリッドの互除法:出力例
23
ユークリッドの互除法のアルゴリズム 2つの整数aとbを読み込む. a→m,b→nを代入. ℓ=(m÷nのあまり)を計算.
手順3と4を,あまりℓが0になるまで繰り返す. このときのnを最大公約数として書き出す.
24
プログラム例:ユークリッドの互除法 ℓ=lと読み替えてください GoTo で 飛ぶ先 余りを計算して,0なら
Dim a, b, ℓ, m, n As Integer Console.Write("一つ目の整数を入力して下さい") a = Console.ReadLine() Console.Write("二つ目の整数を入力して下さい") b = Console.ReadLine() m = a n = b point1: ℓ = m - (m \ n) * n If ℓ = 0 Then GoTo point2 m = n n = ℓ GoTo point1 point2: Console.WriteLine("最大公約数は{0}", n) GoTo で 飛ぶ先 余りを計算して,0なら ‘point2’へ飛べ,という命令 条件成立? 繰り返して 実行する部分 次の処理へ NO YES この二つの行を 逆にしてはならない
25
Whileループを用いた条件分岐 While……End While文 ある条件によって繰り返しを続けるかどうかを判断するループ
文ブロック End While 条件式が真(True)の間はループを繰り返す. 条件が最初から偽(False)の場合は, ループを1回も実行しない.
26
While文の例文 Dim sum As Integer = 0, i As Integer i = 1 While i <= 10
sum = sum + i i = i + 1 End While Console.WriteLine(“合計は{0}”, sum) iが11を越えるまで, 以下の命令を繰り返せ. 変数’sum’に’i’を加えた ものを新たな’sum’とする. While文の条件式を誤れば,ループが 無限に繰り返されることにもなる.
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.