프로그래밍 공부
작성일
2023. 3. 10. 15:52
작성자
WDmil
728x90

로또생성기 만들기

 

로또 생성기를 만들어보자

 

먼저 로또번호를 생성하기 위해서는 무엇이 필요한지 나열한다.

  • 로또번호는 랜덤함수로 생성해야한다.
  • 보너스번호 가 존재한다면, 일반번호 와 보너스번호를 나누어 주어야 한다.
  • 모든 코드가 순환하며, 내가 입력한 번호가 랜덤 생성한 번호와 같은지 검사해야한다.

예시를 보자.

이렇게 작성할 수 있다.

만약, 복권번호를 작은수 부터 나열한다고 가정하면, Sort함수를 사용해서 값들을 정렬해야 한다.


재귀함수 를 사용한 파보나치 수열

 

재귀함수를 사용한 피보나치를 출력한다.

 

코드는 매우 간단하다. 예시를 보자.

단 3줄만 들어가면 출력할 수 있다.

 

쉽게 이해가 가지 않는다면, 풀어서 이해해보자.

 

파보나치 수열의 5번째 수를 출력하려고 한다고 가정한다.

파보나치 수열의 5번 째 수는 0 1 1 2 3 임으로 3이다. 어째서 3이 나오는지를 풀어서 해석해보면,


n5 = [n4 + n3] = [n3 + n2] + [n2 + n1] = [n2 + n1] + 1 + 1 + 0 = 1 + 0 + 1 + 1 + 0 = 3
n4 = [n3 + n2] = [n2 + n1] + 1 = 1 + 0 + 1 = 2
n3 = [n2 + n1] = 1 + 0 = 1
n2 = 1
n1 = 0


위와같이 나타난다.

 

정리하면, 파보나치 수열은 수많은 n1+n2로 이루어져 있고, 그것을 밑부터 전부 더해서 결과값을 도출하게 된다.

이렇게 재귀함수를 풀어서 계산하거나 어떠한 함수의 규칙성을 찾아내면 쉽게 코드로 구현할 수 있다.

 

출력 예시는 다음과 같다.


각 학생의 평균점과 합점, 그리고 총점을 구하는 코드

 

각각 학생의 평균점과 합점 그리고 총점을 구하는 2차원배열과 코드를 만들어본다.

 

먼저 필요한 데이터 산출을 나열해보자.

  • 학생들의 점수를 받아올 배열이 필요하다.
  • 배열값들의 총점을 구해야한다.
  • 배열값들의 평균점을 구해야한다.
  • 배열값들의 합점을 구해야 한다.

위와같이 작성할 수 있을것이다.


변수 간의 저장범위 와 조정범위

변수간의 저장범위와 조정범위를 알아보자.

 

변수는 전역변수, 지역변수 가 있다. 각각의 특징을 코드 예시로 살펴보면서 알아본다.

전역변수

 

쉽게 풀어쓰자면, 전역변수는 말 그대로 전(체 영)역 변수 라고 이해하면 된다.

 

int main()코드 이외의 부분에 작성되는 모든 데이터는 전역 변수 라고 한다.

자기자신 위에 선언된 모든 전역변수는 참조할 수 있다.

C++임으로, 순서에 유의해서 작성하도록 하자.

 

지역변수

 

쉽게 풀어쓰자면, 지역변수는 일정 지역에서만 활용할 수 있는 변수 라고 이해하면 된다.

 

{} 괄호 안에 넣은 변수는 {} 괄호를 벗어나면 사용할 수 없다. 초기화되어 사라지기 때문이다.

그렇기 때문에, { } 지역 안에서 사용한다. 한정된 지역에서 사용한다고 하여 지역변수 이다.

 

728x90