파스칼의 단순 데이터 유형. 파스칼의 변수 유형 : 설명, 속성, 예

변수를 설명 할 때 해당 유형을 지정해야합니다. 변수 유형은 취할 수있는 값 세트와 수행 할 수있는 조치를 설명합니다. 유형 설명은 유형을 나타내는 식별자를 정의합니다.

단순 유형은 표준 (순서) 및 열거 (제한) 유형으로 나뉩니다.

표준 유형

Turbo Pascal에는 정수, 실수, 부울 및 문자의 네 가지 기본 제공 표준 유형이 있습니다.

정수 유형

Turbo Pascal에는 shortint, integer, longint, byte (바이트 길이) 및 word (word 길이)의 5 가지 내장 정수 유형이 있습니다. 각 유형은 다음 표에 표시된대로 정수의 특정 하위 집합을 지정합니다.

내장 정수 유형.

범위

체재

8 개의 부호있는 비트

16 개의 부호있는 비트

2147483648 +2147483647

부호있는 32 비트

부호없는 8 비트

부호없는 16 비트

정수 유형의 피연산자에 대한 산술 연산은 다음 규칙에 따라 수행됩니다.

  1. 정수 상수 유형은 인라인입니다. 정수형 이 정수 상수의 값을 포함하는 가장 작은 범위로.
  2. 이진 연산 (두 개의 피연산자를 사용하는 연산)의 경우 두 피연산자가 작동하기 전에 공통 유형으로 변환됩니다. 일반적인 유형은 두 유형의 가능한 모든 값을 포함하는 가장 작은 범위의 내장 정수 유형입니다. 예를 들어, 바이트 길이 정수 및 정수의 공통 유형은 정수이고 단어 길이 정수 및 정수의 공통 유형은 긴 정수입니다. 작업은 제네릭 유형의 정밀도에 따라 수행되며 결과 유형은 제네릭 유형입니다.
  3. 할당 문의 오른쪽에있는 표현식은 왼쪽에있는 변수의 크기에 관계없이 평가됩니다.

정수에 대해 수행되는 작업 :

"+"-더하기

"-"-빼기

"*"-곱셈

SQR-제곱

DIV-나누기 후 분수 부분을 버립니다.

MOD-나눗셈 후 전체 나머지 얻기

ABS-숫자 모듈

RANDOM (X)-수신 난수 0에서 X까지

A : \u003d 100; b : \u003d 60; a DIV b 결과-1 a MOD b 결과-40

정수 유형의 변수는 다음과 같이 설명됩니다.

var 변수 목록 : 유형;

예 : var a, p, n : 정수;

실제 유형 (실제)

실수 유형은 고정 된 자릿수를 사용하여 부동 소수점 형식으로 표현할 수있는 실수의 하위 집합입니다. 부동 소수점 값을 작성하려면 일반적으로 m, b 및 e의 세 가지 값이 포함되어 m * b e, 여기서 b는 항상 10이고 m 및 e는 실제 범위의 정수입니다. 이 값 m 및 e는 실제 유형의 범위와 정밀도를 추가로 정의합니다.

실제 유형에는 실제, 단일, 듀블, exnende, comp의 5 가지 종류가 있습니다. 실제 유형은 연관된 값의 범위와 정밀도가 다릅니다.

실수 형에 대한 범위 및 10 진수

범위

번호

2.9x10E-39 ~ 1.7x10E 38

1.5x10E-45 최대 3.4x10E 38

5.0x10E-324 ~ 1.7x10E 308

3.4x10E-493 ~ 1.1x10E 403

2E 63에서 2E 63

실수에 대해 수행되는 연산 :

  • 모든 연산은 정수에 유효합니다.
  • SQRT (x)는 숫자 x의 제곱근입니다.
  • SIN (X), COS (X), ARCTAN (X).
  • LN (X)-자연 로그.
  • EXP (X)-지수 X (ex x).
  • EXP (X * LN (A))-지수 (A x).
  • 유형 변환 기능 :
    • TRUNC (X)-소수 부분을 버립니다.
    • ROUND (X)-반올림.
  • 산술 연산의 몇 가지 규칙 :
    • 있는 경우 산술 연산 실수 유형과 정수 유형의 숫자가 있으며 결과는 실수 유형이됩니다.
    • 표현식의 모든 구성 부분은 한 줄에 작성됩니다.
    • 괄호 만 사용됩니다.
    • 두 개의 산술 기호를 연속으로 넣을 수 없습니다.

실제 유형의 변수는 다음과 같이 설명됩니다.

var 변수 목록 : 유형;

예를 들면 :

var d, g, k : 실수;

문자 유형 (char)

char 유형에는 아포스트로피로 묶인 모든 문자가 포함됩니다. 아포스트로피를 기호 변수로 표시하려면 아포스트로피 '' '' '로 묶어야합니다.

각 기호에는 고유 한 코드와 번호가 있습니다. 0.1..9의 연속 된 숫자는 오름차순으로 정렬됩니다. 문자의 일련 번호도 오름차순이지만 반드시 서로 뒤에 오는 것은 아닙니다.

비교 문자는 문자 데이터에 적용 할 수 있습니다.

> , < , >=, <=, <> .

예 : 'A'< ‘W’

기호 변수에 적용되는 함수 :

  1. ORD (X)-X 문자의 서수를 정의합니다. Ord (‘a’) \u003d 97;
  2. CHR (X)-숫자로 문자를 정의합니다. chr (97) \u003d 'a';
  3. PRED (X)-X 문자 앞의 문자를 반환합니다. Pred (‘B’) \u003d’A’;
  4. SUCC (X)-문자 X 다음에 오는 문자를 반환합니다. succ (‘A’) \u003d’B’;

열거 형

열거 된 데이터 유형은 엄격하게 정의 된 순서와 엄격하게 정의 된 수량으로 상수의 열거로 지정되기 때문에 이름이 지정됩니다. 열거 형은 상수 목록으로 구성됩니다. 이 유형의 변수는 이러한 상수 값을 가질 수 있습니다. 열거 유형에 대한 설명은 다음과 같습니다.

유형<имя типа>\u003d (상수 목록); Var<имя переменной>:<имя типа>;

어디<список констант> 0부터 시작하는 고유 한 일련 번호가있는 특수한 종류의 쉼표로 구분 된 상수입니다.

예를 들면 :

유형 방향 \u003d (북쪽, 남쪽, 서쪽, 동쪽); 월 \u003d (6 월, 7 월, 8 월, 1 월); 용량 \u003d (버킷, 배럴, 캐니스터, 탱크); var turn : 방향; 출발 : 월; 부피 : 용량; var turn : (북쪽, 남쪽, 서쪽, 동쪽); 출발 : (6 월, 7 월, 8 월, 1 월); 부피 : (버킷, 배럴, 캐니스터, 탱크);

