출처 : 소프트웨어 세상을 여는 컴퓨터과학
1. 프로그래밍언어의 개요
1) 프로그래밍의 이해
(1) 주요 용어
- 프로그램 : 컴퓨터로 문제를 해결하기 위해 작성하는 명령어들의 모임
- 프로그래밍 : 프로그램을 작성하는 과정
- 프로그래머 : 프로램을 작성하는 사람 또는 직업
(2) 프로그래밍 언어 : 프로그램을 작성할 때 사용하는 언어
(3) 고급 언어와 저급 언어
- 저급 언어 : 하드웨어 지향의 기계중심 언어
ex) 기계어(machine language), 어셈블리어(assembly language)
- 고급 언어 : 사람이 이해하기 쉬운 일상 언어와 기호를 사용한 인간 중심의 언어
ex) C, C++, 자바, 파이썬
(4) 프로그래밍 언어의 종류
- 포트란(FORTRAN)
- 엔지니어, 수학, 과학 등을 위한 수식 계산에 강한 언어
- 1954년에 개발된 최초의 고급 언어
- 코볼(COBOL)
- 1960년에 최초로 개발
- 사무처리를 목적으로 설계되었고, 파일 처리에 강점을 보임
- 일상적인 영어 문장 위주라서 읽기 쉬우나, 효율성이 떨어짐.
- 베이직(BASIC)
- 1965년에 개발된 프로그래밍 언어
- 초보자도 쉽게 배울 수 있고, 다양한 작업을 할 수 있음
- 현재도 활용되고 있다.
- 파스칼(PASCAL)
- 1971년에 개발된 프로그래밍 언어
- 구조적 프로그래밍과 알고리즘 학습에 적합한 교육용 프로그래밍 언어
- 리스프(Lisp)와 프롤로그(Prolog)
- 1960년과 1972년에 각각 개발됨
- 인공지능용 언어
- C
- 시스템 프로그래밍 언어
- 미국의 벨 연구소에서 데니스 리치가 개발함
- 운영체제 등 대부분의 시스템 소프트웨어를 개발하는 데 쓰임
- 자바
- 선마이크로시스템사의 제임스 고슬링이 이끄는 그룹에서 개발
- 보안성이 뛰어나며, 인터넷 웹 페이지상에서 실행 가능
- 파이썬
- 네덜란드의 프로그래머 귀도 반 로섬이 개발
- 다양한 플랫포에서 쓸 수 있고, 라이브러리가 풍부하다.
절차적 프로그래밍(Procedural Programming) 언어 | 객체지향 프로그래밍(Object-Oriented Programming, OOP) 언어 |
포트란, 코볼, 베이직,파스칼 | C++, 자바, 파이썬 |
○ 프로그램을 명령어 혹은 프로시저(procedure)의 목록으로 간주 |
○ 프로그램을 독립된 단위, 즉 "객체(object)"들의 모임으로 간주 ○각각의 객체는 "메시지(message)"를 주고받으며 데이터를 처리 ○독립된 단위들을 위주로 개발이 이루어지므로 새로운 프로그램을 개발할 때 기존에 개발해 놓은 프로그램 모듈들을 재사용할 수 있어 대규모 S/W의 개발을 가능하게 한다. => 재사용성(reusability)이 높음 |
(5) 언어 번역 프로그램
- 컴파일러(compiler) : 전체를 한 번에 번역 후 실행
- 인터프리터(interpreter) : 프로그램을 한 행씩 읽어 번역과 실행
2. 변수와 자료형
1) 변수 : 프로그램이 실행되는 동안 값을 저장하는 공간
2) 자료형
(1) 기본 자료형 : 정수형, 실수형, 불형, 문자형
(2) 구조적 자료형 : 튜플, 리스트, 딕셔너리
- 튜플
- 하나 이상의 데이터를 순서대로 저장하는 자료형
- 값의 변경 불가 (변경하려면 튜플을 리스트로 변경 -> 값 변경 -> 리스트를 튜플로 변경의 과정을 거쳐야 함 )
- 리스트
- 하나 이상의 데이터를 순서대로 저장하는 자료형
- 값의 변경 가능
- 딕셔너리
- 하나 이상의 데이터를 저장하는 자료형
- 인덱스 대신 '키'를 사용
3. 연산자와 제어구조
1) 연산자
(1) 산술 연산자
연산자 | 설명 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기(결과 : 실수) |
// | 나누기(결과 : 정수) |
% | 나머지 |
** | 제곱 |
(2) 비교 연산자
연산자 | 설명 |
== | 같다 |
!= | 같지 않다 |
> | 크다 |
< | 작다 |
>= | 크거나 같다 |
<= | 작거나 같다 |
(3) 논리 연산자
연산자 | 설명 |
and | 왼쪽 식, 오른쪽 식 모두 True인 경우에만 True |
or | 왼쪽 식, 오른쪽 식 중 하나만 True여도 True |
not | True이면 False, False이면 True |
2) 제어구조 : 프로그램의 실행 순서를 제어하기 위해 사용하는 문장의 구조
* Dijkstra(다익스트라)의 구조적 프로그래밍(structuered programming)
: 순차, 선택, 반복의 단순한 형태만으로 프로그램을 구성할 수 있다고 주장
-> goto문의 제거 : 블록(block)의 개념을 확립
(1) 순차 구조 : 순차적으로 문장을 실행하는 구조
(2) 선택 구조
- 조건식이 참인지 거짓인지에 따라 문장을 선택적으로 실행
- 파이썬에서의 예 ) if, if-else, if-elif-else문
(3) 반복 구조
- 특정 부분을 반복해서 실행하는 구조
- 예) while, for, 중첩반복문(반복문 안에 또 다른 반복문을 포함한 구조)
4. 함수
1) 함수
(1) 함수의 장점
- 여러 번 호출해 다시 사용할 수 있어 프로그램이 간결해짐
- 기능별로 함수를 만들기 때문에 이해하기 쉬움
- 다른 프로그램에서 작성한 함수도 사용 가능
(2) 함수의 종류
- 라이브러리 함수 : 사용자들의 편의를 위해 시스템에서 미리 작성해놓은 함수
- 사용자 정의 함수 : 프로그램 안에서 필요한 기능들을 사용자가 직접 만들어 사용하는 함수
2) 함수 정의와 호출
- 함수 정의 : 함수가 실행할 내용을 기술한 일련의 코드
- 함수 호출 : 호출되는 함수를 실행하라는 명령
3) 매개변수
(1) 매개변수
: 함수 호출 시 함수에 정보를 전달하기 위해 사용하는 변수
(2) 실매개변수와 형식매개변수
-실매개변수(actual parameter) : 함수 호출 부분의 매개변수
-형식매개변수(formal parameter) : 함수 정의 부분의 매개변수
4) 함수값의 반환
return 문 : 함수가 실행을 종료하면 처리한 값을 반환 시 사용
'전공과목 정리 > IT개론' 카테고리의 다른 글
[IT개론🗃️] 데이터베이스 (0) | 2022.06.22 |
---|---|
[IT개론🗃️] 자료구조 (2) | 2022.06.21 |
[IT개론🗃️] 운영체제 (0) | 2022.06.21 |
[IT개론🗃️] 컴퓨터구조 (0) | 2022.02.14 |
[IT개론🗃️] 데이터 표현과 디지털 논리 (0) | 2022.02.02 |