Система типов данных Turbo Pascal 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Система типов данных Turbo Pascal



Алгоритмический язык Pascal

 

 

 
 

 


Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над ними.

 


Алфавит языка PASCAL

 

Текст PASCAL-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Максимальная длина строки - 126 символов.


Лексическая структура языка

Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.

 

Лексема - минимальная единица языка, имеющая самостоятельный смысл.

 

 


Зарезервированные (служебные) слова:

absolute div goto nil repeat var
and do if not set virtual
array downto implementation object shl while
asm else in of shr with
assembler end inline ot string xor
begin external interface packed then  
case file   private to  
const for interrupt procedure type  
constructor forward label program unit  
destructor function mod record uses  

 

 

2. Идентификаторы (имена)

 


Идентификаторы – это имена, которые состоят из латинских букв, цифр и символа подчеркивания и начинаются только с буквы или символа подчеркивания.

Примеры:

X _Beta программа
Y22M 5ABC Figure/Fer
RAZMER Pascal_Basic INd67
index _123 Const
Gamma Y.22 ABCD_1234_EFG
Alfa_Beta CH Gamma Dos.Exec

3. Знаки операций

 

Формируются из одного или нескольких специальных символов и предназначены для задания действий по преобразованию данных и вычислений.

 

Условное обозначение операции Наименование операции
+ сложение
- вычитание
* умножение
/ деление
div деление целочисленное
mod остаток от целочисленного деления
:= присвоение
= равно (сравнение)
<> не равно (сравнение)
< меньше (сравнение)
> больше (сравнение)
<= меньше или равно (сравнение)
>= больше или равно (сравнение)
not логическое НЕ
and логическое И
or логическое ИЛИ
xor исключительное ИЛИ

 

 

5. Разделители

 

Формируются из специальных символов и в основном используются для повышения наглядности текстов программ. Например: “(“,”)”, “{“, “}”, “;”, пробел “ ”.

 

6. Изображения

 

Группа лексем обозначает числа, символьные строки и некоторые другие значения.

 

Представление чисел

 
 

 


Система типов данных Turbo Pascal

 
 

 


Общая структура программы

 

 

Соглашения о переменных

Основные характеристики переменной:

Имя (идентификатор) Alpha
Тип переменной Real
Значение 12.345
Адрес $1000: $2A34

Имя служит для того, чтобы в программе можно было обратиться к этому объекту (т.е. его идентифицировать).

Задание типа определяет область значений и вид внутреннего представления.

Значение переменной присваивается в программе путем считывания соответствующей константы, либо с помощью оператора присваивания.

Адрес является адресом в памяти, начиная с которого значение переменной записывается в память.

Var

X: Real; {вещественная переменная}

I, J, K: Integer; {три целые переменные}

S1, S2: Char; {две символьные переменные}

LOGIC: Boolean; {логическая переменная}

Соглашения о постоянных

Постоянная (константа) - величина, значение которой не будет изменяться в ходе выполнения программы.

Const

Min =0; {целое число}

Max =500; {целое число}

E =2.7; {вещественное число}

SpecChar =’\’; {символ}

HelpStr =’Нажмите клавишу F1’; {строка}

OK =True; {логическая константа}

MaxReal =1.7e38; {вещественное число}

{определение констант как выражения из чисел, некоторых функций языка и определенных ранее простых констант}

Interval = Max - Min;

Key = Chr (27);

E2 = E * E;

Типизированные константы
(переменные со стартовым значением)

Типизированные константы являются переменными, которым в той части программы, где описываются константы, присваивается некоторое начальное значение. Они не только могут описываться как переменные, их можно использовать в качестве переменных, т.е. им можно присвоить новое значение.

 

Const

R: Real = 1.1523;

I: Integer = -10;

S: String[10] = ’Привет! ’;

Done: Boolean = True;

Операторы Паскаля

                 
 
 
   
Условные операторы Символьный тип (Char)
 
   
 
 
 
 
   
Операторы повтора
 
 
   

   
 
 
 



Пустой оператор

Не выполняет никаких операций и ничего не изменяет в данных и в программе.

 

Он ставится из соображения синтаксиса там, где синтаксис требует наличие некоторого оператора, а никакой оператор там стоять не должен.

 

Составной оператор


If A > 0 Then begin B:= A + 10; Write(A, B) end

Else B:= A – 4;

Оператор присваивания

 
 


Правила выполнения оператора присваивания

  1. Вычисляется выражение в правой части оператора присваивания.
  2. Переменной, указанной в левой части оператора присваивания присваивается вычисленное значение.
  3. Переменная и выражение должны быть совместимы по типу.

Var

I, J: Integer;

X, Y: Real;

A, B: Char;

P, Q: Boolean;

Правильные записи оператора присвоения:

P:= False;

A:= ’+’;

X:= I + J mod 7;

Q:= Odd (J + I div 5);

J:= Round (X / 2);

Y:= 275;

 

Неправильные записи оператора присвоения:

I:= 3.375;

B:= ’Ha’;

