Section01.알고리즘
알고리즘이란?
-어떤 특정한 작업을 처리하기 위한 과정에서 사용되는 명령들의 집합
알고리즘 기본 조건
-입력
-명확성
-실제성
-출력
-종결성
Section02.순서도
순서도 기호
순서도는 국제표준화기구(ISO : International Organization for Standardization) 에서 정한 표준 기호
Section03.프로그래밍의 순서
구조화 프로그래밍 기법
-순차제어 구조:일을 단계적으로 차례로 처리하는 구조로서 하나의 처리를 마친 후에 바로 다음의 처리 과정이 시작된다.
-조건제어 구조:조건에 따라 서로 다른 처리 과정을 진행하도록 한 것으로, 어떤 조건을 비교한 후 조건을 만족하거나 만족하지 않는 경우에 서로 다른 처리를 실행하는 구조
-반복제어 구조:컴퓨터의 특징 중에 가장 중요한 점은 처리 과정을 반복적으로 수행할 수 있다는 것으로, 어떤 조건을
만족하는 동안(Do ~ While), 또는 만족할 때까지(Do ~ Until)같은 처리를 반복하여 실행하는 구조
모듈별 프로그래밍 기법:전체 프로그램을 기능별로 작은 단위의 모듈(module)로 분리하여 부분적으로 코딩한 후 전체 모듈을 결합하여 프로그램을 구성하는 방법을 사용한다.
-장점:
1.프로그램의 작성이쉽다.
2.프로그램의 분석과 디버깅이 쉽다.
3.기능별로 분할된 모듈을 다른 프로그램에 재사용할 수 있다.
-단점:
1.모듈별로 분할하기 위한 객관적인 기준이 없다.
2.모듈간을 연결하여 전체 프로그램을 만들기 위한 기준을 세우기 어렵다.
하향식 프로그래밍 기법:모듈별 프로그래밍 기법의 하나로 프로그램을 상위의 모듈에서 하위 모듈 순으로 작성해 나가는 프로그래밍 기법이다.
개체지향 프로그래밍 기법:실제세계에서 나타나는 다양한 현상을 개체라는 단위로 실현함으로써 다양한 문제를 해결하기
위한 프로그래밍 기법이다.
-개체지향의 기본용어
-개체:실제와 실체에 관련된 동작을 모두 포함하는 것
-메소드:개체에 접근할 수 있는 수단을 제공하는 것으로 개체의 값을 변경하는 등의 기능을 한다. 함수와 비슷하다.
-인스턴스:클래스에 속하는 각 개체
-개체의 특성
-상속성:상위클래스와 하위 클래스 사이에 메소드와 데이터를 자동적으로 공유하는 특성
-캡슐화:개체 고유의 메소드를 통해서만 데이터에 접근
-추상화:클래스나 개체로부터 공통적인 질의나 특성을 추출하여 상위 클래스를 만들어 낼 수 있다.
-다형성:동일한 메시지에 대한 수신측에 따라 다른 결과를 얻을 수 있는 특성
-지속성:개체의 인스턴스는 대부분 프로그램이 실행될 때 만들어지고 실행이 끝나면 없어진다.
Section05.프로그래밍 언어
저급언어
-기계어: 번역 과정이 필요 없이 컴퓨터가 바로 실행 할 수 있으나, 프로그램을 작성하기 매우 어렵고 기종간의 호환성이 떨어져 거의 사용하지 않는다.
-어셈블리어: 기계어와 1:1로 대응되는 기호 형태의 단어로 구성된 프로그래밍 언어,프로그램 작성하기 어렵고 기종간의 호환성이 떨어진다.
고급언어
-컴파일러형 언어:원시 프로그램을 목적 프로그램으로 번역한 후 실행하는 방식으로 대부분의 프로그래밍 언어는 컴파일러형이다. 대화식 처리가 불가능하며 반드시 목적 프로그램을 만드는 것이 특징이다.
ex)FORTRAN,COBOL,PASCAL,C,C++,JAVA 등..
-인터프리터형 언어:번역기를 이용하여 프로그램을 한 줄씩 받아들여 해석하고 번역한 후 번역과 동시에 즉시 실행시키는 방식의 언어이다. 줄 단위로 처리되기 때문에 대화식 처리가 가능하고 목적 프로그램을 만들지 않는 것이 특징이다.
ex)BASIC,LISP,APL,JSP,ASP 등..
컴파일러형 언어와 인터프리터형 언어의 비교
Section06.프로그램의 번역과 실행
-인터프리터형 언어의 번역과 실행:BASIC 등은 전용 에디터나 툴을 이용하여 프로그램을 작성한 후 실행하면 줄단위로 번역한 후 이상이 없으면 실행, 실행 도중에 이상이 있으면, 에러 메시지와 함께 디버깅을 할 수 있다.
-컴파일러형 언어의 번역과 실행:C언어 등의 컴파일러형 언어는 원시 프로그램을 목적 프로그램으로 번역한 후 링커를 이용하여 로드 모듈로 만든 다음 로더를 이용하여 주 기억장치에 적재한 후 실행한다.
-링커:실행 가능한 프로그램을 만들기 위해서 컴파일된 목적 모듈들을 서로 연결시키는 기능을 하는 서비스 프로그램
-로더:목적 프로그램을 읽어들여 주기억 장치에 적재시킨 후에 실행시키는 서비스 프로그램으로, 목적 프로그램의 재배치, 주기억 장치 내에 프로그램을 적재시킬 공간의 확보, 여러 개의 목적 프로그램이나 라이브러리 루틴과의 링크 작업, 또는 실제 프로그램을 보조기억 장치에서 읽어들이는 기능을 한다.
참고문헌:C뿌려라!C언어 입문
알고리즘이란?
-어떤 특정한 작업을 처리하기 위한 과정에서 사용되는 명령들의 집합
알고리즘 기본 조건
-입력
-명확성
-실제성
-출력
-종결성
Section02.순서도
순서도 기호
순서도는 국제표준화기구(ISO : International Organization for Standardization) 에서 정한 표준 기호
Section03.프로그래밍의 순서
문제분석 ->입출력 설계->순서도 작성->원시 프로그램 작성->번역->테스트->테스트->실행->문서화 및 유지보수
이런식이며 번역에서 문법오류가 생기면 디버깅에서 다시 원시 프로그램 작성을 하기도 하며,
모의 데이터를 삽입할수 있으며 테스트에서 논리오류가 생기면 디버깅에서 순서도 작성으로 다시 간다.
이렇게 여러 과정을 고친다.
Serction04.프로그래밍 기법
구조화 프로그래밍 기법
-순차제어 구조:일을 단계적으로 차례로 처리하는 구조로서 하나의 처리를 마친 후에 바로 다음의 처리 과정이 시작된다.
-조건제어 구조:조건에 따라 서로 다른 처리 과정을 진행하도록 한 것으로, 어떤 조건을 비교한 후 조건을 만족하거나 만족하지 않는 경우에 서로 다른 처리를 실행하는 구조
-반복제어 구조:컴퓨터의 특징 중에 가장 중요한 점은 처리 과정을 반복적으로 수행할 수 있다는 것으로, 어떤 조건을
만족하는 동안(Do ~ While), 또는 만족할 때까지(Do ~ Until)같은 처리를 반복하여 실행하는 구조
모듈별 프로그래밍 기법:전체 프로그램을 기능별로 작은 단위의 모듈(module)로 분리하여 부분적으로 코딩한 후 전체 모듈을 결합하여 프로그램을 구성하는 방법을 사용한다.
-장점:
1.프로그램의 작성이쉽다.
2.프로그램의 분석과 디버깅이 쉽다.
3.기능별로 분할된 모듈을 다른 프로그램에 재사용할 수 있다.
-단점:
1.모듈별로 분할하기 위한 객관적인 기준이 없다.
2.모듈간을 연결하여 전체 프로그램을 만들기 위한 기준을 세우기 어렵다.
하향식 프로그래밍 기법:모듈별 프로그래밍 기법의 하나로 프로그램을 상위의 모듈에서 하위 모듈 순으로 작성해 나가는 프로그래밍 기법이다.
개체지향 프로그래밍 기법:실제세계에서 나타나는 다양한 현상을 개체라는 단위로 실현함으로써 다양한 문제를 해결하기
위한 프로그래밍 기법이다.
-개체지향의 기본용어
-개체:실제와 실체에 관련된 동작을 모두 포함하는 것
-메소드:개체에 접근할 수 있는 수단을 제공하는 것으로 개체의 값을 변경하는 등의 기능을 한다. 함수와 비슷하다.
-인스턴스:클래스에 속하는 각 개체
-개체의 특성
-상속성:상위클래스와 하위 클래스 사이에 메소드와 데이터를 자동적으로 공유하는 특성
-캡슐화:개체 고유의 메소드를 통해서만 데이터에 접근
-추상화:클래스나 개체로부터 공통적인 질의나 특성을 추출하여 상위 클래스를 만들어 낼 수 있다.
-다형성:동일한 메시지에 대한 수신측에 따라 다른 결과를 얻을 수 있는 특성
-지속성:개체의 인스턴스는 대부분 프로그램이 실행될 때 만들어지고 실행이 끝나면 없어진다.
Section05.프로그래밍 언어
저급언어
-기계어: 번역 과정이 필요 없이 컴퓨터가 바로 실행 할 수 있으나, 프로그램을 작성하기 매우 어렵고 기종간의 호환성이 떨어져 거의 사용하지 않는다.
-어셈블리어: 기계어와 1:1로 대응되는 기호 형태의 단어로 구성된 프로그래밍 언어,프로그램 작성하기 어렵고 기종간의 호환성이 떨어진다.
고급언어
-컴파일러형 언어:원시 프로그램을 목적 프로그램으로 번역한 후 실행하는 방식으로 대부분의 프로그래밍 언어는 컴파일러형이다. 대화식 처리가 불가능하며 반드시 목적 프로그램을 만드는 것이 특징이다.
ex)FORTRAN,COBOL,PASCAL,C,C++,JAVA 등..
-인터프리터형 언어:번역기를 이용하여 프로그램을 한 줄씩 받아들여 해석하고 번역한 후 번역과 동시에 즉시 실행시키는 방식의 언어이다. 줄 단위로 처리되기 때문에 대화식 처리가 가능하고 목적 프로그램을 만들지 않는 것이 특징이다.
ex)BASIC,LISP,APL,JSP,ASP 등..
컴파일러형 언어와 인터프리터형 언어의 비교
컴파일러형 언어 | 인터프리터형 언어 |
목적 프로그램을 만든다. | 목적 프로그램을 만들지 않는다. |
번역 속도가 느리다. | 번역 속도가 빠르다. |
메모리를 많이 차지한다. | 메모리를 적게 차지한다. |
프로그램 단위로 번역한다. | 줄 단위로 번역한다. |
실행 속도가 빠르다. | 실행 속도가 느리다. |
Section06.프로그램의 번역과 실행
-인터프리터형 언어의 번역과 실행:BASIC 등은 전용 에디터나 툴을 이용하여 프로그램을 작성한 후 실행하면 줄단위로 번역한 후 이상이 없으면 실행, 실행 도중에 이상이 있으면, 에러 메시지와 함께 디버깅을 할 수 있다.
-컴파일러형 언어의 번역과 실행:C언어 등의 컴파일러형 언어는 원시 프로그램을 목적 프로그램으로 번역한 후 링커를 이용하여 로드 모듈로 만든 다음 로더를 이용하여 주 기억장치에 적재한 후 실행한다.
-링커:실행 가능한 프로그램을 만들기 위해서 컴파일된 목적 모듈들을 서로 연결시키는 기능을 하는 서비스 프로그램
-로더:목적 프로그램을 읽어들여 주기억 장치에 적재시킨 후에 실행시키는 서비스 프로그램으로, 목적 프로그램의 재배치, 주기억 장치 내에 프로그램을 적재시킬 공간의 확보, 여러 개의 목적 프로그램이나 라이브러리 루틴과의 링크 작업, 또는 실제 프로그램을 보조기억 장치에서 읽어들이는 기능을 한다.
참고문헌:C뿌려라!C언어 입문
'* 컴퓨터 언어 (Computer Language) > C, C++' 카테고리의 다른 글
C언어 입출력 (0) | 2012.03.16 |
---|---|
수식과 연산자 (0) | 2011.12.22 |
02.C언어의 기초 (7) | 2011.11.19 |
C 뿌려라! (0) | 2011.11.17 |