소프트웨어 공학 PARSONS/OJA 컴퓨터 프로그래밍 1.

Slides:



Advertisements
Similar presentations
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
1 차시 : SW 코딩으로 배우는 3D 기초작품 및 톱니바퀴 만들기 1)SPL3D 프린팅 툴 설치하기 2) 도형 추가하기 3) 도형 연산 명령어 익히기 4)3D 프린터 출력을 위한 STL 파일 내보내기 5) 하트모양 만들기 6) 하트모양 열쇠고리 만들기 7) 변수와 수식.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Ⅰ. 클라이언트 스크립트 Ⅱ. 서버 스크립트 그렇다면 프로그래밍 언어를 수행하는 컴퓨터의 개념적인 구조를 살펴 본다면, 프로그래밍 언어가 무엇인지 이해하는데 도움이 될 것입니다. 현재 컴퓨터 구조의 모태가 되고 있는 폰 노이만 구조는 그림에서 보는 것과 같이, 명령어와.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
Power Java 제2장 자바 개발 도구.
Windows Server 장. 사고를 대비한 데이터 백업.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
제 1장. 멀티미디어 시스템 개요.
Computational Thinking
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
자바응용.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
UNIX Unbounded A Beginning Approach
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
알고리즘 알고리즘이란 무엇인가?.
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
암호학 응용 Applied cryptography
바넘효과 [Barnum effect] 사람들이 보편적으로 가지고 있는 성격이나 심리적 특징을 자신만의 특성으로 여기는 심리적 경향. 19세기 말 곡예단에서 사람들의 성격과 특징 등을 알아 내는 일을 하던 바넘(P.T. Barnum)에서 유래하였다. 1940년대 말 심리학자인.
Introduction to JSP & Servlet
AT MEGA 128 기초와 응용 I 기본적인 구조.
Flow Diagram IV While.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
.Net FrameWork for Web2.0 한석수
워드프로세서 스프레드시트 문서 관리 인터넷 활용
Installation Guide.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
7 생성자 함수.
6 객체.
20 XMLHttpRequest.
Presentation transcript:

소프트웨어 공학 PARSONS/OJA 컴퓨터 프로그래밍 1

소프트웨어 공학 배울 주제: 미국방성 표준을 사용한 “규모가 작은” 프로그램과 “규모가 큰” 프로그램의 차이 15.1절 미리 보기 배울 주제: 미국방성 표준을 사용한 “규모가 작은” 프로그램과 “규모가 큰” 프로그램의 차이 문제 기술에 있어서 가정과 알려진 정보의 차이점 알고리즘, 의사코드, 프로그램 코드 사이의 관계 알고리즘을 표현하는데 사용되는 네가지 방법 Page 15-1 4

소프트웨어 공학 컴퓨터 프로그래밍 특정 작업을 수행하기 위해서 컴퓨터 명령들을 작성하는 과정 Page 15-1 3

소프트웨어 공학 소프트웨어 공학 소프트웨어의 개발, 수행, 유지 보수에 대한 체계적인 접근 방식 Page 15-2 3

소프트웨어 공학 소프트웨어 공학자 시스템 분석가 정보시스템의 소프트웨어 구성요소에 초점을 맞춤 전체 정보시스템을 계획 소프트웨어 설계, 프로그래밍, 테스팅 전체 정보시스템을 계획 하드웨어, 소프트웨어, 프로시저, 인원관리, 데이터 소프트웨어 공학자 시스템 분석가 Page 15-2 3

소프트웨어 공학 컴퓨터 프로그래밍을 공부하는 목적은? 일생동안 많은 컴퓨터 프로그램을 사용할 것이다. SECTIONPREVIEW 일생동안 많은 컴퓨터 프로그램을 사용할 것이다. 소프트웨어를 개발하는데 참여하는 기회를 갖게 될 수 있다. 컴퓨터 프로그래밍을 공부하는 목적은? Page 15-2 3

미국방성 표준에 의하면 규모가 작은 프로그램은 10만 라인보다 작은 프로그램 컴퓨터 프로그램 컴퓨터 프로그램을 작성하는 것이 어려운가? 규모가 작은 프로그램은 10만 라인보다 작은 프로그램 중간 규모의 프로그램 10만에서 100라인 사이의 프로그램 규모가 큰 프로그램 100만 라인 이상의 프로그램 미국방성 표준에 의하면 Page 15-2

컴퓨터는 사람들이 하는 것처럼 모호성을 처리하지 못한다. 컴퓨터 프로그래밍은 알고리즘의 기본인 문제 기술에서부터 시작한다. 컴퓨터 프로그램 컴퓨터 프로그램을 작성하는 것이 어려운가? 컴퓨터는 사람들이 하는 것처럼 모호성을 처리하지 못한다. 컴퓨터 프로그래밍은 알고리즘의 기본인 문제 기술에서부터 시작한다. 알고리즘은 프로그램 명령들의 기본이다. Page 15-2

컴퓨터 프로그램 컴퓨터 프로그램을 작성하는 것이 어려운가? 문제 기술 알고리즘 프로그램 명령 Page 15-2

의문으로부터 시작해서 해결할 수 있는 문제들 어느 피자 가게가 가장 조건이 좋은가? 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 의문으로부터 시작해서 해결할 수 있는 문제들 어느 피자 가게가 가장 조건이 좋은가? Page 15-3 Figure 15-1 7

어떤 결과나 목적에 도달하기 위하여 필요한 요소들을 정의한다. 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 문제 기술 어떤 결과나 목적에 도달하기 위하여 필요한 요소들을 정의한다. 문제의 범위를 정의하는 가정들 주어진 정보를 명확히 기술 언제 문제가 해결되는지 Page 15-3 7

가정 : 프로그램 설계를 진행하기 위하여 사실이라고 받아들여지는 것들 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 문제 기술의 구성 요소 가정 : 프로그램 설계를 진행하기 위하여 사실이라고 받아들여지는 것들 주어진 정보 : 문제를 해결하기 위하여 컴퓨터에 제공되는 정보들 결과 : 언제 프로그램이 해결되는지를 어떻게 결정할 것인가? Page 15-3 7

컴퓨터로 각 피자의 인치당 가격을 계산한 후, 평방 인치당 가격이 더 낮은지를 알려주는 메시지를 출력한다. 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 완벽한 문제 기술 비교한 두개의 피자가 있다고 가정할 때, 두개의 피자는 같은 토핑을 가지고 있고, 피자의 모양이 둥글거나 직사각형일 수 있다.; 주어진 가격, 모양, 두개 피자의 크기; 컴퓨터로 각 피자의 인치당 가격을 계산한 후, 평방 인치당 가격이 더 낮은지를 알려주는 메시지를 출력한다. Page 15-3 7

