86
03671141 이이이 03671142 이이이 03671146 이이이

03671141 이현섭 03671142 이화랑 03671146 임형묵

  • Upload
    tirzah

  • View
    32

  • Download
    2

Embed Size (px)

DESCRIPTION

S o f t W a r e. 03671141 이현섭 03671142 이화랑 03671146 임형묵. □ 소프트웨어란 ?. ▷ 소프트웨어란 하드웨어의 상대적인 개념으로 , 사용자가 원하는 결과를 얻을 수 있게 하드웨어를 지시하고 통제하여 결과를 얻도록 하는 명령들의 집합. □ 소프트웨어의 특징. 종이나 자기 디스크와 같은 유형의 매체에 저장되지만 개념적이고 무형적 . 2. 개발 과정이 복잡할 뿐만 아니라 전산화 대상 업무 및 소프트웨어 시스템 자체가 난해 . - PowerPoint PPT Presentation

Citation preview

Page 1: 03671141  이현섭 03671142  이화랑 03671146  임형묵

03671141 이현섭03671142 이화랑03671146 임형묵

Page 2: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 소프트웨어란 하드웨어의 상대적인 개념으로 ,

사용자가 원하는 결과를 얻을 수 있게 하드웨어를 지시하고 통제하여 결과를 얻도록 하는 명령들의 집합 .

□ 소프트웨어란 ?

Page 3: 03671141  이현섭 03671142  이화랑 03671146  임형묵

1. 종이나 자기 디스크와 같은 유형의 매체에 저장되지만

개념적이고 무형적 .

2. 개발 과정이 복잡할 뿐만 아니라 전산화 대상 업무 및

소프트웨어 시스템 자체가 난해 .

3. 적은 비용으로 복제가능 .

4. 사용자가 시스템을 쉽게 사용할 수 있도록 해 줌 .

5. 언제나 시험이 가능하고 수정이 쉬움 .

□ 소프트웨어의 특징

Page 4: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 시스템 소프트웨어 응용프로그램이 컴퓨터와 상호작용을 할 수 있게 하고 또 컴퓨터가 내부 및 외부 자원을 제어할 수 있게 함 .

▷ 응용 소프트웨어 일반 목적용의 유용한 작업들로써 문서 작성 및 스프레드 시트 , 게임 등과 같이 효율성과 즐거움을 제공 .

□ 소프트웨어의 분류

Page 5: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 소프트웨어의 분류

소프트웨어

시스템 소프트웨어

운영체제 유틸리티프로그램 언어번역기 전용

소프트웨어범용

소프트웨어

응용 소프트웨어

Page 6: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 복잡한 컴퓨터 하드웨어를 모르고도 유용하게 사용할 수 있도록 도와주는 프로그램

▷ 컴퓨터와 사용자간의 인터페이스 역할 및 사용자가 컴퓨터의 하드웨어 및 소프트웨어 관리를 효율적으로 할 수 있도록 구성한 프로그램 집단

□ 시스템 소프트웨어

Page 7: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 운영 체제 (OS : Operating System) 란 ?

컴퓨터 시스템의 하드웨어와 소프트웨어의 자원을 효율적으로 운영하고 관리하며 ,

사용자가 컴퓨터를 쉽고 편리하게 이용할 수 있도록 컴퓨터와 사용자 간에 중계 역할을 함 .

□ 운영체제 (OS)

Page 8: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 목적 : 처리능력 및 사용 가능도를 향상시키고 ,

응용시간을 단축하며 , 정확도를 높이기 위하여

운영체제 사용

□ 운영체제 (OS)- 사용목적

Page 9: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 처리능력 (Throughout)

- 단위시간 내에 컴퓨터가 처리하는 일의 양

- 시스템 전체가 효율적으로 작동하여 일정시간에 처리하는 일의 양으로 측정 .

- 처리능력의 향상을 위해 작업의 연속처리와 다중 프로그래밍 기법 등 사용

□ 운영체제 (OS)- 사용목적

Page 10: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 응답시간 (Turn-around Time)

- 어떤 일을 처리하기 위해 작업을 입력시킨 때로부터 결과를 출력하여 얻을 때까지의 소요시간을 의미 .

- 응답시간이 짧을수록 시스템 성능이 좋게 평가

- 실시간 처리방식 , 시분할 처리방식 등의 기법사용

□ 운영체제 (OS)- 사용목적

Page 11: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 사용가능도 (Availability)

- 시스템을 사용할 필요가 있을 때 시스템을 어느정도 빨리 사용할 수 있는가를 나타냄 .

- 보수 또는 장해복구 처리를 가능한 한 사람의 개입을 적게 하고 예비장비를 충분히 보유하는 것이 사용가능도를 향상시킴 .

□ 운영체제 (OS)- 사용목적

Page 12: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 신뢰도 (Reliability)

- 주어진 작업을 어느정도 정확하게 처리하느냐를 의미

- 소프트웨어를 이용하여 오류를 정정하기 위한 복구기능이 작동되는데 이러한 복구기능은 자동적으로 반복하여 오류를 복구하거나 필요한 조치를 취함 .

