파스칼 예제를 입력하세요. 개요: Pascal의 데이터 유형

기계가 입력 데이터를 처리하려면 값이 저장된 변수가 어떤 유형에 속하는지 "이해"해야 합니다. 데이터 형식에 대한 정보가 없으면 컴퓨터는 특정 경우에 이 작업 또는 저 작업이 허용되는지 여부를 결정할 수 없습니다. 예를 들어 문자를 거듭제곱하거나 가져오는 것이 불가능하다는 것이 직관적으로 분명합니다. 문자열의 적분. 따라서 사용자는 각 변수를 사용하여 수행할 수 있는 작업을 결정해야 합니다.

다른 고급 프로그래밍 언어와 마찬가지로 Pascal의 변수 유형은 다양한 유형의 작업을 수행하도록 최적화되어 있으며 값 범위와 바이트 길이가 다릅니다.

변수 유형의 세분화

파스칼의 변수 유형은 단순형과 구조형으로 구분됩니다. 단순 유형에는 실수 유형과 순서 유형이 포함됩니다. 구조화된 것에는 배열, 레코드, 세트 및 파일이 포함됩니다. 별도로 포인터, 객체 및 절차 유형이 구별됩니다.

순서형과 실수형을 살펴보겠습니다. 순서형에는 정수형, 열거형, 범위형 5가지가 있습니다.

서수 유형

바이트 길이와 값 범위가 다른 5가지 정수 유형이 있습니다.

Byte와 ShortInt의 길이는 1바이트입니다. 차이점은 Byte는 음수가 아닌 값만 저장하는 반면 ShortInt는 음수 값(-128에서 +127까지)을 저장할 수 있다는 것입니다. Word 및 Integer 유형은 비슷한 방식으로 서로 관련되며 유일한 차이점은 크기가 2바이트라는 점입니다.

마지막으로 LongInt를 사용하면 0의 양쪽에 있는 숫자 차원의 16제곱인 4바이트를 사용하여 음수 값과 양수 값을 모두 저장할 수 있습니다. Pascal의 다양한 유형의 변수는 사용자 작업의 효율적인 솔루션에 기여합니다. 각각의 특정 경우에 크고 작은 값 범위가 모두 필요할 수 있고 할당된 메모리 양에 제한이 있을 수도 있기 때문입니다.

0은 다른 숫자만큼 많은 메모리 공간을 차지한다는 점을 이해하는 것이 중요합니다. 따라서 값 범위를 형성할 때 절대값의 최소 음수는 양수보다 1이 더 큽니다(예: -128에서 +127).

에 속하는 변수는 TRUE(true) 또는 FALSE(false) 값을 가질 수 있으며 1바이트의 메모리가 필요합니다.

CHAR 유형을 사용하면 컴퓨터 메모리에 존재하는 많은 문자를 저장할 수 있습니다. 동시에 Pascal의 기호 변수에는 기호 코드만 실제로 저장되며 그에 따라 그래픽 형식이 표시됩니다.

실제 유형

파스칼의 변수 유형 중에는 분수 부분을 쓸 수 있는 숫자형 변수가 여러 개 있습니다. Single, Real, Double 및 Extended 유형의 차이점은 허용되는 값의 범위, 소수점 이하 유효 자릿수 및 바이트 크기에 따라 다릅니다.

위에 제시된 순서에 따라 각 유형의 변수는 4, 6, 8 또는 10바이트를 차지합니다.

배열

구조화된 데이터 유형은 복잡하며 단일 변수 내에서 여러 개의 간단한 값을 결합할 수 있습니다. 대표적인 예는 다음과 같이 정의할 수 있는 배열입니다.

문자열=문자 배열;

따라서 우리는 최대 100자 길이의 변수를 정의할 수 있는 String이라는 유형을 얻었습니다. 마지막 줄은 직접 제공됩니다 1차원 배열 Y는 문자열 유형입니다. 파스칼의 변수는 등호 뒤 왼쪽에 식별자를 배치하고 오른쪽에 변수 값을 배치하여 설명합니다.

에 작성된 인덱스 범위를 사용하면 배열의 각 특정 요소에 액세스할 수 있습니다.

이 경우 이전에 생성된 배열 Y의 두 번째 요소를 읽습니다.

파스칼의 문자열 변수는 1차원 배열의 특별한 경우이기도 합니다. 문자열은 문자의 시퀀스, 즉 char 유형의 요소이기 때문입니다.

게시물

레코드는 파일을 제외한 모든 유형의 데이터로 채워진 여러 필드로 구성됩니다. 일반적으로 이 유형의 변수는 데이터베이스 요소와 유사합니다. 예를 들어, 사람의 이름과 전화번호를 입력할 수 있습니다.

유형 NTel = 녹음

왼쪽의 첫 번째 줄은 유형의 이름을 나타내고 오른쪽은 서비스 단어 레코드를 나타냅니다. 두 번째 줄에는 이름이 포함된 필드가 있고, 세 번째 줄에는 전화번호가 포함되어 있습니다. “끝”이라는 단어는 원하는 필드를 모두 입력했다는 의미이며, 이로써 레코드 생성 과정이 완료되었습니다.

