본문 바로가기

자격증

[정보처리기능사] chapter 02. 프로그래밍 언어 활용(2)

~ 목차 ~

Part 01 . 프로그래밍 언어 활용

 chapter01 알고리즘 구현

 chapter02. 프로그래밍 언어 활용

 

 

4. 명령문

  • 조건문 (참, 거짓)
    • if, if-else문 : 산술 또는 논리적 비교 가능
      • 단순 if문
      • 선택 if문
      • 중첩 if문
    • switch case문 : 조건이 동일한지의 여부만 확인 가능
      • case의 값과 일치하면 해당문 실행 => break 유무에 따라 실행 결과 상이
      • case 조건은 콜론(:)으로 구분, break로 처리를 종료
      • break문 없으면 조건이 만족하는 부분부터 switch문 종료되는 곳까지 실행문 모두 실행
      • default는 if문의 else와 같은 역할

 

 

< if문 기본형태>

C언어, JAVA 파이썬
 if (조건) {                         //중괄호의 경우 두 줄 이상 시에 작성.
    실행문;                         // if 구문은 중괄호 없을 시 하단 1줄 까지 인식
 }
 else if (조건) {
    실행문;
 }
 else {
    실행문;
 }
 if 조건:                             //들여쓰기가 if문 범위
    명령;
 elif 조건:
    명령;
 else
    명령;

 

 

 

< switch case문 >

C언어, JAVA 파이썬
 switch (변수){
      case 값 :
     실행문;
 default : 
     실행문;
 }
 파이썬은 switch case문 없음

※ switch case 코드 문제는 break유무로 연속적인 실행과 종료가 나누어짐!!!!

 


 

 

  • 반복문
    • for문
      • 지정한 횟수만큼 반복
      • 형태 : for( 기준값; 조건; 증감 ) { 실행문; }
    • while문
      • 조건에 부합(True)하는 동안 반복(False될 때까지 반복)
      • 형태 : while( 조건 ) { 실행문; }
    • do-while문
      • while문과 비슷, 조건이 부합하지 않더라도(False) 한 번은 반복
      • 형태 : do{ 실행문; } while( 조건문 );
    • while, do-while문은 초기값(기준값) 선언이 중요!! (ex. int sum = 0, i = 1)

 


 

 

  • 제어문
    • break문 
      • 해당 반복문을 멈추고, 탈출하는 데 사용
    • continue문
      • 반복문 유지하면서, 다음 반복으로 건너뛴다( = 아래 구문을 실행하지 않고 다시 위의 반복으로 돌아감)
    • 함수(JAVA 메소드)
      • 반복적인 코드의 사용을 방지하기 위해 하나의 함수를 만들어 필요한 경우 사용
      • 형식 
자료형 함수명(매개변수){
	실행문;
    return 함수명;
}

 

  • ex
int function(int num1, int num2){         //2번
	printf("%d, %d", num1, num2);     //출력 : 1 2
    
    return function(num1, num2);          //3번 function함수 재호출
}

int main(){
	function(1, 2);                   //1번 function함수 호출
}

 

 

 

재귀함수

- 함수에서 자기자신을 다시 호출하여 수행

int fact(int n){
	if(n == 1){
    return 1;
    }
    return n*fact(n-1);
}
void main(){
	int n = 5;
    printf("%d", fact(n));
}

답 : 120

 


 

5. 사용자 정의 자료형

 

  • C++ 사용자 정의 자료형
    • 열거체 : 괄호 안 연속적인 값
      • 값 지정X = 초기값 0  
      • 값 지정O => 다음 열거 값 1씩 증가
      • 형태 : enum{ 상수멤버1 상수멤버2 상수멤버3 };
    • 구조체 : 괄호 안 멤버 변수 사용
      • 구조체 정의 후 메인문에서 구조체 변수를 다시 선언해서 사용
        => 구조체 변수에 점(.)붙여서 구조체 멤버에 접근
      • 형태 :  struct Test {
                          int kor;
                          int eng;
                          int mat;
                   };
                   main(){
                           struct Test t1;
                           t1.kor = 90;
                           t1.eng = 80;
                           t1.mat = 100;
                   } 
    • 공용체 : 구조체와 유사, 구조체 보다 범주가 좀더 크다.
      • 공용체명을 작성해야함
      • 구조체를 멤버로 사용할 수 있다.
      • 공용체는 구조체와 달리 메모리 공간을 공유하여 크기를 작게 사용하므로 임베디드나 통신 분야에서 많이 쓰임.
      • 형태 : union 공용체명
                  {
                           자료형 변수명 1
                                  자료형 변수명 2;
                                  자료형 변수명 3;
                                  struct
                                  {};
                   }   
    • 추상화와 상속
      • 추상화 : 세부사항은 배제하고 중요한 부분을 중심으로 간략화하는 기
        • 기능 추상화 : 입력 자료를 출력 자료로 변환하는 과정을 추상화
        • 자료 추상화 : 자료와 자료에 적용할 수 있는 오퍼레이션(operation)을 함께 정의
        • 제어 추상화 : 외부 이벤트에 대한 반응을 추상화
      • 상속 : 상위 수준 그룹의 특성을 하위 수준 그룹이 이어받아 재사용 또는 확장하는 기법
        • 단일 상속 : 상위 수준 그룹이 1개
        • 다중 상속 : 상위 수준 그룹이 여러개
      • 구체화 : 하위 수준 그룹이 상위 수준 그룹의 추상적인 부분을 구체화

멤버변수

- 객체의 속성을 나타내는 변수.

- 파이썬에서는 클래스 내부에서 정의되는 변수가 멤버 변수.   

- 클래스의 인스턴스(객체)에서 사용되며, 객체의 상태를 나타냄.

- ex

class Person:
    def __init__(self, name, age):
        self.name = name             # name과 age는 멤버 변수
        self.age = age

person1 = Person("Alice", 25)        # Person 클래스의 인스턴스 생성

print(person1.name)  # 출력: Alice   # 멤버 변수에 접근
print(person1.age)   # 출력: 25

 

728x90