□ 운영체제 (OS)- 사용목적

Page 13: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 자원의 상태파악 , 자원의 할당 및 자원의 회수기능 등

▷ 컴퓨터의 각 장치를 진단하고 작업 준비

▷ 화면상에 정보 표시

▷ 디스크 자료를 저장하며 프린터로 자료 전송

▷ 사용자가 내린 명령 번역 및 주변장치와 의사소통 가능

□ 운영체제 (OS)- 주요기능

Page 14: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 운영체제 (OS)- 주요기능

구 분 기 능

프로세스 관리프로세스의 생성 , 삭제 , 중지 , 계속 , 동기화 , 프로세스간의 통신관리 등

주기억장치 관리 주기억 장치 정보 유지 , 공간 할당 , 회수 , 조정

보조기억장치 관리 보조기억 장치의 사용 관리

입출력 장치 관리 입출력 장치 관리

파일 관리 기 억 장 소 할 당 , 빈 공 간 관 리 , 디 스 크 스케줄링

Page 15: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 일괄 처리 (Batch Processing) - 여러 업무를 일괄적으로 순차적으로 처리

▷ 대화 처리 (Interactive Processing) - 중앙의 대형컴퓨터에 여러 개의 단말기를 연결 , 대화식으로 처리

▷ 다중 처리 (Multi-Processing) - 시스템이 두개 이상의 프로세스로 구성 , 동시에 많은 양을 처리

□ 운영체제 (OS)- 처리유형

Page 16: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 다중 프로그래밍 (Multi-programing) - 여러 개의 프로그램을 주기억 장치에 적재한 후 , 다음 프로그램이 입출력 등의 작업을 할 때에 중앙처리장치를 쉬는것이 아니라 또 다른 작업이 가능하도록 한 방식

▷ 시분할 시스템 (Time-sharing System) - 중앙처리장치 운영시간을 분할하여 여러 사용자들에게 골고루 처리시간을 제공하는 방식

□ 운영체제 (OS)- 처리유형

Page 17: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 실시간 시스템 (Real-time System) - 정해진 짧은 시간 내에 응답하는 시스템 방식 . 증권서비스 , 군사용 등에 사용

▷ 분산 시스템 (Distributed System) - 네트워크를 통해 연결 , 업무를 지리적 또는 기능적으로 분산시켜 자료를 생성하거나 처리하는 방식

▷ 결함 허용 시스템 (Fault-tolerant System) - 장애를 시스템이 즉시 찾아내어 순차적으로 복구하는 방식

□ 운영체제 (OS)- 처리유형

Page 18: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ DOS - Microsoft 에서 개발한 운영체제 - 버전 1.0~7.0 까지 개발

□ 운영체제 (OS)- 종 류

Page 19: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Windows - 현재 대부분의 사람들이 사용하고 있는 운영체제 - Windows 3.1, 95, 98, 2000, XP, Vista, 7 까지 개발

□ 운영체제 (OS)- 종 류

Page 20: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Unix - 다중 사용자 환경의 표준 운영체제 - 이식성이 높고 시스템간의 통신이나 소프트웨어 개발 등에 많은 장점

▷ OS/2 - IBM 과 Microsoft 에서 공동으로 개발한 운영체제 - DOS 의 메모리 사용의 한계성을 극복함 .

□ 운영체제 (OS)- 종 류

Page 21: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Linux - Unix 를 PC 에서도 작동할 수 있게 만든 운영체제 - 무료로 사용가능

□ 운영체제 (OS)- 종 류

Page 22: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Mac OS - Macintosh 계열의 PC 의 운영체제 - 그래픽 사용자 인터페이스를 사용

□ 운영체제 (OS)- 종 류

Page 23: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 멀티미디어 자원의 관리 - Text 뿐만 아니라 멀티미디어 파일들을 관리하고 처리 - MIDI, MPEG, BMP, JPEG 등

▷ 그래픽 사용자 인터페이스의 일반화 - 마우스 클릭으로 컴퓨터와 인간의 상호작용 가능

▷ 보안기술 강화 - 컴퓨터들이 전산망을 통해 개방형으로 운영되어 접근제어기술 및 보안기술 강화

□ 운영체제 (OS)- 특 징

Page 24: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 객체지향기술 이용 - GUI, OLE 등의 기술에서 객체지향기술이 일부 적용

▷ UNIX 의 기능 확장 및 다중화 - 기능이 다양하게 확장되었으며 , 다양한 버전 출시

▷ Windows 의 대중화 - Windows 제품군이 대중화 되어 PC 사이에서 호환성 유지

□ 운영체제 (OS)- 특 징

Page 25: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Linux 의 확대 - Linux 의 소스 공개 정신을 바탕으로 급속히 확산되어 서버시장의 상당부분을 차지

□ 운영체제 (OS)- 특 징

Page 26: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 유틸리티 (Utility) 란 ?

컴퓨터를 사용할 때 우리에게 도움을 주거나 컴퓨터 시스템 관리를 효율적으로 할 수 있도록 도와주는 프로그램