이해하기 쉽도록 문제 기술을 형식화 가정 주어진 정보 계산 출력 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? Page 15-4

비교할 두개의 피자 Pizza 1 과 Pizza 2가 있다고 가정 같은 토핑을 갖고 있다. 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 형식화된 문제 기술: 가정 비교할 두개의 피자 Pizza 1 과 Pizza 2가 있다고 가정 같은 토핑을 갖고 있다. 피자의 모양이 둥글거나 정사각형이다. 두 피자 중 어느 것도 직사각형이지 않다. 인치당 가격이 낮은 피자가 “조건이 좋은 피자”이다. Page 15-3 7

형식화된 문제 기술: 주어진 정보 두 피자의 가격은 달러이다. 피자의 모양 (원형 또는 정사각형) 피자 프로그램에 적합한 문제 기술은 무엇인가? 형식화된 문제 기술: 주어진 정보 두 피자의 가격은 달러이다. 피자의 모양 (원형 또는 정사각형) 피자의 사이즈는 인치 단위이다. 계산 각 피자의 평방 인치당 가격 계산 Page 15-3 7

Pizza1이 조건이 더 좋다: Pizza 1의 평방 인치당 더 낮은 가격을 가지면 문제 기술 피자 프로그램에 적합한 문제 기술은 무엇인가? 형식화된 문제 기술: 출력 Pizza1이 조건이 더 좋다: Pizza 1의 평방 인치당 더 낮은 가격을 가지면 Pizza2의 조건이 더 좋다 : Pizza 2의 평방 인치당 더 낮은 가격을 가지면 두 피자의 조건이 같다 : 두 피자의 인치당 가격이 같으면 Page 15-3 7

알고리즘:문제 기술에 명시된 주어진 정보로부터 출발해서 해답에 도달하기 위해 정보들을 다루는 방법을 설명하는 단계들의 집합 피자 문제에 대해서 알고리즘을 어떻게 조직할 것인가? 알고리즘:문제 기술에 명시된 주어진 정보로부터 출발해서 해답에 도달하기 위해 정보들을 다루는 방법을 설명하는 단계들의 집합 추상화된 생각이다. 기록될 수 있다. 세부사항은 사용되어지는 프로그래밍 언어에 좌우된다. Page 15-5

만약 정확하게 형식화된 알고리즘의 제 단계를 따른다면, 알고리즘에 설계된 작업이 정확히 수행되는 것을 보장 받는다. 피자 문제에 대해서 알고리즘을 어떻게 조직할 것인가? 중요 사항 만약 정확하게 형식화된 알고리즘의 제 단계를 따른다면, 알고리즘에 설계된 작업이 정확히 수행되는 것을 보장 받는다. Page 15-5

BASIC 프로그램을 위한 알고리즘의 여러 기능들 피자 문제에 대해서 알고리즘을 어떻게 조직할 것인가? BASIC 프로그램을 위한 알고리즘의 여러 기능들 Page 15-5 Figure 15-2

평방 인치당 가격을 계산하는 알고리즘 알고리즘 피자 문제에 대해서 알고리즘을 어떻게 조직할 것인가? 정사각형 피자의 면적을 구하기 위해서는 size1*size1의 식을 사용한다. 둥근 피자의 면적을 구하기 위해서는 2 을 사용한다. 피자의 면적을 알고난 후, 평방 인치당 가격을 계산 Page 15-6 Figure 15-3

알고리즘 표현 방법: 구조화된 영어 의사코드 흐름도 객체 정의 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 알고리즘 표현 방법: 구조화된 영어 의사코드 흐름도 객체 정의 Page 15-8

알고리즘 표현 피자 문제를 위한 구조화된 영어 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 초기 정보 첫번재 피자의 평방 인치당 가격 계산 2번째 피자에 대한 초기 정보 두번재 피자의 평방 인치당 가격 계산 결과 Page 15-7 Figure 15-4

구조화된 영어 : 처리 작업을 표현할 수 있는 제한된 문장 구조를 가지는 영어의 일부분 의사코드 : 알고리즘의 개념적 표현 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 구조화된 영어 : 처리 작업을 표현할 수 있는 제한된 문장 구조를 가지는 영어의 일부분 의사코드 : 알고리즘의 개념적 표현 영어와 가장 친숙한 프로그래밍 언어와의 혼합 구조화된 영어보다 덜 정형화됨 Page 15-8

알고리즘 표현 피자 프로그램을 위한 의사코드 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? Page 15-8 Figure 15-5

흐름도 : 어떤 임무를 수행할 때 하나의 명령으로부터 다른 명령으로 진행하는 단계를 도식화한 표현 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 흐름도 : 어떤 임무를 수행할 때 하나의 명령으로부터 다른 명령으로 진행하는 단계를 도식화한 표현 Page 15-8

Key to flowchart symbols 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 시작 또는 종료 Key to flowchart symbols 입력 또는 출력 Page 15-9 Figure 15-6

Key to flowchart symbols 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 계산 Key to flowchart symbols 연결자 흐름선 Page 15-9 Figure 15-6

피자 프로그램을 위한 흐름도 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? Page 15-9 Animation Page 15-9 Figure 15-6

객체 정의 : 각각의 객체를 다루기 위한 알고리즘을 표현하기 위해서, 객체지향 프로그래밍에서 사용되는 방법 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? 객체 정의 : 각각의 객체를 다루기 위한 알고리즘을 표현하기 위해서, 객체지향 프로그래밍에서 사용되는 방법 Page 15-10

피자 프로그램을 위한 객체 정의 알고리즘 표현 알고리즘을 표현하기 위해 가장 적합한 방법은 무엇인가? Page 15-10 Figure 15-7

15 소프트웨어 공학 퀴즈 Page 15-10 9

15 퀴즈 1. 여러분이 만약______의 직업을 가지고 있다면, 정보 시스템의 소프트웨어 구성요소에 관심을 가질 것이다. 9

15 여러분이 만약__소프트웨어 공학자__의 직업을 가지고 있다면, 정보 시스템의 소프트웨어 구성요소에 관심을 가질 것이다. 퀴즈 1. 여러분이 만약__소프트웨어 공학자__의 직업을 가지고 있다면, 정보 시스템의 소프트웨어 구성요소에 관심을 가질 것이다. 9

15 퀴즈 2. 미국의 국방부에서는 “규모가 큰” 프로그램을 10만라인 정도의 프로그램이라고 정의하였다. (예, 아니오)? 9

15 퀴즈 2. 미국의 국방부에서는 “규모가 큰” 프로그램을 10만라인 정도의 프로그램이라고 정의하였다. 아니오 9

