시작하며 신한대학교 IT융합공학부 컴퓨터공학전공 박 호 균 1주차 (2017.03.06) 본 교안은 저작권법에 따라 보호받는 저작물이므로 본인의 허락 없이 타인에게 배포하거나 인터넷 등에 게시를 금지합니다. 신한대학교 IT융합공학부 컴퓨터공학전공 박 호 균
“신한대학교” 입학을 축하하며
“IT융합공학부” 는 우리들의 연결고리
저는요… 박호균 IT융합공학부 컴퓨터공학전공 교수 jasondaddy@hanmail.net 010-8914-9622 / 031-870-1742(연구실)
프로그래밍원리 교재 교과목명 : 프로그래밍원리 (2학점/3시간) “Raptor와 Javascript로 배우는 프로그래밍원리” 프로그래밍원리 교재 교과목명 : 프로그래밍원리 (2학점/3시간) “Raptor와 Javascript로 배우는 프로그래밍원리” 박호균, 송진희 지음 / 북스홀릭 퍼블리싱
랩터(Raptor)와 순서도 작성 Chapter 01 프로그래밍 원리 신한대학교 IT융합공학부 컴퓨터공학전공 박 호 균 ○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다. ○ 본 강의 교안은 아래 출판 서적의 내용을 기준으로 구성되었습니다. 또한 다수의 기타 서적이나 사이트를 참조하였습니다. 레퍼런스를 참조하십시오. 2015, 정재곤, “Do It! 안드로이드 앱 프로그래밍(개정2판)”, 이지스퍼블리싱(주) - 강의 교안에 사용된 화면 캡쳐나 실습 자료의 경우에는 문서 업데이트에 따라 변경될 수 있습니다. 신한대학교 IT융합공학부 컴퓨터공학전공 박 호 균
강의 주제 및 목차 랩터와 순서도 작성의 이해 강의 주제 컴퓨터 프로그래밍 랩터(Raptor) 기초 목 차 순서도 작성과 실행 컴퓨터 프로그래밍 1 랩터(Raptor) 기초 목 차 2 순서도 작성과 실행 3 제출문제
CH1. 랩터와 순서도 작성 0. 컴퓨터 프로그래밍
컴퓨터 프로그래밍 (Computer Programming) 컴퓨터 프로그래밍은 컴퓨터가 인간이 원하는 일을 하도록 컴퓨터가 이해하는 언어로 명령하는 기술
컴퓨터 프로그래밍 (Computer Programming) Programming in Our Life
컴퓨터 프로그래밍 (Computer Programming) 우리는 왜 프로그래밍을 배워야 하는가?
컴퓨터 프로그래밍 (Computer Programming) “Everybody in this country should learn to program a computer, because it teaches you how to think” Steve Jobs 1955-2011
컴퓨터 프로그래밍 (Computer Programming)
컴퓨터 프로그래밍 (Computer Programming) 다음 단어들을 모두 소문자로 만들어 보세요 (예) SHINHAN UNIVERSITY, HELLO, … 다음 점수들의 학점을 표시해 보세요 (예) 78, 67, 95, 92, 87, 90, 92, 88, 68, 74, … 프로그램을 배우는 것은 프로그램을 만들기 위함만이 아니다. 우리 생활 깊숙이 자리잡은 여러 종류의 컴퓨터들을 효과적으로 다루기 위한 방법을 배우는 것이다.
컴퓨터 프로그래밍 (Computer Programming) Raptor 기반의 순서도 표현과 Javascript 중심의 프로그래밍원리 RAPTOR
CH1. 랩터와 순서도 작성 1. 랩터(RAPTOR) 기초
이번 장에서는 무엇을 다룰까요? 랩터(Raptor) 설치 및 환경 설정 순서도의 개념 이해 문제 해결을 위한 ‘입력-처리-출력’ 이해와 응용 순서도 작성 예제
랩터(Raptor)는 무엇인가? RAPTOR(Rapid Algorithm Prototyping Tool for Ordered Reasoning) : 최소한의 구문 구조로 프로그램의 알고리즘을 표현하는 순서도 기반의 도구 순서도 번역기(Flowchart Interpreter) 미국 공군사관학교에서 교육용으로 개발 URL - http://raptor.martincarlisle.com/
랩터(Raptor) 설치하기 랩터 홈페이지(http://raptor.martincarlisle.com/)로 이동 [Download latest version] 을 클릭하여 최신 버전의 랩터를 다운로드
랩터(Raptor) 설치하기 [실행] 버튼을 클릭 랩터 설치 위저드 창이 표시되면 [Next] 버튼 클릭
랩터(Raptor) 설치하기 랩터를 설치할 위치를 확인한 후 , [Next] 버튼 클릭
랩터(Raptor) 설치하기 설치 확인 창이 표시되면 [Next] 버튼 클릭
랩터(Raptor) 설치하기 설치 완료 창이 표시되면 [Close] 버튼 클릭
랩터(Raptor) 실행하기 윈도우의 [시작] > [RAPTOR] 클릭 [C:\Program Files\RAPTOR] 폴더에서 raptor.exe 실행
랩터 구성 및 기호
랩터 구성 및 기호 랩터의 순서도는 ’Start’ 로 시작하고 ’End’로 마친다. 컴퓨터 프로그램은 ’입력 - 처리 - 출력’ 의 기본 단계로 구성한다.
랩터(Raptor)의 6가지 기호
1. 배정 기호(Assignment symbol) 배정문(할당문) : 변수(variable)에 숫자나 문자열 상수를 저장하는 문장 - 변수 = 값 예) a = 10; name = ”KIM”; - 변수 = 변수 예) b = a; - 변수 = 식 예) a = 2 + 5 * 3; 변수(variable) : 프로그램에서 필요한 데이터를 저장하기 위한 기억장소
1. 배정 기호(Assignment symbol) 프로그램에서 배정문(할당문)과 수학에서의 등호 기호( = )의 차이 수학 프로그램 내용 a = 10 a = 10; 수학은 ‘같다’의 의미지만, 프로그램에서는 변수 a에 정수형 상수 10을 저장 a = a + 1 a = a + 1; 수학에서는 성립하지 않으나, 프로그램에서는 변수 a에 10을 저장한다. 그리고, 저장된 변수a의 값에 1을 더한 후 다시 변수a에 저장한다. 따라서, 변수 a에는 11이 저장된다.
1. 배정 기호(Assignment symbol) 할당(배정)문의 예 X = 5; X = x + 1;
2. 입력기호(Input Symbol) 순서도 실행 도중 사용자로부터 데이터를 입력 받을 때 사용 Enter Prompt : 사용자에게 데이터 입력 요청 메시지를 작성 Enter Variable : 입력될 데이터를 저장할 변수를 지정
3. 출력기호(Output Symbol) 숫자나 문자, 문자열 등을 출력할 때 사용한다. 출력문은 이중 따옴표로 묶어서 표현하며, 문자열을 결합할 때는 ’+’ 연산자를 사용한다. Enter Output : 사용자에게 출력할 내용을 문자열로 표시
3. 출력기호(Output Symbol) ”I am ” + age + ” years old.” (예) 만약, 변수 age에 20이 저장되었다면, ”I am 20 years old.” 이 출력된다. 이때 + 기호는 산술연산자의 덧셈 기호가 아니라, 문자열 결합 연산자를 의미한다. 변수
4. 선택기호(Selection Symbol) 조건식의 결과에 따라 참 또는 거짓의 두 가지 경로 중 한 가지를 선택하여 실행
4. 선택기호(Selection Symbol) (예)
5. 반복기호(Loop Symbol) - 조건바꾸기 랩터를 처음 설치하면 조건의 결과가 거짓일 때 반복하도록 설정되어 있다.
5. 반복기호(Loop Symbol) - 조건바꾸기 윈도우의 실행 창에서 ’regedit’ 를 수행
5. 반복기호(Loop Symbol) - 조건바꾸기 레지스트리 편집기에서 다음과 같이 수행한다.
5. 반복기호(Loop Symbol) - 조건바꾸기 아래와 같은 과정을 수행한 후 랩터를 수행하면 반복조건의 참과 거짓이 전환된다.
5. 반복기호(Loop Symbol) 1 ~ 10 까지 합을 계산하는 순서도 sum : 합계 누적 변수 n : 1 ~ 10까지 변환되는 변수
CH1. 랩터와 순서도 작성 2. 랩터의 변수와 연산자
문자, 숫자, 언더스코어( _ )로 구성 (공백이나 특수 문자는 사용할 수 없다) 모든 변수는 사용 전에 초기화 변수명 영문자로 시작 문자, 숫자, 언더스코어( _ )로 구성 (공백이나 특수 문자는 사용할 수 없다) 모든 변수는 사용 전에 초기화 변수명이 틀린 이유 2_big (첫 글자가 숫자로 시작) small*data (특수 부호 * 사용) sale_% (특수 부호 % 사용) my number (공백 문자가 사용)
랩터의 연산자 구분` 연산자의 종류 산술 연산자 (Arithmetic Operator) + (뎃셈) - (뺄셈) * (곱셈) / (나눗셈) MOD, REM (나머지) ^, ** (거듭제곱) 관계 연산자 (Relational Operator) > (크다) >= (크거나 같다) < (작다) <= (작거나 같다) == (같다) != (같지 않다) 논리 연산자 (Logical Operator) and (논리곱) or(논리합) not(논리부정) xor (배타적 논리합)
CH1. 랩터와 순서도 작성 3. 순서도 작성
문제 처리를 위한 절차(알고리즘)와 순서도 작성 알고리즘을 프로그래밍 언어의 문법에 맞도록 변환하여 소스코드 입력 주어진 문제를 분석 문제 처리를 위한 절차(알고리즘)와 순서도 작성 알고리즘을 프로그래밍 언어의 문법에 맞도록 변환하여 소스코드 입력 프로그램의 실행 및 수정 알고리즘(algorithm) : 주어진 문제를 프로그램으로 해결하기 위한 논리적인 절차를 표현하는 것 순서도(flowchart) : 알고리즘의 논리적 처리 절차를 기호로 표현한 것
컴퓨터 제어처리의 종류 순차처리 : 정해진 순서대로 한 단계씩 처리
선택처리 : 열거한 순서대로 처리하지 않고, 조건에 따라 서로 다른 실행 경로를 선택하여 처리 컴퓨터 제어처리의 종류 선택처리 : 열거한 순서대로 처리하지 않고, 조건에 따라 서로 다른 실행 경로를 선택하여 처리
반복처리 : 열거한 순서대로 처리하지 않고, 특정 구간을 반복해서 처리 컴퓨터 제어처리의 종류 반복처리 : 열거한 순서대로 처리하지 않고, 특정 구간을 반복해서 처리
Q&A