본문 바로가기

내가 꾸는 꿈

함수 연습문제, 조건문, 반복문 [노베이스 게임개발 4일차]

반응형

지난 시간 숙제를 먼저 풀어보고 진행해 보겠다

 

 

*프로젝트를 새로 만들고 변수에 값을 할당하여 '-512입니다'를 출력하세요.

 

 

간단하게 변수 정의 및 할당, 출력을 할 수 있는지 물어보는 문제였다.

 

이정도는 이제 쉽다!

 

 

*프로젝트를 새로 만들고 정수 a와 정수 b의 합을 계산하는 함수 sum()을 작성하세요

 

파라미터와 함수를 이용하여 값을 계산 후 출력할 수 있는가 묻는 문제였다.

 

나중에는 파라미터를 직접 콘솔로 입력하는 방법도 배우지 않을까 생각이 든다.

 

 

*프로젝트를 새로 만들고 사용자로부터 콘솔 입력을 받아 입력값을 제곱하여 출력하는 프로그램을 만들어 보세요

 

이건 만들고 나서 처음으로 상호작용이 되는 프로그램이라 매우 신기하였다.

일단 scanf로 값을 입력받은 후에 result라는 변수에 입력받은 값을 두 번 곱하여 제곱을 만들었다.

그 후 result 변수를 출력하여 문제를 풀었다.

 

12x12 = 144

이제 점점 더 어려워지는 코딩의 세계로 빠져들 준비가 되었다

 

오늘은 조건문과 반복문에 대해서 알아보았다.

본격적으로 공부하기 전에 기본적인 개념들을 먼저 알아보고 가야 한다.

 

 


조건문 : 조건에 의해 실행되는 구문을 지정

반복문 : 조건이 '참'이라면 반복하는 구문을 지정

 

논리 연산자

  • && : 논리적 AND 연산 (두가지 조건이 모두 참일 경우 실행)
  • || : 논리적 or 연산 (두가지 조건중 하나만 참이여도 실행, | = 역슬래시+쉬프트)

비교 연산자

  • A == B : 값이 서로 같으면 참
  • A != B : 값이 서로 다르다면 참
  • A > B : A가 더 크다면 참
  • A < B: B가 더 크다면 참
  • A >= B : A가 크거나 같다면 참
  • A <= B : B가 크거나 같다면 참

 

 

먼저 조건문이다.

각 절 안에 조건이 충족된다면 그 절의 코드를 실행시키는 구문이다.

사진의 예를 들어 보면 value1은 1이고 value2는 2로 할당이 되어있고 위에서 아래 순서대로 코드를 읽어나가므로

첫 번째 if에서는 1과 2가 같지 않으므로 거짓이 되어 실행되지 않는다.

두 번째 else if에서는 1보다 2가 크지 않으므로 거짓이 되어 실행되지 않는다.

위의 두 가지 조건이 모두 성립하지 않았으므로 마지막 else절이 실행된다.

 

 

조건문을 쓸 때 else if는 if와 else 사이에 여러 번 나올 수 있고 혹은 없을 수도 있다.

else 구문 또한 없을 수 있다.

else구문의 코드가 실행되었다.

만약 조건이 참인 구문이 없다면 코드가 실행되지 않아 아무것도 뜨지 않을 것이고 else구문보다 위의 구문에서 조건이 참이라면 그 구문만 실행이 된다.(예를 들어 if구문이 참이라면 if구문만 실행이 됨)

 

 

 

 

그다음으로는 반복문을 알아보았다.

반복문에는 while구문과 for구문 그리고 그림엔 없지만 do-while문이 있는데 do-while문과 while문은 잘 사용하지 않으므로 for 구문만 배웠다.

 

 

 

 

먼저 for 구문에 첫 번째는 i를 0으로 선언과 동시에 할당하였고, 두 번째는 조건으로 i가 100보다 작은 경우 참이 되어 세 번째 구문과 함께 절 안에 코드를 실행시킨다.

그렇게 되면 i에 1이 더해진 후 count에 10을 더하고

i가 1이 되면 여전히 100보다 작으므로 한번 더 실행.... 이렇게 100번 실행하고 나면 i가 100보다 커져 반복문이 종료되고

count의 값 또한 100번 반복되어서

 

이렇게 1000이라는 숫자가 출력되게 된다.

 

 

 

반복문을 연습하기 위해 연습 프로그래밍을 풀어보았다.

 

*사용자로부터 숫자를 입력받아 그 숫자만큼 'A'를 출력하세요

먼저 input이라는 변수를 선언하고 숫자를 입력하기 위한 텍스트와 scanf문을 사용한 후

i가 사용자가 입력한 값만큼 반복되어야 하므로 for 절의 두 번째 부분에 (i < input)이라고 만들어 주었다.

그 결과 얼마만큼 숫자를 입력해도 그만큼 A를 반복하여 주는 프로그램이 만들어졌다.

 

이런식으로도 작동시킬수 있다

다음시간을 위한 과제는 다음과 같다.

 

프로젝트를 새로 만들고 사용자로부터 차례대로 input1, input2, operation입력을 받아

operation이 0일 경우 input1 + input2를 계산하고

operation이 1일 경우 input1 - input2를 계산하고

operation이 2일 경우 input1을 input2만큼 거듭제곱하여 출력하는 프로그램을 작성하세요.

operation이 0, 1, 2가 아닐 경우 오류메시지와 함께 종료되어야 합니다.

덧셈과 뺄셈 제곱 모두 함수를 활용하여 계산하세요.

 

벌써 조금 복잡해지는 것 같지만 꼼꼼히 공부하니 할 수 있을 거 같다.

 

 

후기:

조금씩 프로그램을 만들기 시작하니 조금씩 재미가 생기고 있다.

과제 프로그램도 잘 만들고 나면 뿌듯할 거 같다.

 

*본 포스팅은 학생의 입장에서 쓴 글로 정확하지 않을 수 있으며 댓글로 피드백해 주시면 감사하겠습니다.

클래스 101 개발자 라라 님의 강의를 통해 학습한 내용을 기반으로 두고 있습니다.

반응형