15 퀴즈 3. 컴퓨터 프로그램을 작성하기 전, _________를(을) 작성하는 것은 특정 결과 또는 목적을 달성하기 위해 다뤄져야 하는 구성요소들을 정의하는 작업이다. 9

15 퀴즈 3. 컴퓨터 프로그램을 작성하기 전, __문제 기술__을 작성하는 것은 특정 결과 또는 목적을 달성하기 위해 다뤄져야 하는 구성요소들을 정의하는 작업이다. 9

15 퀴즈 4. ____________는(은) 임무를 수행하거나 문제를 해결하기 위한 단계들의 집합을 의미한다. 9

15 퀴즈 4. __알고리즘__은 임무를 수행하거나 문제를 해결하기 위한 단계들의 집합을 의미한다. 9

15 “영어와 개개인에 친숙한 프로그래밍 언어의 혼합”으로 알고리즘을 기술하는 방식은 ____________이다. 퀴즈 5. 9

15 퀴즈 5. “영어와 개개인에 친숙한 프로그래밍 언어의 혼합”으로 알고리즘을 기술하는 방식은 __흐름도 __이다. 9

소프트웨어 공학 15.1절 끝 10

컴퓨터 프로그램의 코딩 PARSONS/OJA 컴퓨터 프로그래밍 1

Coding Computer Programs 15.2절 미리 보기 간단한 BASIC 프로그램을 통한 제어구조의 정의 배울 주제 : Page 15-1 4

Coding Computer Programs SECTIONPREVIEW 프로그램 명세 : 문제 기술을 하는 도큐먼트(document), 프로그램을 위한 청사진을 구성하는 알고리즘(algorithm). 코딩 : 컴퓨터 언어를 이용하여 알고리즘을 표현하는 과정 컴퓨터 프로그래머 : 컴퓨터 프로그램을 코딩하는 사람 Page 15-11 3

Coding Computer Programs 주의 사항 BASIC 언어를 이용하여 피자(pizza)알고리즘의 코딩은 일련의 명령어들을 타이핑하는 것이 필요함 Page 15-11 3

컴퓨터 프로그램의 코딩 피자 알고리즘에 대한 BASIC 코드는 단계들의 리스트임 데이터는 변수에 저장됨 명령어는 bold체로 보여짐 REM 기술은 각각의 section을 설명함 Page 15-11 Figure 15-8 3

순차 실행 : 프로그래머에 의해 기술된 순서대로 각각의 명령어를 수행하는 것으로 일반적인 프로그램 실행 방식 프로그램 순서 명령을 실행하는 순서를 컴퓨터에게 어떻게 전달할 수 있을까? 순차 실행 : 프로그래머에 의해 기술된 순서대로 각각의 명령어를 수행하는 것으로 일반적인 프로그램 실행 방식 LAB Page 15-12 Visual Programming

순 차 프 로 그 램 수 행 프로그램 순서 명령을 실행하는 순서를 컴퓨터에게 어떻게 전달할 수 있을까? Page 15-12 순 차 프 로 그 램 수 행 Page 15-12 Figure 15-9

순차제어(sequence controls) 선택제어(selection controls) 프로그램 순서 명령을 실행하는 순서를 컴퓨터에게 어떻게 전달할 수 있을까? 순차제어(sequence controls) 선택제어(selection controls) 반복제어(repetition controls) 제어 구조 : 프로그램이 실행되는 순서를 지정하고, 다음을 포함하는 명령어 Page 15-12

순차 제어 : 프로그램 내에서 컴퓨터가 프로그램의 다른 곳에 있는 명령어를 수행하도록 함 컵퓨터가 다른 순서를 따르도록 하는 방법이 있을까? 순차 제어 : 프로그램 내에서 컴퓨터가 프로그램의 다른 곳에 있는 명령어를 수행하도록 함 Page 15-12

1. GOTO의 실행 2. 3. 4. 순차 제어 GOTO의 결과로서 컴퓨터는 실행순서르 widget로 점프 컴퓨터가 다른 순서를 따르도록 하는 방법이 있을까? 1. GOTO의 실행 GOTO의 결과로서 컴퓨터는 실행순서르 widget로 점프 2. 3. 4. Page 15-13 Figure 15-10

가장 간단한 제어임에도 불구하고 숙련된 프로그래머들은 GOTO를 거의 사용하지 않음 이유 : 프로그램을 이해하기 어렵고 순차 제어 컴퓨터가 다른 순서를 따르도록 하는 방법이 있을까? 중요 사항 가장 간단한 제어임에도 불구하고 숙련된 프로그래머들은 GOTO를 거의 사용하지 않음 이유 : 프로그램을 이해하기 어렵고 유지보수하기 어렵게 만든다. Page 15-14

프로그램의 일부인 코드의 구역이지만, 메인의 순차적 실행 경로에는 포함되지 않음 순차 제어 컴퓨터가 다른 순서를 따르도록 하는 방법이 있을까? 다른 순차 제어: 서브루틴(subroutines) 프로시저(procedures) 모 듈(modules) 함 수(functions) 프로그램의 일부인 코드의 구역이지만, 메인의 순차적 실행 경로에는 포함되지 않음 Page 15-14

GOSUB 명령의 실행 순차 제어 컴퓨터가 다른 순서를 따르도록 하는 방법이 있을까? 계속 명령어 실행 2. GOSUB는 컴퓨터가 “checkinput”의 서브루틴으로 전이 되도록함 4. 컴퓨터는 GOSUB 다음의 명령을 수행 3. RETURN은 다시 메인 프로그램으로 돌아가게 함 Page 15-14 Figure 15-11

선택제어(분기) 컴퓨터에게 조건이 참인지 거짓인지에 따라 무엇을 해야 할지를 알려줌 선택 제어 컴퓨터가 프로그램을 실행함으로써 의사결정을 내릴 수 있을까? 선택제어(분기) 컴퓨터에게 조건이 참인지 거짓인지에 따라 무엇을 해야 할지를 알려줌 간단한 예제는 IF...THEN...ELSE 명령어 Page 15-15

IF-THEN-ELSE 명령의 실행 1. 2. 3. 4. 5. 선택 제어 컴퓨터가 프로그램을 실행함으로써 의사결정을 내릴 수 있을까? IF-THEN-ELSE 명령의 실행 1. 2. 3. 4. 5. Page 15-15 Figure 15-12

반복 제어(루프 또는반복) 특정한 조건을 만날 때까지 명령들을 한 번 이상 반복 수행 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? 반복 제어(루프 또는반복) 특정한 조건을 만날 때까지 명령들을 한 번 이상 반복 수행 간단한 예제는 FOR...NEXT 명령어 Page 15-16

