• 검색 결과가 없습니다.

컴퓨터프로그래밍 2014 2학기 - [이론] 12_컴퓨터 프로그래밍_이론_3장_모듈화프로그래밍

N/A
N/A
Protected

Academic year: 2021

Share "컴퓨터프로그래밍 2014 2학기 - [이론] 12_컴퓨터 프로그래밍_이론_3장_모듈화프로그래밍"

Copied!
24
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Kangwon National University Since 1947

컴퓨터 프로그래밍

모듈화 프로그래밍

(Modular Programming)

강 정 석

(2)

지난 시간 복습

설계 후 코딩 하라 !!

구조화 프로그래밍

 하향식 프로그래밍  세 가지 제어구조 : 순차, 반복, 선택 • Goto 문을 사용하지 말라  문서화

함수 선언 및 정의

 모든 함수는 사용하려면 선언 및 정의 되어야 한다.  main()함수만은 선언 할 필요가 없다.

(3)

이번 시간 개요

내장형 프로그램(Stored Program)

C 언어의 물리적 모듈

논리 및 물리적 모듈 표현에 따른 프로그래밍 절차

모듈화 프로그래밍

헤더 파일(Header File)

(4)

내장형 프로그램

내장형 프로그램(Stored Program) 방식이란 ?

 고수준 프로그래밍 언어(C 언어 등)로 작성된 프로그램을 일단 컴퓨터에 입력하여 컴퓨터 자신의 명령 코드(기계어) 로 고쳐서, 그것으로부터 일을 실시하는 방식

내장형 프로그램 절차

 입력 : 고수준 프로그래밍 언어로 코딩

• 도구 : 편집기(Notepad, MS Visual Studio)

 번역 : 고수준 프로그래밍 언어를 기계어로 번역 및 통합

• 도구 : 컴파일러와 링커

 적재 : 주기억장치(메모리)에 복사

(5)

C 언어의 물리적 모듈

C 언어의 물리적 모듈들

 원시 코드 파일 • 고수준 프로그래밍 언어로 작성된 파일 • 반드시 원시 코드 파일이 1개 이상 • C 언어 문법에 맞게 작성 • 확장자는 반드시 “.c”  목적 코드 파일 • 기계어 파일 • 원시 코드 파일 하나당 목적 코드 파일이 하나씩 생성 • 사용자 정의 함수에 대해서만 컴파일 과정이 이루어짐  실행 코드 파일 • 실행 가능한 파일 • 여러 목적 코드를 합쳐서 생성

(6)

C 언어의 물리적 모듈

소수인지 판단하는 프로그램의 물리적 모듈 예

 사용자 정의 함수

• main()

• InputNaturalNumber(), IsPrimeNumber(), DisplayIsPrimeNumber()

 라이브러리 함수

• printf(), scanf(), fflush(), getchar()

printf() 라이브러리 함수 관련 물리적 모듈

구분 기능 확장자 명칭 물리적 모듈 원시코드파일 컴파일단위 *.c IsPrimeNumber.c 목적코드파일 링크단위 *.obj IsPrimeNumber.obj 실행코드파일 적재단위 *.exe IsPrimeNumber.exe 구분 기능 확장자 명칭 물리적 모듈 헤더파일 인터페이스 *.h stdio.h 라이브러리파일 링크단위 *.lib libc.lib

(7)

C 언어의 물리적 모듈

헤더 파일(.h)

 중복 되는 함수 선언 또는 사용자 정의 자료형 등을 따 로 저장하는 파일

라이브러리 파일(.lib)

 목적코드들의 집합  개발자가 자주 사용하는 함수들을 미리 제공  라이브러리 함수 매뉴얼은 Visual Studio에서는 MSDN을 참고

(8)
(9)

논리 및 물리적 모듈 표현에 따른 절차

(10)

논리 및 물리적 모듈 표현에 따른 절차

코딩 단계 : 편집기

 Flow Chart 혹은 NS Chart 등으로 정리된 제어논리를 C 언어의 문법에 맞게 옮기는 단계  원시 코드 파일(.c) 생성