다음 할당 연산자를 실행할 수 있습니다.

회전 : \u003d 남쪽; 출발 : \u003d 8 월; 부피 : \u003d 탱크;

그러나 혼합 할당은 수행 할 수 없습니다.

출발 : \u003d 남쪽; 볼륨 : \u003d 8 월;

열거 된 변수에 적용 할 수있는 함수는 다음과 같습니다.

1. ORD-일련 번호

2. PRED는 선행 요소입니다.

3. SUCC는 다음 요소입니다.

PRED (배럴) \u003d 버킷; SUCC (남쪽) \u003d 서쪽; ORD (7 월) \u003d 1;

열거 유형의 변수는 순서가 지정되고 번호가 매겨져 있기 때문에 비교할 수 있습니다. 그래서 표현 : 북쪽< юг, июнь < январь имеют значения TRUE, а юг>서쪽과 벅<бочка значение FАLSE.

제한된 유형

변수가 해당 유형의 모든 값을 허용하지 않고 특정 범위에서만 허용되는 경우 제한된 유형의 변수로 간주 할 수 있습니다. 각 제한된 유형은 기본 유형에 제약 조건을 적용하여 지정됩니다.

다음과 같이 설명됩니다.

유형<имя типа>\u003d 상수 1 .. 상수 2

이 경우 다음 규칙을 준수해야합니다.

  1. 두 제한 상수는 모두 동일한 유형이어야합니다.
  2. 실제 (실제)를 제외한 모든 단순 유형을 기본 유형으로 사용할 수 있습니다.
  3. 경계 유형을 정의 할 때 초기 값은 최종 값보다 크지 않아야합니다.
유형 인덱스 \u003d 0 ..63; 문자 \u003d 'a'.. 'z'; var char1, char2 : 편지; a, g : 색인;

변수 설명 섹션에서 직접 설명 할 수 있습니다.

var a, g : 0 ..63; char1, char2 : 'a'.. 'z'.

파스칼 데이터 유형

Turbo Pascal의 모든 데이터 (상수, 변수, 함수 값 또는 표현식)는 유형에 따라 특성이 지정됩니다. 유형은 개체가 가질 수있는 유효한 값 집합과 적용 가능한 유효한 작업 집합을 정의합니다. 유형은 또한 컴퓨터 메모리에있는 데이터의 내부 표현 형식을 결정합니다.

Turbo Pascal에는 다음과 같은 데이터 유형이 있습니다.

1) 간단한 유형 :

-진짜;

-상징적;

-부울 (논리);

-열거 가능;

-제한적 (범위).

2) 복합 (구조화) 유형 :

-정기 (배열);

-결합 (기록);

-파일;

-다중;

-문자열;

- 사물.

3) 참조 유형 (유형 및 유형이 지정되지 않은 포인터).

4) 절차 유형.

Turbo Pascal은 새로운 데이터 유형을 생성하기위한 메커니즘을 제공하므로 프로그램에서 사용되는 총 유형 수가 원하는만큼 커질 수 있습니다.

정수 유형... 정수 값은 정수 하위 집합의 요소입니다. Turbo Pascal에는 5 가지 정수 유형이 있습니다. 이름, 값 범위, 바이트 단위의 표현 길이가 표에 나와 있습니다. 6.

표 6

정수 데이터 유형

정수 변수는 위의 예약어를 사용하여 설명됩니다.

i, j, k : 정수;

정수 데이터는 정확히 메모리에 저장됩니다. 예를 들어 정수 변수는 메모리에서 2 바이트 (16 비트)를 차지하며 다음과 같이 할당됩니다. 1 비트는 숫자의 부호를 저장하기 위해 할당됩니다 (숫자가 양수이면 0, 숫자가 음수이면 1). 이진 시스템 계산에 숫자를 저장하는 비트. 15 비트 바이너리로 쓸 수있는 최대 10 진수는 32767입니다.

정수 매개 변수가있는 프로 시저 및 함수를 사용할 때 유형의 "중첩", 즉 단어가 사용되는 곳마다 바이트가 허용되고 (반대로는 아님) longint는 정수를 "포함"하며 이는 차례로 shortint를 포함합니다.

정수 유형의 경우 정수를 생성하는 5 가지 기본 연산 인 +,-, *, div, mod (더하기, 빼기, 곱하기, 정수 나누기 및 나머지 정수 나누기)가 정의됩니다. 산술 표현식에서 *, div, mod 연산은 +,-연산보다 우선합니다. 표현식 작성의 예 :

정수형에 적용 할 수있는 프로 시저 및 함수 목록은 표에 나와 있습니다. 7. 문자 b, s, w, i, l은 각각 byte, shortint, word, integer 및 longint 유형의 표현을 나타냅니다. x는 이러한 유형의 표현식입니다. 식별자 vb, vs, vw, vi, vl, vx는 해당 유형의 변수를 나타냅니다. 선택적 매개 변수는 대괄호로 표시됩니다.

표 7

정수 유형에 적용 할 수있는 표준 절차 및 함수

항소 결과 유형 행위
복근 (x) 엑스 모듈 x를 반환합니다.
Chr (b) 코드로 문자를 반환합니다.
12 월 (vx [, i]) - vx의 값을 i만큼 감소시키고 i가없는 경우 1만큼 감소시킵니다.
Inc (vx [, i]) - vx를 i만큼 증가시키고 i가 없으면 1 씩 증가시킵니다.
안녕 (i) 바이트 인수의 상위 바이트를 반환합니다.
안녕 (i) 바이트 또한
Lo (i) 바이트 인수의 최하위 바이트를 반환합니다.
소호 (w) 바이트 또한
홀수 (l) 바이트 인수가 홀수이면 true를 반환합니다.
랜덤 (w) 매개 변수와 동일 0 ... (w-1) 범위에 균등하게 분포 된 의사 난수를 반환합니다.
제곱 (x) 엑스 인수의 제곱을 반환합니다.
스왑 (i) 정수
스왑 (w) 워드 단어의 바이트를 바꿉니다.
Succ (x) 매개 변수와 동일 다음 정수 값을 반환합니다. x + 1
프레드 (x) 매개 변수와 동일 이전 정수 값을 반환합니다. x-1

정수가있는 연산의 경우 결과 유형은 피연산자의 유형에 해당하고 피연산자가 다른 정수 유형 인 경우 값의 최대 범위를 갖는 피연산자의 유형에 해당합니다. 가능한 결과 오버플로가 제어되지 않아 프로그램 오류가 발생할 수 있습니다.

