Computers: Tools for an Information Age Chapter 12

Slides:



Advertisements
Similar presentations
Informatics Informatics – Programming 김진평 Python 개요 Python Download & Install.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
Introduction to Programming Languages What is Programming Language?
천안천일고등학교 Copyright © by Ryu Bin All rights reserved 프로그래밍 실무.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
컴퓨터와 인터넷.
Chapter1 : 자바 소개 1.1 자바(JAVA) 언어의 역사 1.2 프로그래밍 언어 : 자바 1.3 플랫폼 : 자바
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
8장 프로그래밍 언어 8.1 프로그램이란? 8.2 프로그램 언어의 역사 8.3 프로그램 설계 절차
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
Power Java 제3장 이클립스 사용하기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
1. 컴파일러 개론 1-1. Compiler 정의 1-2. Language Processing System
최윤정 Java 프로그래밍 클래스 상속 최윤정
Introduction to Computers
CHAPTER 05 프로그래밍.
Introduction To Computers
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
Power Java 제2장 자바 개발 도구.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
System Programming 제1장 배경지식 시스템 프로그래밍.
컴퓨터 기본 원리 프로그래밍 언어 C 프로그래밍 환경 C 프로그래밍 작성, 컴파일, 링크 및 실행
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 01. 이것이 C언어다.
C / C++ Programming in multi platform
Visual Basic .NET 처음 사용하기.
Chapter 11: 소프트웨어 개발 프로그래밍 및 언어.
1. C++ 시작하기.
C++ Programming: Sample Programs
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Computational Thinking
1장 운영체제 2-C반 운영체제 박소라.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
쉽게 풀어쓴 C언어 Express 제1장 프로그래밍의 개념 C Express.
AVR – ATmega103(ATMEL) Compilers & ISP
1. C 언어 개요.
Chapter 2 – 언어의 변천 Outline 2.1 디지털 컴퓨터 이전의 언어
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Chapter 11: 소프트웨어 개발 프로그래밍 및 언어
Method & library.
Chap 6.Assembler 유건우.
이름 : 황 상 두 전화번호 : 이메일 : PinTool 이름 : 황 상 두 전화번호 : 이메일 :
Chapter 01 컴퓨터와 프로그램.
강의 개요. 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
UNIX Unbounded A Beginning Approach
CHAPTER 04. 프로그래밍 언어 인간과 컴퓨터의 대화_진화하는 소통. 진화하는 컴퓨터
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
( Windows Service Application Debugging )
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
3과목 운영체제 강사 이 민 욱.
공학도를 위한 C언어 프로그래밍실습1 -통합개발환경 사용법-
발표자 : 이지연 Programming Systems Lab.
강의교안 이용 안내 *이 책에 딸린 강의자료는 교수님의 효율적인 수업진행을 돕기 위해 만들어졌습니다.
.Net FrameWork for Web2.0 한석수
Name Title Company Name
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
1장. C Language Synopsis.
Presentation transcript:

Computers: Tools for an Information Age Chapter 12 프로그래밍 언어 Computers: Tools for an Information Age Chapter 12

학습 목표 프로그래머가 프로그램을 작성하기 위한 절차를 이해한다. 다양한 프로그래밍 언어의 레벨에 대해 이해한다. 프로그래머가 프로그램을 작성하기 위한 절차를 이해한다. 다양한 프로그래밍 언어의 레벨에 대해 이해한다. 널리 사용되고 있는 프로그래밍 언어에 대해 숙지한다. 객체 지향적인 프로그래밍에 대해 이해하고 절차 중심의 프로그래밍과의 차이에 대해 숙지한다.

프로그램과 프로그래밍 프로그램의 정의 프로그래밍 언어 프로그래밍을 하는 이유 Set of step-by-step instructions 프로그래밍 언어 어떤 연산을 수행해야 하는지를 컴퓨터에게 알려 주는 규칙의 집합 언어의 단계에 따라 다양한 형태의 규칙이 존재 프로그래밍을 하는 이유 컴퓨터의 이해를 돕는다. 컴퓨터로 하여금 원하는 행위를 하도록 지시

프로그래밍 과정 문제 정의 해결 방법 기획 프로그램 코우딩 프로그램 테스트 사용자와 프로그래머간의 입출력, 처리내용 상의 흐름도(flowchart) 이용 의사코드(pseudocode) 이용 프로그램 코우딩 흐름도나 의사코드를 특정 프로그래밍 언어로 표현 프로그램 테스트 다양한 테스트 방법이 존재

Flowchart의 예

프로그램 테스트 Desk-checking Translating Debugging 프로그램에 오류가 없는지 재 검토해 본다 컴파일러를 이용 구문오류를 검사 : 프로그램에 정의된 문법에 맞지 않는 것을 찾아 줌 링크 오류: 라이브러리나 외부 모듈과의 결합 시의 오류를 찾아 줌 Debugging 버그를 찾아서 교정하는 과정 주로 논리 오류를 찾아서 없애는 과정

프로그램의 다양한 형태 원시 프로그램 (source program) 목적 프로그램 (object program) 특정 프로그래밍 언어로 작성된 원래 형태의 프로그램 목적 프로그램 (object program) 컴파일러에 의해 번역된 프로그램 링크/로우드 프로그램 (link/load program) 시스템 라이브러리가 결합된 프로그램 컴퓨터에 의해 실행됨

