1. 프로그램과 순서도.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

을지대학교 무선 네트워크 사용 방법 2010 년 06 월 01 일. 을지대학교 무선 네트워크 사용 방법 1. PC 무선랜 카드 활성화 및 체크 1 단계 : 시작 -> 설정 -> 네트워크 설정 2 단계 : 무선 네트워크 설정 선택 -> 마우스 버튼 오른쪽 클릭 -> 사용.
컴퓨터와 인터넷.
재료수치해석 HW # 박재혁.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
Entity Relationship Diagram
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
연결리스트(linked list).
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
Windows Server 장. 사고를 대비한 데이터 백업.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 3주차 대림대학교 2017년도 1학기 강의 왕보현
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 2주차 대림대학교 2017년도 1학기 강의 왕보현
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
11장. 1차원 배열.
순서도.
프로그래밍 개요
5. Context-free 문법 5-1. 서 론 5-2. 유도와 유도 트리 5-3. CFG표기법.
4장 순서도와 프로그램 논리 1. 절차의 표현 2. 순서도(flowchart) 3. 프로그램 논리 4. 순서 논리
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
마인드 맵.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
2장. 변수와 타입.
보고서 (due 5/8) 다음과 같은 방식으로 문제를 해결하시오. 문제 분석 알고리즘 작성 프로그램 작성 테스트 및 검증
제4강 처리장치 1.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
판매 교육 발표자: [이름].
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
계산기.
알고리즘 알고리즘이란 무엇인가?.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
AT MEGA 128 기초와 응용 I 기본적인 구조.
Tensorboard in Windows
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
Chapter 10 데이터 검색1.
12 그리드 시스템.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 Programming Systems Lab.
3.2 분기 명령어.
System Security Operating System.
무선랜 사용자 설명서 (Windows Vista 사용자).
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
.Net FrameWork for Web2.0 한석수
제 4 장 Record.
워드프로세서 스프레드시트 문서 관리 인터넷 활용
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
 6장. SQL 쿼리.
CODE INJECTION 시스템B 김한슬.
Docker Study 6~7.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
7 생성자 함수.
6 객체.
BoardGame 보드게임 따라가기.
Presentation transcript:

1. 프로그램과 순서도

주요 내용 1.1 개요 1.2 프로그램 작성 단계 1.3 순서도의 개념 1.4 순서도의 기호 1.5 순서도의 종류 1.6 순서도 작성 방법

1.1 개 요 순서도(flowchart) 컴퓨터 프로그램(computer program) 프로그래밍(programming) 순서도란 어떤 업무를 처리하는 과정을 순서적으로 나타내는 것으로서 필요한 데이터나 제품 등 이동 과정도 함께 나타낼 수 있는 도표를 의미. 반드시 컴퓨터의 이용을 전제로 하는 것은 아님. 컴퓨터의 이용을 전제로 한 경우에 제기된 문제를 분석하고, 문제 해결을 위한 순서와 방법을 나타내는 순서도 작성 방법에 대하여 고찰 컴퓨터 프로그램(computer program) 컴퓨터가 이해할 수 있는 정해진 규칙에 따라 표현하여야 하며, 이러한 규칙을 프로그램 언어(program language)라 한다. 프로그래밍(programming) 컴퓨터로 어떤 일을 처리하기 위하여 프로그램 언어로 프로그램을 작성하는 것 프로그램을 작성하는 사람을 프로그래머(programmer)라 한다.

1.2 프로그램 작성 단계 업무 분석 처리하려는 업무를 분석하여 컴퓨터로 처리하는 것이 타당한지를 검토하며, 문제와 처리의 범위를 결정한다. 업무 분석 시에는 그 업무를 부분적인 면 뿐 아니라, 전체적인 요소를 잘 분석해서 부분과 전체와의 관계를 항상 고려해야 한다. 또한 입력과 출력 매체를 결정하고 입출력 데이터의 형식을 결정한다. 그리고 어떠한 방법으로 처리하는 것이 경제적이고 능률적인가를 고려하여 적용하는 기법을 결정하며 처리 순서를 정한다.

1.2 프로그램 작성 단계(Cont’d) 시스템 설계 블록 차트 작성 업무의 분석이 끝나면 여러 단계를 통하여 수 작업으로 처리하고 있는 작업을 컴퓨터로 처리할 방안을 설계해야 한다. 블록 차트 작성 프로그램은 여러 개의 명령들이 모인 것이므로 문제 처리를 위하여 논리를 세우고 이를 보다 쉽게 파악하고 검토할 수 있도록 표준 기호를 사용하여 그림으로 나타낸다. 블록 차트(block chart)는 업무의 처리 순서를 크게 나누어 처리의 흐름을 개략전인 도표로 표시한 것이며 순서도를 작성하기 위한 기초 자료로도 이용되고 시스템의 설계자와 현 업무 담당자와의 대화용으로도 사용된다.

