if문 및 분기 처리 정보

9078 단어 조건 브랜치Ruby

분기 처리


순차 처리


변수나puts를 사용하면 어느 정도 기본적인 계산과 출력을 화면에 할 수 있다.
그러나 블로그 럼문으로서 부족한 점이 있는 것도 사실이다.
순서대로 블로그 프로그램에 기재된 각양각색의 처리만 집행하다
순차적으로 처리하다.

분기 처리


그러나 블로그 프로그램은 순서대로만 처리할 수 없다.각종 상황에 따라 반드시 다른 처리를 해야 한다.예를 들어 게임 프로그램을 만들고 있다면'적을 만나면 게임이 끝난다'는 조건에 따라 처리하는 지점이 필요하다.이처럼 어떤 조건하에서 처리 절차가 변화하는 처리를 분지처리라고 한다.

루비언어에서는 기술분기 처리 명령으로 if(연습)라는 명령을 준비했다.여기, 내가 그걸 설명할게.

if문


샘플 프로그램
그렇다면 우선 조건의 불일치로 가장 기본적으로 처리된if문을 배워보자.
만약 문장은 영어에서'만약'을 나타내는 단어로'만약...이라면...'을 처리하는 데 쓰인다.우선, 아래의 절차를 보십시오.
1-1.rb
def calculation
 puts "数値を入力"
 a = gets.to_i
 if(a > 0) 
   puts "入力した値は、正の数です。\n"  #正の数だった場合には実行
 end
end
프로그램을 실행하면 콘솔 화면에 숫자 입력:
커서를 수평 방향으로 이동한 다음 키보드에서 오리 그림으로 이동합니다.
키보드에서 양수를 입력합니다.
실행 결과 1.(화요일 플러스 마이너스 입력)
数値を入力:5
入力した値は、正の数です。
따라서 위에서 말한 바와 같이 입력한 값은 정수이다, 프로그램 종료.
같은 블로그 표시줄에 0과 음수를 입력해도 다음과 같은 내용이 표시되지 않는다.
실행 결과 2.(0 및 음수 입력 시)
数値を入力:-
다음은 조건 분기에 사용되는if문장의 형식에 대해 설명합니다.만약 여자가 다음과 같은 격식이라면.
if문 형식