마지막으로 마지막 줄에서는 NTel 유형의 변수 One을 정의합니다.

레코드 전체와 개별 구성요소에 모두 액세스할 수 있습니다(예: one.NAME(예: 변수 이름. 레코드_필드_이름)).

파일

Pascal을 사용하면 동일한 유형을 가진 구성 요소의 구조화된 시퀀스인 텍스트, 유형이 있는 파일 및 유형이 없는 파일로 작업할 수 있습니다.

파일을 읽거나 쓸 때 전체 주소나 짧은 형식을 사용할 수 있습니다.

'C:\폴더\File2.txt'

짧은 형식은 해당 파일에 액세스하는 프로그램이 저장된 폴더에 파일이 배치될 때 사용됩니다. 어떤 상황에서도 전체 형태를 사용할 수 있습니다.

다음과 같이 파일 유형 변수를 설정할 수 있습니다.

f1: 정수 파일;

파일 작업을 위해 변수를 디스크의 파일과 연결하고, 읽기, 쓰기 및 덮어쓰기를 위해 열고, 완료되면 닫고, 새 이름을 만들고 컴퓨터에서 파일을 삭제할 수 있는 다양한 기능과 프로시저가 사용됩니다.

마지막으로

Pascal에서 다양한 유형의 변수를 사용할 수 없으면 사용자는 가장 간단한 작업도 구현할 수 없습니다. 프로그램이 오류 없이 알고리즘을 실행하려면 기능어와 구문을 모두 학습해야 합니다. 왜냐하면 기계는 명령이 올바른 방식으로만 작성되어야만 명령을 "이해"할 수 있기 때문입니다.

수학에서 가장 흔히 볼 수 있는 숫자 유형- 이것 전체무한한 수의 이산 값을 나타내는 숫자 유효한값의 무한한 연속성을 나타내는 숫자입니다.

파스칼의 숫자 데이터 유형(정수)에 대한 설명

동일한 언어 내에서 정수 집합의 다양한 하위 집합을 구현할 수 있습니다. 정수 숫자 유형의 가능한 값 범위는 내부 표현(1바이트, 2바이트 또는 4바이트)에 따라 다릅니다. 따라서 Pascal 7.0에서는 다음과 같은 정수 숫자 데이터 유형이 사용됩니다.

전체로 숫자 데이터 유형 Pascal은 다음 작업을 수행할 수 있습니다.

  • 산수:
    추가(+);
    빼기(-);
    곱셈(*);
    나눗셈의 나머지 부분(mod);
    지수화;
    단항 더하기(+);
    단항 마이너스(-).
  • 관계 작업:
    동등 관계(=);
    불평등 관계 (<>);
    비율이 적습니다 (<);
    보다 큰 비율(>);
    관계는 다음보다 작지 않습니다(>=);
    태도는 더 이상 (<=).

함께 연기할 때 정수 숫자 데이터 유형결과의 유형은 피연산자의 유형에 해당하고, 피연산자가 서로 다른 정수 유형인 경우 최대 거듭제곱(값의 최대 범위)을 갖는 피연산자의 유형에 해당합니다. 결과의 오버플로 가능성은 어떤 방식으로도 제어되지 않습니다. (그건 중요해!) , 이로 인해 오류가 발생할 수 있습니다.

정수 숫자 데이터 유형의 나누기 연산에 특별한 주의를 기울여야 합니다. 파스칼은 두 가지 나눗셈 연산을 허용합니다. "/" 그리고 div. "/" 나눗셈의 결과는 정수가 아닌 것을 알아야 합니다. 실수(8을 2로 나눈 경우에도 마찬가지입니다. 즉, 8/2=4.0). 디비전 div는 정수 나누기, 즉. 결과 유형은 정수입니다.

파스칼의 숫자 데이터 유형(실수)에 대한 설명

실수 데이터 유형은 고정된 자릿수를 사용하여 소위 부동 소수점 형식으로 표시할 수 있는 실수의 하위 집합을 나타냅니다. 부동 소수점을 사용하면 각 숫자 데이터 유형이 두 개의 숫자 그룹으로 표시됩니다. 숫자의 첫 번째 그룹을 가수라고 하고 두 번째 그룹을 지수라고 합니다. 일반적으로 부동 소수점 형식의 숫자 데이터 유형은 다음과 같이 표현될 수 있습니다. X= (+|-)MP (+ | -) r, 여기서 M은 숫자의 가수입니다. r – 숫자 순서(r – 정수); P – 숫자 체계의 기본. 예를 들어, 십진수의 경우 표현 2E-1(여기서 E는 십진수 체계의 밑임)은 다음과 같습니다: 2*10 -1 =0.2, 표현 1.234E5는 다음과 같습니다: 1.234*10 5 =123400.0.

파스칼은 실수의 내부 형식에 따라 어느 정도 유한 정밀도로만 임의의 숫자를 정의하는 다음 유형의 실수를 사용합니다.

real 유형의 실수 변수를 기술할 때 컴퓨터 메모리에는 4바이트의 변수가 생성됩니다. 이 경우 가수에는 3바이트, 순서에는 1바이트가 제공됩니다.