실제 유형. 실수 유형의 값은 실수의 내부 형식에 따라 유한 정밀도로 임의의 숫자를 정의합니다. Turbo-Pascal에는 5 가지 실제 유형이 있습니다 (표 8).

표 8

실제 데이터 유형

실제 변수는 위의 예약어를 사용하여 설명됩니다.

컴퓨터 메모리의 실수는 세 부분으로 구성됩니다.

숫자의 부호있는 숫자;

지수 부분;

가수 번호.

가수의 길이는 23 (단일)에서 63 (확장) 이진수이며 단일의 경우 7-8, 확장 된 10 진수의 경우 19-20의 정확도를 제공합니다. 소수점 (쉼표)은 가수의 왼쪽 (최상위) 비트 앞에 내포되지만 숫자를 조작 할 때 지수 부분에 저장된 숫자의 이진 순서에 따라 위치가 왼쪽 또는 오른쪽으로 이동합니다. 따라서 실수에 대한 연산을 부동 소수점 산술 (쉼표)이라고합니다.

Single, Double 및 Extended 유형은 특수 컴파일 모드에서만 액세스 할 수 있습니다. 이러한 모드를 활성화하려면 메뉴 항목을 선택하십시오. 옵션, 컴파일러 ... 옵션을 활성화하십시오. 8087/80287 그룹에서 숫자 처리.

Turbo Pascal의 특별한 위치는 Comp 유형이 차지하며 지수 및 분수 부분이없는 실수로 처리됩니다. 실제로 Comp는 유효 십진수 19 ~ 20 개를 저장하는 큰 부호있는 정수입니다. 동시에 Comp는 표현식의 다른 실제 유형과 완전히 호환됩니다. 모든 실제 연산이 정의되고 수학 연산의 인수로 사용될 수 있습니다.



실수는 다음 중 하나의 10 진수 표기법으로 지정됩니다. 두 가지 형태.

고정 소수점 형식 레코드는 점으로 구분 된 전체 및 분수 부분으로 구성됩니다. 예를 들면 다음과 같습니다.

0.087 4.0 23.5 0.6

부동 소수점 레코드에는 "10의 거듭 제곱"을 의미하는 문자 E가 포함되어 있으며 거듭 제곱은 정수입니다. 예 :

7E3 6.9E-8 0.98E-02 45E + 04

다음 연산은 실제 유형의 객체에 대해 정의됩니다 : +,-, *, /.

"*"및 "/"작업은 "+"및 "-"작업보다 우선 순위가 높습니다.

적어도 하나의 피연산자가 실수이면 +,-, *, / 연산이 실제 결과로 이어집니다. 나누기 연산자 /는 두 정수 피연산자의 경우 실제 결과로 이어집니다 (예 : 9/3 \u003d 3.0).

실제 데이터로 작업하기 위해 표에 표시된 표준 수학 함수를 사용할 수 있습니다. 9. 이러한 기능의 결과도 실제입니다.

표 9

실제 데이터로 작업하는 수학 함수

REAL 유형의 변수 및 상수를 사용하는 것은 금지되어 있습니다.

-함수 pred (x), succ (x), ord (x)

-배열 인덱스로;

-제어 전송 운영자의 라벨로;

-제어 변수 (사이클 매개 변수)로.

실수를 정수로 변환하려면 다음 함수를 사용할 수 있습니다.

trunc (x)-x의 정수 부분 (x는 실수 임);

round (x)-가장 가까운 정수로 반올림합니다 (x는 실수 임).

문자 유형. 기호 변수는 char 예약어를 사용하여 설명됩니다.

이 유형의 값은 256 자의 정렬 된 문자 집합 (ASCII 집합에서)에서 선택됩니다. 0..255 범위의 정수가 각 문자에 할당됩니다. 예를 들어 라틴 알파벳 A..Z의 대문자는 코드 65..90이고 소문자는 코드 97..122입니다.

문자 유형 변수의 값은 아포스트로피로 묶인 한 문자입니다. 예를 들면 다음과 같습니다.

‘F’‘8’‘*’

기호 변수를 서로 비교할 수 있고 기호 코드를 비교할 수 있습니다.

기호와 해당 코드 사이에 대응을 설정하는 기능이 있습니다.

ord (с)-문자 수를 제공합니다.

chr (i)-숫자 i의 문자를 제공합니다.

이 함수는 서로 반대입니다.

부울 유형... 부울 변수는 부울 예약어를 사용하여 설명됩니다.

p1, p2 : 부울;

부울 변수는 두 가지 값을 갖습니다. 진실 (진실), 그릇된 (거짓말).

이러한 값은 다음과 같이 정렬됩니다. false< true. false имеет порядковый номер 0, true имеет порядковый номер 1.

부울 변수는 값을 직접 할당하거나 부울 식을 사용할 수 있습니다. 예를 들어

a, d, g, b : 부울;

관계 작업 (<, <=, >, >=, =, <>)를 정수, 실수 및 기호 변수에 적용하면 논리적 인 결과가 제공됩니다.

부울 유형의 피연산자에 대한 부울 연산도 부울 결과를 제공합니다 (연산은 우선 순위의 내림차순으로 나열 됨) (자세한 내용은 표 3 및 5 참조).

not-부정 (NOT 연산);

그리고-논리 곱셈 (AND 연산);

또는-논리적 추가 (OR 연산);

xor-배타적 OR.

표현 (a가 아님)은 a의 반대 의미를 갖습니다.

식 (a 및 b)는 a와 b가 모두 참이면 참으로 평가되고 그렇지 않으면 식은 거짓입니다.

표현식 (a 또는 b)은 a와 b가 모두 거짓이면 거짓으로 평가되고 그렇지 않으면 결과는 참입니다.

열거 형... 비표준 열거 유형은 변수가 취할 수있는 값 이름 형식의 열거에 의해 지정됩니다. 각 값은 일부 식별자로 이름이 지정되고 괄호로 묶인 목록에 있습니다. 열거 유형 설명의 일반보기 :

x \u003d (w1, w2, ..., wn);

여기서 x는 유형의 이름이고, w1, w2, ..., wn은 유형 x의 변수가 취할 수있는 값입니다.

이 값은 w1로 정렬됩니다.

다음 표준 함수는 열거 형 인수 w에 적용됩니다.

succ (w), pred (w), ord (w).

색상 \u003d (빨간색, 검은 색, 노란색, 녹색)

ww \u003d (왼쪽, 위, 오른쪽, 아래);

f : ww의 배열;

succ (d) \u003d 노란색;

