slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
프로그래밍 언어 PowerPoint Presentation
Download Presentation
프로그래밍 언어

Loading in 2 Seconds...

play fullscreen
1 / 28

프로그래밍 언어 - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

프로그래밍 언어. Computers: Tools for an Information Age Chapter 12. 학습 목표. 프로그래머가 프로그램을 작성하기 위한 절차를 이해한다. 다양한 프로그래밍 언어의 레벨에 대해 이해한다. 널리 사용되고 있는 프로그래밍 언어에 대해 숙지한다. 객체 지향적인 프로그래밍에 대해 이해하고 절차 중심의 프로그래밍과의 차이에 대해 숙지한다. 프로그램과 프로그래밍. 프로그램의 정의 Set of step-by-step instructions 프로그래밍 언어

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '프로그래밍 언어' - favian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

프로그래밍 언어

Computers:

Tools for an Information Age

Chapter 12

slide2
학습 목표
  • 프로그래머가 프로그램을 작성하기 위한 절차를 이해한다.
  • 다양한 프로그래밍 언어의 레벨에 대해 이해한다.
  • 널리 사용되고 있는 프로그래밍 언어에 대해 숙지한다.
  • 객체 지향적인 프로그래밍에 대해 이해하고 절차 중심의 프로그래밍과의 차이에 대해 숙지한다.
slide3
프로그램과 프로그래밍
  • 프로그램의 정의
    • Set of step-by-step instructions
  • 프로그래밍 언어
    • 어떤 연산을 수행해야 하는지를 컴퓨터에게 알려 주는 규칙의 집합
    • 언어의 단계에 따라 다양한 형태의 규칙이 존재
  • 프로그래밍을 하는 이유
    • 컴퓨터의 이해를 돕는다.
    • 컴퓨터로 하여금 원하는 행위를 하도록 지시
slide4
프로그래밍 과정
  • 문제 정의
    • 사용자와 프로그래머간의 입출력, 처리내용 상의
  • 해결 방법 기획
    • 흐름도(flowchart) 이용
    • 의사코드(pseudocode) 이용
  • 프로그램 코우딩
    • 흐름도나 의사코드를 특정 프로그래밍 언어로 표현
  • 프로그램 테스트
    • 다양한 테스트 방법이 존재
slide6
프로그램 테스트
  • Desk-checking
    • 프로그램에 오류가 없는지 재 검토해 본다
  • Translating
    • 컴파일러를 이용
    • 구문오류를 검사 : 프로그램에 정의된 문법에 맞지 않는 것을 찾아 줌
    • 링크 오류: 라이브러리나 외부 모듈과의 결합 시의 오류를 찾아 줌
  • Debugging
    • 버그를 찾아서 교정하는 과정
    • 주로 논리 오류를 찾아서 없애는 과정
slide7
프로그램의 다양한 형태
  • 원시 프로그램 (source program)
    • 특정 프로그래밍 언어로 작성된 원래 형태의 프로그램
  • 목적 프로그램 (object program)
    • 컴파일러에 의해 번역된 프로그램
  • 링크/로우드 프로그램 (link/load program)
    • 시스템 라이브러리가 결합된 프로그램
    • 컴퓨터에 의해 실행됨
slide9
프로그램의 문서화
  • 문서화
    • 프로그래밍 주기와 프로그램에 대한 구체적인 사실을 문서로 상술하는 과정
    • 주어진 문제 설명
    • 프로그램 흐름과 논리 설명
    • 흐름도와 의사 코드, 데이터 레코드 설명
    • 프로그램 리스트, 테스트 결과 기록
  • 프로그램의 재이용과 수정의 필요로 중요성이 증가
slide10
프로그래밍 언어의 단계
  • 기계어 (machine language)
    • 가장 낮은 수준의 언어
    • 데이터와 명령이 1,0으로 표시됨
    • 각 컴퓨터 마다 고유의 기계어 존재
  • 어셈블리어 (assembly language)
    • 0,1대신에 mnemonic code사용
    • 어셈블러 (assembler): 어셈블리어를 기계어로 변환시켜 주는 프로그램
    • 단점
      • 컴퓨터 마다 언어가 다름 (Hardware dependant)
      • 코우딩이 어려우므로 오류가 많다.

<기계어의 예>