□ 유틸리티 (Utility)

Page 27: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 유틸리티 (Utility)

분 류 유 틸 리 티 종 류그 래 픽 포토샵 , ACDSee, CD Labeler Gold, 피카뷰 , 퀵스킨압 축 Alzip( 알집 ), 윈라르 , WinACE

인 터 넷 플래시겟 , 웹집 , CuteFTP, 넷피아 , iTran, V-tv

파일 /시스템

Nero Burning rom, 노턴고스트 , 존알람 , 파이널 데이터 , Ad-aware, 시스템 메카닉 , 버추얼 드라이브 , 윈도우 커맨더 , 파인프인트 , Dynsite, 레지스트리 클리너

백 신 V3, 노턴

멀티미디어

윈 앰 프 , Easy CD-DA Estractor, 소 리 바 다 , 리얼플레이어 , 제트오디오 , 퀵타임 플레이어 , 하이넷 레코더 , XingMPEG Player

Page 28: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 압축프로그램 - 파일을 압축한다는 것은 자료의 공백이나 중복되는 부분을 줄여서 크기를 작게 하는 것을 말함 .

- 이유는 하드디스크를 공간을 줄일 수 있고 , 통신할 때 전송 시간이 훨씬 짧아져 통신비와 통신 시간을 절약할 수 있으며 , 디스크를 효율적으로 관리할 수 있음 .

□ 유틸리티 (Utility)

Page 29: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램 - 바이러스란 컴퓨터 바이러스는 컴퓨터에 옮겨져 컴퓨터가 정상적으로 작동하는 것을 방해하거나 컴퓨터에 담겨 있는 자료를 파괴하는 등의 해로운 동작을 말함 .

- 백신프로그램이란 컴퓨터 바이러스를 예방 , 진단 및 치료할 수 있는 프로그램을 총칭하는 말

□ 유틸리티 (Utility)

Page 30: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램

□ 유틸리티 (Utility)

구 분 특 징 종 류

파일 바이러스주로 실행파일을 손상시키지만데이터파일에 감염되는 것도 있음

Jerusalem, Dark Avenger, CHI 등

부트 바이러스 디스크의 부티 섹터를 손상시킴 Brain, Michelangelo, LBC 등

부 트 / 파 일 바이러스

부트섹터와 파일 모두를 감염시킴

Natas, One Half, Tequila 등

매크로 바이러스 MS-office 제품에서 매크로를 사용할 경우마 감염시킴

XM/Larous, X97M/HJB.D,X97M/Killer 등

Page 31: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램 기능 - 시스템을 검사하여 바이러스에 감염된 파일 또는

부트 섹터 등을 찾아내어 검사 한 후 바이러스에

감염된 파일에서 바이러스를 제거하고 원상태로

복구하며 램 상주기법을 사용하여 시스템에

바이러스 감염되었는지 항상 감시함 .

□ 유틸리티 (Utility)

Page 32: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램의 종류 - V3 : 국산 백신프로그램으로 국내에서 발생한 바이러스 검색과 치료에 우수 , 국내에서 가장 많이 사용

□ 유틸리티 (Utility)

Page 33: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램의 종류 - NAV : Norton Anti-Virus 는 Norton 유틸리티로 유명한 시만텍에서 제작한 백신 프로그램

□ 유틸리티 (Utility)

Page 34: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램의 종류 - Scan/Clean : McAFEE 에서 제작 , 국내에서는 많이 사용되지 않고 있음

□ 유틸리티 (Utility)

Page 35: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 바이러스 백신 프로그램의 종류 - 바이로봇 : 국내 하우리사에서 제작

□ 유틸리티 (Utility)

Page 36: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 기타일반 유틸리티 - 프리웨어 : 라이센스 요금 없이 무료로 배포되는 소프트웨어로서 최종 사용자가 대금을 지불할 필요는 없지만 영리를 목적으로 배포할 수 없음 .

- 셰어웨어 : 판매를 목적으로 제작되지만 일단 사용해 보고 마음에 들면 구입할 수 있도록 하는 프로그램 . 일정 시험기간 동안 무료로 사용한 뒤 해당기간이 지나 계속적으로 사용을 원할 때는 돈을 지불해야 함 .

□ 유틸리티 (Utility)

Page 37: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 기타일반 유틸리티 - 애드웨어 : 프로그램을 기능이나 날짜상의 제한 없이 무료로 사용하는 대신 해당 소프트웨어로 작업하는 동안 광고 창을 통해 계속적으로 새로운 광고가 노출되도록 한 새로운 마케팅 기법 .

- 데모버전 : 제품 소개용 홍보 프로그램으로서 사용자의 의지와는 무관하게 미리 정해진 순서에 따라 단순한 동작만 반복하거나 일부 기능만을 사용할 수 있음 . 주로 소프트웨어 홍보할 목적으로 사용 .

□ 유틸리티 (Utility)

Page 38: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 프로그래밍 언어란 ?

주어진 문제를 해결하기 위해 인간과 컴퓨터 사이에서 의사소통을 가능하게 하는 인공적으로 만들어진 언어를 프로그래밍 언어라고 한다 .

