Цели:

  1. Сформировать первые сведения о структуре программы на языке PascalABC.net;
  2. Научиться читать полулогарифмическую форму записи чисел;
  3. Познакомиться с различными типами данных.

Алфавит языка и действительные числа

Алфавит языка состоит из букв латинского алфавита (русский алфавит используется только для пометок и для задания литерных величин), арабских цифр, специальных символов:
+ - * / = > < [ ] {} ( ) ‘ . , : ; ^ @ $ #

Действительные числа изображаются в естественной и полулогарифмической форме. Число 234000 записано в естественной форме. Мы можем записать его так 2.34*105. Запись данного числа в полулогарифмической форме выглядит следующим образом: 2.34Е+5.

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

Например:
65470 = 6.547Е+4
3.1415 = 3.1415E+0
0.0028 = 2.8E-3

Программа на языке PascalABC.net

Программа состоит из заголовка и блока.

В заголовок входят: служебное слово program и перечень доступных программе файлов (input output)

    Тело программы (блок) состоит из шести разделов:
  • раздел меток;
  • раздел констант;
  • раздел типов;
  • раздел переменных;
  • раздел процедур и функций;
  • раздел операторов.

Нарушать очерёдность нельзя!

Любой из разделов (кроме операторов) может отсутствовать.

Раздел меток

label (служебное слово) за которым следует перечень меток разделённый запятыми.

Пример: 3, 11, 48, 2;

Раздел описания констант

const (служебное слово)

Определение каждой константы содержит идентификатор константы, знак равенства, и значение.

Например:


                const
                    e = 2,718281828;
                    z = "9 А класс";
            
Раздел описания типов

Идентификатор Длина байт Диапазон значений Операции
Целые типы
integer 2 -32768..32767 + – / * Div Mod >= <= = <> < >
byte 1 0..255 + – / * Div Mod >= <= = <> < >
word 2 0..65535 + – / * Div Mod >= <= = <> < >
shortint 1 –128..127 + – / * Div Mod >= <= = <> < >
longint 4 –2147483648..2147483647 + – / * Div Mod >= <= = <> < >
Вещественные типы
real 6 2.9*10-39 - 1.7*1038 + – / * >= <= = <> < >
single 4 1.5*10-45 - 3.4*1038 + – / * >= <= = <> < >
double 8 5*10-324 - 1.7*10308 + – / * >= <= = <> < >
extended 10 3.4*10-4932 - 1.1*104932 + – / * >= <= = <> < >
Логический тип
boolean 1 TRUE FALSE Not And Or Xor >= <= = <> < >
Символьный тип
char 1 все символы кода ASCII + >= <= = <> < >

type (служебное слово)

Если возникает необходимость в создание своих типов данных, то это осуществляется в разделе описания типов следующим образом: за идентификатором типа записывается знак равенства и через запятую перечисляются те значения, которые будет принимать переменная данного типа

seasons = (spr, or, kan, pak)

Интервальные типы: можно объявить новый тип так, что он будет частью упорядоченного интервала


                type
                    days = 1..31
                    month = 1..12
                    z = "a".."w"
		    
Раздел описания переменных

var (служебное слово)

В данном разделе должны быть перечислены все переменные используемые в программе с указанием их типов. Идентификаторы переменных одного типа можно записывать через запятую


                var
                    i, kl, l: integer;
                    a, b: real;
                    hobidaus: seasons;
            
Раздел процедур и функций

Сам раздел не имеет служебного слова. В разделе может находиться несколько процедур или(и) функций, но каждая процедура начинается со слова: Procedure; каждая функция начинается словом: Function.

Процедура и функция по своей структуре подобны программе.

Раздел операторов (обязательный)

                Begin
                    тело программы;
                End.
            
Общая структура программы

                program <имя>;
                const
                    <имя константы> = <константа>;
                var
                    <имя переменной> : <тип>;
                Begin
                    <оператор>;
                    ...
                    <оператор>;
                End.
            

Вопросы для повторения:

  1. Существуют ли операторы языка Pascal записанные русскими буквами?
  2. В какой форме изображаются действительные числа в PascalABC.net?
  3. Из каких частей состоит программа на PascalABC.net?
  4. Какие разделы могут входить в блок программы?
  5. Какие разделы не являются обязательными при написании программы?
  6. Как в тексте программы определить, что начался раздел меток?
  7. Как в тексте программы определить, что закончился раздел констант?
  8. Назовите стандартные типы данных.

Задания для самостоятельной работы:

  1. Переведите числа в естественную форму записи:
    1. 4.09Е+02
    2. 7.802Е+01
    3. 3.3Е-02
    4. 2.97Е-03
    5. 5.29Е+00
    6. 2.03Е+05
  2. Переведите числа в полулогарифмическую форму записи:
    1. 234000
    2. 0.0045
    3. 678
    4. 7.302
    5. 4090
    6. 0.0306
  3. Какое из чисел меньше:
    1. 9.21Е+04
    2. 9210
  4. Какое из чисел больше:
    1. 4.67Е-01
    2. 0.0467
  5. К каким типам можно отнести перечисленные ниже данные:
    1. 200
    2. -17
    3. 2305
    4. 5.89
    5. 56890
    6. -56890
    7. -32767
    8. -32769
    9. 2147483648
    10. {
    11. 7
    12. Привет
    13. 1945 год
    14. -31009
    15. byte