변수 a와 b는 w 유형입니다. 세 가지 값 중 하나를 사용할 수 있습니다.

관계의 연산은 열거 된 유형의 값에 적용됩니다 : \u003d,<>, <=, >=, <, >.

섹션에서 직접 열거 형 상수를 지정할 수 있습니다. var 섹션을 사용하지 않고 유형, 예 :

c, d : (빨간색, 검은 색, 노란색, 녹색);

범위 (제한) 유형... 제한된 유형을 정의 할 때 범위 유형의 변수가 취할 수있는 초기 및 최종 값이 지정됩니다. 값은 두 개의 점으로 구분됩니다.

제한된 유형에 대한 설명은 다음과 같습니다.

여기서 a는 유형의 이름이고, 최소, 최대는 상수입니다.

제한된 유형을 지정할 때 다음 규칙을 따라야합니다.

-최소 및 최대 경계 상수는 동일한 유형이어야합니다.

-제한된 유형은 정수, 문자 또는 열거 유형이 될 수있는 기본 유형의 데이터에서 작성됩니다. 예를 들면 :

col \u003d 빨강 .. 노랑;

문자 \u003d‘a’..’f’;

-제한된 유형의 변수는 유형 섹션을 참조하지 않고 var 섹션에서 설명 할 수 있습니다.

-제한된 유형은 생성 된 기본 유형의 모든 속성을 상속합니다.

-최소 테두리는 항상 최대 테두리보다 작아야합니다.

배열... 배열은 동일한 유형의 고정 된 수의 구성 요소로 구성된 구조 인 복합 유형입니다. 구성 요소 유형을 기본 유형이라고합니다. 배열의 모든 구성 요소는 쉽게 주문할 수 있으며 단순히 시퀀스 번호를 지정하여 액세스 할 수 있습니다. 섹션의 배열에 대한 설명 var 다음과 같이 보입니다.

ㅏ: 정렬 t2;

여기서 a는 배열의 이름입니다. 정렬, -서비스 단어 ( "...에서 배열"을 의미), t1-인덱스 유형; t2-구성 요소 유형 (기본 유형).

인덱스의 수는 배열의 차원을 결정합니다. 인덱스는 정수 (longint 제외), 문자, 부울, 열거 형 및 범위 유형일 수 있습니다. 색인은 쉼표로 구분되고 대괄호로 묶입니다. 배열 구성 요소는 파일 유형을 제외한 모든 유형이 될 수 있습니다.

예 1. 값이 5 개의 실수 인 1 차원 배열 C를 고려하십시오.

4.6 6.23 12 -4.8 0.7

이 배열에 대한 설명은 다음과 같습니다.

c : 실수 배열;

특정 인덱스 값으로 배열의 특정 구성 요소를 선택할 수 있습니다 (예 : C는 C 배열의 세 번째 요소, 즉 숫자 12를 의미 함).

예 2. 값이 정수 테이블 인 2 차원 배열 B (행렬 B)를 고려하십시오.

이 배열에 대한 설명은 다음과 같습니다.

정수 b;

여기서 b는 배열의 이름이고, 첫 번째 인덱스는 행 번호이며 1에서 2까지의 값을 취하고, 두 번째는 열 번호이며 1에서 4까지의 값을 취합니다. 인덱스의 특정 값의 경우 , 배열의 특정 구성 요소를 선택할 수 있습니다 (예 : b는 첫 번째 행과 세 번째 열의 테이블 요소, 즉 숫자 -4를 의미 함).

인덱스는 배열 설명의 인덱스 유형에 해당하는 임의의 표현식이 될 수 있습니다.

a : 실수 배열;

a [(i + 1) * 2] : \u003d 24;

배열 요소에 대한 작업 집합은 이러한 요소의 유형에 따라 완전히 결정됩니다.

문자열 유형... 문자열 유형은 임의 길이 (0부터 주어진 숫자까지)의 문자열 집합입니다. 문자열 유형의 변수는 서비스 단어를 사용하여 설명됩니다. :

비: ;

풍모:

-문자열 변수의 값은 할당 연산자에 할당 된 키보드를 사용하여 입력 할 수 있으며 파일에서 읽을 수 있습니다. 이 경우 입력 된 문자열의 길이는 임의 일 수 있습니다 (지정된 크기보다 작거나 크기 이상, 후자의 경우 추가 문자가 삭제됨). a : \u003d‘결과’;

-문자열이 길이를 동적으로 변경할 수 있으므로 할당 연산자에서 연결 연산을 사용할 수 있습니다. a : \u003d a +‘계산’;

-문자열 변수의 최대 길이는 255 자이며이 길이 표시는 생략 할 수 있습니다.

ㅏ: ;

a1 : ;

변수 a와 a1은 동일합니다 (동등한 설명).

-문자열 유형의 변수에 대한 메모리는 최대로 할당되지만 현재 문자열 문자가 실제로 차지하는 메모리의 일부만 사용됩니다. 길이가 n 인 문자열 변수를 설명하기 위해 n + 1 바이트의 메모리가 사용됩니다. n 바이트-문자열 문자를 저장하고 n + 1 번째 바이트-현재 길이를 저장합니다.

-비교 연산은 문자열 유형의 값에 대해 정의됩니다.< <= > >= = <>... 짧은 문자열은 항상 긴 문자열보다 짧습니다. 문자열 길이가 같으면 문자 코드가 비교됩니다.

-배열 요소에 액세스하는 것과 동일한 방식으로 문자열의 개별 요소에 액세스 할 수 있습니다 : a, a. 대괄호는 라인 요소 번호를 나타냅니다.

문자열 지향 프로 시저 및 함수.

연결 (s1, s2, ...) -라인 병합 기능, s1, s2,…-라인, 라인 수는 임의적 일 수 있습니다. 함수의 결과는 문자열입니다. 결과 문자열의 길이가 255자를 초과하면 문자열이 255 자로 잘립니다.

복사 (초, 색인, 개수) -원래 라인에서 라인을 선택하는 기능 에스 길이 카운트 숫자 아래의 문자로 시작하는 문자 인덱스.

삭제 (초, 색인, 개수) -문자열에서 길이의 하위 문자열을 제거하는 절차 카운트 숫자로 시작하는 문자 인덱스.

삽입 (s1, s2, index) -행 삽입 절차 s1 줄에 s2숫자가있는 문자로 시작 인덱스.

길이 (s) -현재 문자열 길이를 결정하는 함수, 현재 문자열 길이와 동일한 숫자를 반환합니다.

위치 (s1, s2) -문자열 검색 기능 s2 부분 문자열 s1... 하위 문자열의 첫 번째 문자의 위치 번호를 제공합니다. s1 줄에 s2 (또는이 줄이 없으면 0).