□ 언어 번역 프로그램

Page 39: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 저급언어 - 컴퓨터가 이해하기 쉽지만 사람이 이해하기 힘든 언어로

기계어와 어셈블리어 언어를 의미하며 호환성이 나쁨 .

- 컴퓨터의 하드웨어에 대한 직접적인 제어 가능

- 저급언어를 원활하게 구사하기 위해서는 하드웨어에

대한 풍부한 지식이 필요하므로 고급언어를 사용한

프로그래밍보다 작업 효율이 떨어짐 .

□ 언어 번역 프로그램 - 종 류

Page 40: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 고급언어 - 명령을 기술하는 형태의 언어

- 프로그램의 작성이 쉽고 , 프로그램을 용이하게 하는 변수 , 파일 , 배열 등의 기본 구조를 제공

□ 언어 번역 프로그램 - 종 류

Page 41: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 컴파일러 언어와 인터프리터 언어 - 컴파일러 방식은 한 프로그램을 한꺼번에 번역 후 실행 . 컴파일러는 번역을 하여 목적 프로그램을 얻은 다음에는 원시 프로그램에 대한 추가 번역이 필요 없음 . 수행 효율은 인터프리터 언어보다 우수하지만 , 일부분 수정시 원시프로그램 모두를 컴파일 해야 함 .

- 인터프리터 방식은 명령어 단위로 한 행씩 번역 후 실행 . 번역과 실행이 동시에 이루어지는 관계로 새로 컴파일 할 필요가 없음 . 초보자에게 보다 효율적 .

□ 언어 번역 프로그램

Page 42: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 응용 소프트웨어는 컴퓨터를 보다 편리하면서도 효율적으로 사용하기 위하여 개발된 프로그램 .

▷ 하드웨어 속에서 이루어지는 모든 일의 통제는 이미 프로그래머가 다 작성해 놓았기 때문에 사용자는 프로그래머가 작성해 놓은 응용 소프트웨어를 이용하여 자신이 원하는 결과를 얻어 낼 수 있음 .

□ 응용 소프트웨어

Page 43: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 전용 소프트웨어 - 특정 분야에서 사용자의 구체적 업무기능을 지원하는 소프트웨어로서 한 가지 용도에 사용되는 소프트웨어를 말함 . 특수 목적용 응용 소프트웨어에는 회계 , 급여처리 , 재고관리 , 일정 계획 프로그램 등이 있다 .

▷ 범용 소프트웨어 - 사용자가 보편적으로 원하는 정보처리업무를 수행하게 해주는 프로그램으로서 여러 가지 용도에 사용되는 응용 프로그램을 말함 . 일반 목적용 응용 소프트웨어에는 스프레드쉬트 , 워드프로세싱 , 데이터베이스 관리시스템 , 그래픽 프로그램 등이 있다 .

□ 응용 소프트웨어 – 분 류

Page 44: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 응용 소프트웨어 – 분 류

응용 소프트웨어

전용 소프트웨어 범용 소프트웨어

재고관리

구매관리

고객관리

급여처리

워드프로세스

스프레드시트

DB 관리 프로그램

그래픽 프로그램

Page 45: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Word Processor - 한글 , 훈민정음 , MS-Word 등이 대표적인 워드프로세서 프로그램이며 , 주로 문서 작성 및 전자출판 등에 쓰임 . 워드프로세스의 상당히 진보된 수준의 프로그램으로서 주로 고급인쇄를 위하여 많이 사용되어 지고 있다 .

▷ Database Management System - 자료 관리 등에 사용되며 많은 양의 자료를 효율적으로 관리할 수 있으며 , MS-Access, dBaseⅢplus, dBaselV, Fox pro 등이 있음 .

□ 응용 소프트웨어 – 종 류

Page 46: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ Spread Sheet(Excel) - 학생들의 성적처리 , 회사의 견적서 작성 , 급여계산 , 일계표 작성 등의 일상 업무에서부터 , 경영분석이나 판매에 대한 예측 등 일반 회사에서 사업상 필요한 많은 계산들과 예측들을 가능케 하는 프로그램 .

▷ Presentaion - 신제품 발표나 각종 업무현황 보고와 같은 업무에 활용 . 파워포인트 , 프리랜스 등이 있음 . 파워포인트는 보고서 작성이나 presentaion 발표 자료용으로 가장 선호함 .

□ 응용 소프트웨어 – 종 류

Page 47: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 그래픽 프로그램 - 캐드 (CAD)/ 캡 (CAM) : 컴퓨터를 이용한 설계부분에 널리 사용되는 프로그램 . 기계의 부품설계에서 자동차 , 비행기 , 컴퓨터 칩이나 전자회로에 이르기까지 광범위한 설계분야에서 그 일역을 담당하며 , 대표적으로는 AutoCAD 가 있음 .

- 애니메이션 프로그램 : 어떤 그림을 그리고 그 그림을 자연스럽게 움직일 수 있게 하는 프로그램 . 컴퓨터에게 몇 가지 명령만을 내려 원하는 동작을 아주 자연스럽게 연출가능 .

