본문 바로가기

Language15

[Programming Language] 5. 문장 수준의 제어 구조 직전글 2023.07.15 - [Language] - [Programming Language] 4. 표현식과 배정문 ● 서론 프로그램에서 제어의 흐름, 즉 실행 순서를 이해하는 것은 매우 중요함. 앞서 에서 식 내부의 제어 흐름을 배웠다면, 이번 글에서는 문장 간의 제어 흐름을 배움. 명령형 언어 프로그램에서 계산은 식을 평가하고, 그 결과 값을 변수에 할당함으로써 얻어짐. 그러나, 배정문 만으로 모든 유용한 프로그램을 작성할 수는 없으며, 제어문이 필요함. 모든 알고리즘은 단지 두 개의 제어문만을 갖는 프로그래밍 언어로 작성될 수 있음이 증명되었음. (1) 양자 택일의 제어 흐름 경로들 가운데서 선택할 수 있는 제어문 = 선택문 (Selection Statement) (a... 2023. 7. 16.
[Programming Language] 4. 표현식과 배정문 직전글 2023.07.14 - [Language] - [Programming Language] 3. 자료형 (3) ● 산술식 산술식의 자동적인 계산은 고급 프로그래밍 언어의 주요 목적 중 하나임. - 산술식 구성 요소 연산자, 피연산자, 괄호, 함수 호출로 구성됨. ㄴ 연산자 종류 (피연산자 개수에 따라 구분) 1. 단항(Unary) - 피연산자가 한 개 2. 이항(Binary) - 두 개 3. 삼항(Ternary) - 세 개 ㄴ 이항 연산자 표기법 대부분의 명령형 프로그래밍 언어에서 중위 표기법(Infix)을 사용함. 예외적으로 Perl과 같은 언어에서는 전위 표기법(Prefix)을 사용함. ㄴ 연산자 평가 순서 연산자 우선순위와 결합규칙에 따라 평가 순서가 결정됨. (1) 우선순위 연산자 우선순위 규.. 2023. 7. 15.
[Programming Language] 3. 자료형 (3) 직전글 2023.07.12 - [Language] - [Programming Language] 3. 자료형 (2) ● 레코드 개개의 원소들이 이름으로 식별되고 그 구조의 시작 부분으로부터 오프셋을 통해 접근되는 데이터 원소들의 집단체. 대부분의 언어에서 필드(= 레코드의 원소) 참조를 위해 도트 표기법을 사용함. (레코드이름.필드이름) - C에서 레코드 struct(구조체)로 지원. - Python에서 레코드 딕셔너리 or 해시로 구현 가능, 레코드가 배열의 원소가 될 수 있음. - Java에서 레코드 클래스로 정의 가능, 클래스 멤버는 레코드 필드로서 역할 수행. ● 튜플 레코드와 유사한 데이터 타입이지만, 원소들이 명명되지 않음. - Python에서 튜플 변경불가 튜플 타입을 제공함. 변경해야 하는 .. 2023. 7. 14.
[Programming Language] 3. 자료형 (2) 직전글 2023.07.11 - [Language] - [Programming Language] 3. 자료형 (1) ● 배열 동질적인(동일한 타입을 가진) 데이터 원소들의 집합체 개개의 원소는 집단체(Aggregate)에서 첫 번째 원소와의 상대적인 위치(오프셋)에 의해서 식별됨. (개개의 배열 원소들에 대한 참조는 첨자(Subscript)나 색인(Index) 식을 이용하여 명세됨.) ※ 오프셋(Offset) vs. 색인(Index) 오프셋은 메모리상에서 처음 위치와 떨어진 거리, 색인은 배열 상의 순서를 의미함. - 언어별 주의할 점 ㄴ C, Java, C++, Ada, C# 등 배열의 모든 원소들이 동일한 타입이어야 함. 포인터나 참조들은 단일 타입을 가리키거나 참조하도록 제한됨. 따라서, 가리켜지거나.. 2023. 7. 12.
[Programming Language] 3. 자료형 (1) 직전글 2023.07.09 - [Language] - [Programming Language] 2. 변수, 바인딩, 영역 ● 서론 - 자료형(Data Type) : 데이터 값들의 모임과 그들 값들에 대한 미리 정의된 연산들의 집합 - 사용자-정의 타입(User-defined Type) : 사용자가 정의한 자료형 (C언어 typedef) 타입에 대한 의미있는 이름을 사용해 판독성이 올라가며, 프로그램 수정에 도움이 됨.(타입 선언문만 변경해서 타입을 변경 가능하기 때문) - 추상 자료형(Abstract Data Type) : 사용자 정의 타입에서 더 나아간 개념 (Class) - 객체 : 사용자-정의 추상 자료형의 인스턴스 ● 기본 자료형 다른 자료형을 이용하여 정의되지 않은 데이터 타입. 거의 모든 프로.. 2023. 7. 11.
[Programming Language] 2. 변수, 바인딩, 영역 직전글 2023.07.07 - [Language] - [Programming Language] 1. 서론 ● 변수 (Variable) 컴퓨터 메모리 셀이나 셀들의 모임에 대한 추상화. 흔히 메모리 위치에 대한 이름으로 생각하지만, 변수는 이름 외에도 몇 가지 속성을 더 가짐. (총 6개의 속성을 다룰 예정) 1. 이름 변수의 가장 기본적인 속성으로, 어떤 개체를 식별하기 위해 사용되는 문자열임. 식별자(Identifier)라는 용어와 혼용되어 사용됨. ㄴ 형식 길이 제한 : 언어 마다 제한하는 경우도 있고 안하는 경우도 있음. 표기법 : 낙타 표기법(myVariable), 스네이크 표기법(my_variable) 등 다양한 방법이 존재함. 대소문자 구분 : 많은 언어에서 대소문자를 구분함.(== 다르게 인.. 2023. 7. 9.