프로그램의 수행 과정

프로그램의 문서화 문서화 프로그램의 재이용과 수정의 필요로 중요성이 증가 프로그래밍 주기와 프로그램에 대한 구체적인 사실을 문서로 상술하는 과정 주어진 문제 설명 프로그램 흐름과 논리 설명 흐름도와 의사 코드, 데이터 레코드 설명 프로그램 리스트, 테스트 결과 기록 프로그램의 재이용과 수정의 필요로 중요성이 증가

프로그래밍 언어의 단계 기계어 (machine language) 어셈블리어 (assembly language) 가장 낮은 수준의 언어 데이터와 명령이 1,0으로 표시됨 각 컴퓨터 마다 고유의 기계어 존재 어셈블리어 (assembly language) 0,1대신에 mnemonic code사용 어셈블러 (assembler): 어셈블리어를 기계어로 변환시켜 주는 프로그램 단점 컴퓨터 마다 언어가 다름 (Hardware dependant) 코우딩이 어려우므로 오류가 많다. <기계어의 예>

어셈블리어의 예:pp.325

프로그래밍 언어의 단계 고 수준의 언어 (High level language) 사용하기 쉽다. 컴파일러에 의해 번역 C, C++, Pascal, Cobol과 같은 언어가 해당 4th-Generation Language (4GL) 축약된 형태로 프로그래밍이 가능함 수백 라인의 3세대 언어==> 5~10 라인의 4세대 언어 비 절차적인 언어 (what to do 에 초점) cf: 절차적 언어 (How to do에 초점) 자연언어 (natural language) 말로서 컴퓨터에게 작업 지시

4GL 장점 예) 질의 언어(query language) 방법보다 결과 지향적인 언어 프로그램의 작성 및 유지가 쉬우므로 생산성이 증가 사용법 훈련이 매우 적다 사용자가 불필요하게 하드웨어나 소프트웨어 적인 내용을 알 필요 없음 예) 질의 언어(query language) 4GL의 일종 데이터 베이스에서 정보를 검색하는 데 쓰임

주요 프로그래밍 언어 FORTRAN COBOL FORmula TRANslator 최초의 고 수준 언어 과학 계산용 언어: 빠른 계산 수행 1954년 IBM에서 개발 COBOL COmmon Business-Oriented Language 사업용 언어 1959년 개발 ANSI 표준 (1968, 1974, 1985)

주요 프로그래밍 언어 BASIC PASCAL Beginner;s All-purpose Symbolic Instruction Code 1965년 John Kemeny와 Thomas Kurtz에 의해 개발 초보자용, 대화형 시분할 환경에서 많이 이용 PASCAL 프랑스 수학자 Blaise Pascal의 이름을 빌림 단순 명료한 언어 1971년 Niklaus Wirth가 개발 교육용으로 많이 사용

주요 프로그래밍 언어 Ada C 최초의 프로그래머인 Ada lovelace 백작 부인의 이름을 따서 작명 1981년 미국방성에서 투자하여 개발 국방 시스템을 위한 표준 언어로 개발 C 1972년 Bell Lab의 Dennis Ritchie가 개발 어셈블리어 수준의 효율성을 지닌 고 수준 언어 특정 기계의 구조에 무관한 언어 (이식성) 시스템 소프트웨어 작성에 용이 (범용 언어)

주요 프로그래밍 언어 Java 네트웍 지향적인 프로그래밍 언어 C++로 부터 개념을 도입 동일한 소프트웨어가 상이한 플랫폼에서 돌아 갈수 있도록 지원 Web 상에서의 응용 프로그래밍 작성 도구로 많이 사용

객체 지향 프로그래밍 Object-Oriented Programming(OOP) 객체 (Object) 데이터와 그 데이터의 조작을 위한 기능을 지원하는 함수들을 가지고 있는 유닛 절차적인 언어에 비해 데이터의 중요성을 강조 이러한 형태의 object를 Encapsulation되어 있다라고도 함 Attribute: Object내에 포함된 데이터 Method: 데이터를 조작하기 위한 함수 Instance: 실제 생성된 특정 객체

객체 지향 프로그래밍 Everything is Object Class: OOP에서 작성된 객체의 정의 상속(Inheritance): 상위 클래스의 속성이나 기능을 하위 클래스에서 사용할 수 있도록 허용 Message passing에 의해 객체들간의 의사 소통이 가능 다형성(Polymorphism): message에 의해 어떤 method가 수행되어야 하는지를 각 객체가 판단하여 message 처리

Object Classes and Subclasses

객체 지향 프로그래밍 객체 지향 언어 (OOP Language) C++ Smalltalk C++, Smalltalk 가장 널리 사용되고 있는 객체 지향 언어 Superset of C C의 모든 기능을 지원 + OOP paradigm 지원 Smalltalk 최초의 OOP paradigm을 가장 잘 지원해 준 언어 Visual system을 지원

문제 정의

FORTRAN version

COBOL version

BASIC version

PASCAL version

C++ version

요약 및 연습 문제 Assembly language Object Machine language OOP BASIC Method COBOL C / C++ 4GL Java Smalltalk Object OOP Method Polymorphism Inheritance Source module Object module Link module 연습 문제: pp. 341-343