1.2 프로그램 작성 단계(Cont’d) 순서도 작성 프로그래밍(programming) 순서도는 업무의 처리 내용을 컴퓨터의 사고 체계에 의하여 세밀한 요소까지 분석하고 각 요소간의 관계를 도표로서 표시한 것이다. 프로그램 논리는 대부분 순서도에서 검토하고 개선하며 순서도에 따라 프로그램 언어를 사용하여 원시 프로그램을 작성할 수 있다. 그러므로 프로그램 논리는 순서도에서 충분히 검토하여 완전하고 효율이 좋은 흐름이 되었을 때 프로그램을 입력한다. 프로그래밍(programming) 프로그램 논리가 순서도로 표현되면 프로그래밍 언어를 사용하여 명령어로 표현한다. 적절한 언어를 선택하여 그 언어의 문법에 준해 기술한다. 이때 일정한 언어로 작성하는 과정을 프로그래밍 또는 코딩이라 한다. 프로그램을 프로그래밍 언어로 표현한 것을 원시 프로그램이라 한다.

1.2 프로그램 작성 단계(Cont’d) 수정(debugging) Test Run 입력된 프로그램은 언어 번역 프로그램에 의하여 기계어로 번역. 이 때 문법적으로 잘못된 부분이 있으면 그 내용을 인쇄 장치나 화면에 출력. 프로그램이 일단 완성되면 작성된 프로그램이 정확한가 또는 논리적으로 잘못 작성된 부분이 있는가를 테스트하여야 하는데, 이와 같이 프로그램의 정확성을 테스트하는 과정을 디버깅(debugging)이라 한다. 보통 디버깅은 테스트 상의 체크, 기계를 사용하는 테스트, 실제 데이터를 사용하는 테스트로 구분된다. Test Run 디버깅이 완료되고 프로그램 상에 이상이 없게 되면 모의 데이터를 사용하여 프로그램의 이상 여부를 최종 테스트한다. Test Run의 결과 올바른 결과를 얻지 못하면 다시 디버깅 과정을 반복하게 되며, Test Run이 완전히 끝난 다음에 실제의 Run에 착수한다. 이와 같이 하여 완전한 프로그램이 마련되면 실제 데이터를 처리하게 되는데 이 과정을 러닝(running)이라 한다.

1.2 프로그램 작성 단계(Cont’d) 문서화(documentation) 문서화는 반드시 필요하며 프로그램을 가장 빨리 파악할 수 있도록 작성 담당자가 변경되어도 쉽게 파악할 수 있도록 상세하게 작성되어야 한다.

1.3 순서도의 개념 알고리즘(algorithm) 알고리즘 작성기법 순서도 어떤 문제를 해결하려고 할 때 존재하는 규칙들을 나열하여 수학에서의 용어를 컴퓨터의 용어로서 사용하는 것. 즉, 알고리즘이란 어떤 주어진 문제를 유한 단계 내에서 어떤 해를 구할 수 있게끔 나타낸 명확한 단계의 연속을 의미. 알고리즘 작성기법 하향식 설계(top-down design) 기법 : 상향식 설계(bottom-up) 기법 : 순서도 처리하고자 하는 문제를 분석하여 그 처리 순서를 단계화시켜 상호간의 관계를 일정한 기호를 사용하여 일목요연하게 나타낸 그림

1.3 순서도의 개념 (Cont’d) 순서도 작성으로 인하여 얻을 수 있는 효과 ① 문제 처리의 과정을 논리적으로 파악할 수 있어 정확성 여부에 대한 쉬운 판단 가능. ② 문제를 해석하고 분석하며, 타인에게 전달하는 것이 용이. ③ 프로그램의 보관, 보수, 유지의 자료로서 활용이 가능. ④ 프로그램 코딩의 기본 자료로서 활용 가능 .

