<<Назад

Структура программы на языке Паскаль


 

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

Program SUMMA;                    
Var   X,Y,K,Z: integer;                    
Begin                                
  Write('
Введите три числа ');             
  Readln(X,Y,K);                    
  Z:=X+Y+K;                        
  Write(Z);                        
End.                                

На этом примере видны основные особенности записи программы:

1)всякая программа начинается с заголовка - слова PROGRAM и следующего за ним названия программы; (в последних версиях Паскаля это предложение писать не обязательно)
2)после заголовка располагается описательная часть программы;   
3)между служебными словами BEGIN и END записывается алгоритм решения задачи;
4)команды (операторы) разделяются точкой с запятой ;
5)Русский текст заключается в апострофы ' ... ' ;
6)перечисляемые объекты разделяются запятой.

2.1 Имена и зарезервированные слова.
  Текст программы записывается при помощи латинских букв, цифр и знаков. Буквы допускаются прописные и строчные, причем для компилятора записи VAR, vAR, VaR идентичны.

  Особую роль в тексте программы играют имена и зарезервированные слова. Имена применяются для обозначения программы и ее объектов. Имя может состоять из любого количества букв или цифр, но должно начинаться с буквы. В имя можно включать знак подчеркивания (например Prim_1). В программе SUMMA пять имен: SUMMA, X, Y, K, Z. Программисты часто используют осмысленные имена в своих программах. Это всегда полезно, а в сложных программах совершенно необходимо.

  Зарезервированные слова применяют для обозначения операторов (команд) и других элементов языка Паскаль. Их нельзя использовать в качестве имен и во всех программах они имеют одинаковый смысл. Зарезервированными словами в нашем примере являются слова: PROGRAM(программа), VAR(переменные), BEGIN(начало), READ(читать), WRITELN(писать), END(конец).

2.2. Константы и переменные.
  Данные, которыми оперирует программа, могут быть определены в ней как неизменные, либо как способные изменять свое значение в ходе выполнения программы. Первые называются константами, а вторые переменными. И переменные и константы размещаются в памяти компьютера (в так называемой "ячейке памяти"). В программе переменные должны быть описаны в предложении VAR (от слова VARIABLE-переменная), а константы - в предложении CONST. У всякой величины имеется три основных свойства: имя, значение, тип.

2.3. Тип INTEGER (целый).
  И в жизни и в программировании очень полезно использовать понятие типа. Предположим, вам сказали, что вы должны приобрести Джой. Больше ничего не известно - сколько у него ног, предмет это или животное и т.д. в то же время очень многое можно сообщить, добавив лишь одно слово, определяющее тип объекта по имени Джой, например, Джой - собака, или Джой - человек, или Джой - компьютер.

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

  Значения величины типа INTEGER в Паскале не может быть меньше -32768 или больше 32767.

  Константы целого типа записываются в виде последовательности цифр со знаком или без него.

  Переменные должны быть перечислены в описательной части программы в предложении
 
  VAR имя_переменной:INTEGER;

  Над величинами целого типа допустимы арифметические операции: +(сложение), -(вычитание), *(умножение), DIV(деление нацело), MOD(нахождение остатка от целочисленного деления).

  Все операции вырабатывают результат целого типа. Например,

  15 DIV 4 = 3, 25 MOD 4 = 1.

  Над целыми разрешено и обычное деление, оно обозначается косой чертой "/" и дает результат вещественного типа.

2.4. Тип REAL(вещественный).
  Константы вещественного типа (числа с дробной частью) изображаются с десятичной точкой:
12.3, -1.5, -0.75 или в показательной форме: -0.45Е5, 6.7Е-10, 0.355Е6 (для получения числа в обычном виде надо перенести запятую на число разрядов указанных после Е вправо, если число положительное, влево, если отрицательное). Например, 6.7Е-10=0.00000000067.

  Вещественные переменные требуют описания предложением
 
  VAR имя:REAL;

  Над величинами вещественного типа допустимы арифметические операции: +(сложение), -(вычитание), *(умножение), /(деление).

2.5. Оператор присваивания
  Оператор присваивания придает переменной конкретное значение, например:

  Х:=2; Y:=5,

  одновременно уничтожая старое. Редкая программа обходится без оператора присваивания.

  Присваивать можно значение другой переменной или результат вычисления арифметического выражения: A:=B; A:+B+C; X:=Y+2-Z.

  Формат команды:
  <имя переменной>:=<выражение>

  Исполнение команды присваивания происходит в таком порядке: сначала вычисляется <выражение>, затем полученное значение присваивается переменной.

Пример 1. Пусть переменная А имела значение 6. какое значение получит переменная А после выполнения команды: А:=2 х А - 1.

Решение. Вычисление выражения 2 х А - 1 при А=6 даст число 11. Значит новое значение переменной А будет равно 11.

Пример 2.
Поменяйте между собой значения двух переменных А и В, воспользовавшись третьей переменной R для временного хранения значения.

Решение
.
Program prim2_2;
Var a, b, r: real;
begin
  Write('
Введите два числа ');
  Readln(a,b);
  R:=a;
  A:=b;
  B:=r;
  Write(' a=' , a, ' b=' , b);
End.

Задачи.
1) Определить конечное значение переменных X и Y в результате выполнения следующих алгоритмов:
а) Х:=2                     б)Х:=1.5
   Х:=Х х Х                   Х:=2 х Х + 1   
   Х:=Х х Х х Х               Y:=X/2
   Х:=Х х Х х Х х Х           Y:=X + Y
                              X:=X - Y

