Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2017/꽃밭/0403: Difference between revisions

From ZeroWiki
No edit summary
(Repair MoniWiki formatting after migration)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[새싹교실/2017/꽃밭/0328|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0404|다음수업▶]]
__TOC__
__TOC__
= 수업 내용 =
= 수업 내용 =
Line 4: Line 5:
프로그램을 만들다보면 '옵션'을 주고 싶을 때가 있습니다.
프로그램을 만들다보면 '옵션'을 주고 싶을 때가 있습니다.
예를 들어 계산기를 만들 때, 다음과 같이 만든다고 칩시다.
예를 들어 계산기를 만들 때, 다음과 같이 만든다고 칩시다.
[[File:cond_1.png]]
 
[[File:cond_1.png|600]]
 
별 문제 없는 프로그램이지만, 입력을 할 때마다 사칙 연산 결과를 전부 보여주는 것은 어쩐지 불필요해 보입니다.
별 문제 없는 프로그램이지만, 입력을 할 때마다 사칙 연산 결과를 전부 보여주는 것은 어쩐지 불필요해 보입니다.
사용자는 곱셈 결과만 원할 수도 있고, 덧셈 결과만 원할 수도 있지요.
사용자는 곱셈 결과만 원할 수도 있고, 덧셈 결과만 원할 수도 있지요.
그럴 때 조건문을 쓰면 사용자에게 어떤 연산을 할지 선택하도록 할 수 있습니다.
그럴 때 조건문을 쓰면 사용자에게 어떤 연산을 할지 선택하도록 할 수 있습니다.
[[File:cond_2.png]]
 
[[File:cond_2.png|600]]


조건문의 구조는 이렇습니다.
조건문의 구조는 이렇습니다.
[[File:cond_3.png]]
 
[[File:cond_3.png|400]]
 
else문에는 조건이 붙지 않습니다. 왜냐하면 if도, else if도 아닐 때 실행되는 부분이기 때문이죠.
else문에는 조건이 붙지 않습니다. 왜냐하면 if도, else if도 아닐 때 실행되는 부분이기 때문이죠.
그 어느 조건도 맞지 않을 때 실행됩니다.
그 어느 조건도 맞지 않을 때 실행됩니다.
Line 19: Line 25:


이것을 벤 다이어그램으로 나타내 보았어요.
이것을 벤 다이어그램으로 나타내 보았어요.
[[File:cond_diagram.png]]
[[File:cond_diagram.png|220]]
 


그렇다면 괄호 안의 '''조건'''은 어떻게 쓸까요??
그런데, if문 괄호 안의 '''조건'''은 어떻게 쓸까요??
그 때 사용하는 것이 바로  
그 때 사용하는 것이 바로 <span style="color:red">'''연산자'''</span>입니다.
{color:red}'''연산자'''
입니다.




Line 47: Line 52:
1부터 N까지 차례로 출력하되,
1부터 N까지 차례로 출력하되,
N의 약수 옆에는 'V'를 출력하는 프로그램을 작성하세요.
N의 약수 옆에는 'V'를 출력하는 프로그램을 작성하세요.
[[File:coding.png]]
 
[[File:coding.png|220]]


* 슈도 코드
* 슈도 코드
Line 67: Line 73:


------------
------------
[[새싹교실/2017/꽃밭/0328|◀이전수업]]▒▒▒▒▒[[새싹교실/2017/꽃밭/0404|다음수업▶]]
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]
[[새싹교실/2017]] [[새싹교실/2017/꽃밭]]

Latest revision as of 14:01, 26 March 2026

◀이전수업▒▒▒▒▒다음수업▶

수업 내용

조건문

프로그램을 만들다보면 '옵션'을 주고 싶을 때가 있습니다. 예를 들어 계산기를 만들 때, 다음과 같이 만든다고 칩시다.

600

별 문제 없는 프로그램이지만, 입력을 할 때마다 사칙 연산 결과를 전부 보여주는 것은 어쩐지 불필요해 보입니다. 사용자는 곱셈 결과만 원할 수도 있고, 덧셈 결과만 원할 수도 있지요. 그럴 때 조건문을 쓰면 사용자에게 어떤 연산을 할지 선택하도록 할 수 있습니다.

600

조건문의 구조는 이렇습니다.

400

else문에는 조건이 붙지 않습니다. 왜냐하면 if도, else if도 아닐 때 실행되는 부분이기 때문이죠. 그 어느 조건도 맞지 않을 때 실행됩니다.

저 3개를 꼭 다 써야하는 건 아니구요, if만 쓸수도, else if까지만 쓸 수도 있습니다. 그리고 else if문은 여러 개 추가해서 쓸 수 있습니다.

이것을 벤 다이어그램으로 나타내 보았어요. 220


그런데, if문 괄호 안의 조건은 어떻게 쓸까요?? 그 때 사용하는 것이 바로 연산자입니다.


연산자

조건문을 작성하는 데 필요한 연산자들입니다. 관계, 비교 연산자이죠.

    if( val < 3 )   // val이 3보다 작으면
    if( val <= 3 )  // val이 3보다 작거나 같으면
    if( val == 3 )  // val이 3이면(반드시 '=' 가 아닌 '=='를 써야한다!)
    if( val != 3 )  // val이 3이 아니면

AND, OR, NOT 연산자도 있습니다. 논리 연산자라고 하죠.

    if( 조건1 && 조건2 )  // 조건1과 조건2가 모두 참일 때
    if( 조건1 || 조건2 )  // 조건1 혹은 조건2가 참일 때
    if( !조건3 )          // 조건3가 거짓일 때

논리 연산자는 주로 관계비교 연산자와 결합해서 사용합니다.

    if( (val > 1) && ( val < 3) )  // val가 1보다 크고 3보다 작을 때(1<val<3)
    if( (val < 1) || ( val > 3) )  // val가 1보다 작거나 3보다 클 때
    if( !(val == 2) )              // val가 2가 아닐 때; if( val != 2)와 동일한 의미

실습

사용자가 숫자 N을 입력하면 1부터 N까지 차례로 출력하되, N의 약수 옆에는 'V'를 출력하는 프로그램을 작성하세요.

220

  • 슈도 코드
    for( i : 1 ~ N )
       i 출력
       if( N % i == 0 )
             옆에 V 표시

후기

유진

저번에 한 건 좀 어려웠는데, 오늘은 딱 적당한 난이도 였던거 같아요....ㅎㅎ 매번 잘 가르쳐 주셔서 감사하고, 열심히 할게요...ㅎ

현지

이번에 배운건 적절한 난이도여서 좋았고 재밌었어요!! 계속 열심히 배우겠습니당

혜민

수업시간에 교수님이 조건문에 대해서 말씀하실때 너무 다 알고 있다는 가정하에 수업하시는 것 같아서 이해가 안되었는데 오늘 조건문을 배우고 나니 정말 별거 아니였다는 것을 알게 되었다. 쉽게 이해가 되었고 생각보다 쉬운 내용인것 같다. 수업 피드백:이해가 쉽게 잘 되고 머리속에 쏙쏙 들어와요 ㅎㅎ


◀이전수업▒▒▒▒▒다음수업▶ 새싹교실/2017 새싹교실/2017/꽃밭