실수 숫자 데이터 유형에 대해 다음 작업을 수행할 수 있습니다.

  • 산수:
    추가(+);
    빼기(-);
    곱셈(*);
    분할(/);
    지수화;
    단항 더하기(+);
    단항 마이너스(-).
  • 관계 작업:
    불평등 관계 (<>);
    비율이 적습니다 (<);
    보다 큰 비율(>);
    관계는 다음보다 작지 않습니다(>=);
    태도는 더 이상 (<=).

보시다시피 Pascal은 다양한 실수 유형이 특징이지만 숫자 데이터 유형에 대한 액세스가 가능합니다. 하나의, 더블그리고 펼친특수 컴파일 모드에서만 가능합니다. 이러한 숫자 데이터 유형은 부동 소수점 연산에 대한 하드웨어 지원을 위해 설계되었으며 이를 효과적으로 사용하려면 PC에 수학 보조 프로세서가 포함되어 있어야 합니다.

숫자 데이터 유형은 파스칼에서 특별한 위치를 차지합니다. 광고, 지수 및 분수 부분 없이 실수로 처리됩니다. 실제로, 광고 19~20개의 유효 십진수를 유지하는 "큰" 부호 있는 정수입니다. 동시에, 숫자 데이터 유형 광고표현식에서는 다른 실제 유형과 완전히 호환됩니다. 모든 실제 연산이 여기에 정의되어 있으며 수학 함수 등에 대한 인수로 사용할 수 있습니다.

Pascal의 숫자 데이터 유형 변환 정보

파스칼에서는 숫자 데이터 유형의 암시적(자동) 변환이 거의 불가능합니다. 유형에 대해서만 예외가 적용됩니다. 정수, 다음과 같은 표현에 사용할 수 있습니다. 진짜. 예를 들어 변수가 다음과 같이 선언된 경우:

변수 X: 정수; Y: 진짜;

저 사람이 운영자야

대입 부호 오른쪽에 정수 표현식이 있고 왼쪽에 실수 변수가 있더라도 컴파일러는 자동으로 숫자 데이터 유형을 변환합니다. 역변환은 자동으로 다음을 입력합니다. 진짜유형에 정수파스칼에서는 불가능합니다. 유형 변수에 할당된 바이트 수를 기억해 봅시다. 정수그리고 진짜: 아래에 정수형데이터 정수 2바이트의 메모리가 할당되고 실제 메모리는 6바이트입니다. 변환하다 진짜 V 정수두 가지 내장 함수가 있습니다: 둥근(x) 실수 x를 가장 가까운 정수로 반올림합니다. 잘라내다(x)는 소수 부분을 버려 실수를 자릅니다.

프로그램의 가장 중요한 요소는 변수입니다. 이는 프로그램이 실행되는 동안 프로그램의 이벤트 과정에 영향을 미칩니다. 예를 들어, 에서 Name 변수의 값을 지정하지 않은 경우 프로그램의 인사말 출력은 누구에게 전달됩니까?

변수에는 완전히 다른 데이터가 포함될 수 있습니다. 예를 들어, 한 변수는 사람의 이름을 저장하고, 다른 변수는 생년월일을 저장하고, 세 번째 변수는 키 등을 저장할 수 있습니다. 이러한 다양한 데이터는 컴퓨터에 의해 다양한 방식으로 표현됩니다. 이름은 문자열이고, 생년월일은 정수, 키는 실수입니다(예: 키는 1.72m).

컴퓨터가 데이터를 표현하는 방식은 컴퓨터에 따라 결정됩니다. 유형. 또한 데이터 유형에 따라 해당 데이터에 대해 수행할 수 있는 작업이 결정됩니다.

터보 파스칼 언어의 주요 표준 데이터 유형은 다음과 같습니다.

  1. 정수– –32768부터 32767까지의 범위에 있는 정수 데이터로, 메모리에서 2바이트를 차지합니다.
  2. 진짜– 2.9'10 -39 (2.9E-39) ~ 1.7'10 38 (1.7E38) 범위의 실수는 6바이트를 차지합니다.
  3. – 별도의 문자, 1바이트;
  4. – 문자열, 한 줄의 문자 수(문자열 길이)는 대괄호 안의 숫자 N으로 제한되며 N+1 바이트를 차지합니다(숫자 N이 지정되지 않은 경우 줄의 최대 길이는 다음과 같습니다). 255자);
  5. 부울– 논리 유형에는 FALSE(false) 및 TRUE(true), 1바이트의 두 가지 값이 있습니다.

INTEGER, CHAR 및 BOOLEAN 유형은 다음과 같이 분류됩니다. 서수 서수형.

아마 기억하시겠지만, 변수를 설명할 때 이름 뒤에 콜론을 붙인 다음 유형을 표시합니다. 여러 변수의 유형이 동일한 경우 해당 이름을 쉼표로 구분할 수 있습니다.

다양한 유형의 변수를 설명하는 예:

델파이/파스칼

var a, b, c: 정수; 합계: 실제; 알파, 베타: 문자; S:문자열; S_1: 문자열; t: 부울;

a, b, c: 정수;

합계: 실제;

알파, 베타: 문자;

S: 문자열[25];