루프의 실행 1. 2. 3. 4. 5. 반복 제어 N E W 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? 2. 3. 4. 5. Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-15 Figure 15-12

N FOR...NEXT 명령어의 실행 For N=1 TO 3 Print “There is no place like home.” 반복 제어 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? FOR...NEXT 명령어의 실행 For N=1 TO 3 Print “There is no place like home.” NEXT N END N screen output Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-17

There is no place like home. 반복 제어 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? For N=1 TO 3 Print “There is no place like home.” NEXT N END N=1 There is no place like home. Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-17

There is no place like home. 반복 제어 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? For N=1 TO 3 Print “There is no place like home.” NEXT N END N=2 There is no place like home. Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-17

There is no place like home. 반복 제어 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? For N=1 TO 3 Print “There is no place like home.” NEXT N END N=3 There is no place like home. Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-17

N=4 For N=1 TO 3 Print “There is no place like home.” NEXT N END 반복 제어 컴퓨터가 일련의 명령어들을 한 번 이상 실행할 수 있을까? For N=1 TO 3 Print “There is no place like home.” NEXT N END N=4 Computer Concepts 3rd Edition N E W PERSPECTIVES S E R I E S Page 15-16 Figure 15-13 Page 15-17

15 컴퓨터 프로그램의 코딩 퀴즈 Page 15-17 9

15 퀴즈 1. _________________ 은 알고리즘을 표현하기 위해 컴퓨터 언어를 사용하는 과정이다. 9

15 퀴즈 1. __프로그래밍, 코딩__는(은) 알고리즘을 표현하기 위해 컴퓨터 언어를 사용하는 과정이다. 9

15 퀴즈 2. ____________ 제어는 명령어들이 프로그램 실행을 그 프로그램 내의 다른 곳의 명령으로 전환에 의해 실행되는 순서를 변경한다. 9

15 퀴즈 2. __순차(sequence) __ 제어는 명령어들이 프로그램 실행을 그 프로그램 내의 다른 곳의 명령으로 전환에 의해 실행되는 순서를 변경한다. 9

15 ____________ 구조는 어떠한 조건이 참인지 거짓인지에 의해 컴퓨터가 무엇을 해야 하는지를 알려 준다. 퀴즈 3. 9

15 퀴즈 3. __의사결정, 선택제어(decision) __ 구조는 어떠한 조건이 참인지 거짓인지에 의해 컴퓨터가 무엇을 해야 하는지를 알려 준다. 9

15 퀴즈 4. _________________ 구조는 특정 조건을 만족할 때까지 명령어들을 한번 이상 반복 수행한다. 9

15 __반복(repetition) 제어__ 구조는 특정 조건을 만족할 때까지 명령어들을 한번 이상 반복 수행한다. 퀴즈 4. 9

15 퀴즈 5. 가장 간단한 제어임에도 불구하고, 프로그램의 이해와 유지보수를 어렵게 하기 때문에 GOTO는 숙련된 프로그래머들에 의해 거의 사용되지 않는다. (예, 아니오)? 9

15 퀴즈 5. 가장 간단한 제어임에도 불구하고, 프로그램의 이해와 유지보수를 어렵게 하기 때문에 GOTO는 숙련된 프로그래머들에 의해 거의 사용되지 않는다. 예 9

컴퓨터 프로그램의 코딩 15.2절 끝 10

디버깅과 문서화 PARSONS/OJA 컴퓨터 프로그래밍 1

디버깅과 문서화 배울 주제: 프로그램 문서화, 주석, 사용자 참조의 목적을 설명할 수 있다. 15.3절 미리 보기 프로그램 문서화, 주석, 사용자 참조의 목적을 설명할 수 있다. 문법 오류와 논리 오류의 차이점을 설명할 수 있다. 배울 주제: Page 15-1 4

디버깅과 문서화 프로그램의 디버깅: 코드의 각 부분이 정확히 동작하는지 테스트 SECTIONPREVIEW 프로그램의 디버깅: 코드의 각 부분이 정확히 동작하는지 테스트 프로그램의 문서화: 프로그램이 어떻게 동작하는지 코딩하는 동안 기록을 작성 Page 15-18 3

중요한 단계이다. 프로그램의 코딩작업 이후의 테스트 작업은 프로그램이 올바르게 작동한다는 것을 보증한다. 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 프로그램의 코딩작업 이후의 테스트 작업은 중요한 단계이다. 프로그램이 올바르게 작동한다는 것을 보증한다. 올바른 결과를 얻을 수 있다는 것을 검증한다. Page 15-18

디버깅, 코딩, 그리고 테스트는 실패할 수도 있다…. 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 디버깅, 코딩, 그리고 테스트는 실패할 수도 있다…. Page 15-18 Figure 15-14 Video

반드시 테스트 할 것 각 문장은 적어도 한번 테스트 모든 의사결정 지점 테스트 한 개 이상의 값을 이용하여 테스트 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 반드시 테스트 할 것 각 문장은 적어도 한번 테스트 모든 의사결정 지점 테스트 한 개 이상의 값을 이용하여 테스트 Page 15-18

발생가능한 오류의 종류: 구문 오류 실행시간 오류 논리 오류 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? Page 15-18

구문 오류 : 명령어가 구문 규칙이나 문법에 맞지 않을 때 발생 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 구문 오류 : 명령어가 구문 규칙이나 문법에 맞지 않을 때 발생 Page 15-19

구문 오류는 매우 보편적이지만, 이를 발견하고 고치기는 쉽다. 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 주의 사항 구문 오류는 매우 보편적이지만, 이를 발견하고 고치기는 쉽다. Page 15-19

보편적인 구문오류는 다음을 포함... 명령어를 쓰지 않거나 철자를 틀리게 쓰거나 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 보편적인 구문오류는 다음을 포함... 명령어를 쓰지 않거나 철자를 틀리게 쓰거나 세미콜론(;)이 쓰여야 할 위치에 콜론(:)을 쓴다던가 하는 예처럼 구두점이 틀릴 때 발생한다. Page 15-19

실행시간 오류 : 프로그램을 실행할 때에야 비로소 알 수 있다. 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 실행시간 오류 : 프로그램을 실행할 때에야 비로소 알 수 있다. 올바른 구문을 사용했지만 의도되어진 결과가 나오지 않는 타이핑 오류 때문에 발생 예: a < rather than a > in a program Page 15-19