□ 응용 소프트웨어 – 종 류

Page 48: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 그래픽 프로그램 - 게임 프로그램 : 게임 프로그램의 제작에는 그래픽 , 애니메이션 , 스토리 , 음향 등 종합적인 기술 요구됨 .

□ 응용 소프트웨어 – 종 류

Page 49: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 프로그램 : 자료처리의 방법 기계운영의 방법을

논리적 인 순서에 맞게 작성된 언어 처리방법 .

▷ 프로그래밍 언어 : 주어진 어떤 문제를 해결하기

위해 인간과 컴퓨터 사이에서 의사소통을

가능하게 하는 인공적인 언어 .

□ 프로그램 및 프로그래밍 언어

Page 50: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 프로그램 언어의 발전과정

세 대 주 요 언 어 특 징

제 1세대

기계어명령어가 0 과 1 로 이루어진 2 진수로 이루어 졌으며 , 각 언어는 특정 컴퓨터에서만 사용할 수가 있다 .

제 2세대

어셈블리어 명령어가 간단한 형태의 부호로 이루어졌으며 , 각 언어는 특정 컴퓨터에서만 사용할 수가 있다 .

제 3세대

고급언어 :BASIC, COBOL, PASCAL,FORTRAN, C

명 령 어 가 이 해 하 기 쉬 운 영 어 단 어 의 형 태 로 이루어졌으며 , 각 언어는 컴퓨터에 관계없이 약간의 수정만을 가하면 그대로 사용할 수가 있다 .

제 4세대

4GL:INTELLECT,RAMIS, FOCUS,SQL

명령어가 일상적으로 사용하는 영어문장의 형태로 이루어졌으며 , 컴퓨터 하드웨어에 대한 지식이 없이도 쉽게 사용할 수가 있다 .

제 5세대

? 자연어 형태의 명령어를 사용하다

Page 51: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 간결성 (Simplicity) - 간결성 이란 , 프로그램을 쉽게 작성하고 이해하고 읽을 수 있도록 간결하게 표현할 수 있는 특성 . 이것은 중복되는 작업을 피할 수 있도록 꼭 필요한 최소한의 개념만 표현해야 한다는 것이다 .

▷ 직교성 (Orthogonality) - 언어의 각 구성 요소가 상호 독립적이고 어떤 환경에서도 그 구성 요소가 같은 의미로 사용된다는 의미 .

□ 프로그래밍 언어의 특성

Page 52: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 가독성 (Readability) - 누구나 쉽게 프로그램을 읽을 수 있는 특성 .

▷ 정확성 (Preciseness) - 엄밀하게 정의된 문법에 따라 작성된 프로그램은 정확성을 보장하며 예측 가능한 번역을 보장해 준다 .

▷ 기계 독립 성 (Machine Independence) - 주어진 프로그래밍의 수행시 기계에 따른 차이가 없이 서로 다른 컴퓨터상에서도 운용이 가능해야 하고 똑같은 결과를 도출해야 한다 .

□ 프로그래밍 언어의 특성

Page 53: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 프로그래밍 언어는 형태와 기능에 따라 저급언어와 고급언어로 나눌 수 있다 .

저급언어에는 기계어와 어셈블리 언어가 있으며 ,

고급언어에는 FORTRAN, Pascal, C, C++,

Java 등이 있다

□ 프로그래밍 언어의 분류

Page 54: 03671141  이현섭 03671142  이화랑 03671146  임형묵

□ 프로그래밍 언어의 분류언어의 종류 내 용

저급언어기계어 • 0 과 1 의 연속으로 구성

• 컴퓨터의 기본언어

어셈블리어 • 기계어의 복잡성을 줄이기 위해 정해진 기호로 바꿈

고급언어

컴파일러 언어 • 프로그램 전체를 기계어로 변환하는 프로그램 언어• C, FORTRAN, Pascal, C++

인터프리터 언어• 프로그램 실행이 한 행씩 해석되면서 실행하는 언어• Lisp, Prolog, Basic

간이언어 RPG• 보고서 작성용으로 업무프로그램을 쉽게 작성• IBM 에서 개발

특수문제언어

시뮬레이션 언어 • GPSS, SIMSCRIPT

리스트처리 언어 • LISP, SNOBOL

수치제어용 언어 • APT

Page 55: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 저급언어를 통해 컴퓨터의 주기억장치 , 레지스터 , 마이크로 프로세서 , 입출력 포트와 같은 하드웨어에 대한 직접적인 제어 가능 .

▷ 초보자가 저급언어로 프로그램을 작성하기는 쉽지 않으며 , 고급언어를 사용한 프로그래밍보다 작업 효율이 훨씬 떨어진다 .

□ 프로그래밍 언어 - 저급언어

Page 56: 03671141  이현섭 03671142  이화랑 03671146  임형묵

① 기계어 - 2 진법을 사용하여 모든 명 령 및 데이터를 표현하며 원하는 목적을 달성할 수 있도록 수행순서를 정의하는 언어 .

