혼공스

혼공스 - 2주차 (。・∀・)ノ゙

오쟝 2024. 1. 8. 09:44

 

조건문은 조건에 따라서 코드를 실행하거나 실행하지 않을 때 사용하는 구문입니다! 1주차에서 배웠던 비교 연산자, 논리 연산자를 사용해 조건문을 만들어 봅시다!

if(불 값이 나오는 표현식) {
	불 값이 참일 때 실행할 문장
}

 

책에 나온대로 오전과 오후를 구분하는 예제를 만들어봅시다!

<body>
    <script>
        const date = new Date();
		const hour = date.getHour();
        
        if(hour < 12) {
        	alert('오전입니다.');
        }
        if(hour >= 12) {
        	alert('오후입니다.');
        }
    </script>
</body>

 

if 값이 참이면 오전입니다, 거짓이면 오후입니다를 출력하는게 더 편하지 않을까요? if문을 두 개 쓰려니 코드가 영..

그래서 우리에겐 if~else문이 있습니다!!

if(불 값이 나오는 표현식) {
	불 값이 참일 때 실행할 문장
}
else {
	불 값이 거짓일 때 실행할 문장
}

 

if~else문을 사용해 위의 오전과 오후를 구분하는 예제를 만들면

<body>
    <script>
        const date = new Date();
	const hour = date.getHour();
        
        if(hour < 12) alert('오전입니다')
        else alert('오후입니다')
    </script>
</body>

 

코드가 훨씬 간결해지고 보기도 쉽죠?

제가 중괄호를 안 적은 이유는 실행할 코드가 한 줄이기 때문입니다!

 

만약 오전과 오후 뿐만 아니라 아침, 점심, 저녁으로 구분한다면 어떻게 하면 좋을까요? 

그래서 우리에겐 if~else if문이 있습니다!

if(불 표현식) {
	문장
}
else if(불 표현식) {
	문장
}
else if(불 표현식) {
	문장
}
else {
	문장
}

 

여러개의 조건을 넣을 수 있습니다! if~else if문을 갖고 아침, 점심, 저녁을 구분하는 예제 만들어봅시다!

<body>
    <script>
        const date = new Date();
	const hour = date.getHour();
        
        if(hour < 11) alert('아침입니다')
        else if(hour < 18) alert('점심입니다')
        else alert('저녁입니다')
    </script>
</body>

 

if문을 여러 개 사용하지 않아도 됩니다!

Chapter 3-1 마무리
1. 다음 예제 중에서 '참입니다'를 출력하는 것은 몇 번일까요?
2. 사용자로부터 숫자 2개를 입력받아 첫 번째 입력받은 숫자가 큰지, 두 번째 입력받은 숫자가 큰지를 구하는 프로그램을 다음 빈칸을 채워 완성해보세요.
<script>
        const a = Number(prompt('첫 번째 숫자', ''))
        const b = Number(prompt('두 번째 숫자', ''))

        if(a > b) {
            alert('첫 번째로 입력한 숫자가 더 큽니다.')
        }
        else if(a == b) {
            alert('두 숫자가 같습니다.')
        }
        else {
            alert('두 번째로 입력한 숫자가 더 큽니다.')
        }
    </script>

3. 중첩 조선문은 2장엣 배운 논리ㅣ 연산자를 적용해 하나의 if 조건문으로 만들 수 있습니다. 빈칸에 어떤 논리 연산자가 들어가야 할까요?
&&
4. 사용자에게 숫자를 입력받아 양수, 0, 음수를 구분하는 프로그램을 만들어보세요.
<script>
        const a = Number(prompt('숫자를 입력해주세요.', ''))

        if(a > 0) alert('입력한 숫자는 양수입니다.')
        else if(a == 0) alert('입력한 숫자는 0입니다.')
        else alert('입력한 숫자는 음수입니다.')
    </script>
 5. 사용자에게 숫자를 입력받아 홀수와 짝수를 구분하는 프로그램을 만들어보세요.
<script>
        const a = Number(prompt('숫자를 입력해주세요.', ''))
       
        if(a%2 == 0) alert('입력한 숫자는 짝수입니다.')
        else alert('입력한 숫자는 홀수입니다.')
    </script>