S_1: 문자열;

t: 부울;

변수 S_1은 문자열이지만 해당 선언에서는 길이를 지정하지 않습니다. 이 경우 컴파일러 자체는 가능한 최대 길이를 255자로 설정합니다.

정수와 실수를 저장하기 위해 미리 정의된 다른 데이터 유형이 있습니다. 그 특성은 아래 표에 나와 있습니다. 이러한 유형을 표에 표시된 INTEGER 및 REAL 유형과 비교하십시오.

범위

크기(바이트)

단축어
정수
롱인트

2147483648 .. 2147483647

바이트
단어

실제 데이터 유형

범위

유효 숫자의 수

크기(바이트)

진짜

2.9'10 -39 .. 1.7'10 3 8

하나의

1.5'10 – 45 .. 3.4'10 3 8

더블

5.0'10 -3 24 .. 1.7'10 3 08

펼친

3.4'10 -4932 .. 1.1'10 49 32

COMP

2 63 +1 .. 2 63 -1

사용할 데이터 유형

종류가 너무 많아서 어떤 것을 사용해야 할까요?
이는 귀하에게 할당된 작업에 따라 다릅니다. 예를 들어 특정 사람의 키(실제 값)를 저장할 변수가 필요합니다. 이 경우 SINGLE 유형을 사용하면 충분합니다. 특정 개체의 수(양의 정수 값)를 계산하기 위해 일부 변수를 사용하는 경우 이 숫자가 255보다 클 수 있는지 확인하고, 그렇지 않은 경우 BYTE를 사용하고, 가능하다면 WORD 없이는 할 수 없으며 일부에서는 경우에는 LONGINT가 필요할 수도 있습니다.

다양한 유형에 대해 자세히 알아보려면 터보 파스칼에서 Shift+F1을 누른 다음(도움말 색인 창이 나타남) 관심 있는 개체를 선택합니다(예: 'type' 또는 'real' 입력).

모든 데이터(상수, 변수, 함수 값)는 파스칼에서 데이터 유형으로 특성화됩니다.

개념을 정의해보자 데이터 형식. 이미 알려진 바와 같이 모든 프로그램 객체(변수, 상수 등)는 기술되어야 한다.

설명은 번역자에게 먼저 사용된 변수 및 기타 객체의 존재에 대해 알려주고, 두 번째로 이러한 객체의 속성을 나타냅니다. 예를 들어, 값이 숫자인 변수에 대한 설명은 숫자의 속성을 나타냅니다. 공식적으로 숫자는 정수 및 실수(소수)일 수 있습니다. 파스칼에서는 다른 프로그래밍 언어와 마찬가지로 숫자도 두 가지 유형으로 나뉩니다. 전체(예약어 정수) 및 진짜(예약어 진짜).

정수를 별도의 유형으로 분리하는 것은 컴퓨터에서 정수와 실수가 다르게 표현된다는 사실로 설명됩니다. 정수는 절대적으로 정확하게 표현될 수 있지만 실수에는 필연적으로 속성에 의해 결정되는 유한한 오류가 있습니다. 번역가의.

예를 들어, 변수 x가 실수 유형이고 해당 값이 1인 x=1이라고 가정합니다. 컴퓨터 메모리의 해당 값은 0.999999999, 1.000000001 또는 1.000000000일 수 있습니다. 그러나 변수 x를 정수형 변수로 선언하면 컴퓨터의 단위는 절대적으로 정확하게 표현되고 변수 x는 실수(분수) 값을 취할 수 없게 됩니다. 결국 다음과 같이 설명되었습니다. 정수형 변수.

따라서 데이터 유형은 다음을 정의합니다.

  • 컴퓨터 메모리의 데이터 내부 표현;
  • 이 유형의 양이 취할 수 있는 값 세트;
  • 이 유형의 값에 대해 수행할 수 있는 작업입니다.

데이터 타입의 도입은 파스칼 언어의 기본 개념 중 하나로, 표현식의 값에 변수를 할당하는 연산을 수행할 때 변수와 표현식의 타입이 같아야 한다는 것이다. 이 검사는 컴파일러에 의해 수행되므로 오류 검색이 크게 단순화되고 프로그램 신뢰성이 향상됩니다.

터보 파스칼 언어의 다양한 데이터 유형은 두 그룹으로 나눌 수 있습니다.

  • 표준(미리 정의된) 유형 ;
  • 사용자 정의 유형(사용자 정의 유형) .

표준 터보 파스칼 유형은 다음과 같습니다.

  • 정수형 – 정수;
  • 실제 유형 - 실제;
  • 문자 유형 – char;
  • 부울 유형 - 부울;
  • 문자열 유형 - 문자열;
  • 포인터 유형 – 포인터;
  • 텍스트 유형 - 텍스트 .

사용자 정의 데이터 유형은 표준 유형의 다양한 조합입니다.

사용자 정의 유형에는 다음이 포함됩니다.

  • 열거형;
  • 간격 유형;
  • 포인터 유형;
  • 구조화된 유형;
  • 절차적 유형.

논평. 데이터 유형의 또 다른 분류가 가능하며, 유형에 따라 단순 유형과 복합 유형으로 구분됩니다.