발 (st, x, 코드) -문자열 s를 정수 또는 실수 변수로 변환하는 절차 엑스... 매개 변수 암호 변환이 성공하면 0을 포함합니다. 엑스 변환 결과가 배치됨) 또는 오류 문자가 발견 된 행 위치 번호 (이 경우 값 엑스 변하지 않는다).

호환성 및 유형 변환... Turbo Pascal은 유형이 지정된 언어입니다. 언어에서 사용되는 모든 연산이 호환 가능한 유형의 피연산자에서만 정의되는 유형 개념을 엄격하게 준수하여 빌드됩니다.

다음과 같은 경우 두 가지 유형이 호환되는 것으로 간주됩니다.

-둘 다 같은 유형입니다.

-둘 다 진짜입니다.

-둘 다 전체입니다.

-한 유형은 두 번째 유형의 범위 유형입니다.

-둘 다 동일한 기본 유형의 범위 유형입니다.

-둘 다 동일한 기본 유형의 요소로 구성된 세트입니다.

-둘 다 동일한 최대 길이의 압축 된 문자열 (앞에 압축 된 단어로 정의 됨)입니다.

-하나는 문자열 유형이고 다른 하나는 문자열 또는 문자 유형입니다.

-한 유형은 임의의 포인터이고 다른 유형은 관련 객체에 대한 포인터입니다.

-둘 다 동일한 결과 유형 (함수 유형의 경우), 매개 변수 수 및 상호 대응 매개 변수 유형을 갖는 절차 유형입니다.

유형 호환성은 할당 연산자에서 특히 중요합니다. t1은 변수의 유형이고 t2는 표현식의 유형, 즉 대입 t1 : \u003d t2가 수행됩니다. 이 할당은 다음과 같은 경우에 가능합니다.

-t1 및 t2는 동일한 유형이며이 유형은 파일, 파일 배열, 파일 필드를 포함하는 레코드 또는 그러한 레코드의 배열에 적용되지 않습니다.

-t1 및 t2는 호환 가능한 서수 유형이며 t2의 값은 t1의 가능한 값 범위에 있습니다.

-t1 및 t2는 실수 유형이며 t2의 값은 t1의 가능한 값 범위에 있습니다.

-t1-실수 형 및 t2-정수형;

-t1은 문자열이고 t2는 문자입니다.

-t1은 문자열이고 t2는 압축 된 문자열입니다.

-t1 및 t2-호환 가능한 패킹 된 문자열

-t1 및 t2는 호환 가능한 집합이며 t2의 모든 구성원은 t1의 가능한 값 집합에 속합니다.

-t1 및 t2는 호환 가능한 포인터입니다.

-t1 및 t2는 호환되는 절차 유형입니다.

-t1은 객체이고 t2는 자식입니다.

프로그램에서 한 유형의 데이터를 다른 유형의 데이터로 변환 할 수 있습니다. 이 변환은 명시 적이거나 암시적일 수 있습니다.

명시 적 유형 변환은 인수가 한 유형이고 다른 유형의 값인 특수 변환 함수를 호출합니다. 예를 들어 이미 고려 된 ord, trunc, round, chr 함수가 있습니다.

암시 적 변환은 다음 두 가지 경우에만 가능합니다.

-실수 변수와 정수 변수로 구성된 식에서 후자는 자동으로 실수 형으로 변환되고 전체 식은 실수 형이됩니다.

-하나의 동일한 메모리 영역이 하나 또는 다른 유형의 데이터를 포함하는 것으로 번갈아 해석됩니다 (메모리에있는 다른 유형의 데이터 결합).

데이터 유형에 대한 지식과 이해는 프로그래밍에 필수적입니다.

이 튜토리얼에서는 Turbo Pascal 프로그래밍 언어의 데이터 유형을 소개합니다.

Pascal에서 모든 객체, 즉 상수, 변수, 함수 값 또는 표현식은 유형에 따라 특징이 있습니다. 유형은 개체에 대한 유효한 값 집합과 적용 가능한 작업 집합을 정의합니다. 또한 유형에 따라 컴퓨터 메모리의 내부 데이터 표현 형식이 결정됩니다. 파스칼은 객체 유형 측면에서 정적 언어입니다. 즉, 변수와 같은 객체의 유형은 설명 중에 결정되며 나중에 변경할 수 없습니다.

파스칼의 데이터 유형 구조 :

간단한 언어 유형
단순 유형에는 서수, 실수, 문자열 및 주소 (포인터) 유형이 포함됩니다. 그것들은 모두 하나의 고유 한 값의 유형을 정의합니다.

서수 유형 그들 각각은 유한 한 수의 가능한 값을 가지며 그 중에서 선형 순서가 설정된다는 사실을 특징으로합니다. 각 값은 정수 (서수)와 연관 될 수 있습니다.

정수 유형 -다른 범위의 정수 세트를 나타냅니다. 유효한 값의 범위와 사용되는 메모리의 크기가 다른 5 가지 정수 유형이 있습니다. 정수 유형은 식별자로 표시됩니다 : Byte, ShortInt, Word, Integer, LongInt; 그 특성은 다음 표에 나와 있습니다.

정수 유형의 값은 일반적인 방식으로 프로그램에 작성됩니다.
123 4 -3 +345 -699
정수에 소수점이있는 것은 허용되지 않습니다. 다음과 같이 정수를 쓰는 것은 실수입니다.
123.0
일반적인 10 진수 표기법 외에도 $ 접두사를 사용하여 16 진수 형식으로 정수를 쓸 수 있습니다. 예를 들면 다음과 같습니다.
$ 01AF $ FF $ 1A $ F0A1B
문자 A, B, ..., F의 대소 문자는 중요하지 않습니다.

허용 된 작업 :

  • -할당;
  • -모든 산술 : +,-, *, /, div, mod (일반적인 나누기 [/]를 사용하면 결과는 실제입니다!);
  • -비교<, >, >=, <=, <>, =.
부울 유형 -거짓 (거짓)과 참 (참)의 두 가지 값으로 만 구성됩니다. False 및 True라는 단어는 언어로 정의되며 실제로 논리적 상수입니다. 글의 대소 문자는 중요하지 않습니다 : FALSE \u003d false. 이 유형의 값은 조건부 및 논리 표현을 평가 한 결과이며 언어의 모든 종류의 조건문에 참여합니다.
허용 된 작업 :
  • -할당;
  • -비교 :<, >, >=, <=, <>, =;
  • -논리 연산 : NOT, OR, AND, XOR
