Общий вид программы
 
            Структура программы на Паскале имеет следующий вид:
 
            Program <имя программы>;
            [ Раздел описаний]
            Begin
            [Список команд]
            End.
             
Примечание.
 
Принято использовать угловые скобки — < > — для указания на то, что параметр является обязательным и квадратные скобки — [ ] — для указания на то, что параметр может быть опущен.
 
            Раздел описаний содержит определение всех элементов, используемых в программе: меток, констант, типов данных, переменных, функций, процедур. Для элементов программы приняты следующее правило: Элемент может быть использован при описании других элементов, только после того, как был описан сам.
            Список команд состоит из последовательности операторов языка программирования и вызовов процедур отделенных друг от друга знаком точка с запятой – «;».
            При записи программ на языке Паскаль используются зарезервированные слова, идентификаторы предопределенных и описанных программистом элементов и знаки препинания и специальные символы, применяемые для описания элементов ( чаще всего связанные со структурными типами данных ) и обращения к ним и их компонентам.
 
Идентификаторы
 
            Идентификаторы или имена элементов, являются определяемыми программистом последовательностями латинских букв и цифр. Для идентификаторов принято следующее соглашение – на первом месте всегда стоит латинская буква, следующие символы могут быть либо латинскими буквами, либо цифрами в любой комбинации, пробелы и другие знаки являются недопустимыми символами.
 
Пример:         D, A1, gamma, delta, v3f.
 
В Турбо – Паскале большие и малые буквы воспринимаются транслятором одинаково, например Dd, DD и dd являются одинаково воспринимаемыми идентификаторами.
            Примечание.
            Первым идентификатором в тексте программы является имя программы.
 
Стандартные простые типы данных в Турбо – Паскале
 
             В Турбо – Паскале определены следующие стандартные простые типы данных, с которыми связаны соответствующие зарезервированные слова.
 
            Числовые
                        Целый                       — integer
                        Вещественный       — real
 
            Символьные
                        Литерный                 — char
                        Строчный                 — string
 
            Логический                           — boolean
                       
            Для каждого из перечисленных выше типов данных могут определяться константы, составляться соответствующего типа выражения, определяться переменные.
            Диапазоны значений для различных типов данных имеют ограничения. Integer имеет диапазон значений от –MaxInt до MaxInt, где MaxInt – предопределенная системой константа. Byte – 0..255. Char имеет значением один символ из таблицы символов компьютера. String – цепочка символов длинной от 0 до 255 (строго говоря – этот тип является не простым, а структурным (сложным)). Boolean имеет два значения — True (истина) и False (ложь).
            Для перечисленных выше типов данных имеются предопределенные процедуры для операций ввода (кроме boolean) и вывода в текстовом виде.
            Типы данных логический, целый, байтовый, литерный относятся к так называемым перечисляемым типам, то есть таким для каждого значения которых однозначно определены предыдущий и следующий элементы.
 
Раздел описаний
 
            В Турбо – Паскале элементы, в отличие от стандартного Паскаля, могут описываться в произвольном порядке.
            Описанию элемента предшествует зарезервированное слово, указывающее его вид. Затем следует описание элемента.
            Метки                         Label
            Константы                 Const
            Типы                           Type
            Переменные            Var
            Функции                      Function
            Процедуры               Procedure
            Форматы описания элементов:
            Метки
                        <целое число1>[, <целое число2> и так далее];
            Константы
                        <идентификатор1>=<значение1>;
                        [<идентификатор2>=<значение2>;]
                        … … … …
            Типы
                        <идентификатор1>=<описание типа1>;
                        [<идентификатор2>=<описание типа2>;]
                        … … … …
            Переменные
                        <идентификатор11>[,<идентификатор12>, …]:<тип1>;
                        [<идентификатор12>[,<идентификатор22>, …]:<тип2>;]
                        … … … …
 
            Приведем пример содержащий описания элементов некоторых типов
 
            Program prim01;
            Label
                        1,5;
            Const
                        H=4.3;
            Type
                        F=array [1..8] of real;
            Var
                        A,b,c:integer;
                        X:f;
            ……………
           
Основные операторы и предопределенные процедуры Турбо – Паскаля
 
Оператор присваивания
 
            Оператор присваивания предназначен для задания переменной вычисляемого значения соответствующего выражения. Выражения составляются с использованием констант (предопределенных, определенных программистом, непосредственно вписанных в выражение), переменных, функций с использованием знаков допустимых для данных типов данных выражений и круглых скобок.
 
            Формат оператора присваивания:
 
<идентификатор переменной>:=<выражение>;
 
            Тип выражения должен совпадать с типом переменной или быть совместим с ним.
 
            Пример
 
            Program prim02;
            Var
                        A,b,c:integer;
            Begin
                        A:=4;
                        b:=a+3;
                        c:=a+b
            End.
Таблица символов операций
 
 
Integer, byte
Real
String
Boolean
+
*
*
*
 
-
*
*
 
 
*
*
*
 
 
/
 
*
 
 
Div
*
 
 
 
mod
*
 
 
 
Or
*
 
 
*
And
*
 
 
*
Not
*
 
 
*
Xor
*
 
 
*
Not
*
 
 
*
 
Таблица символов отношений
 
Больше
Меньше
Больше или равно
>=
Меньше или равно
<=
Неравно
<> 
Равно
=
 
            Для строковых типов данных имеют смысл только отношения «равно» и «неравно».
Обратите внимание, что операция возведения в степень в Паскале не определена.
 
Процедуры ввода и вывода
 
Процедуры ввода являются предопределенными.
Формат процедур:
 
Ввод данных
 