단순 유형에는 정수 유형, 실수 유형, 문자 유형, 논리 유형, 열거 유형 및 간격 유형이 포함됩니다.

복합형은 다양한 조합을 나타냅니다. 단순 유형(배열, 레코드, 세트, ​​파일 등)

표준형

표준 데이터 유형은 Pascal 언어 자체에 의해 정의됩니다. 프로그램에서 표준 유형을 사용할 때 필요한 유형(const, var)의 하위 섹션을 표시한 다음 프로그램에 사용되는 상수와 변수를 설명하는 것으로 충분합니다. 유형 하위 섹션을 사용할 필요가 없습니다.

예를 들어, 프로그램이 변수만 사용하는 경우:

i,j – 정수(정수);

x,y - 실수(실수);

t,s - char(문자);

a,b – 부울(논리),

그러면 변수의 하위 섹션(Var)만 필요합니다. 따라서 프로그램의 설명 부분에서는 변수 선언을 다음과 같이 작성합니다.

정수 유형

이 유형의 데이터는 정수 값만 허용합니다. 컴퓨터에서는 정수형의 값이 절대적으로 정확하게 표현됩니다. 변수가 음수이면 앞에 "-" 기호가 와야 하며, 변수가 양수이면 "+" 기호를 생략할 수 있습니다. 이 유형은 일부 수량을 대략적으로 실수로 표현할 수 없는 경우에 필요합니다. 예를 들어 사람, 동물 등의 수입니다.

정수 값 쓰기의 예: 17, 0, 44789, -4, -127.

정수 유형의 데이터 변형 범위는 다섯 가지 표준 정수 유형에 의해 결정되며 표에 나와 있습니다.

유형 범위 크기(바이트)
Shortint -128...+128 1
정수 -32768...32767 2
롱린트 -2147483648...2147483647 4
바이트 0...255 1
단어 0...65535 2

마지막 두 유형은 양수만 나타내고 처음 세 개는 양수와 음수를 모두 나타냅니다.

프로그램의 텍스트나 정수형의 데이터를 입력할 때 값이 기록됩니다. 소수점 없이 . 실제 변수 값 허용되는 값을 초과해서는 안 됩니다. 변수를 설명하는 데 사용된 유형(Shortint, Integer, Longint, Byte, Word). 계산 중 발생할 수 있는 초과는 어떤 방식으로도 제어되지 않으며 이로 인해 프로그램이 잘못 작동하게 됩니다.

정수 변수를 사용하는 예

변수 a:정수; b:단어; c:바이트; 시작:=300; (a는 300으로 설정됨) b:=300; (b는 300으로 설정) c:=200; (c는 200으로 설정됨) a:=b+c; (a는 500으로 설정됨) c:=b; (오류! 변수 c는 255의 값만 가질 수 있습니다. 여기서 변수 c는 500으로 설정되어 결과가 오버플로됩니다.) 끝.

실제 유형

실제 유형의 값은 대략 컴퓨터에 표현됩니다. 실수 유형 데이터의 변형 범위는 실수(Real), 단정밀도(Single), 배정밀도(Double), 확장 정밀도(Extended), 복소수(Comp)의 5가지 표준 유형에 의해 결정되며 표에 나와 있습니다.

유형 범위 유효 숫자의 수 크기(바이트)
진짜 2.9E-39...1.7E+38 11-12 6
하나의 1.5E-45...3.4E+38 >7-8 4
더블 5E-324...1.7E+308 15-16 8
펼친 3.4E-4951...1.1E+4932 19-20 10
광고 -2E+63+1...+2E+63-1 19-20 8

실수는 고정소수점과 부동소수의 두 가지 형식으로 표현될 수 있습니다.

고정 소수점 숫자를 쓰는 형식은 일반 수학 표기법과 동일합니다. 십진수분수 부분으로. 소수 부분은 점을 사용하여 전체 부분과 구분됩니다. 예를 들어

34.5, -4.0, 77.001, 100.56

부동 소수점 표기 형식은 매우 크거나 작은 숫자를 쓸 때 사용됩니다. 이 형식에서는 "E" 앞의 숫자에 "E" 뒤의 숫자 10을 곱합니다.

1E-4 1*10-4
3.4574E+3 3.4574*10+3
4.51E+1 4.51*10+1

부동 소수점 숫자의 예:

숫자 파스칼로 녹음하기
0,0001 1E-4
3457,4 34574E-1
45,1 451E-1
40000 4E+4
124 0.124E+3
124 1.24E+2
124 12.4E+1
124 1240E-1
124 12400E-2

5~9줄의 표에는 동일한 숫자 124의 기록이 표시됩니다. 가수의 소수점 위치를 변경함으로써("부동 소수점"이라는 점, 따라서 "부동 소수점 숫자 기록"이라는 이름) 동시에 순서 값을 변경하면 가장 적합한 녹음 번호를 선택할 수 있습니다.

실수형 변수를 기술하는 예.

문자 유형

문자 유형 값은 컴퓨터 키보드로 입력할 수 있는 문자입니다. 이를 통해 프로그램에 텍스트를 표시하고 개별 문자 및 단어 삽입, 삭제, 형식 지정 등 다양한 작업을 수행할 수 있습니다.