문자 유형 (Char) 하나의 문자 (부호, 문자, 코드)로 구성된 데이터 유형입니다. Char 값은 ASCII 문자 일 수 있습니다. 기호에 그래픽 표현이 있으면 프로그램에서 작은 따옴표 (아포스트로피)로 묶여 작성됩니다. 예를 들면 다음과 같습니다.
"f" "s" "." "*" "" - (우주)
아포스트로피 자체를 나타 내기 위해 그 이미지는 "" ""와 같이 두 배가됩니다.
문자에 그래픽 표현 (예 : 탭 또는 캐리지 리턴 문자)이없는 경우 # 접두어와 문자의 ASCII 코드로 구성된 문자 값을 쓰는 동일한 형식을 사용할 수 있습니다.
#9 #32 #13
허용 된 작업 :
  • -할당;
  • -비교 :<, >, >=, <=, <>, \u003d. 큰 문자는 더 높은 ASCII 번호를 가진 문자입니다.
문자열 유형 (문자열, 문자열 [n]) -이 데이터 유형은 문자열의 시퀀스를 정의합니다. n 매개 변수는 문자열의 최대 문자 수를 지정합니다. 지정하지 않으면 n \u003d 255로 간주됩니다. 프로그램에서 "문자열"유형의 값은 작은 따옴표 (아포스트로피)로 묶인 일련의 문자로 작성됩니다. 예를 들면 다음과 같습니다.
"이것은 문자열입니다"
"1234"는 숫자가 아닌 문자열입니다.
""-빈 줄

허용 된 작업 :
  • -할당;
  • -더하기 (연결, 병합); 예를 들어, S : \u003d "Winter"+ ""+ "has come!";
  • -비교 :<, >, >=, <=, <>, \u003d. 문자열은 길이가 같고 문자 단위로 동일한 것으로 간주됩니다.
실제 유형 -다른 범위의 실수 집합을 나타냅니다. 허용 가능한 값의 범위와 점유 된 RAM의 크기가 다른 5 가지 실제 유형이 있습니다. 실수 유형은 식별자로 표시됩니다. Real, Single, Double, Extended, Comp; 그 특성은 다음 표에 나와 있습니다.

Comp 유형 실제 유형에 속하지만 실제로는 값의 범위가 매우 큰 정수입니다.
실제 유형의 값은 여러 가지 방법으로 프로그램에서 작성할 수 있습니다.
1.456 0.000134 -120.0 65432
+345 0-45 127E + 12
-1.5E-5 -1.6E + 12 5E4 0.002E-6

다음과 같은 실수를 쓰는 것은 실수입니다.
.5 (정확한 0.5)
12. (12.0 또는 12가 맞음)

부동 소수점 형식 (지수 형식)의 실수는 쌍으로 작성됩니다.
<мантисса> 이자형<порядок>
이 지정은 "차수와 동일한 거듭 제곱에서 가수에 10을 곱한 값"으로 이해됩니다. 예를 들어
-1.6E + 12는 -1.61012에 해당합니다.

허용 된 작업 :
-할당;
-모든 산술 : +,-, *, /;
-비교 :<, >, >=, <=, <>, =.

실수를 비교할 때 컴퓨터 메모리에서 표현이 부정확하기 때문에 (반올림의 불가피 함을 고려하여) 두 실제 값의 엄격한 평등을 결정하려는 시도는 피해야한다는 점을 기억해야합니다. 사실 그렇지 않더라도 평등이 거짓으로 판명 될 가능성이 있습니다.

범위 또는 (제한된 유형)은 사전 정의 된 언어 유형 (예 : Integer 또는 Char)이 아니므로 이에 해당하는 식별자가 없습니다. 이 유형은 사용자가 입력합니다. 이를 사용하여 일부 기본 유형의 제한된 하위 범위의 값만 포함하는 새로운 유형을 정의 할 수 있습니다. 기본 유형은 정수 유형, Char (문자) 유형 및 프로그래머가 도입 한 모든 열거 유형일 수 있습니다.

새 유형 (범위)을 도입하려면 특수 범위 기호 ".."(한 행에 두 개의 마침표)를 통해 TYPE 유형 설명 블록에 입력 유형의 이름과 범위 경계를 지정해야합니다.
유형
세기 \u003d 1..21; (다이얼 유형의 하위 범위)
CapsLetters \u003d "A".. "나"; (문자 유형의 하위 범위)

구조화 된 언어 유형

구조화 된 유형에는 배열, 레코드, 세트, \u200b\u200b파일 등이 포함됩니다. 이들은 모두 일부 데이터 구조의 유형 (또는 유형)을 정의합니다.

정렬 -동일한 유형의 데이터를 순차적으로 저장하는 정렬 된 구조. 배열에는 구조에 저장되는 요소 수를 결정하는 차원이 반드시 있어야합니다. 인덱스로 배열의 모든 요소에 도달 할 수 있습니다.

배열 유형은 구성에 의해 결정됩니다.
ItemType의 배열 [범위];

대괄호 안의 범위는 구조의 첫 번째 및 마지막 요소의 인덱스 값을 나타냅니다. 유형 및 변수 선언의 예 :

TYPE 벡터 \u003d 실수 배열; VAR V1 : 벡터; V2 : 바이트 배열;
여기서 변수 V1은 위에서 설명한 벡터 유형을 사용하여 정의됩니다. 변수 V2의 유형은 설명 단계에서 직접 구성됩니다.

배열 요소의 유형으로 배열을 지정하여 다차원 구조를 형성 할 수도 있습니다. 예를 들어 2 차원 구조 (매트릭스)에 대한 설명은 다음과 같습니다.
VAR M1 : 바이트 배열의 배열; 동일한 내용을 훨씬 더 간결하게 작성할 수 있습니다. VAR M2 : array of Byte;
여기서 배열 M1과 M2는 정확히 동일한 구조 인 3x3 정사각형 행렬을 갖습니다.

배열 요소는 색인을 지정하여 액세스합니다. 예를 들면 다음과 같습니다.

Writeln (V1); (배열 V1의 첫 번째 요소 표시) readln (M2); (행렬 M2의 두 번째 행의 세 번째 요소 입력)
이것으로 데이터 유형에 대한 강의를 마쳤습니다. 텍스트는 거의 완전히 복사 및 붙여 넣기되었습니다 (링크는 아래에 있음). 이 자료를 내 말로 말할 이유가 없습니다. 데이터 유형 간의 차이가 조금이라도 분명하다면 이것은 이미 좋은 것입니다.