6. 현재가 몇 월인지 확인하고, 계절을 구분하는 프로그램을 만들어보세요.
<script>
        const a = Number(prompt('월을 입력해주세요.', ''))
       
        if(a >= 3 && a <= 5) alert('봄입니다.')
        else if(a <= 8) alert('여름입니다.')
        else if(a <= 11) alert('가을입니다.')
        else alert('겨울입니다.')
    </script>

 

switch 조건문은 괄호 안에 비교할 값을, case에 괄호 안 비교할 값과 비교할 값을 넣어줍니다.. 무슨 소리지?! 할 수 있지만 예제로 봐봅시다!

 

<body>
    <script>
        const a = Number(prompt('숫자를 입력해주세요.', '숫자'))
        
        switch(a % 2) {
            case 0 : 
                alert('짝수입니다.') 
                break
            case 1 : 
                alert('홀수입니다.') 
                break
            default : 
                alert('숫자가 아닙니다') 
                break
        }
    </script>
</body>

 

case를 조건문, default를 else, switch를 불 표현식 정도로 생각하면 될 것 같습니다

 

삼항연산자는 if~else문을 한 줄로 적을 수 있습니다!

불 표현식 ? 참일 떄의 결과 : 거짓일 때의 결과

 

짧은 조건문은 논리합, 논리곱을 사용하는 것입니다!

논리합 -> true || ~ -> 항상 참이 나옵니다 (우변 실행 X)

논리곱 -> false && ~ -> 항상 거짓이 나옵니다 (우변 실행 X)

Chapter 3-2 마무리
1. 다음 코드가 어떤 형태로 실행될지 예측해보세요.
confirm('버튼을 클릭해주세요') 가 실행
2. [누적 예제 : 태ㅓ난 연도를 입력받아 띠 출력하기] 예제에서 if 조건문을 switch 조건문으로 변경해서 구현해보세요.
<script>
        const rawInput = prompt('태어난 해를 입력해주세요.', '')
        const year = Number(rawInput)
        const e = year % 12
       
        let result
        switch(e){
            case 0: result = '원숭이'
            break
            case 1: result = '닭'
            break
            case 2: result = '개'
            break
            case 3: result = '돼지'
            break
            case 4: result = '쥐'
            break
            case 5: result = '소'
            break
            case 6: result = '호랑이'
            break
            case 7: result = '토끼'
            break
            case 8: result = '용'
            break
            case 9: result = '뱀'
            break
            case 10: result = '말'
            break
            case 11: result = '양'
            break
        }
        alert(`${year}년에 태어났다면 ${result} 띠입니다.`)
    </script>
3. '태어난 연도를 입력받아 띠 출력하기' 예제에서 동물의 이름을 쥐부터 '자, 축, 인, 묘 ~'로 변경하고, 입력한 연도의 '갑, 을, 병 ~'을 계산합니다. 이 두을 합쳐 다음과 같이 출력하는 프로그램을 만들어보세요.
<script>
        const rawInput = prompt('태어난 해를 입력해주세요.', '')
        const year = Number(rawInput)

        let
        let 십간 = '경,신,임,계,갑,을,병,정,무,기'.split(',')
        = 십간[year%10]

        let
        let 십이지신 = '신,유,술,해,자,축,인,묘,진,사,오,미'.split(',')
        = 십이지신[year%12]

        alert(`${year}년은 ${}${} 년입니다.`)
    </script>
4. 다음 중에서 switch 조건문과 직접적인 관련이 없는 키워드를 고르세요.
5. 다음 중에서 다른 실행 결과를 내는 코드를 고르세요.

 

2주차 끝 ~ *^____^*

'혼공스' 카테고리의 다른 글

혼공단 11기 회고록  (1) 2024.02.05
혼공스 - 5주차 👍  (1) 2024.01.29
혼공스 - 4주차 ✨  (0) 2024.01.22
혼공스 - 3주차!!  (1) 2024.01.15
혼공스 - 1주차! 🤓  (1) 2024.01.02