논리 오류 : 프로그램의 논리 또는 설계의 오류이다. 프로그램의 테스트 프로그램이 올바르게 작동하는지를 어떻게 아는가? 논리 오류 : 프로그램의 논리 또는 설계의 오류이다. 잘못된 문제 정의 또는 흐름도나 의사코드에 의해서 해결 방법이 올바르지 않거나 충분하지 않기 때문에 발생한다. 구문 오류보다 확인하는데 시간이 걸릴 뿐 아니라 더 어렵다. Page 15-19

프로그램의 문서화 : 프로그램 작동하는 방법과 사용하는 방법을 설명. 프로그램에 문서화가 왜 필요한가? 프로그램의 문서화 : 프로그램 작동하는 방법과 사용하는 방법을 설명. Page 15-19

문서를 작성하는 법 프로그램 외부에 문서를 작성 프로그램 문서화의 두 가지 유형 프로그램의 문서화 프로그램에 문서화가 왜 필요한가? 주석 프로그램 코드 안에 삽입 문서를 작성하는 법 프로그램 외부에 문서를 작성 프로그램 문서화의 두 가지 유형 Page 15-19

주석 컴퓨터 프로그램 상에서 라인 안에 설명을 삽입... 프로그램의 문서화 프로그램에 문서화가 왜 필요한가? 주석 컴퓨터 프로그램 상에서 라인 안에 설명을 삽입... 프로그램에서 불분명한 곳의 이해를 쉽게 한다 프로그램이 실행되어질 때 컴퓨터에 의해 무시된다 Page 15-19

프로그램 관련 문서 프로그램 외부에서 프로그래머나 프로그램을 사용하는 사용자에게 유용한 정보를 포함하며, 다음을 포함: 프로그램의 문서화 프로그램에 문서화가 왜 필요한가? 프로그램 설명서 : 프로그래머에게 유용한 문제 기술과 알고리즘을 포함 참조 설명서 : 사용자가 컴퓨터 프로그램 사용법을 배우는데 유용 프로그램 관련 문서 프로그램 외부에서 프로그래머나 프로그램을 사용하는 사용자에게 유용한 정보를 포함하며, 다음을 포함: Page 15-19

프로그램 설명서 참조 설명서 프로그램의 문서화 문제 기술 프로그램의 기능에 대한 기술 프로그램 코드의 출력 프로그램에 문서화가 왜 필요한가? 프로그램 설명서 참조 설명서 문제 기술 프로그램의 기능에 대한 기술 알고리즘은 다음과 같이 표현 구조화된 영어 의사코드 흐름도 프로그램 설치하는 방법에 대한 소개 프로그램을 시작하는 방법에 대한 소개 각 기능들을 사용하는 방법에 대한 기술 스크린과 메뉴의 표시 문제해결을 위한 조언 프로그램 코드의 출력 문제해결을 위한 조언 Page 15-19 Figure 15-15

기술적 문서 저작자 : 기술적인 개념과 절차를 설명하고 비 전문적인 사용자를 위해서 복잡한 개념을 간단하게 설명한다. 프로그램의 문서화 프로그램에 문서화가 왜 필요한가? 기술적 문서 저작자 : 기술적인 개념과 절차를 설명하고 비 전문적인 사용자를 위해서 복잡한 개념을 간단하게 설명한다. Page 15-21

프로그램의 문서화 프로그램에 문서화가 왜 필요한가? 주의 사항 여러 대학들이 기술 문서 제작을 위한 강좌를 개설하고 기술문서 저작 학위를 수요하기도 한다. 경험이 많은 기술 문서 저작자는 컴퓨터 회사에 계약, 파트타임, 풀타임으로 고용된다. Page 15-21

15 디버깅과 문서화 퀴즈 Page 15-21 9

15 프로그램이 올바른 결과를 출력하는지를 알기 위해서 알려진 데이터를 입력하는 것은 __________ 과정의 일부분이다. 퀴즈 1. 프로그램이 올바른 결과를 출력하는지를 알기 위해서 알려진 데이터를 입력하는 것은 __________ 과정의 일부분이다. 9

15 프로그램이 올바른 결과를 출력하는지를 알기 위해서 알려진 데이터를 입력하는 것은 __ 테스트__ 과정의 일부분이다. 퀴즈 1. 프로그램이 올바른 결과를 출력하는지를 알기 위해서 알려진 데이터를 입력하는 것은 __ 테스트__ 과정의 일부분이다. 9

15 퀴즈 2. 프로그래밍 언어의 규칙 또는 문법을 무시한다면, __________ 오류가 발생할 것이다. 9

15 퀴즈 2. 프로그래밍 언어의 규칙 또는 문법을 무시한다면, __문법__ 오류가 발생할 것이다. 9

15 퀴즈 3. ____________ 오류는 일반적으로 오류를 확인하기 어렵고 시간을 많이 소비한다. 9

15 퀴즈 3. __논리__ 오류는 일반적으로 오류를 확인하기 어렵고 시간을 많이 소비한다. 9

15 퀴즈 4. _________________ 는 프로그램 작동법과 사용법을 설명한다. 9

15 퀴즈 4. _문서화_는 프로그램 작동법과 사용법을 설명한다. 9

15 퀴즈 5. ____________ 설명서는 프로그래머를 위하여 사용되는 문서이고, __________ 설명서는 프로그램을 사용하는 사람들을 위하여 디자인 되었다. 9

15 퀴즈 5. __ 프로그램 __ 설명서는 프로그래머를 위하여 사용되는 문서이고, __________ 설명서는 프로그램을 사용하는 사람들을 위하여 디자인 되었다. 9

15 퀴즈 5. __ 프로그램 __ 설명서는 프로그래머를 위하여 사용되는 문서이고, __참조__ 설명서는 프로그램을 사용하는 사람들을 위하여 디자인 되었다. 9

디버깅과 문서화 15.3절 끝 10

프로그래밍 언어의 특징들 PARSONS/OJA 컴퓨터 프로그래밍 1

프로그래밍 언어의 특징들 15.4절 미리 보기 프로그래밍 언어를 구별하기 위한 주된 특징 배울 주제: Page 15-1 4

프로그래밍 언어의 특징들 프로그래밍 언어의 구별: 상업적, 과학적 같은 프로그램의 특정한 형태 를 위한 효율적인 명령어 집합을 제공 한다. 또 다른 것은 프로그래밍 효율성과 에러율의 감소를 위해 만들어졌다. 어떤 것은 교육도구로써 만들어졌다. Page 15-22 3

프로그래밍 언어의 특징들 프로그래밍 언어는 어떻게 작동하는지 설명하고, 그 언어에 적당한 컴퓨터 작업들의 유형에 대한 정보들을 제공하는 특징을 가진다. Page 15-22