A:= +;

X + 3:= Y;

Выражение – конструкция языка, задающая порядок выполнения действий над элементами данных.

Выражение состоит из элементов данных – операндов.

 

 
 

 


Пример

Var A: Integer;

B: Char;

C: Real;

Begin

Read (A, B, C);

End.

 

Набираем на клавиатуре:

 

234R 15.7358 <Enter>

 

Форматный вывод

 

1. Параметры определения ширины поля для параметра при печати

Write (параметр1: длина, параметр2: длина, …)

 

Длина – целое выражение, определяющее общий размер поля для вывода параметра.

 

Пример

A:= 10; B:= 2; C:= 100;

 

WriteLn (A, B, C);

 

           

 

WriteLn (A:2, B:2, C:4);

 

               

 

WriteLn (A, B:2, C:2);

 

             

 

X:= 421.53;

WriteLn (X);

 

    .                       E +    

 

X:= -421.53;

WriteLn (X);

 

-   .                       E +    

 

X:= 421.53;

WriteLn (X: 8);

 

    .   E +    

 

 

2. Параметр определения числа знаков после десятичной точки при печати

Write (параметр1: длина: количество, …)

Количество – целое выражение, определяющее, сколько цифр после десятичной точки выводить для числа с фиксированной точкой.

X:= 421.53;

WriteLn (X: 7: 2);

 

        .    

WriteLn (X: 9: 4);

 

        .        

WriteLn (X: 6: 4);

 

        .        

 

Оператор условия If

 

 


Оператор условия If выполняется следующим образом:

 

· Вычисляется логическое выражение (булевый тип: True, False),

· Если значение логического выражения есть True (истина), выполняется <Оператор-1>, указанный после Then,

· Если значение логического выражения есть False (ложь), выполняется <Оператор-2>, указанный после Else.

 

Пример

 

 

If A>0 Then C:=A

Else C:= Abs(A);

Пример

 

 

C:= A;

If A>0 Then C:=Abs(A);

 


Задача 1

Ввести число. Если это число положительное, то на экран вывести сообщение "Положительное число". Если это число отрицательное, то на экран вывести сообщение "Отрицательное число".

 

 

Исходные данные: А

 

Блок-схема


Да Нет

Program Trial_1;

Var A: Integer;

Begin

Write ('Введите число'); ReadLn (A);

If A >= 0 Then WriteLn('Положительное число')

End.

 

 

Задача 2


 

Исходные данные: X

 

Блок-схема

 

Да Нет

 

Program Trial_2;

Var X: Integer; Y: Real;

Begin

Write ('Введите число'); ReadLn (X);

If X > 5 Then Y:=1/(X-5)

Else Y:= 5*X;

WriteLn (Y)

End.

 

Пример

 

Вычислить значение функции Y = aN, где а - действительное число с натуральным показателем.

 

Y = a * a * a * a * a * … * a

 
 

 


N

Операторы повтора

 

1. В языке Pascal различают три вида операторов цикла:

 

           
     

 


2. Выражение, управляющее повторениями, должно иметь булевский тип.

3. В случае если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания) используются операторы while, repeat.

4. Оператор for используется, если число повторений заранее известно.

 

Запрещается

 

1. Изменять переменную цикла.

 

For I:= 1 to N do

Begin

Y:= Y * A;

I:= I + 2

end;

2. Входить в цикл с помощью оператора Goto, так как в этом случае начальное и конечное значения параметра цикла не будет определено.

 

goto METKA1;

For I:= 1 to N do

Begin

METKA1: Y:= Y * A;

I:= I + 2

end;

Пример 1

Вычислить значение функции , где а - действительное число с натуральным показателем.

Program MULTI_1; Var A,Y:Real; I,N: Integer; Begin Write(’Введите число А-’); Readln (A); Write(’Введите степень числа А - ’); Readln (N); Y:= 1; For I:= 1 to N do Y:= Y * A; Write (’Результат -’, Y) End.
Program MULTI_2; Var A,Y:Real; I,N: Integer; Begin Write(’Введите число А-’); Readln (A); Write(’Введите степень числа А - ’); Readln (N); Y:= 1; For I:= N downto 1 do Y:= Y * A; Write (’Результат -’, Y) End.

Пример

 

Дано число N. Подсчитать количество цифр данного числа.

 

Begin

WriteLn (' Введите целое число ');

ReadLn (N); M:= abs(N);

K:= 0;

While M<>0 do

Begin

Inc(K);

M:= M div 10

end;

End.

 

Пример

 

Вводит и суммирует любое количество целочисленных значений. Если введено значение 999, то на экран выводится результат суммирования.

 

Алгоритмический язык Pascal

 

 

 
 

 


Представление информации может осуществляться с помощью языков, которые являются знаковыми системами. Каждая знаковая система строится на основе определенного алфавита и правил выполнения операций над ними.

 


Алфавит языка PASCAL

 

Текст PASCAL-программы представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Максимальная длина строки - 126 символов.


Лексическая структура языка

