Menu
Coddy logo textTech

논리 연산자 Part 3

Coddy C# 여정의 기초 섹션에 포함된 레슨 — 69개 중 24번째.

여러 조건을 확인할 때, 컴퓨터는 최종 결과를 알게 되는 즉시 확인을 중단합니다 (이를 단락 평가(short-circuit evaluation)라고 합니다).

예를 들어:

int x = 0;
int y = 5;
bool result = x != 0 && y / x > 2;

여기서 x0과 같으므로, y / x > 2를 평가하지 않습니다. 만약 순서를 바꾼다면 다음과 같습니다:

bool result = y / x > 2 && x != 0;

이 경우 y를 0으로 나누게 되어 오류가 발생하며, 이는 수학적으로 허용되지 않습니다.

이 기술은 논리식의 평가를 최적화하는 데 사용됩니다. 예를 들어:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
bool result = (a > 0 && b < 2) || (c < -5 && d < 10);

이 예제에서 b < 2d < 10a > 0c < -5가 모두 거짓(false)이기 때문에 평가되지 않습니다.

challenge icon

챌린지

초급

태양광 패널 에너지 생산에 좋은 날인지 결정하는 프로그램을 만들어 봅시다.

다음 변수들을 초기화하세요:

  • isSunny를 true 값으로
  • windSpeed를 5.4 값으로
  • temperature를 23 값으로
  • solarPanelOutput를 9 값으로
  • isCloudy를 false 값으로

다음의 모든 조건을 확인하는 하나의 논리식을 만드세요:

  • 날씨가 맑음
  • 풍속이 10 미만임
  • 태양광 패널 출력이 15 미만임
  • 온도가 20 초과이거나 또는 구름이 없음

치트 시트

단락 평가(Short-circuit evaluation)는 컴퓨터가 최종 결과를 알게 되는 즉시 조건 확인을 중단하는 것을 의미합니다.

&& (AND) 연산자의 경우, 첫 번째 조건이 거짓(false)이면 두 번째 조건은 평가되지 않습니다.

int x = 0;
int y = 5;
bool result = x != 0 && y / x > 2; // y / x > 2는 평가되지 않음

|| (OR) 연산자의 경우, 첫 번째 조건이 참(true)이면 두 번째 조건은 평가되지 않습니다.

bool result = (a > 0 && b < 2) || (c < -5 && d < 10);
// 만약 a > 0이 거짓이면, b < 2는 평가되지 않음
// 만약 첫 번째 부분이 거짓이지만 c < -5 또한 거짓이라면, d < 10은 평가되지 않음

이러한 최적화는 불필요한 계산을 방지하고 0으로 나누기(division by zero)와 같은 오류를 피할 수 있게 해줍니다.

직접 해보기

using System;

public class Program {
    public static void Main(string[] args) {
        // 변수 초기화
        
        
        // 전체 논리식
        bool result = 
        
        // 아래 줄들을 삭제하지 마세요
        Console.WriteLine("Checking conditions for solar energy production...");
        Console.WriteLine("1. Is it sunny? " + isSunny);
        Console.WriteLine("2. Is wind speed safe? " + (windSpeed < 10));
        Console.WriteLine("3. Can panels produce more? " + (solarPanelOutput < 15));
        Console.WriteLine("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
        Console.WriteLine("\nFinal result - Good day for solar energy production: " + result);
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