절차적 언어... 문장의 연속으로 이루어진다. 컴퓨터가 특정 작업을 위해 어떤 방식으로 프로세스를 작동하는지를 알려 준다. 피자 프로그램은 절차적 언어를 사용해서 작성되었는가? 문장의 연속으로 이루어진다. 컴퓨터가 특정 작업을 위해 어떤 방식으로 프로세스를 작동하는지를 알려 준다. 단계적 알고리즘에 적합하다. 시작점과 끝점을 가진다. 시작에서 끝까지의 실행은 선형적이다. 절차적 언어... Page 15-22

절차적 피자 프로그램은 절차적 언어를 사용해서 작성되었는가? 절차적 언어의 실행 Page 15-22 Figure 15-16

프로그래머가 해결해야 할 문제의 조건을 정의하는 규칙과 문장을 명시. 선언적 모든 언어들은 프로그래머에게 해결 방법에 대한 완벽한 절차를 명시하도록 요구하는가? 선언적 언어 프로그래머가 해결해야 할 문제의 조건을 정의하는 규칙과 문장을 명시. 해결방법을 결정하고 규칙을 판단하기 위한 고유한 방법을 가진다. 수보다 개념과 생각을 다루는 프로그램에 유용. 해결방법을 명시하는 것보다 문제를 기술. Page 15-23

선언적 모든 언어들은 프로그래머에게 해결 방법에 대한 완벽한 절차를 명시하도록 요구하는가? 여성을 선언 남성을 선언 관계를 기술 여동생임을 결정할 조건 Page 15-23 Figure 15-17

주의 사항 BASIC 은 절차적 언어이고, Prolog 는 선언적 언어이다. 선언적 모든 언어들은 프로그래머에게 해결 방법에 대한 완벽한 절차를 명시하도록 요구하는가? 주의 사항 BASIC 은 절차적 언어이고, Prolog 는 선언적 언어이다. Page 15-23

스프레드쉬트, 워드 프로세서 같은 많은 응용프로그램을 포함하고 있다. 프로그래밍 언어들보다 사용하는데 더 쉽다. 스크립트 언어 HTML은 언어인가? 스크립트 언어 스크립트 형식으로 작업을 정의 상위 응용프로그램을 요구 독립된 응용프로그램에서는 실행 할 수 없다. 스프레드쉬트, 워드 프로세서 같은 많은 응용프로그램을 포함하고 있다. 프로그래밍 언어들보다 사용하는데 더 쉽다. 적은 기능과 제어 항목을 가진다. 비 프로그래머에게 적합하다. Page 15-23

HTML 태그는 어떤 방식으로 상위 응용 프로그램 같은 뭽 브라우저를 사용 해서 웹 페이지를 표시하기 위한 스크립트를 명시한다 절차적언어 HTML은 언어인가? 중요 사항 HTML 태그는 어떤 방식으로 상위 응용 프로그램 같은 뭽 브라우저를 사용 해서 웹 페이지를 표시하기 위한 스크립트를 명시한다 Page 15-23

매크로 워드 프로세서, 스프레드쉬트 같은 응용 프로그램에서의 자동화된 루틴 작업을 자동화하기 위해 스크립트 언어에서 사용. 절차적언어 HTML은 언어인가? 워드 프로세서, 스프레드쉬트 같은 응용 프로그램에서의 자동화된 루틴 작업을 자동화하기 위해 스크립트 언어에서 사용. 매크로 Page 15-23

저급 언어 : 프로그래머에게 프로세서, 레지스터, 램의 위치를 포함하는 하드웨어의 구성요소를 명시해 주도록 요구한다. 우리의 피자 프로그램은 PRINT와 END같은 명령어를 사용 했다. 컴퓨터는 오직 0 과 1만을 이해하지 않은가? 저급 언어 : 프로그래머에게 프로세서, 레지스터, 램의 위치를 포함하는 하드웨어의 구성요소를 명시해 주도록 요구한다. 컴파일러, 운영체제, 장치 드라이버등의 시스템 소프트웨어를 명시하는데 사용한다. 저급 언어의 명령어들은 프로세서의 단일 명령어와 일치한다. Page 15-24

저급 우리의 피자 프로그램은 PRINT와 END같은 명령어를 사용 했다. 컴퓨터는 오직 0 과 1만을 이해하지 않은가? Page 15-24 Figure 15-16

기계 언어 : 컴퓨터가 직접 실행할 수 있는 이진 코드를 사용한 저급언어이다. 우리의 피자 프로그램은 PRINT와 END같은 명령어를 사용 했다. 컴퓨터는 오직 0 과 1만을 이해하지 않은가? 기계 언어 : 컴퓨터가 직접 실행할 수 있는 이진 코드를 사용한 저급언어이다. 이해하고 다루기에 어렵다. 다른 컴퓨터언어가 사용되기 이전 컴퓨터 개발의 초기 단계에 사용되었다. Page 15-24

고급 언어 : 프로그래머가 인간의 언어와 유사한 명령어를 사용하도록 한다. 저급 언어의 사용 대체는 무엇인가? 고급 언어 : 프로그래머가 인간의 언어와 유사한 명령어를 사용하도록 한다. 1950년대에 고안 구문과 논리 에러는 제거할 수 없지만 에러의 수는 감소. 프로그램 작성시간이 줄어든다. 컴퓨터가 수행할 수 있는 명령어로 변환해야 한다. 컴파일되거나 인터프리트되어야 한다. Page 15-24

컴파일러 : 프로그램이 수행되기 전에 고급언어로 쓰여진 프로그램을 저급 명령어로 바꾸낟. 고급언어는 어떻게 컴퓨터가 수행할 수 있는 명렁어를 생성하는가? 컴파일러 : 프로그램이 수행되기 전에 고급언어로 쓰여진 프로그램을 저급 명령어로 바꾸낟. 소스 코드 : 고급언어로 작성된 명령어 목적 코드 : 소스 코드를 컴파일하여 생성된 저급 명령어 Page 15-25

컴파일 언어를 사용할 때, 당신은 수행할 수 있는 프로그램 코드를 생성하기 위해서 당신의 프로그램을 컴파일해야 한다. 고급언어는 어떻게 컴퓨터가 수행할 수 있는 명렁어를 생성하는가? 컴파일 언어를 사용할 때, 당신은 수행할 수 있는 프로그램 코드를 생성하기 위해서 당신의 프로그램을 컴파일해야 한다. Page 15-25

언어 컴파일러 컴파일 고급언어는 어떻게 컴퓨터가 수행할 수 있는 명령어를 생성하는가? 1. 소스코드는 컴파일러에 의해서 검사된다. 2. 컴파일러는 명령어들에 대해서 토큰을 생성한다. Page 15-25 Figure 15-19 Animation