- 기계어는 초기컴퓨터 시스템에서 사용되어지던 프로그램 언어로서 숙달된 프로그래머라도 정확히 프로그래밍하는 것이 어려울 뿐만 아니라 오류가 발생시 오류 정정작업에 많은 어려움을 동반한다 .

□ 프로그래밍 언어 - 저급언어

Page 57: 03671141  이현섭 03671142  이화랑 03671146  임형묵

② 어셈블리어 - 기계어에서 발생하는 난점을 해결하기 위하여 인간이 사용하는 언어에 가깝게 기호를 정의함으로써 기계어보다 사용자를 더 고려한 언어 .

- 한 종류의 언어만 숙달하면 다른 기종의 언어에 쉽게 호환이 가능하며 , 처리속도가 빠르다 . 하지만 정확한 지식을 가지고 있어야 하므로 사용하기 어렵다 .

□ 프로그래밍 언어 - 저급언어

Page 58: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 고급언어는 프로그래머가 하드웨어에 관련된 사항을 인식하지 못하더라도 프로그램의 작성이 쉬우며 변수 , 파일 , 배열 등의 기본구조를 제공 .

□ 프로그래밍 언어 - 고급언어

Page 59: 03671141  이현섭 03671142  이화랑 03671146  임형묵

① 컴파일러 언어 - 사용자가 사용하는 문자 , 숫자 등으로 구성된 고급언어로서 실행시키기 전에 컴파일러를 사용하여 프로그램 전체를 기계어로 변환하는 프로그램 언어이다 .

□ 프로그래밍 언어 - 고급언어

Page 60: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓐ C 언어 : C 는 UNIX 운영 체제의 작성을 위한 시스템 프로그래밍 언어로 설계되었다 . 미국 벨 연구소의 데니스 리치 (Dennis Ritchie) 가 1972 년에 설계하여 구현시킨 언어이며 , C 언어는 저급언어와 유사한 기능뿐만 아니라 융통성과 이식성이 높으며 풍부한 연산자와 데이터형을 가지고 있었기 때문에 범용 고급 프로그래밍 언어로서 응용 소프트웨어의 개발 속도를 향상시키는데 크게 기여하였다 .

□ 프로그래밍 언어 - 고급언어

Page 61: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓑ FORTRAN : 매우 간결하고 엄격한 구문 형식을 갖음 . 1957 년 IBM 의 존 배커스 (John Backus) 에 의해 설계 . 엔지니어 , 수학자 및 기타 다른 과학적 알고리즘의 작성자나 사용자들을 위해 설계된 제 2 세대 프로그래밍 언어 .

□ 프로그래밍 언어 - 고급언어

Page 62: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓒ PASCAL : 구조적 프로그래밍과 알고리즘 학습에 적합한 교육용 프로그래밍 언어 . 스위스의 니클라우스 워스 (Nicklaus Wkrth) 교수에 의해 1971 년도에 만들어졌으며 , 1990 년 대 초반까지만 해도 교육적 목적이 강해 대부분의 컴퓨터 관련 교재에서 파스칼을 표준 언어로 채택하였으며 , 언어의 기능이 뛰어나 업무용 프로그램을 작성하는 데도 많이 쓰였다 .

□ 프로그래밍 언어 - 고급언어

Page 63: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓓ COBAL : 사무 처리에 적합한 프로그래밍 언어 . 컴퓨터 사용자와 제조업자들의 모임인 CODASYL 에 의해 사무처리에 적합한 고급언어로 개발되어 1960 년 4 월에 COBOL-60 이 라는 첫 번째 버전으로 발표되었다 . MS-DOS, UNIX 등의 운영 체제에서 쉽게 사용될 수 있도록 개발되어 마이크로 컴퓨터나 개인용 컴퓨터에 널리 사용되었다 .

□ 프로그래밍 언어 - 고급언어

Page 64: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓔ C++ : C++ 는 오늘날 컴퓨터 프로그래밍의 새로운 경향인 객체지향 프로그래밍을 지원하기 위해 C 언어에 객체지향 프로그래밍을 하기에 편리한 여러 가지 기능을 추가하여 만들어진 언어이다 . C++ 는 1983 년 스트로우스트럽 (Stroustrup) 이 항해하는 시뮬레이션을 프로그래밍 하는 데 도움되는 편리한 방법을 생각하던 중 고안한 언어 . 현재 개인용 컴퓨터의 주력 운영 체제인 Widows 라든가 WidowsNT 상에서 프로그래머들이 새로운 응용 프로그램을 만들 때 가장 많이 사용되는 언어 .

□ 프로그래밍 언어 - 고급언어

Page 65: 03671141  이현섭 03671142  이화랑 03671146  임형묵

② 인터프리터 언어 - 한 문장씩 읽어 분석하고 실행시키는 형태

- 컴퓨터의 주기억장치에 저장된 프로그램이거나 ROM 의 형태로 되어있으며 , 원시 프로그램의 한 문장을 읽고 한 문장씩 차례로 번역 수행 .

□ 프로그래밍 언어 - 고급언어