1.4 순서도의 기호 순서도 기호의 종류 순서도의 일반적인 작성 규칙 기본 기호(basic symbol) 프로그래밍 관련 기호(symbols related to programming) 시스템 관련 기호(symbols related to systems) 순서도의 일반적인 작성 규칙 ① 기호의 내부에 처리할 내용을 기입한다. ② 흐름도의 방향을 위에서 아래로, 좌에서 우로 하는 것을 원칙으로 하되 반대일 경우에는 반드시 화살표를 사용한다. ③ 흐름선은 교차시켜도 아무런 논리적 관계를 갖지 않는다. ④ 흐름선 두 개 이상이 모여 한 줄이 될 수 있다. ⑤ 기호의 모형상 가로, 세로의 비율은 정확하게 정해지지는 않았으나, 잘 구분될 수 있도록 해야 한다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 기본 기호(basic symbol) 시스템 순서도와 프로그램 양 쪽에서 공동으로 사용되는 기본적인 기호 기 호 이 름 용 도 처리 (process) 지정된 동작, 각종 연산, 값이나 기억 장소의 변화, 데이터의 이동 등의 모든 처리 과정을 나타낸다. 입출력 (input/output) 일반적인 입력과 출력 처리를 나타낸다. 주해 (comment annotation) 표현된 기호를 보다 구체적으로 설명하며, 점선은 해당 기호까지 연결한다. 연결자 (connector) 흐름이 다른 곳으로 연결됨과 다른 곳에서 연결되는 입구를 나타내며, 화살표와 기호 내에 쓰여진 이름의 연결 관계를 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 기본 기호(basic symbol) 페이지 연결자 (offpage connector) 흐름이 다른 페이지로 연결됨과 다른 페이지에서부터 연결되는 입구를 나타내며, 연결자와 같은 방법으로 사용한다. 흐름선 (flow line) 처리의 흐름을 나타내며, 선이 연결되는 순서대로 진행됨을 나타낸다. 여러 개의 흐름이 한 곳으로 모여서 하나가 됨을 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 프로그래밍 관련 기호 프로그램의 논리를 나타내는 기호로서 기본 기호와 함께 프로그램 순서도를 작성하는 경우에 사용 기 호 이 름 용 도 의사 결정 (decision) 주어진 조건에 따라 비교하여 해당되는 조건을 찾아서 흐름이 결정되게 하며, 왼쪽이나 오른쪽 또는 아래로 흐름이 분기하게 된다. 정의된 처리 (predefined process) 이미 다른 곳에서 표현된 논리를 인용함을 나타내며, 서브프로그램은 다른 곳에 표현된 것이므로 이 기호를 사용하여 호출함을 나타낸다. 준비 (preparation) 기억 장소의 할당, 초기값 설정, 설정된 스위치의 변화, 인덱스 레지스터의 변화, 순환 처리를 위한 준비 등을 나타낸다. 단자 (terminator) 프로그램 순서도의 시작과 끝을 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 시스템 관련 기호 시스템을 분석하고 설계할 때, 데이터가 어느 매체에서부터 처리되어 어느 매체로 변환되어 해당되는 곳으로 흐르는지를 나타내는 경우에 사용되는 기호들로서 기본 기호와 함께 시스템 순서도를 작성하는 데에 사용 기 호 이 름 용 도 펀치 카드 (punched card) 펀치 카드 매체에 의한 입력과 출력을 나타낸다. 카드 뭉치 (card deck) 펀치 카드가 모여 있음을 나타낸다. 카드 파일 (card file) 펀치 카드에 레코드가 모여서 파일을 구성하고 있음을 나타낸다. 서류 (document) 각종 원시 데이터가 기록된 서류나 종이 매체에 출력되는 결과 및 문서화된 각종 서류를 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 시스템 관련 기호 자기 테이프 (magnetic tape) 자기 테이프 매체에 의한 입력과 출력을 나타낸다. 종이 테이프 (Paper Tape) 종이 테이프 매체에 의한 입력과 출력을 나타낸다. 키 작업 (keying) 자판(keyboard)을 통한 키 펀칭이나 검사 등의 동작을 나타낸다. 온라인 기억장치 (on-line storage) 온라인 상태의 각종 보조기억장치에 의한 입력과 출력을 나타낸다. 자기 드럼 (magnetic drum) 자기 드럼 매체를 통한 입력과 출력을 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 시스템 관련 기호 자기 디스크 (magnetic disk) 자기 디스크 매체를 통한 입력과 출력을 나타낸다. 디스켓 (diskette) 디스켓(floppy disk) 매체를 통한 입력과 출력을 나타낸다. 카세트 테이프 (cassette tape) 카세트 테이프 매체를 통한 입력과 출력을 나타낸다. 오프라인 기억장치 (off-line storage) 오프라인 상태의 기억 매체에 레코드들이 기록됨을 나타낸다. 병합 (merge) 정렬된 2개 이상의 파일을 하나로 합치는 작업을 나타낸다.