언어 컴파일러 컴파일 고급언어는 어떻게 컴퓨터가 수행할 수 있는 명령어를 생성하는가? 3. 컴파일러는 토큰을 분석한다. 4. 컴파일러는 기계언어 명령어를 생성하기 위해 정보를 이용한다. Page 15-25 Figure 15-19

중요 사항 만약 컴파일된 프로그램에서 버그가 발견 되었다면, 프로그램을 고친 후, 테스트 하기 전에 재 컴파일해야 한다. 고급언어는 어떻게 컴퓨터가 수행할 수 있는 명렁어를 생성하는가? 중요 사항 만약 컴파일된 프로그램에서 버그가 발견 되었다면, 프로그램을 고친 후, 테스트 하기 전에 재 컴파일해야 한다. Page 15-25

인터프리터 언어 : 컴퓨터가 실행할 수 있는 코드를 생성하기 위해 컴파일러 대신 인터프리터를 사용한다. 컴파일러와 인터프리터는 어떻게 다른가? 인터프리터 언어 : 컴퓨터가 실행할 수 있는 코드를 생성하기 위해 컴파일러 대신 인터프리터를 사용한다. 인터프리터 : 프로그래밍 언어 환경의 일종인 컴퓨터 프로그램이다. 하나의 명령어를 읽은 후, 컴퓨터가 수행할 수 있는 기계언어 명령어로 바꾼다. Page 15-26

언어 인터프리터 인터프리터 컴파일러와 인터프리터는 어떻게 다른가? 1. 인터프리터는 프로그램의 첫 번째 명렁어의 첫 단어를 검사한다. 2. 인터프리터는 유효한 명령어 리스트 에서 명령어를 찾는다. Animation Page 15-26 Figure 15-20

언어 인터프리터 인터프리터 컴파일러와 인터프리터는 어떻게 다른가? 3. 명령어가 명령어 리스트 에 있다면, 명령어가 요구한 구문대로 쓰여졌는지 확인 한다. 4. 구문이 정확하다면, 인터프리터는 명령어를 기계언어로 바꾸고 프로세서로 보낸다. Page 15-26 Figure 15-20

프로그램이 바뀔 때마다 재 컴파일 할 필요가 없기 때문에 테스트 시간이 짧다. 인터프리터 컴파일러와 인터프리터는 어떻게 다른가? 인터프리터 언어로 작성된 프로그램…. 수행 시간이 오래 걸린다. 프로그램이 바뀔 때마다 재 컴파일 할 필요가 없기 때문에 테스트 시간이 짧다. Page 15-26

인터프리터 컴파일러와 인터프리터는 어떻게 다른가? 주의할 점 많은 루프를 가진 프로그램은 적합하지 않다. Page 15-26

객체지향 언어 : 객체를 사용하는 프로그래밍에 대한 접근방법에 기초한다. 컴퓨터 프로그래밍에서 객체는 어떻게 나타나는가? 객체지향 언어 : 객체를 사용하는 프로그래밍에 대한 접근방법에 기초한다. 객체 : 프로그램이 다루는 개체 예: 화면 위의 버튼 클래스 : 객체의 특징을 명세한 그룹 예: 윈도우라고 불리우는 객체 클래스 Page 15-27

윈도우 클래스안의 두개의 객체 : Save As 와 WordPad 윈도우 객체지향 컴퓨터 프로그래밍에서 객체는 어떻게 나타나는가? 윈도우 클래스안의 두개의 객체 : Save As 와 WordPad 윈도우 Page 15-27 Figure 15-21

객체지향 컴퓨터 프로그래밍에서 객체는 어떻게 나타나는가? 상속 : 객체가 클래스의 특징을 취할 때 Page 15-27

사건중심 언어 : 프로그래머가 계속 사건에 응답 하고 확인하는는 프로그램을 쉽게 생성하도록 도와준다. 모든 프로그램은 일련의 행동을 따라가는가? 사건중심 언어 : 프로그래머가 계속 사건에 응답 하고 확인하는는 프로그램을 쉽게 생성하도록 도와준다. 프로그램 사건 : 프로그램에 응답하기위한 마우스의 클릭이나 키를 누르는 행동이나 사건. Page 15-28

사건중심 모든 프로그램은 일련의 행동을 따라가는가? 중요 사항 GUI를 사용한 대부분의 프로그램은 사건 중심이다. 그들은 메뉴, 스크린 같은 제어기를 표시하고, 사용자가 제어기 중의 하나를 활성화시키면 이러한 행동을 받아들인다. Page 15-28

사건중심 모든 프로그램은 일련의 행동을 따라가는가? 버튼을 누르면 사건이 발생한다. Page 15-28 Figure 15-22

중요 사항 같은 객체는 많은 다른 프로그램에서 사용되고, 프로그래머의 생산성을 현저하게 향상시켜 준다. 객체지향 컴퓨터 프로그래밍에서 객체는 어떻게 나타나는가? 중요 사항 같은 객체는 많은 다른 프로그램에서 사용되고, 프로그래머의 생산성을 현저하게 향상시켜 준다. Page 15-27

구성요소 :프로그래머가 만들어서 프로그램에 추가 한 이미 작성된 객체 나의 프로그램에서 사용할 객체를 누가 만드는가? 구성요소 :프로그래머가 만들어서 프로그램에 추가 한 이미 작성된 객체 Graphing Forms 스프레드쉬트 데이타베이스 관리 온라인 도움말 3-D 그래픽 and much much more... Page 15-29

15 프로그래밍 언어의 특징들 퀴즈 Page 15-29 9

15 퀴즈 1. __________ 언어는 컴퓨터에게 특정 작업을 위해 프로세스를 수행하는 방법을 알려 주는 일련의 문장으로 구성된 프로그램 을 생성 한다. 9

15 퀴즈 1. __절차적 언어__는 컴퓨터에게 특정 작업을 위해 프로세스를 수행하는 방법을 알려 주는 일련의 문장으로 구성된 프로그램 을 생성 한다. 9

15 퀴즈 2. __________언어는 프로그래머가 문제 해결을 위한 조건을 정의하는 규칙을 명시함으로써 프로그램을 작성하게 한다. 9

15 퀴즈 __선언적__언어는 프로그래머가 문제 해결을 위한 조건을 정의하는 규칙을 명시함으로써 프로그램을 작성하게 한다. 2. __선언적__언어는 프로그래머가 문제 해결을 위한 조건을 정의하는 규칙을 명시함으로써 프로그램을 작성하게 한다. 9

15 퀴즈 3. _______ 언어는 프로그래머가 프로세서, 레지스터, 램의 위치 같은 하드웨어의 구성 요소를 명시하기 위한 명령어 작성하도록 요구 한다. 9