Символы из алфавита языка используются для построения базовых элементов PASCAL-программ - лексем.

 

Лексема - минимальная единица языка, имеющая самостоятельный смысл.

 

 


Зарезервированные (служебные) слова:

absolute div goto nil repeat var
and do if not set virtual
array downto implementation object shl while
asm else in of shr with
assembler end inline ot string xor
begin external interface packed then  
case file   private to  
const for interrupt procedure type  
constructor forward label program unit  
destructor function mod record uses  

 

 

2. Идентификаторы (имена)

 


Идентификаторы – это имена, которые состоят из латинских букв, цифр и символа подчеркивания и начинаются только с буквы или символа подчеркивания.

Примеры:

X _Beta программа
Y22M 5ABC Figure/Fer
RAZMER Pascal_Basic INd67
index _123 Const
Gamma Y.22 ABCD_1234_EFG
Alfa_Beta CH Gamma Dos.Exec

3. Знаки операций

 

Формируются из одного или нескольких специальных символов и предназначены для задания действий по преобразованию данных и вычислений.

 

Условное обозначение операции Наименование операции
+ сложение
- вычитание
* умножение
/ деление
div деление целочисленное
mod остаток от целочисленного деления
:= присвоение
= равно (сравнение)
<> не равно (сравнение)
< меньше (сравнение)
> больше (сравнение)
<= меньше или равно (сравнение)
>= больше или равно (сравнение)
not логическое НЕ
and логическое И
or логическое ИЛИ
xor исключительное ИЛИ

 

 

5. Разделители

 

Формируются из специальных символов и в основном используются для повышения наглядности текстов программ. Например: “(“,”)”, “{“, “}”, “;”, пробел “ ”.

 

6. Изображения

 

Группа лексем обозначает числа, символьные строки и некоторые другие значения.

 

Представление чисел

 
 

 


Система типов данных Turbo Pascal

 
 

 


Общая структура программы

 

 

Соглашения о переменных

Основные характеристики переменной:

Имя (идентификатор) Alpha
Тип переменной Real
Значение 12.345
Адрес $1000: $2A34

Имя служит для того, чтобы в программе можно было обратиться к этому объекту (т.е. его идентифицировать).

Задание типа определяет область значений и вид внутреннего представления.

Значение переменной присваивается в программе путем считывания соответствующей константы, либо с помощью оператора присваивания.

Адрес является адресом в памяти, начиная с которого значение переменной записывается в память.

Var

X: Real; {вещественная переменная}

I, J, K: Integer; {три целые переменные}

S1, S2: Char; {две символьные переменные}

LOGIC: Boolean; {логическая переменная}

Соглашения о постоянных

Постоянная (константа) - величина, значение которой не будет изменяться в ходе выполнения программы.

Const

Min =0; {целое число}

Max =500; {целое число}

E =2.7; {вещественное число}

SpecChar =’\’; {символ}

HelpStr =’Нажмите клавишу F1’; {строка}

OK =True; {логическая константа}

MaxReal =1.7e38; {вещественное число}

{определение констант как выражения из чисел, некоторых функций языка и определенных ранее простых констант}

Interval = Max - Min;

Key = Chr (27);

E2 = E * E;

Типизированные константы
(переменные со стартовым значением)

Типизированные константы являются переменными, которым в той части программы, где описываются константы, присваивается некоторое начальное значение. Они не только могут описываться как переменные, их можно использовать в качестве переменных, т.е. им можно присвоить новое значение.

 

Const

R: Real = 1.1523;

I: Integer = -10;

S: String[10] = ’Привет! ’;

Done: Boolean = True;

Операторы Паскаля

                 
 
 
   
Условные операторы Символьный тип (Char)
 
   
 
 
 
 
   
Операторы повтора
 
 
   

   
 
 
 



Пустой оператор

Не выполняет никаких операций и ничего не изменяет в данных и в программе.

 

Он ставится из соображения синтаксиса там, где синтаксис требует наличие некоторого оператора, а никакой оператор там стоять не должен.

 

Составной оператор


If A > 0 Then begin B:= A + 10; Write(A, B) end

Else B:= A – 4;

Оператор присваивания

 
 


Правила выполнения оператора присваивания

  1. Вычисляется выражение в правой части оператора присваивания.
  2. Переменной, указанной в левой части оператора присваивания присваивается вычисленное значение.
  3. Переменная и выражение должны быть совместимы по типу.

Var

I, J: Integer;

X, Y: Real;

A, B: Char;

P, Q: Boolean;

Правильные записи оператора присвоения:

P:= False;

A:= ’+’;

X:= I + J mod 7;

Q:= Odd (J + I div 5);

J:= Round (X / 2);

Y:= 275;

 

Неправильные записи оператора присвоения:

I:= 3.375;

B:= ’Ha’;

A:= +;

X + 3:= Y;

Выражение – конструкция языка, задающая порядок выполнения действий над элементами данных.

Выражение состоит из элементов данных – операндов.

 

 
 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 162; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.16.83.150 (0.246 с.)