문자 유형은 예약어 Char로 지정되며 단일 문자를 저장하도록 설계되었습니다. 문자 데이터는 메모리에서 1바이트를 차지합니다.

기호 변수 선언 형식:

<имя переменной>: 문자;

문자 변수의 값을 정의할 때 문자는 어포스트로피로 작성됩니다. 또한 필요한 기호를 직접 지정하여 설정할 수도 있습니다. 수치 ASCII 코드. 이 경우 필수 문자의 ASCII 코드를 나타내는 숫자 앞에 # 기호를 붙여야 합니다.

문자 유형 변수를 사용하는 예:

Var c:문자; (c는 문자형 변수) Begin c:='A'; (변수 c에는 문자 'A'가 할당됩니다.) c:=#65; (변수 c에도 문자 A가 할당됩니다. ASCII 코드는 65입니다.) c:='5'; (변수 c에는 기호 5, End가 할당됩니다. 여기서 5는 더 이상 숫자가 아닙니다.)

부울 유형

논리 데이터 유형은 수학 분야, 즉 수학적 논리의 창시자인 영국 수학자 George Boole의 이름을 따서 부울(Boolean)이라고 불립니다.

부울 유형 변수 선언 형식:

<имя переменной>: 부울;

이 유형의 데이터는 다음 두 가지 값만 사용할 수 있습니다.

  • 진짜 진짜;
  • 거짓은 거짓말입니다.

논리적 데이터는 특정 조건의 유효성을 확인하고 수량을 비교하는 데 널리 사용됩니다. 결과는 참일 수도 있고 거짓일 수도 있습니다.

데이터를 비교하기 위해 다음과 같은 관계 연산이 제공됩니다.

관계 연산 사용의 예:

관계 5>3, 결과는 true입니다.

관계 5=3, 결과는 거짓입니다.

Boolean 유형의 변수를 사용하는 예입니다.

Var a,b:부울; (a,b는 논리 유형의 변수입니다.) Begin a:=True; (변수 a에는 "true" 값이 할당됨) b:=false; (변수 b는 false로 설정됨) 종료됩니다.

상수

정수, 실수, 문자, 문자열, 논리 상수를 상수로 사용할 수 있습니다.

상수는 설명 부분에서 예약어 const를 사용하여 선언해야 합니다.

상수 선언 형식

상수<имя константы>= <значение>;

프로그램이 여러 상수를 사용하는 경우 하나만 허용됩니다. 예어 Const , 각 상수에 대한 설명은 세미콜론으로 끝납니다. 상수 블록은 다른 섹션의 선언이나 실행 가능한 명령문 블록의 선언으로 끝납니다.

Const(상수 섹션 선언) year=2003; (레코드에 소수점이 없기 때문에 정수형 상수) time=14.05; (실수형 상수) N=24; (표기법에 소수점이 없기 때문에 정수형 상수) P=3.14; (실수형 상수) A=true; (부울 상수) str1='7'; (문자형 상수) str2='A'; (문자형 상수) str3='터보'; (문자열형 상수) Var (변수섹션 선언) X,y:integer; (정수형 변수)

맞춤 유형

사용자 유형 세트 중에서 우리는 다음만을 고려할 것입니다.

  • 열거형;
  • 간격 유형.

배열을 연구할 때 이 두 가지 유형이 필요합니다.

열거형

열거형 데이터 유형은 프로그래머가 값을 정의하는 새로운 데이터 유형을 설명합니다. 열거 유형은 수신할 수 있는 값의 열거로 지정됩니다. 각 값은 일부 식별자에 의해 이름이 지정되며 괄호로 묶인 목록에 있습니다. 열거형은 사용자 정의 데이터 유형이므로 해당 유형 선언은 예약어 TYPE으로 시작됩니다.

열거형 형식:

<имя типа>= (상수1, 상수2,..., 상수N);

어디
상수1 , 상수2 ,..., 상수N – 상수로 처리되는 식별자 값의 순서가 지정된 집합입니다.

열거된 유형 설명의 예:

유형 공=(1, 2, 3, 4, 5); var t:공;

여기서 ball은 열거된 유형의 이름입니다. 하나, 둘, 셋, 넷, 다섯 – 상수; t는 임의의 상수 값을 가질 수 있는 변수입니다.

열거형에서 상수는 식별자이므로 따옴표로 묶지 않으며 숫자가 될 수 없습니다. 따라서 열거형에서 상수는 다음과 같은 특별한 종류의 상수입니다.

  • 숫자 유형의 상수: 1, 2, 3, 4 등;
  • 문자 유형의 상수: "a", "s", "1", "3" 등;
  • 문자열 유형의 상수: "first", "second" 등

또한 이 유형의 값에는 산술 연산과 표준 입출력 프로시저 읽기 및 쓰기가 적용되지 않습니다.

열거형 변수를 사용하는 예:

요일 입력 = (월요일, 화요일, 수요일, 목요일, 금요일, 토요일, 일요일); Var 일: 일; day = 일요일이면 시작하고 writeln('오늘은 일요일입니다!'); 끝.

