slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
情報基礎 II ( 第 2 回) PowerPoint Presentation
Download Presentation
情報基礎 II ( 第 2 回)

Loading in 2 Seconds...

play fullscreen
1 / 20

情報基礎 II ( 第 2 回) - PowerPoint PPT Presentation


  • 154 Views
  • Uploaded on

情報基礎 II ( 第 2 回). 月曜4限 担当 :北川 晃. 講義資料のスライド. http://www.cc.kochi-u.ac.jp/~kitagawa/ より ,適宜ダウンロードして参照してください.. 判断と飛び越し1. IF 文. WHILE 型. 条件成立?. YES. NO. 繰り返して 実行する部分. GoTo 文. 次の処理へ. If 文の基本的な表式1. 条件式: 条件式が 満たされれば文 1 を実行 満たされないとき は文 2 を実行. [ ] で囲まれた Else 句は省略可..

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '情報基礎 II ( 第 2 回)' - yetta-leon


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

情報基礎II(第2回)

月曜4限

担当:北川 晃

slide2

講義資料のスライド

http://www.cc.kochi-u.ac.jp/~kitagawa/

より,適宜ダウンロードして参照してください.

slide3

判断と飛び越し1

IF文

WHILE型

条件成立?

YES

NO

繰り返して

実行する部分

GoTo文

次の処理へ

slide4

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 ……
slide5

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)という.
  • 条件式に,論理型の変数を用いることも可能.
slide6

例題:ユークリッドの互除法

ユークリッドの互除法を用いて,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になったときの
  • 割る数が最大公約数
slide7

ユークリッドの互除法のアルゴリズム

2つの整数aとbを読み込む.

a→m,b→nを代入.

l=(m÷nのあまり)を計算.

(n,l)を新たな(m,n)として代入.

手順3と4を,あまりlが0になるまで繰り返す.

このときのnを最大公約数として書き出す.

slide8

プログラム例:ユークリッドの互除法

Dim a, b, l, m, n As Integer

Console.Write("一つ目の整数を入力して下さい")

a = Console.ReadLine()

Console.Write("二つ目の整数を入力して下さい")

b = Console.ReadLine()

m = a

n = b

point1: l = m - (m \ n) * n

If l = 0 Then GoTo point2

m = n

n = l

GoTo point1

point2:Console.WriteLine("最大公約数は{0}", n)

条件成立?

YES

GoToで

飛ぶ先

余りを計算して,0なら

‘point2’へ飛べ,という命令

NO

繰り返して

実行する部分

この二つの行を

逆にしてはならない

次の処理へ

slide10

Whileループを用いた条件分岐

  • While……End While文
  • ある条件によって繰り返しを続けるかどうかを判断するループ

While条件式

文ブロック

End While

  • 条件式が真(True)の間はループを繰り返す.
  • 条件が最初から偽(False)の場合は,
  • ループを1回も実行しない.
slide11

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文の条件式を誤れば,ループが

無限に繰り返されることにもなる.

slide12

プログラム例:ユークリッドの互除法

Dim a, b, l, m, n As Integer

Console.Write("一つ目の整数を入力して下さい")

a = Console.ReadLine()

Console.Write("二つ目の整数を入力して下さい")

b = Console.ReadLine()

m = a

n = b

l = m - (m \ n) * n

While l <> 0

m = n

n = l

l = m - (m \ n) * n

End While

Console.WriteLine("最大公約数は{0}", n)

余りが0かどうかを判定

この二つの行を

逆にしてはならない

余りを計算し直して

もう一度評価

slide13

判断と飛び越し2

IF文

IF-THEN-ELSE型

条件成立?

YES

NO

処理1

処理2

合流

次の処理へ

slide14

If文の基本的な表式 その2

If条件式 Then

[ 文ブロック1 ]

[ Else

[ 文ブロック2 ] ]

End If

  • 条件式の値が真(True)の場合に文ブロック1が,
  • 偽(False)の場合に文ブロック2が実行される.
  • 文ブロックは1文だけでも,あるいは
  • 文が1つも無い場合も許される.
  • [ ]で囲まれた部分は省略可.
slide15

If文の基本的な表式 その3

If条件式1 Then

[ 文ブロック1 ]

[ ElseIf条件式2 Then

[ 文ブロック2 ] ]

[ Else

[ 文ブロック3 ] ]

End If

  • 条件式1の値が真(True)の場合に文ブロック1が,偽(False)の
  • 場合には条件式2が調べられ,式の値が真(True)の場合に
  • 文ブロック2が,偽(False)の場合には文ブロック3が実行される.
  • ElseIf句はいくつでも追加できる.
slide16

例題:大きい値と小さい値

n個のデータx1, x2, …, xnと定数aが与えられているとき,

xi≧aであるものの個数と,xi<aであるものの個数を求めよ.

  • 大きい値:6個
  • 小さい値:5個
slide17

大きい値と小さい値:アルゴリズム

入力装置から区切りの値aを読み込む.

初期値:大きい値の数l=0, 小さい値の数s=0

入力装置からxを一つ読み込む.

xとaを比較して,x≧aである場合はl→l+1

x<aである場合はs→s+1

次のxを読み込み,再び判定する.

以上を繰り返し,読み込む値がなくなったら, lとsを書き出す.

slide18

プログラム例:大きい値と小さい値

Dim c, l, s, n As Integer, a, x As Single

Console.Write("区切りとなる値aを入力して下さい")

a = Console.ReadLine()

Console.Write("データの個数nを入れて下さい")

n = Console.ReadLine()

c = 0

l = 0

s = 0

point1: c = c + 1

Console.Write("{0}個目のデータを入力して下さい", c)

x = Console.ReadLine()

データの個数のカウンタ(初期値0)

大きな数字の個数のカウンタ(初期値0)

小さな数字の個数のカウンタ(初期値0)

データの個数のカウンタを1増やす

slide19

プログラム例:大きい値と小さい値(続き)

  • 入力したxの値がaよりも
  • 大きい場合はlを1増やす
  • 小さい場合はsを1増やす

If x >= a Then

l = l + 1

Else

s = s + 1

End If

If c <> n Then GoTo point1

Console.WriteLine("aより大きい値は{0}個," _

& "小さい値は{1}個", l, s)

cがnに達していなければ,point1へ戻る