컴파일 단계 : 컴파일러

 원시 코드를 이진 파일로 변환하는 단계  목적 코드 파일 생성(.obj)  구문 오류(Syntax Error) 발생 : C언어 문법 오류

(11)

논리 및 물리적 모듈 표현에 따른 절차

링크 단계 : 링커

 목적 코드 파일을 실행 파일(.exe)로 변환하는 단계  함수에 대한 실제 내용과 실제로 실행되는데 필요한 기 억장소에 대한 정보 결합  목적 코드 파일과 라이브러리 파일(.lib) 등을 결합  링크 오류(Link Error) : 함수에 대한 정보를 라이브러 리 파일에서 찾을 수 없을 때 주로 발생

실행 단계

 생성된 실행 파일을 적재시켜 결과를 확인하는 단계  제어 논리 오류(Logic Error) : 실행 결과가 예상 결과 와 다를 때 발생

(12)
(13)
(14)

원시 코드 파일 구조

주석 단락(Comment Section)

 주석이란 프로그램을 명확하게 설명하는데 사용되는 글귀  여러 줄에 걸쳐 주석을 작성 시 : “/*”로 시작해서 “*/”로 끝냄  한줄만 주석을 작성시 : “//”로 시작  주석이 없다면 작성된 프로그램을 이해하는데 어렵다.

전처리기 단락(Preprocessor Section)

 프로그램을 작성할 때 반복해서 기술되는 부분을 간단하 게 하기 위함  문자열 치환 작업, 헤더파일 등을 포함 할 때

(15)

원시 코드 파일 구조

선언 단락(Declaration Section)

 사용자 정의 자료형이나 사용자 정의 함수들을 선언

 C 언어에서는 선언을 정의와 분리

전역 데이터 단락(Global Data Section)

 전역 데이터란 원시코드파일 내에서 어디서든 사용할 수 있는 데이터를 의미

함수 정의 단락(Function Definition Section)

 함수의 구체적인 동작을 기술하는 함수 정의 단락  C 프로그램 실행의 시작점은 항상 main() 함수

참고사항

 주석, 전처리기, 전역 데이터 선언 및 정의 그리고 함수 성언 단락은 필요에 따라 정의되거나 생략 가능  함수 정의 단락은 결코 생략될 수 없다.

(16)

모듈화 프로그래밍

모듈

 프로그램의 일부분  C 프로그램에서의 함수 또는 함수들의 집합  모듈의 크기는 정확히 수식화하기 어려움

모듈화 프로그래밍에서의 모듈

 하나의 디스크 파일을 의미  기능별로 각각의 파일에 저장하여 관리

(17)

모듈화 프로그래밍

필요성

 원시코드를 효율적으로 관리

 컴파일 시간 단축

(18)

모듈화 프로그래밍

(19)

모듈화 프로그래밍

(20)

모듈화 프로그래밍

(21)

모듈화 프로그래밍

(22)

모듈화 프로그래밍

(23)

모듈화 프로그래밍

(24)

질의응답

감사합니다.

질문해주세요 ~

참조

관련 문서

: Microsoft Wi-Fi Direct Virtual Adapter 물리적 주소.. : Microsoft Wi-Fi Direct Virtual Adapter #2

문화의 형성에 있어서 물리적 환경의 역할을 강조하는 측면과 물리적 환경과 인간의 상호작용을 강조하는 측면으로 나누어 볼

– 물리적 포매팅 (저수준 포맷팅): 컴퓨터에서 디스크를 사용하기 위해 섹터를 구분하고 관련 정보를 수록하는 과정.. » 섹터를

물리적 모순 분리의 원리.. 물리적 모순 해결책: 창과 방패의 모순.. 물리적 모순 해결책: 창과 방패의 모순.. 물리적 모순 해결책: 창과 방패의 모순.. 물리적 모순

2015년 2학기 프로그래밍개론및 실습 과목으로 본 내 용은 강의 교재인 생능출판사 , 두근두근 C 언어 수업,..

 정수값 x의 y승을 구하는 power 함수를 만들어 보라... 함수와 라이브러리

Rest, fresh air, sunshine and skillful nursing work miracles every

Types of phase diagrams formed when the high temperature allotrope forms a continuous series of solid solutions with the second component. β Zr ↔ α + β