2) Поменяйте между собой значения трех переменных X, Y и Z по схеме тройного квартирного обмена: Х®Y®Z®X.

3) Присвойте переменной N ее собственное значение, увеличенное в N раз.

4) Чему равно Х в результате выполнения программы:
Х:=2;
Х:=Х+Х;
Х:=Х-Х

5) Указать значения значения величин a и b после выполнения следующих операторов присваивания:
а) a:=5.8                   б)a:=0
   b:=-7.9                    b:=-9.99    
   b:= а                      b:=a
   a:=b                       a:=b

 

Типы данных. Арифметические выражения


 

 Для начала проверьте правильность выполнения предыдущих заданий. И если не все получилось, не огорчайтесь, не ошибается тот, кто ничего не делает.

1) а) Х=16777216
   б) Х=-2 Y=6

2)Program prim2_2;
  Var X,Y,Z,R: real;
  Begin
    Write('Введите три числа ');
    Readln(X,Y,Z);
    R:=X;
    X:=Z;
    Z:=Y;
    Y:=R;
    Write(' X=' , X, ' Y=' , Y, ' Z=', Z);
  End.

3) N:=N*N
4) X=0
5) a) b=5.8; a=5.8
   б) b=0; а=0

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

тип

значение

формат

SHORTINT -128..127 Знаковый
INTEGER -32768..32767 Знаковый
LONGINT -2147483648.. -2147483647 Знаковый
BYTE 0..255 Беззнаковый
WORD 0..65535 Беззнаковый

  и 5 стандартных вещественных типов:

тип

значение

число значащих чисел

REAL 2.9*10-39..1.7*1038 11..12
SINGLE 1.5*10-45..3.4*1038 7..8
DOUBLE 5.0*10-324..1.7*10308 15..16
EXTENDED 3.4*10-4932..1.1*104932 19..20
COMP -2*1063+1..+2*1063-1 19..20

 


Арифметические выражения

  Арифметические выражения строятся из имен переменных, констант, знаков операций и круглых скобок так, как это принято в математике. При вычислении их значений операции выполняются в порядке приоритета: *, /, DIV, MOD, а затем + и -. Операции одинакового старшинства выполняются слева направо.
  Наряду с переменными и константами в арифметические выражения можно включать функции. При определении значения выражения,   прежде всего, вычисляются значения входящих в него функций. В Паскале имеются следующие стандартные функции:

функция

назначение

тип результата

ABS(X) Абсолютное значение Х Вещественный
ARCTAN(X) Арктангенс Х Вещественный
COS(X) Косинус Х Вещественный
EXP(X) ех Вещественный
FRAC(X) Дробная часть Х Вещественный
INT(X) Целая часть Х, обнуление дробной части Вещественный
LN(X) Натуральный логарифм Вещественный
PI Значение PI=3.1415926535897932385 Вещественный
ROUND(X) Округление до ближайшего целого Целый
SIN(X) Синус Х Вещественный
SQR(X) Квадрат Х Тип аргумента
SQRT(X) Квадратный корень Х Вещественный
TRUNC(X) Отбрасывание дробной части Целый

  Аргумент функции обязательно заключается в скобки.
  Выражение на Паскале, как впрочем, и на других языках программирования, записывается в одну строчку, а для сохранения порядка действий используются скобки. Все действия должны быть указаны. Например, 2Х + XY надо записать как 2*Х + Х*Y.


Задания

1) Найдите значения переменных, если это возможно. Учтите, что число 7.0 является вещественным, т.к. оно имеет дробную часть, хотя и равную нулю. Операции MOD и DIV можно выполнять только над целыми числами (Урок 2):
a) A:=21 DIV 5        b) A:= 2 MOD 3            
   B:= 20 MOD 5          B:= 36.0 MOD 6
   C:= 14 DIV 6.0        C:= 81 DIV 0
   D:= 14 MOD 0          D:= 38 DIV 6
   E:= 5 MOD 13          E:= 3 DIV 2

2) Найдите значения переменных, если это возможно:
a) A:=SQR(100)        b) A:=sqrt(9)
   B:=sqrt(100)          B:=SQR(9)
   C:=SQR(-10)            C:=SQRT(-9)
   D:=SQRT(-10)          D:=SQR(-9)
   E:=SQR(0.9)            E:=SQRT(0.0)
   F:=SQRT(0)             F:=SQR(0.1)

3) Найдите значения переменных, если это возможно:
a) A:=ROUND(6.9)      b) A:=ROUND(15.39)
   B:=ROUND(6.48)        B:=ROUND(15.8)
   C:=TRUNC(9.5)         C:=TRUNC(-39)
   D:=FRAC(9.5)           D:=FRAC(39)
   E:=INT(9.5)            E:=INT(39)
   F:=TRUNC(-17)         F:=TRUNC(5.6)
   G:=FRAC(17)            G:=FRAC(-0.3)
   H:=INT(-17)            H:=INT(1.25)

 

 <<Назад

Hosted by uCoz