Урок 2.

 

Здравствуйте, уважаемые подписчики!

 

Сегодня, пожалуй, самый теоретически насыщенный урок. Но без основных понятий и правил обойтись невозможно. Вашу программу будет выполнять машина, а она все делает буквально. Поэтому правила написания программы очень жестки, но их немного. Одно утешает, что правила русского языка намного сложнее.

Для начала рассмотрим программу, которая должна была у вас получиться при выполнении 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+CX:=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:=XY

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

 

 

Желаю успехов!

Ганилова Татьяна Евгеньевна school6@rikt.ru