열거형 정의에 포함된 요소는 열거된 순서대로 정렬된 것으로 간주됩니다. 번호 매기기는 0부터 시작됩니다. 따라서 주어진 예에서 요일은 다음과 같은 일련 번호를 갖습니다.

프로그래밍 방식으로 서수를 확인하려면 Ord() 함수가 사용됩니다.

이 예에서는 시퀀스 번호가 동일합니다.

Ord(월요일) = 0;

Ord(토요일) = 5;

Ord(일요일) = 6.

간격 유형

변수가 해당 유형의 모든 값을 허용하지 않고 특정 범위에 포함된 값만 허용하는 경우 이 데이터 유형을 간격 유형이라고 합니다. 구간형은 제한형, 범위형으로 불리기도 합니다. 간격 유형은 해당 값의 경계로 정의됩니다.

<минимальное значение>..<максимальное значение>

  • 두 개의 ".." 문자는 하나의 문자로 처리되므로 그 사이에 공백이 허용되지 않습니다.
  • 범위의 왼쪽 테두리는 오른쪽 테두리를 초과해서는 안 됩니다.

간격 유형은 사용자 정의 데이터 유형이므로 이 유형의 선언은 다음으로 시작됩니다. 기능어유형.

간격 유형 설명의 예:

숫자 = 1..10; 월 = 1..31; lat = 'A'..'Z';

데이터 유형은 유효한 값 집합과 유효한 작업 집합을 정의합니다.

단순 유형.

단순 유형은 ORDINAL과 REAL로 구분됩니다.

1. 주문 유형 , 차례로 다음이 있습니다.

가) 전체

파스칼은 변수가 취하는 부호와 값에 따라 정의되는 5가지 정수 유형을 정의합니다.

이름을 입력하세요

길이(바이트)

값의 범위

32 768...+32 767

2 147 483 648...+2 147 483 647

b) 논리적

이 유형의 이름은 BOOLEAN입니다. 부울 값은 부울 상수인 TRUE(true) 또는 FALSE(false) 중 하나일 수 있습니다.

다) 상징적

이 유형의 이름은 CHAR - 1바이트를 차지합니다. 캐릭터 타입의 값은 모든 PC 캐릭터의 집합입니다. 각 문자에는 0~255 범위의 정수가 할당됩니다. 이 숫자는 기호의 내부 표현을 위한 코드 역할을 합니다.

2. 실제 유형 .

값이 항상 일련의 정수에 매핑되어 PC에서 절대적으로 정확하게 표시되는 서수 유형과 달리 실수 유형의 값은 실수의 내부 형식에 따라 어느 정도 유한 정밀도로만 임의의 숫자를 정의합니다. .

숫자 데이터 유형의 길이(바이트)

숫자 데이터 유형 이름

숫자 데이터 유형의 유효 자릿수

숫자 데이터 유형의 소수 순서 범위

2*1063 +1..+2*1063 -1

구조화된 유형

구조화된 데이터 유형은 순서가 지정된 스칼라 변수 컬렉션을 정의하고 해당 구성 요소의 유형으로 특징지어집니다.

구조화된 데이터 유형은 단순한 유형과 달리 하나의 공통 이름으로 많은 복잡한 값을 정의합니다. 구조적 유형은 기존 유형에서 새로운 유형을 형성하는 특정 방식을 결정한다고 말할 수 있습니다.

여러 가지 구조화 방법이 있습니다. 복잡한 데이터 유형의 구성 요소 구성 방법 및 유형에 따라 다음과 같은 종류가 구별됩니다. 일반 유형(배열); 결합형(기록); 파일형식(파일); 여러 유형; 문자열형(strings); Turbo Pascal 언어 버전 6.0 이하에서는 객체 유형(객체)이 도입되었습니다.

단순 데이터 유형과 달리 구조화된 유형 데이터는 이 유형을 형성하는 요소의 다양성이 특징입니다. 구조화된 유형의 변수 또는 상수에는 항상 여러 구성요소가 있습니다. 각 구성 요소는 차례로 구조화된 유형에 속할 수 있습니다. 유형 중첩이 가능합니다.

1. 배열

터보 파스칼의 배열은 여러 면에서 다른 프로그래밍 언어의 유사한 데이터 유형과 유사합니다. 배열의 독특한 특징은 모든 구성 요소가 동일한 유형(구조화 가능)의 데이터라는 것입니다. 이러한 구성 요소는 쉽게 구성할 수 있으며 일련 번호를 지정하여 구성 요소 중 하나에 간단히 액세스할 수 있습니다.

배열 설명은 다음과 같이 지정됩니다.

<имя типа>= 배열 [<сп.инд.типов>] 의<тип>

여기<имя типа>- 정확한 식별자

Array, of – 예약어(array, from);

<сп.инд.типов>- 쉼표로 구분된 하나 이상의 인덱스 유형 목록입니다. 목록을 구성하는 대괄호는 구문 요구 사항입니다.

<тип>- 모든 유형의 터보 파스칼.

LongInt 및 기본 유형 LongInt가 있는 범위 유형을 제외하고 모든 순서 유형을 Turbo Pascal에서 인덱스 유형으로 사용할 수 있습니다.