Page 66: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓐ Lisp : 게임이나 자연어 처리 등 인공지능분야에 사용하기 위한 것 . 1960 년 존 매카시 (John McCarthy) 와 MIT 에 있는 단체들에 의해 제작된 오랜 역사를 가지고 있는 언어이다 . 기본적인 자료형을 List 형으로 본다든지 이러한 자료를 평가하는 평가기가 존재하는 등 다른 언어들과는 다른 독특한 특징들을 가지고 있다 .

□ 프로그래밍 언어 - 고급언어

Page 67: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓑ Prolog : PROgramming in LOGic 에서 유래된 용어로서 개인용 컴퓨터를 포함한 여러 기종의 컴퓨터에서 구현이 가능하며 , 일본의 제 5 세대 컴퓨터 프로젝트에 사용된 주요 인공지능 언어라는 사실이 알려지면서 유명해졌다 . 1972 년 코왈스키 (R.kowalski) 등에 의해 개발된 논리형 인공지능 언어이다 .

□ 프로그래밍 언어 - 고급언어

Page 68: 03671141  이현섭 03671142  이화랑 03671146  임형묵

ⓒ BASIC : 초보자를 위한 대화형 언어이다 . 1965 년 미국의 다트머스 대학 (Dartmouth College) 에서 개발한 대화식 언어처리 구성으로서 인터프리터에 의해서 직접 번역 처리하는 프로그래밍이다 . 베이직은 1960 년대 후반부터 각 대학에서 널리 사용되었는데 , 1970 년대 중반 마이크로컴퓨터가 소개되면서부터 베이직은 컴퓨터를 이용한 소규모 업무 처리에도 사용되었다 .

□ 프로그래밍 언어 - 고급언어

Page 69: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 알고리즘 (Algorithm) 이란 ?

명확하게 정의된 유한개의 규칙을 처리 순서대로

나열해 놓은 것으로써 그 규칙을 유한 번

적용함으로써 제시한 문제를 풀 수 있는 방법 즉 , 어떤 문제를 해결하기 위한 논리적 절차 .

□ 알고리즘 (Algorithm)

Page 70: 03671141  이현섭 03671142  이화랑 03671146  임형묵

- 수학용어로서 알고리즘 : 잘 정의되고 명백한 규칙들의 집합 또는 유한 번의 단계 내에서 문제를 풀기 위한 과정 . 경험적 지식 (heuristic) 과 반대되는 용어 .

Ex) 주어진 정확도에 맞도록 X 의 코사인 값을 계산하기 위한 대수적인 과정도 알고리즘에 해당된다 .

□ 알고리즘 (Algorithm)

Page 71: 03671141  이현섭 03671142  이화랑 03671146  임형묵

- 컴퓨터 용어로서 알고리즘 : 어떤 문제의 해결을 위해 컴퓨터가 사용 가능한 정확한 방법 .

알고리즘은 여러 단계의 유한한 집합으로 구성되는데 여기서 각 단계는 하나 또는 그 이상의 연산을 필요로 한다 . 이 때 컴퓨터가 각 연산들을 수행하기 위해서는 다음의 조건을 만족해야 한다 .

□ 알고리즘 (Algorithm)

Page 72: 03671141  이현섭 03671142  이화랑 03671146  임형묵

1. 명확성 : 각 연산들은 명확한 의미를 가져야 한다 .

2. 효율성 : 각 연산은 원칙적으로 일정한 시간 내에 사람이 연필로 할 수 있어야 한다 .

3. 입 력 : 외부 입력자료가 있을 수 있다 .

4. 출 력 : 하나 이상의 결과가 나온다 .

5. 종결성 : 유한 번의 연산 후에는 끝나야 한다 .

□ 알고리즘 (Algorithm)

Page 73: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도 - 주어진 문제를 해결하는 방법과 절차 및 내용을 기호로

나타낸 것으로서 컴퓨터로 처리하고자 하는 문제를

분석해서 처리하는 순서를 논리적인 흐름에 따라 단계화

시키고 상호간의 관계를 약속된 기호로 일관성 있게

그림 형식으로 나타낸 것이다 .

□ 알고리즘 (Algorithm)

Page 74: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 역할 ⓐ 프로그램 작성의 기초 자료가 된다 .

ⓑ 프로그램의 정확성 여부와 오류를 쉽게 판단할 수 있어서 수정이 쉽다 .

ⓒ 프로그램의 논리적인 절차 및 처리 내용을 쉽게 파악할 수 있다 .

ⓓ 일정 기간이 지난 후에도 프로그램 이해하는데 도움을 주는 문서화 역할을 한다 .

ⓔ 프로그램의 인수 • 인계를 용이하게 한다 .

ⓕ 프로그램의 갱신 및 유지 관리가 용이하다 .

□ 알고리즘 (Algorithm)

Page 75: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 종류 - 시스템 순서도 : 프로그램 전체의 내용을 개괄적으로 설명한 것이며 , 처리할 일의 내용을 큰 덩어리로 구분하여 프로그램의 전체적인 구조 기능이 한눈에 파악되도록 작성한 순서도 .

