[정보처리기사 실기] 10. 프로그래밍 언어 활용-Chapter 1. 기본 문법 활용하기

Study/정보처리기사

[정보처리기사 실기] 10. 프로그래밍 언어 활용-Chapter 1. 기본 문법 활용하기

tnddj1219 2022. 1. 23. 01:34
728x90

정리 내용은 [수제비 2020 정보처리기사 실기]책을 기반으로 작성하였습니다.

 

2020 수제비 정보처리기사 실기(1권+2권 합본세트)

NCS 반영! 출제기준으로 전면개편한 교재이다. NCS 기반 반영 문제(예상문제 340제, 단원종합문제 360제, 모의고사 100제, 2020년기출문제)를 수록하였다. 수제비는 합격만을 위한 다양한 학습 콘텐츠


1. 변수 활용

종류 설명
변수 어떤 값을 주기적 장치에 기억하기 위해 사용하는 공간
식별자 프로그램 구성요소를 구별하기 위한 기준. 변수명 / 함수명
바인딩 변수와 변수에 관련된 속성을 연결하는 과정
정적 바인딩프로그램 실행시간 전에 속성을 연결하는 방식
동적 바인딩: 프로그램 실행 시간에 속성을 연결하는 방식
선언 변수에 이름, 데이터 타입 등의 속성을 부여하는 작업
명시적 선언: 선언문을 이용하여 변수 이름 나열하고 속성을 부여하는 방식
묵시적 선언: 별도의 선언문 없이 디폴트 규칙에 의해 속성을 부여되는 방식
영역 이름이 상용되는 범위
정적 영역: 변수를 찾을 때 구조에 기반하는 방식
동적 영역: 변수를 찾을 때 구조보다는 순서에 기반하는 방식
할당 변수에 메모리 공간을 바인딩하는 작업
데이터타입 변수가 가질 수 있는 속성 및 속성값의 길이
연산자 데이터 처리를 위해 연산을 표현하는 기호
명령문 프로그램을 구성하는 문장. 지시 사항을 처리하는 단위


자료구조
컴퓨터에 데이터를 삽입, 삭제, 수정하게 해주는 논리적인 공간 구조
단순 구조: 프로그래밍 언어에서 제공하는 기본 데이터(int, float, double, char)
선형 구조: 데이터가 연속적으로 연결된 자료구조(연결 자료구조, 순차 자료 구소, 스택, 큐, 덱)
비선형 구조: 자료 사이의 관계가 계층 또는 그물 형태 등 비순차적인 성질을 가진 자료들을 표현하는데 적합한 자료(트리, 그래프)
파일 구조: 보조기억장치에 데이터값이 실제로 기록되는 자료구조(순차파일, 색인파일)

 

알고리즘
어떤 문제에 대한 답을 찾은 해법
[특성]
입력: 외부로부터 입력되는 자료 0개 이상이어야 하는 특성
출력: 출력되는 결과가 1개 이상이어야 하는 특성
명확성: 각 명령어의 의미가 명확하여야 하는 특성
유한성: 정해진 단계를 지나면 종료되어야 하는 특성
유효성: 모든 명령은 실행이 가능한 연산들이어야 하는 특성

 

데이터 타입
프로그래밍 언어에서 실수치, 정수 자료형과 같은 여러 종류의 데이터 식별하는 형태

종류 설명
불린(Boolean) 조건이 참인지 거짓인지 판단하고자 할 때 사용
C언어에서는 미지원 / C, Java는 true, false / 파이썬은 True, False
문자(Character) 문자를 저장하고자 할 때 사용
문자열(String) 나열된 여러 개의 문자를 저장하고자 할 때 사용
C언어에서는 미지원
정수(Inteager) 정수 값을 지원하고자 할 때 사용
부동소수점(Float) 소수점을 포함하는 실수값을 저장하고자 할 때 사용
float: 4바이트, 소수점 6자리까지 / double: 8바이트, 소수점 15자리
배열(Array) 여러 데이터를 묶어서 사용하고자 할 때 사용


변수
저장하고자 하는 어떠한 값이 있을 때, 그 값을 주기억장치에 기억하는 공간
1. 영문 대문자/소문자, 숫자, 밑줄의 사용이 가능
2. 첫 자리에는 숫자를 사용할 수 없음
3. 
변수 이름의 중간에는 공백을 사용할 수 없음
4. 데이터 값의 의미나 역할 표현
5. 이미 사용되고 있는 예약어의 경우에는 변수로 사용할 수 없음
변수 선언: 자료형과 변수명을 작성하여 변수를 생성하는 과정

데이터타입 변수명= 초기값; / 데이터타입 변수명[배열의 수]={초기값들}