Read[(<список ввода>)];
ReadLn[(<список ввода>];
 
Суффикс Ln означает, что после ввода значений курсор переходит на начало следующей строки экрана.
Список ввода состоит из идентификаторов переменных, отделенных друг от друга запятой.
 
Вывод данных
 
Write[(<список вывода>)];
WriteLn[(<список вывода>];
 
Суффикс Ln означает, что после вывода значений курсор переходит на начало следующей строки экрана.
Список вывода состоит из идентификаторов переменных и выражений, отделенных друг от друга запятой.
В списке вывода могут присутствовать параметры задающие формат вывода результатов. После идентификатора следует двоеточие и число определяющее число знакомест для вывода, после второго двоеточия указывается количество знаков после запятой.
 
Пример
 
            Program prim03;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                       Write('c=');
                        Readln(c);
                        v:=(b+c)/3.56;
                        Writeln('v=',v:6:2)                  
            End.
 
Для переменной v определено для вывода поле шириной 6 позиций, в том числе две позиции для знаков после десятичной точки, которая так же займет одну позицию из 6.
 
Условный оператор
 
            Условный оператор имеет две формы: полную и неполную.
 
Формат оператора
1.      полная форма
 
            If <логическое выражение>           then <инструкция1> else <инструкция2>;
 
            Если логическое выражение имеет значение «истина», то выполняется инструкция1, иначе инструкция2.
 
2.      неполная форма
 
            If <логическое выражение>           then <инструкция>;
 
            Если логическое выражение имеет значение «истина», то выполняется инструкция, иначе управление передается следующей после условного оператора команде. Обратите внимание на то, что логическое выражение может представлять собой логическую переменную или логическую функцию, сравнение их со значениями True или False не требуется.
Инструкция представляет собой либо одну команду, либо список команд, отделенных друг от друга символом точка с запятой и заключенный в так называемые инструктивные скобки begin — end. В Паскале имеются алгоритмические конструкции, которые сами выполняют роль инструктивных скобок, в этом случае внешние скобки begin – end могут быть опущены.
 
Пример
 
            Program prim04;
            Var
                        b,c:integer;
                        v:real;
                        g:boolean;
            Begin
                        Write('b=');
                        Readln(b);
                       Write('c=');
                        Readln(c);
                        g:=c<b;
                        if g       then
begin
v:=(b+c)/3.5;
v:=v/(v+1)
end
                                    else
                                                v:=b-c/5;
                        Writeln('v=',v:6:2)                  
            End.
 
            Program prim05;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                       Write('c=');
                        Readln(c);
                        if c<b   then
begin
v:=(b+c)/3.5;
v:=v/(v+1)
end;
                        if c>=b then
                                                v:=b-c/5;
                        Writeln('v=',v:6:2)                  
            End.
 
 
            Приведенные выше примеры программ показывают варианты решения одной и той же задачи с использованием логической переменной  и без нее, а так же применяя полную и неполную форму условного оператора.
 
Повторения
 
            Повторения (циклы) реализуются в Турбо – Паскале тремя видами операторов цикла.
 
1.      Оператор цикла с предусловием (цикл пока)
 
Формат оператора
 
While <логическое выражение> do
            [<инструкция>];
 
 
Выполнение инструкция повторяется пока логическое выражение имеет значение «истина». Проверка условия производится перед выполнением инструкции.
 
2. Оператор цикла с постусловием (цикл до тех пор)
 
Формат оператора
 
Repeat
<список команд>
until <логическое выражение>;
 
Инструкция выполняется, после этого происходит проверка значения логического выражения. Повторение выполнения инструкции прекращается когда логическое выражение получает значение «истина».
3.      Цикл с параметром (цикл со счетчиком).
 
Форматы оператора
 
For <идентификатор переменной>:=<выражение1> to <выражение2> do
[<инструкция>];
 
            Для значений переменной от  выражение1 до выражение2 выполняется инструкция, происходит переход к следующему значению переменной.
 
For <идентификатор переменной>:=<выражение1> downto <выражение2> do
[<инструкция>];
 
            Для значений переменной от  выражение1 до выражение2 выполняется инструкция, происходит переход к предыдущему значению переменной.
            Переменная должна быть перечисляемого типа (смотрите выше).
Операция имеет смысл, если для выражение1 и выражение2 выполняются соответственно отношения меньше или равно для первого варианта и больше или равно для второго.
           
Пример
 
            Program prim06;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                        c:=1;
                        while c<=20 do
                        begin
                        v:=(b+c)/3.56;
                        Writeln('v=',v:6:2);
                        c:=c+1
                        end     
            End.
 
            Program prim07;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                        c:=1;
                        repeat
                        v:=(b+c)/3.56;
                        Writeln('v=',v:6:2);
                        c:=c+1
                        until c>20
            End.
 
             Program prim08;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                        For c:=1 to 20 do
                        begin
                        v:=(b+c)/3.56;
                        Writeln('v=',v:6:2);
                        end     
            End.
 
            Program prim09;
            Var
                        b,c:integer;
                        v:real;
            Begin
                        Write('b=');
                        Readln(b);
                        For c:=20 downto 1 do
                        begin
                        v:=(b+c)/3.56;
                        Writeln('v=',v:6:2);
                        end     
            End.
 
            В приведенных выше примерах показаны различные способы вычисления с выводом на печать значений выражения.

Облако тегов

 

Ваше имя
Ваш E-mail
Файл для отправки
Число на картинке

Чат

© 2018 Блог Каракулиной Наталии. Все права защищены.
Joomla! - бесплатное программное обеспечение, распространяемое по лицензии GNU General Public License.