slide12
프로그래밍 언어의 단계
  • 고 수준의 언어 (High level language)
    • 사용하기 쉽다.
    • 컴파일러에 의해 번역
    • C, C++, Pascal, Cobol과 같은 언어가 해당
  • 4th-Generation Language (4GL)
    • 축약된 형태로 프로그래밍이 가능함
      • 수백 라인의 3세대 언어==> 5~10 라인의 4세대 언어
    • 비 절차적인 언어 (what to do 에 초점)
      • cf: 절차적 언어 (How to do에 초점)
  • 자연언어 (natural language)
    • 말로서 컴퓨터에게 작업 지시
slide13
4GL
  • 장점
    • 방법보다 결과 지향적인 언어
    • 프로그램의 작성 및 유지가 쉬우므로 생산성이 증가
    • 사용법 훈련이 매우 적다
    • 사용자가 불필요하게 하드웨어나 소프트웨어 적인 내용을 알 필요 없음
  • 예) 질의 언어(query language)
    • 4GL의 일종
    • 데이터 베이스에서 정보를 검색하는 데 쓰임
slide14
주요 프로그래밍 언어
  • FORTRAN
    • FORmula TRANslator
    • 최초의 고 수준 언어
    • 과학 계산용 언어: 빠른 계산 수행
    • 1954년 IBM에서 개발
  • COBOL
    • COmmon Business-Oriented Language
    • 사업용 언어
    • 1959년 개발
    • ANSI 표준 (1968, 1974, 1985)
slide15
주요 프로그래밍 언어
  • BASIC
    • Beginner;s All-purpose Symbolic Instruction Code
    • 1965년 John Kemeny와 Thomas Kurtz에 의해 개발
    • 초보자용, 대화형 시분할 환경에서 많이 이용
  • PASCAL
    • 프랑스 수학자 Blaise Pascal의 이름을 빌림
    • 단순 명료한 언어
    • 1971년 Niklaus Wirth가 개발
    • 교육용으로 많이 사용
slide16
주요 프로그래밍 언어
  • Ada
    • 최초의 프로그래머인 Ada lovelace 백작 부인의 이름을 따서 작명
    • 1981년 미국방성에서 투자하여 개발
    • 국방 시스템을 위한 표준 언어로 개발
  • C
    • 1972년 Bell Lab의 Dennis Ritchie가 개발
    • 어셈블리어 수준의 효율성을 지닌 고 수준 언어
    • 특정 기계의 구조에 무관한 언어 (이식성)
    • 시스템 소프트웨어 작성에 용이 (범용 언어)
slide17
주요 프로그래밍 언어
  • Java
    • 네트웍 지향적인 프로그래밍 언어
    • C++로 부터 개념을 도입
    • 동일한 소프트웨어가 상이한 플랫폼에서 돌아 갈수 있도록 지원
    • Web 상에서의 응용 프로그래밍 작성 도구로 많이 사용
slide18
객체 지향 프로그래밍
  • Object-Oriented Programming(OOP)
  • 객체 (Object)
    • 데이터와 그 데이터의 조작을 위한 기능을 지원하는 함수들을 가지고 있는 유닛
    • 절차적인 언어에 비해 데이터의 중요성을 강조
    • 이러한 형태의 object를 Encapsulation되어 있다라고도 함
  • Attribute: Object내에 포함된 데이터
  • Method: 데이터를 조작하기 위한 함수
  • Instance: 실제 생성된 특정 객체
slide19
객체 지향 프로그래밍
  • Everything is Object
  • Class: OOP에서 작성된 객체의 정의
  • 상속(Inheritance): 상위 클래스의 속성이나 기능을 하위 클래스에서 사용할 수 있도록 허용
  • Message passing에 의해 객체들간의 의사 소통이 가능
  • 다형성(Polymorphism): message에 의해 어떤 method가 수행되어야 하는지를 각 객체가 판단하여 message 처리
slide21
객체 지향 프로그래밍
  • 객체 지향 언어 (OOP Language)
    • C++, Smalltalk
  • C++
    • 가장 널리 사용되고 있는 객체 지향 언어
    • Superset of C
    • C의 모든 기능을 지원 + OOP paradigm 지원
  • Smalltalk
    • 최초의 OOP paradigm을 가장 잘 지원해 준 언어
    • Visual system을 지원
slide23

FORTRAN

version

slide24

COBOL

version

slide25

BASIC

version

slide26

PASCAL

version

slide27

C++

version

slide28
요약 및 연습 문제
  • Assembly language
  • Machine language
  • BASIC
  • COBOL
  • C / C++
  • 4GL
  • Java
  • Smalltalk
  • Object
  • OOP
  • Method
  • Polymorphism
  • Inheritance
  • Source module
  • Object module
  • Link module

연습 문제: pp. 341-343