- 시스템 전체 작업 이 자료의 흐름을 중심으로 나타낸 순서도로서 입출력 과정이 명확히 표시 .

- 시스템 순서도는 시스템 분석 설계와 분석 , 프로그램의 개요 설계 , 프로그램 개발 대상 업무의 조사 , 프로그램의 타당성 검토 등의 목적으로 사용 .

□ 알고리즘 (Algorithm)

Page 76: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 종류 - ㉮ 일반 순서도는 작업 단위별로 블록을 묶어 간략하게 표시한 순서도로서 상세 순서도의 기초 자료로 이용 .

□ 알고리즘 (Algorithm)

실 행

READ 학번 , 성명 ,국어 , 영어 , 수학

끝 ?

총점 <- 국 + 영 + 수평균 <- 총점 / 3

PEINT 학번 ,성명 , 국어 , 영어 ,

수학 총점 , 평균

no

yes

Page 77: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 종류 - ㉯ 상세 순서도는 개략 순서도의 각각의 블록의 내용을 세분화하여 처리 순서를 구체적으로 표시한 것 .

□ 알고리즘 (Algorithm)

시 작

개인자료 입력

끝 ?

성적 계산결과 출력

no

yes

Page 78: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 작성방법 ⓐ 국제표준화기구에서 정 한 표준기호를 사용한다 .

ⓑ 논리적 인 흐름의 방향은 위에서 아래로 , 왼쪽에서 오른쪽으로 서로 교차되지 않도록 그린다 .

ⓒ 간단명료하게 작성 한다 .

ⓓ 처음에는 큰 줄거리만 나열하고 , 점차 구체적으로 작성 한다 .

ⓔ 논리적 인 흐름이 복잡하고 어려울 때에는 여러 단계로 구분하여 작성한다 .

ⓕ 순서도 기호 내부에 처리할 내용을 간단히 기술한다 .

□ 알고리즘 (Algorithm)

Page 79: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 기본유형 ⓐ 직선형 : 분기 , 반복 과정 없이 처리 순서가 위에서 아래로 일직선 형태로 이루어지는 가장 기본적인 처리 구조 .

ⓑ 분기형 : 처리 중 주어진 조건을 비교하고 판단하여 그 결과에 따라 서로 다른 처리를 행하도록 하는 구조 .

ⓒ 반복형 : 주어진 조건이 만족될 때까지 특정한 과정을 반복해서 수행하도록 하는 구조 .

□ 알고리즘 (Algorithm)

Page 80: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 기본유형 ⓐ 직선형 분기 , 반복 과정 없이 처리 순서가 위에서 아래로 일직선 형태로 이루어지는 가장 기본적인 처리 구조 .

□ 알고리즘 (Algorithm)

Page 81: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 기본유형 ⓑ 분기형 처리 중 주어진 조건을 비교하고 판단하여 그 결과에 따라 서로 다른 처리를 행하도록 하는 구조 .

□ 알고리즘 (Algorithm)

Page 82: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 기본유형 ⓒ 반복형 주어진 조건이 만족될 때까지 특정한 과정을 반복해서 수행하도록 하는 구조 .

□ 알고리즘 (Algorithm)

Page 83: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷ 순서도의 기호

□ 알고리즘 (Algorithm)

Page 84: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷구조화 프로그래밍 - 하나의 입력과 출력문을 갖는 구조로서 , GOTO 문을 사용하지 않고 순서 , 선택 , 반복의 세 가지 논리구조를 사용하는 프로그래밍 기법 .

- 블록 구조를 갖는 모듈형태로서 프로그램이 세분화되고 기능별로 서브루틴으로 작성되며 프로그램 작성이 용이하고 이해가 쉽다 .

- 프로그래밍의 신뢰도와 검증성을 반영시키기 위해 정해진 규칙에 따라 프로그램을 작성하는 방법이다 .

□ 알고리즘 (Algorithm)

Page 85: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷구조화 프로그래밍의 원칙 1. 모든 프로그램은 1 개 의 입구에서 시작하여 1 의 출구로 나가도록 하며 순서 , 선택 , 반복의 세 가지 기본구조를 사용한다 .

2. GOT0 문의 사용을 억제한다 .

3. 프로그램을 읽기 쉽고 이해하기 쉽도록 코딩을 문법 양식에 맞게 기술한다 .

4. 프로그램에 사용되는 변수나 프로그램 명에 규칙을 부여하여 쉽게 이해할 수 있도록 한다 .

□ 알고리즘 (Algorithm)

Page 86: 03671141  이현섭 03671142  이화랑 03671146  임형묵

▷구조화 프로그래밍의 기본유형 - 순서구조 직선형 구조인데 제어 흐름이 위에서 아래로 또는 왼쪽에서 오른쪽으로 순서대로 실행되는 구조 .

- 선택구조 주어진 조건에 따라 참인 경우와 거짓인 경우의 처리 내용을 달리 결정하는 구조 . 선택 구조를 IF-THEN-ELSE 구조라고도 한다 .

- 반복구조 조건에 따라 같은 문장을 실행하는 구조 .

□ 알고리즘 (Algorithm)