if(#条件式)
  #処理
end
() 내의 조건식이 성립되었을 때 {}에 둘러싸인 처리를 실행하는 것은if문입니다.1-1.rb에서 a>0, 즉 a
0보다 크면 조건이 성립됩니다. {}내puts문장을 실행합니다. >비교 연산자입니다.
비교 연산자는 다음과 같습니다.

사용 예


연산자
의향
사용 예
>
보다 크다
a > 0
>=
이상
a >= 0
<
보다 작음
a < 0
<=
이하
a <= 0
==
대등
a == 0
!=
같지 않다
a != 0
이상
이 블로그의 럼투의 키보드가 정수로 입력되었을 때, "입력한 값은 정수이다."
그렇지 않으면 아무 것도 표시되지 않습니다.
다만, 가능하면 정수 이외의 값을 입력했을 때도 정보를 표시하고 싶다.그렇다면 이를 해낼 수 있는 메커니즘을 소개한다.

if~else문


• 샘플 프로그램
우선 아래의 절차를 보십시오.
1-2.rb
def calculation
 puts "数値を入力"
 a = gets.to_i
 if(a > 0) 
   puts "入力した値は、正の数です。\n"  #正の数だった場合には実行
 else
   puts "入力した値は、正の数ではありません。\n" #0か、負の数だった場合に実行
 end
end
프로그램의 실행 결과는 실행 후의 정수를 입력할 때 변하지 않습니다.
그러나 음수를 입력하면 결과는 다음과 같다.
실행 결과(0 및 음수 입력 시)
数値を入力:-1
入力した値は、正の数ではありません。

else 문장


여기에 나타난 if~else문은 다음과 같은 격식이다.
if~else문 형식
if(条件式)
  #処理①
else
  #処理②
end
if문장의 () 내 조건식이 충족되었을 때 ①처리를 실행할 때는if문장 단일체와 같다.
단, 이외의 경우, 즉 조건식이 충족되지 않을 경우,else(엔트)문 이하의 처리를 수행한다.
따라서 만약에 a가 정수, 즉 0 또는 마이너스가 아니라면 이 블로그 양은'입력한 값이 정수가 아니다'라고 할 것이다.를 입력합니다.
다음 순서도

elsif


샘플 프로그램
if와else를 사용하는 상황에서 어떤 조건이 성립된 상황과 성립되지 않은 경우의 처리를 적었습니다.
하지만 실제로는 여러 조건으로 구성된 조건도 많다.이럴 때 어떻게 하면 좋을까요?
그때 쓸모 있는 건 엘시프야.우선, 아래의 샘플을 봅시다.
1-3.rb
def math
 puts "1~3の値を入力してください:"
 num = gets.to_i
 if(num == 1) 
   puts "one\n"  #numが1だった場合の処理
 elsif(num == 2) 
   puts "two\n" #numが2だった場合の処理
 elsif(num == 3) 
   puts "three\n" #numが3だった場合の処理
 else
   puts "不適切な値です。\n" #それ以外の値が入力された場合の処理
 end
end
実行結果1(1から3の値が入力された場合)
1〜3の値を入力してください:1
one
実行納果2(それ似外の値が入力された場合)
1〜3の値を入力してください:4
不適切な値です。
1을 입력하면 원과 2를 입력하고 투를 입력하고 3을 입력하면three가 표시됩니다.
이외의 값을 입력하면if와else만'1~3의 값을 입력하세요'를 표시합니다
하나의 조건이 성립되었을 때와 다른 상황에서의 처리만이 집행할 수 있다.elsif를 사용하면 여러 조건으로 나눌 수 있습니다.elsif를 포함하는if문의 형식은 다음과 같습니다.
if~elsif~else문 형식
if(条件式①)
 処理①
elsif(条件式②)
 処理②
else
 処理③
end
조건식 ①이 성립되면 ①을 처리하고 조건식 ②가 성립되면 ②를 집행하며 두 조건이 모두 성립되지 않으면 ③를 집행한다.또한elsif는if 이후에 몇 개를 추가할 수 있습니다.
따라서 몇 가지 조건을 추가할 수 있다.
이 때문에1-3.rb의 처리 절차를 기술하면 다음과 같다.

복잡한if문


샘플 프로그램


다음은 이 지식과 결합하여 더욱 복잡한if문법을 만들어 봅시다.
우선, 아래의 샘플을 보십시오.
list1-4.rb

 def main
  #サイコロの目を入力
  puts "1から6の数値を入力してください:"
  dice = gets.to_i
  # 値がサイコロの目の範囲内かどうかを調べる
  if(1 <= dice && dice <= 6)
    if(dice == 2 || dice == 4 || dice == 6)
     #サイコロの目が、偶数か奇数かで処理を分ける
       puts "丁(チョウです。)\n"   #偶数ならば丁(チョウ)
    else
       puts "半(ハンです。)\n"  #奇数ならば半(ハン)
    end
  else
    puts "範囲外の数値です。\n"
  end
 end
이 프로그램의 실행 결과는 크게 세 가지로 나뉜다.첫 번째는 1부터 6 사이의 짝수.
즉, 2, 4, 6 등의 값을 입력할 때다.아래와 같이 "정(나비)입니다.", 프로그램 종료.
실행 결과 1.(2, 4, 6시 입력)
1から6の数値を入力してください:2
丁(チョウ)です。
이어서 똑같이 1에서 6 사이인데 이번에 1, 3, 5라는 홀수를 입력하면'반(han)'이다.다음을 클릭합니다.
끝내다
실행 결과 2.(1, 3, 5시 입력)
1から6の数値を入力してください:5
丁(チョウ)です。
마지막으로 1에서 6 이외의 정수, 즉 주사위의 눈과 맞지 않는 수치를 입력하면 범위 밖의 수치임을 나타낸다.
, 프로그램 종료.
실행 결과(범위 이외의 값을 입력할 때)
1から6の数値を入力してください: 10
範囲外の数値です。

좋은 웹페이지 즐겨찾기