프로그래밍의 기초
모든 전문가는 한때 주전자였습니다. “이것을 생각해 내기 위해 어떻게 생각을 시작해야할지 모르겠다”는 상태에 대해 확실히 알고 있습니다. 당신은 아마 어디서부터 시작해야할지 모르는 상황에 처했을 것입니다. 이 책은 프로그래머가되고 싶지만이 길을 시작하는 방법을 전혀 모르는 사람들을 대상으로합니다. ...

거의 모든 정수 데이터 유형이 있습니다. 이러한 데이터 유형은 특정 범위의 정수를 나타냅니다. 정수 유형의 정확한 이름과 값 범위는 특정 프로그래밍 언어, 컴파일러 및 컴파일 모드에 따라 다릅니다. 컴파일러 문서에서 이에 대해 자세히 알아보십시오.

예를 들어, 데이터 유형 정수 Delphi에서는 범위가 -2147483648 ... 2147483647이고 Turbo Pascal에서는 데이터 유형이 정수 -35768 ... 32767 범위의 숫자를 나타냅니다. Free Pascal에서 다음과 같은 값의 범위 정수 선택한 모드에 따라 결정됩니다.

라자루스는 프리 파스칼 컴파일러를 사용하기 때문에 프리 파스칼과 관련하여 데이터 유형에 대해 언급 된 내용은 라자루스에도 적용됩니다.

따라서 프리 파스칼 정수 데이터 유형은 표 13.1에 나열되어 있습니다.

표 13.1. 프리 파스칼 (Lazarus) 정수 데이터 유형.

유형 크기, 바이트 값의 범위
바이트 1 0…255
Shortint 1 -128…127
Smallint 2 -35768…32767
워드 2 0…65535
정수 2 또는 4 컴파일 모드에 따라 다름
추기경 4 0…4294967295
Longint 4 -2147483648…2147483647
롱 워드 4 0...4294967295
Int64 8 -9223372036854775808...9223372036854775807
QWord 8 0...18446744073709551615

노트
프리 파스칼에서 유형 Int64QWord 아닙니다! 이는 예를 들어 루프의 인덱스 변수에 사용할 수 없음을 의미합니다. 그러나 앞으로 따로 설명하지 않고 프리 파스칼의 모든 정수 유형을 한곳에 모으기 위해 여기로 가져 왔습니다. 어떤 단어를 이해하지 못하더라도 놀라지 마십시오. 때가되면 모든 것에 대해 더 많이 알려 드리겠습니다.

이제 테이블에 대한 몇 가지 설명이 있습니다.

콜럼에서 유형 데이터 유형의 식별자가 제공됩니다 (컴파일러에게이 데이터 또는 해당 데이터가 속하는 유형을 나타내는 키워드). 다음 단원에서 이러한 식별자를 사용하는 방법을 배웁니다.

콜럼에서 크기 데이터 유형이 컴퓨터 메모리에서 차지하는 크기를 나타냅니다. 예를 들어, 양의 정수는 다른 유형으로 표시 될 수 있습니다. 바이트, 워드, 추기경 등. 그러나 같은 숫자 추기경 메모리에서 4 바이트를 차지하지만 다음과 같은 숫자는 바이트 -단 1 바이트. 따라서 작업중인 숫자가 255보다 큰 값을 갖지 않는다는 것을 확실히 알고 있다면이를 유형으로 정의하는 것이 좋습니다. 바이트, 이렇게하면 컴퓨터 메모리 공간이 절약됩니다. 여기서 모든 것이 그렇게 간단하지는 않지만 (메모리 및 기타 컴퓨터 리소스 할당의 뉘앙스는 범위를 벗어납니다).

콜럼에서 범위 데이터 유형이 작동하는 값의 범위가 지정됩니다. 예를 들어, 다음과 같은 숫자 바이트 0에서 255까지의 값을 취할 수 있습니다.

이제 연습하세요. 모든 정수 데이터 유형의 값 범위를 표시하는 프로그램을 작성해 보겠습니다. 이 프로그램의 소스 코드는 다음과 같습니다.

목록 13.1. 정수 범위를 표시하는 프로그램입니다. 프로그램 td; ($ 모드 objfpc) ($ H +)는 ($ IFDEF UNIX) ($ IFDEF UseCThreads) cthreads, ($ ENDIF) ($ ENDIF) 클래스를 사용합니다 (이 다음에 단위를 추가 할 수 있음); begin Writeln ( "바이트 :", 낮음 (바이트), "..", 높음 (바이트)); Writeln ( "Shortint :", Low (Shortint), "..", High (Shortint)); Writeln ( "Smallint :", Low (Smallint), "..", High (Smallint)); Writeln ( "단어 :", 낮음 (단어), "..", 높음 (단어)); Writeln ( "Integer :", Low (정수), "..", High (Integer)); Writeln ( "Cardinal :", Low (Cardinal), "..", High (Cardinal)); Writeln ( "Longint :", Low (Longint), "..", High (Longint)); Writeln ( "Longword :", Low (Longword), "..", High (Longword)); Writeln ( "Int64 :", 낮음 (Int64), "..", 높음 (Int64)); Writeln ( "QWord :", 낮음 (QWord), "..", 높음 (QWord)); Readln; 종료.

표준 기능 낮은 데이터 유형의 최소값을 정의합니다. Funckia 높은 최대 값을 정의합니다. 기능으로 WriteLnReadLn 당신은 이미 조금 익숙합니다. 해당 섹션에서 서브 루틴 (프로 시저 및 기능)에 대해 자세히 설명합니다.

마지막으로 프로그램에서 정수 데이터를 작성하는 방법을 알려 드리겠습니다. 다른 모든 곳과 마찬가지로 따옴표와 추가 문자없이 숫자 만 입력하세요. 예를 들어

10
178
35278

사실, 이것은 십진 표기법의 숫자에 적용됩니다. 다른 시스템이 있다는 것을 이미 알고있을 것입니다. 가장 널리 사용되는 것은 2 진수, 10 진수 및 16 진수 시스템입니다.

프리 파스칼은 다음 네 가지 정수 표기법 형식을 지원합니다.

  1. 십진 표기법... 10과 같은 숫자입니다.
  2. 16 진수 표기법... $ 접두사가 붙은 숫자. 예를 들어, 16 진수 $ 10은 10 진수 16과 같습니다.
  3. 8 진법... &로 시작하는 숫자. 예를 들어 8 진수와 10은 10 진수 8과 같습니다.
  4. 이진 표기법... %로 시작하는 숫자. 예를 들어, 이진수 % 10은 10 진수 2와 같습니다.

숙제:

정수 값의 범위를 표시하는 프로그램을 만듭니다 (Listing 13.1). 프로그램을 컴파일하고 실행하십시오. 이 값이 표 13.1에 표시된 값과 일치하는지 확인하십시오.