일반적으로 구조화된 유형 및 그에 따른 배열의 중첩 깊이는 임의적이므로 유형 인덱스 목록의 요소 수(배열 크기)는 제한되지 않습니다. 그러나 모든 배열의 내부 표현의 전체 길이는 제한되지 않습니다. 65520바이트 이상이어야 합니다.

2. 기록

레코드는 레코드 필드라고 하는 고정된 수의 구성 요소로 구성된 데이터 구조입니다. 배열과 달리 레코드의 구성요소(필드)는 다음과 같습니다. 다양한 방식. 레코드의 하나 또는 다른 구성 요소를 참조할 수 있도록 필드 이름이 지정됩니다.

게시물 유형 선언의 구조는 다음과 같습니다.

< 이름유형>=기록< 합작 투자. 필드>끝

여기<имя типа>- 정확한 식별자

RECORD, END – 예약어(레코드, 끝);

<сп.полей>- 필드 목록 세미콜론으로 구분된 일련의 레코드 섹션입니다.

3. 세트

집합은 서로 논리적으로 연결된 동일한 유형의 개체 집합입니다. 객체 간의 연결 특성은 프로그래머에 의해서만 암시되며 터보 파스칼에 의해 제어되지 않습니다. 세트에 포함된 요소의 수는 0에서 256까지 다양합니다.(요소를 포함하지 않는 세트를 빈 세트라고 합니다.) 세트가 배열 및 레코드와 다른 것은 요소 수의 불일치입니다.

두 세트는 모든 요소가 동일하고 세트 요소의 순서가 무관한 경우에만 동등한 것으로 간주됩니다. 한 세트의 모든 요소가 다른 세트에도 포함되는 경우 첫 번째 세트가 두 번째 세트에 포함된다고 합니다.

세트 유형에 대한 설명은 다음과 같습니다.

< 이름유형>=세트< 기지. 유형>

여기<имя типа>- 정확한 식별자

SET, OF – 예약어(집합, of);

<баз.тип>- 집합 요소의 기본 유형으로 WORD, INTEGER 및 LONGINT를 제외한 모든 순서 유형이 될 수 있습니다.

집합을 정의하려면 소위 집합 생성자가 사용됩니다. 집합 요소의 사양 목록은 쉼표로 구분됩니다. 목록은 대괄호로 둘러싸여 있습니다. 요소 사양은 기본 유형의 상수 또는 표현식일 수도 있고 동일한 기본 유형의 범위 유형일 수도 있습니다.

4. 파일

파일은 명명된 영역을 참조합니다. 외부 메모리 PC 또는 논리 장치는 정보의 잠재적인 소스 또는 수신자입니다.

모든 파일에는 세 가지 특징이 있습니다.

    여기에는 프로그램이 여러 파일을 동시에 작업할 수 있도록 하는 이름이 있습니다.

    동일한 유형의 구성 요소가 포함되어 있습니다. 구성 요소 유형은 파일을 제외한 모든 터보 파스칼 유형이 될 수 있습니다. 즉, '파일 중의 파일'을 만들 수 없습니다.

    새로 생성되는 파일의 길이는 선언 시 어떤 식으로든 지정되지 않으며 외부 메모리 장치의 용량에 의해서만 제한됩니다.

파일 유형 또는 파일 유형 변수는 다음 세 가지 방법 중 하나로 지정할 수 있습니다.

< 이름>= 파일< 유형>;

< 이름>=텍스트;

<имя>= 파일;

여기<имя>- 파일 형식 이름(올바른 식별자)

FILE, OF – 예약어(파일, from);

텍스트 – 이름 표준형텍스트 파일;

<тип>- 파일을 제외한 모든 유형의 터보 파스칼.

선언 방법에 따라 세 가지 유형의 파일을 구별할 수 있습니다.

· 형식화된 파일(FILE OF... 절에 의해 설정됨);

· 텍스트 파일(TEXT 유형으로 정의됨);

· 유형이 지정되지 않은 파일(FILE 유형으로 정의됨).

Pascal의 숫자 데이터 유형 변환 정보

파스칼에서는 숫자 데이터 유형의 암시적(자동) 변환이 거의 불가능합니다. 실수 유형의 표현식에 사용할 수 있는 정수 유형에 대해서만 예외가 발생합니다. 예를 들어 변수가 다음과 같이 선언된 경우:

변수 X: 정수; Y: 진짜;

그러면 운영자는

대입 부호 오른쪽에 정수 표현식이 있고 왼쪽에 실수 변수가 있더라도 컴파일러는 자동으로 숫자 데이터 유형을 변환합니다. 파스칼에서는 실수형에서 정수형으로 자동 역변환이 불가능합니다. 정수 및 실수 유형의 변수에 할당된 바이트 수를 기억해 봅시다. 정수 데이터 유형 정수에는 2바이트, 실수에는 6바이트의 메모리가 할당됩니다. 실수를 정수로 변환하는 두 가지 내장 함수가 있습니다. round(x)는 실수 x를 가장 가까운 정수로 반올림하고, trunc(x)는 소수 부분을 버려 실수를 자릅니다.

공유하다