1.4 순서도의 기호 (Cont’d) 기 호 이 름 용 도 시스템 관련 기호 대합 (collate) 2개 이상의 파일을 합쳐서 다른 2개 이상의 파일을 만드는 작업을 나타낸다. 정렬 (sort) 일정한 순서 없이 배열된 데이터를 일정한 기준에 따라 순서대로 배열하는 작업을 나타낸다. 추출 (extract) 만들어진 파일에서 필요한 부분만을 분리하여 새로운 파일을 만드는 작업을 말한다. 화면 표시 (display) 결과나 필요한 메시지를 온라인으로 연결된 CRT, 콘솔 등에 출력하는 것을 나타낸다. 수동 입력 (manual input) 각종 정보를 온라인으로 연결된 자판(keyboard) 또는 스위치 등을 통하여 수동으로 입력하는 것을 나타낸다.

(auxiliary operation) 1.4 순서도의 기호 (Cont’d) 시스템 관련 기호 기 호 이 름 용 도 수동 조작 (manual operation) 오프라인 상태에서 기계에 의하지 않고 손으로 조작되는 각종 데이터 처리 작업을 나타낸다. 보조 조작 (auxiliary operation) 오프라인 상태에서 직접 중앙처리장치의 통제를 받지 않은 장치에서 행해지는 작업을 말한다. 통신 연결 (communication link) 전화선이나 무선 등의 각종 통신회선과 연결됨을 나타낸다.

1.5 순서도의 종류 순서도의 종류 및 분류 시스템 순서도(system flowchart) 시스템 분석가가 전체 시스템의 관계를 표현 시스템 설계 단계에서 작성하는 순서도 원시 데이터의 발생에서부터 최종 결과에 이르기까지 전체 과정을 데이터의 흐름을 중심으로 표현 컴퓨터 외부에서 수행되는 모든 과정을 표현하며, 데이터의 흐름이 중심이기 때문에 데이터가 처리되는 작업 단위로 나타내고 데이터가 변환되는 매체들을 표현하며 프로그램 논리는 표현하지 않는다.

1.5 순서도의 종류 (Cont’d) 시스템 순서도의 작성 목적 시스템 순서도의 예 대상 업무에 관한 처리 과정의 전체적인 연관성을 파악한다. 작성한 프로그램의 수를 파악한다. 작성된 프로그램의 작업 순위를 안다. 대상 업무의 전체적인 실행 번호, 입력 번호, 출력 번호를 정한다. 기계 처리 시간을 산출한다. 시스템 순서도의 예 두 개의 값(A, B)을 읽어서 두 수의 합(S)을 구하는 경우의 시스템 순서도

1.5 순서도의 종류 (Cont’d) 프로그램 순서도(program flowchart) 프로그램 순서도의 사용 목적 프로그래밍 단계에서 작성하는 순서도. 컴퓨터 내부에서의 처리 과정을 표현하는 것으로 프로그램 논리를 나타냄. 일반적으로 프로그래머가 작성하는 순서도는 프로그램 순서도가 대부분. 프로그램 순서도의 사용 목적 문제 해결을 위한 논리적인 순서의 검토와 구성 프로그램 서류(document)로서의 기록, 전달용(후일의 사양 변경 등에서 사용하는 보조 수단)

1.5 순서도의 종류 (Cont’d) 개략 순서도(general flowchart) 처리 대상 업무의 전반에 대하여 종합적인 사항과 일반적인 사항을 나타낸 순서도 처리되는 업무의 전체적인 구조와 기능을 용이하게 파악할 수 있음. 두 개의 값(A, B)을 읽어서 두 수의 합(S)을 구하는 경우의 개략 순서도

1.5 순서도의 종류 (Cont’d) 상세 순서도(detail flowchart) 상세 순서도의 용도 프로그램을 작성할 때 순서도의 내용 그대로 직접 프로그램을 작성할 수 있도록 세부적으로 표현하는 순서도 일반적으로 프로그램 설계 과정에서 작성 컴퓨터의 모든 조작과 데이터의 이동 과정을 순서대로 나타낸 것으로서 이 내용을 그대로 코딩할 수 있도록 세밀하게 작성된 순서도 상세 순서도의 용도 프로그램 작성 상 최종 검토 자료 코딩 자료 프로그램의 논리적 모순 검토 자료 문서 자료

1.5 순서도의 종류 (Cont’d) 상세 순서도의 예 두 개의 값(A, B)을 읽어서 두 수의 합(S)을 구하는 경우의 상세 순서도

1.6 순서도 작성 방법 프로그램 순서도 작성시 고려사항 처리되는 과정은 모두 표현한다. 간단하고 명료하게 표현한다. 전체의 흐름을 명확히 알아볼 수 있도록 작성한다. 과정이 길거나 복잡하면 나누어서 작성하고 연결자로 연결한다. 통일된 기호를 사용한다.

1.6 순서도 작성 방법(Cont’d) 단순 처리 순서도의 예 4개의 수(A, B, C, D)를 읽어 합과 평균을 구하는 과정