* 예약어: 컴퓨터 프로그램 언어에서 이미 문법적인 요도로 사용되고 있기 때문에 식별자로 사용할 수 없는 단어

 

2. 연산자

산술연산자
+, -, *, /, % 와 같이 컴퓨터로 하여금 산술적인 연산을 하도록 하는 기호

 

시프트연산자
비트를 이동시키는 연산자
<< 왼쪽 값을 오른쪽 값만큼 비트를 왼쪽으로 이동 / >> 왼쪽 값을 오른쪽 값만큼 비트를 오른쪽으로 이동

 

관계연산자
두 연산자 사이의 크기를 비교하는 연산자
<, >, <=, >=, ==, !=

 

논리연산자
두 피연산자 사이의 논리적인 관계를 정의하는 연산자
&& 두 개의 논리 값이 참이면 참을 반환, 그렇지 않으면 거짓을 반환
|| 두 개의 논리 값 중 하나가 참이면 참을 반환, 그렇지 않으면 거짓을 반환

 

비트연산자
0과 1의 각 자리에 대한 연산을 수행하며 0또는 1 결괏값을 갖는 연산자& 두 값을 비트로 연산하여 모두 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환| 두 값을 비트로 연산하여 하나가 참이면 참을 반환하고, 그렇지 않으면 거짓을 반환

^ 두 값을 비트로 연산하여 서로 다르면 참을 반환하고, 그렇지 않으면 거짓을 반환

 

대입연산자
변수에 값을 대입할 때 사용하는 연산자. 오른쪽에 있는 값을 이용해 왼쪽변수에 값을 대입=, +=, -=, *=, /=, %=

 

증감연산자
피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자
++x: 변수의 값을 1 증가시킨 후에 해당 변수를 사용하는 연산자
x++: 변수를 사용한 후 변수의 값을 증가시키는 연산자
--x: 변수의 값을 1 감소시킨 후 해당 변수를 사용하는 연산자
x--: 변수를 사용한 후 변수의 값을 감소키는 연산자

3. 명령문

조건문
조건의 참, 여부에 따라 실행경로를 달리하는 if문과 여러 경로 중 하나를 선택하는 switch문 구분
1. if문:
조건이 참인지 거짓인지에 따라 경로 선택. 단순 if / 택 if / 중첩 if

2. switch 문: 조건에 따라 여러 개의 선택 경로 중 하나를 취하고자 할 때 사용파이썬에는 switch 문 존재하지 않음

 

반복문
특정 부분 조건이 만족할 때까지 실행하도록 하는 명령어
1. while  문: 시작과 종료조건이 참인 동안 해당 문장을 반복해서 실행하는 명령문
2. for 문: 초깃값, 최종값, 증감값을 지정하여 반복하여 실행하는 명령문

 

루프제어 명령어
반복문에서 무한루프를 방지하기 위해 break와 continue 명령어 사용
break: 반복문을 중지하도록 하는 명령문 / continue: 다음 반복으로 넘어갈 수 있도록 하는 명령어

 

4. 사용자 정의 자료형 활용

개념
사용자 상황에 맞게 기존 자료형을 조합해서 만드는 자료형

 

열거체(enum)
서로 연관된 정수형 상수들의 집합
멤버에
 초깃값을 설정하지 않으면 0부터 차례로 할당된다.

 

구조체(struct)
사용자가 기본 타입을 가지고 새롭게 정의할 수 있는 사용자 정의 자료형

자바, 파이썬에서는 지원하지 않는다.


공용쳬

모든 맴버 변수가 하나의 메모리 공간을 공유하는 사용자 정의 자료형
자바, 파이썬에서는 지원하지 않음
문법은 구조체와 비슷하지만, 메모리 구조 측면에서 구조체와 다름
구조체는 각 변수가 다른 메모리에 할당되어 있지만, 공용체는 모든 변수가 같은 메모리에 할당

 

사용자 정의함수
직접 새로운 함수를 정의해서 사용

 

5. 추상화와 상속

추상화
세부사항을 배제하고 중요한 부분을 중심으로 간략화 하는 기법
기능추상화: 입력자료를 출력자료로 변환하는 과정을 추상화
자료추상화: 자료와 자료에 적용할 수 있는 연산을 함께 정의하는 방법

제어추상화: 외부 이벤트에 대한 반응을 추상화하는 방법

 

상속
상위 수준 그룹의 모든 특성을 을 하위 수준 그룹이 이어받아 재사용 또는 확장하는 기법
단일 속성/다중속성 이 있음상위 수준의 속성이 하나만 존재할 경우 이를 단일 속성이라고 함

 

구체화
하위수준 그룹이 상위수준의 그룹의 추상적인 부분을 구체화 하는 기법

728x90