프로그램의 소스 코드에서 컴파일 모드를 설정하는 줄을 찾습니다.

($ 모드 objfpc) ($ H +)

이 줄에서 단어 대신 objfpc 단어를 쓰다 tp... 즉, 결과 줄은 다음과 같아야합니다.

($ 모드 tp) ($ H +)

프로그램을 실행하십시오. 값의 범위를 살펴보십시오. 정수... 결론을 짓다.

논리적으로 프로그래머처럼 생각하는 법을 배우십시오. 지금처럼 은퇴 할 때까지 아무도 모든 것을 씹지 않을 것입니다. 스스로 생각하는 데 익숙해 져야합니다. 그렇지 않으면 "원숭이 학습 원리"에 빠져서 훌륭한 프로그래머가 될 가능성이 0에 가까워 질 것입니다. 당신이 "크 래밍"수준을 유지하도록 돕기 위해, 나는 당신이 스스로 무언가를 알아 내도록 노력할 수 있도록 당신의 훈련에 주기적으로 간격을 둘 것입니다.

스스로 생각하면 훨씬 낫다 잘못된 결정, 당신은 항상 다른 사람들의 올바른 해결책을 사용하고 어리석게 복사하는 것보다 오류를 발견하고 스스로 수정할 것입니다.

3.2. Turbo Pascal 7의 간단한 데이터 유형

단순 유형은 정렬 된 매개 변수 값 세트를 정의합니다. Turbo Pascal에는 다음과 같은 단순 유형 그룹이 있습니다.

  • 정수 유형;
  • 부울 유형;
  • 문자 유형;
  • 열거 형;
  • 범위 유형;
  • 실제 유형.

실제 유형을 제외한 모든 단순 유형을 서수 유형이라고합니다. 서수 유형의 값에 대해 Dec, Inc, Ord, Pred, Succ (13.1 절 참조)와 같은 표준 절차 및 함수가 정의됩니다.

3.2.1. 정수 유형

단일 정수 유형이 정의 된 Pascal과 달리 Turbo Pascal에는 Shortint, Integer, Longint, Byte, Word의 5 가지 표준 정수 유형이 있습니다. 이러한 유형의 특성은 표에 나와 있습니다. 2.

표 2. 정수 데이터 유형

유형 범위 체재 크기 (바이트)
Shortint -128 .. 127 상의 1
정수 -32768 .. 32767 상의 2
Longint -2147483648 .. 2147483647 상의 4
바이트 0 .. 255 서명되지 않음 1
워드 0 .. 65535 서명되지 않음 2

3.2.2. 부울 유형

표준 부울 유형 (크기-1 바이트)은 데이터 유형이며 모든 요소는 True와 False의 두 값만 가질 수 있습니다. 이 경우 다음 조건이 참입니다.
False Ord (False) \u003d 0
Ord (True) \u003d 1
Succ (False) \u003d True
Pred (True) \u003d False

Turbo Pascal 7.0은 세 가지 논리 유형 ByteBool (크기-1 바이트), WordBool (크기-2 바이트) 및 LongBool (크기-4 바이트)을 추가합니다. 다른 프로그래밍 언어 및 Windows 환경과의 통합을 위해 도입되었습니다. True 값에 해당하는이 유형의 매개 변수 실제 값에서 표준 부울 유형과 다릅니다. 모든 부울 유형의 경우 False 값은 해당 바이트 수로 작성된 숫자 0에 해당합니다. 부울 유형의 경우 True 값은 해당 바이트에 기록 된 숫자 1에 해당하고 다른 유형의 경우 True 값은 0이 아닌 숫자에 해당합니다 (이 경우 Ord 함수는 값 1을 제공함).

3.2.3. 문자 유형

표준 문자 유형 Char는 완전한 ASCII 문자 세트를 정의합니다. Char 유형 값의 Ord 함수는 해당 기호의 코드를 제공합니다. 기호 유형의 값은 코드로 비교됩니다.

3.2.4. 열거 형

열거 형은 표준이 아니며 매개 변수 값이 일치 할 수있는 식별자 집합에 의해 결정됩니다. 식별자 목록은 괄호 안에 표시되며 식별자는 쉼표로 구분됩니다.

유형
= ();)

첫 번째 식별자에는 시퀀스 번호 0, 두 번째 식별자 등이 할당되므로 유형을 정의 할 때 식별자가 나열되는 순서가 중요합니다. 하나의 열거 유형 정의에만 동일한 식별자를 사용할 수 있습니다. 열거 된 값의 Ord 함수는 값의 서수를 제공합니다.

예. 열거 형입니다.

유형 Operat \u003d (Plus, Minus, Mult, Divide);

부울 유형은 열거 유형의 특수한 경우입니다.

유형 Boolean \u003d (False, True);

3.2.5. 범위 유형

모든 서수 유형에서 경계 자체를 포함하여 이러한 경계 내에있는 원래 유형의 모든 값을 포함하는 최소 및 최대 값으로 결정된 값의 하위 집합을 선택할 수 있습니다. 이러한 하위 집합은 범위 유형을 정의합니다. 범위 유형은 두 개의 마침표로 구분 된 최소값과 최대 값을 지정하여 지정됩니다.

유형 \u003d. ... ;

이 유형을 정의 할 때 최소값은 최대 값을 초과하지 않아야합니다.

예. 범위 유형의 정의.

유형
다스 \u003d 1..12; (1에서 12까지의 숫자)
AddSub \u003d 플러스 .. 마이너스; (덧셈과 뺄셈의 연산)

3.2.6. 실제 유형

실제 유형이 하나만 정의 된 Pascal 표준과 달리 Real, Turbo Pascal에는 Real, Single, Double, Extended, Comp의 5 가지 표준 실제 유형이 있습니다. 이러한 유형의 특성은 표를 참조하십시오. 3. 표 3. 실제 데이터 유형

유형 범위 유효 자릿수 크기 (바이트)
레알 2.9*10-39..1.7*1038 11-12 6
단일 1.5*10-45..3.4*1038 7-8 4
더블 5.0*10-324.-1.7*10308 15-16 8
펼친 3.4*10-4932..1.1*104932 19-20 10
Comp -263+1..263-1 19-20 8

Comp는 실제로 확장 범위 정수 유형이지만 서수로 간주되지 않습니다.

Single, Double, Extended 및 Comp 유형은 산술 보조 프로세서가 있거나 보조 프로세서 에뮬레이터가 활성화 된 경우에만 프로그램에서 사용할 수 있습니다 (17.5.8 및 17.7.1 섹션 참조).

이 공유