15 퀴즈 3. __저급__언어는 프로그래머가 프로세서, 레지스터, 램의 위치 같은 하드웨어의 구성 요소를 명시하기 위한 명령어 작성하도록 요구 한다. 9

15 퀴즈 4. 컴파일러 언어에서 ______________코드는 컴파일되고, 또는 컴퓨터가 수행할 목적코드로 번역 된다. 9

15 퀴즈 4. 컴파일러 언어에서 __소스__ 코드는 컴파일되고, 또는 컴퓨터가 수행할 목적코드로 번역 된다. 9

15 퀴즈 5. 몇몇 컴퓨터 프로그래밍 언어는 __________를(을) 사용하여 프로그램이 실행됨과 동시에 명령어 한 라인을 기계어로 번역한다. 9

15 퀴즈 5. 몇몇 컴퓨터 프로그래밍 언어는 __인터프리터__를 사용하여 프로그램이 실행됨과 동시에 명령어 한 라인을 기계어로 번역한다. 9

프로그래밍 언어의 특징들 15.4절 끝 10

프로그래밍 언어의 선택 PARSONS/OJA 컴퓨터 프로그래밍 1

프로그래밍 언어의 선택 15.5절 미리 보기 오늘날 가장 유명한 컴퓨터 프로그래밍 언어들 배울 주제: Page 15-1 4

프로그래밍 언어의 선택 프로그래밍 언어 선택에 있어서 주의할 점: 프로그래밍 언어의 특징이 이 작업에 적합한가? 현재 다른 응용프로그램에서 사용되고 있는가? 언어를 사용하는데 전문적인 지식이나 기술을 가지고 있는가? Page 15-30 3

프로그래밍 언어의 선택 BASIC 초보 프로그래머를 위해서 고안되었음 1964년에 개발 많은 버전들이 존재 사용하기 쉽다 GW-BASIC, QBASIC, Visual Basic(VB) 사용하기 쉽다 대부분의 컴퓨터 시스템에 적합 절차 중심의 고급언어 Page 15-30 3

Microsoft Visual BASIC is... 프로그래밍 언어의 선택 Microsoft Visual BASIC is... BASIC의 새로운 버전 포괄적이고 강력한 기능을 가짐 GUI를 포함하는 사건 중심의 응용 프로그램을 만드는데 적합 Page 15-30 3

프로그래밍 언어의 선택 COBOL (COmmon Business-Oriented Language) 메인 프레임 컴퓨터 시스템의 트랜재션 처리에 사용 1960년에 개발 고급 언어, 컴파일 언어, 절차 중심의 언어 대규모 작업의 복잡한 프로그램의 개발과 유지 보수에 사용 프로그램의 길이가 길지만 이해와 디버그, 유지 보수가 쉽다 Page 15-30 3

FORTRAN (FORmula TRANslator) 프로그래밍 언어의 선택 FORTRAN (FORmula TRANslator) 1954년에 개발 현재에도 사용되고 있는 가장 오래된 고급언어 과학자들에 의해서 고안되었음 메인 프레임이나 미니 컴퓨터에서 과학적, 수학적, 공학적인 프로그램 개발에 사용 Page 15-30 3

프로그래밍 언어의 선택 Pascal 1971년에 학생들이 컴퓨터 프로그래밍을 공부하는데 도움을 주기 위해서 개발 고급언어, 컴파일 언어, 절차 중심의 언어 전문적이고 상업적인 응용 프로그램 개발에는 사용되지 않았음 Page 15-30 3

프로그래밍 언어의 선택 C 고급 언어와 하드웨어에 접근할 수 있는 저급언어를 제공하는 컴파일 언어 프로그램을 빠르고 효율적으로 만들 수 있는 유연성 있는 언어 이해, 디버깅 그리고 유지 보수가 어려움 Page 15-30 3

프로그래밍 언어의 선택 C++ C에 객체 지향 개념을 추가한 버전 프로그래머에게 생산성을 증가 시켜줌 절차 중심의 언어 보다 다양한 지적인 시각을 요구함 Page 15-31 3

LISP (LISt Processor)와 Prolog 프로그래밍 언어의 선택 LISP 언어는 1960년에, Prolog는 1971년에 개발 되었음 절차지향 언어에 비해서 널리 사용되지 않았음 LISP (LISt Processor)와 Prolog Page 15-31 3

SQL (Structured Query Language) 프로그래밍 언어의 선택 데이터 베이스를 다루고 정의하기 위한 표준 언어를 제공하기 위해서 개발 고급의 선언적 언어 프로그래머와 사용자가 데이터 요소들간의 관계를 표현할 수 있도록 허용 데이터 베이스 기능에 적합 SQL (Structured Query Language) Page 15-31 3

프로그래밍 언어의 선택 Java와 J++ 객체 지향 프로그래밍 언어, 고급언어 C++에 기초하고 있음 웹 관련 응용 프로그램을 위해 최적화 웹 페이지 조작을 위한 applets을 만들기 위해서 사용 Java와 J++ Page 15-31 3

프로그래밍 언어의 선택 중요 사항 브라우저가 지바나 J++과 관련이 있는 웹 페이지에 연결이 되면 프로그램이 다운로드되어 컴퓨터에서 실행된다. 프로그램은 웹서버에서 실행되는 대신 개인의 컴퓨터에서 실행되기 때문에 입력을 보내고 출력결과를 받기 위해 자료를 주고받는 시간을 절약할 수 있다. Page 15-31 3

프로그래밍 언어의 선택 J++ Java 플랫폼 독립적 프로그래머에게 특정윈도의 특징을 지원하는 툴을 제공 윈도 운영체제에 의해서 운영되는 컴퓨터에서만 수행 플랫폼 독립적 매킨토시, UNIX 뿐만 아니라 PC에서 수행 J++ Java Page 15-31

프로그래밍 언어의 선택 JavaScript 스크립트 언어 자바 특성 중에 일부만을 제공 HTML 태그처럼 웹 페이지에 포함 웹 페이지를 받았을 때 웹 브라우저에 의해서 번역 대화식 폼을 가진 웹 페이지를 만드는데 사용 Page 15-31 3

프로그래밍 언어의 선택 8086 assembly language 저급 언어 연상 코드로 구성되어 컴퓨터가 기계어로 번역 8086 마이크로 프로세서에서만 사용 주로 프로그래머들에 의해서 가능한 짧고 가능한 빠르게 만들 필요가 있을 때 사용 컴퓨터 하드웨어를 제어하는 시스템 소프트웨어에 사용 Page 15-31 3

프로그래밍 언어의 선택 15.5절 끝 10