Урок 2. Константы и переменные . Типы данных. Учитель: Смирнова Гузэль Хадиевна Гимназия №122, г. Казань
Урок 2. Сегодня, пожалуй, самый теоретически насыщенный урок. Но без основных понятий и правил обойтись невозможно. Вашу программу будет выполнять машина, а она все делает буквально. Поэтому правила написания программы очень жестки, но их немного. Одно утешает, что правила русского языка намного сложнее. Для начала рассмотрим задачу: Напишите программу вычисления суммы 3 чисел.
Вывод Введите 3 числа ввод x,y,k Z:=x+y+k; Вывод Z конец Начало Блок – схема программы
Program SUMMA; Var X,Y,K,Z: integer; Begin Writeln(‘Введите три числа ’); Readln(X,Y,K); Z:=X+Y+K; Writeln(Z); readln End. Урок 2.
Вызвать программу
На этом примере видны основные особенности записи программы: 1)всякая программа начинается с заголовка – слова PROGRAM и следующего за ним названия программы; (в последних версиях Паскаля это предложение писать не обязательно) 2)после заголовка располагается описательная часть программы; 3)между служебными словами BEGIN и END записывается алгоритм решения задачи; 4)команды (операторы) разделяются точкой с запятой ; 5)Русский текст заключается в апострофы ‘ … ‘ ; 6)перечисляемые объекты разделяются запятой.
Имена и зарезервированные слова. Текст программы записывается при помощи латинских букв, цифр и знаков. Буквы допускаются прописные и строчные, причем для компилятора записи VAR, vAR, VaR идентичны. Особую роль в тексте программы играют имена и зарезервированные слова. Имена применяются для обозначения программы и ее объектов. Имя может состоять из любого количества букв или цифр, но должно начинаться с буквы. В имя можно включать знак подчеркивания (например Prim_1). В программе SUMMA пять имен: SUMMA, X, Y, K, Z. Программисты часто используют осмысленные имена в своих программах. Это всегда полезно, а в сложных программах совершенно необходимо.
Зарезервированные слова применяют для обозначения операторов (команд) и других элементов языка Паскаль. Их нельзя использовать в качестве имен и во всех программах они имеют одинаковый смысл. Зарезервированными словами в нашем примере являются слова: PROGRAM(программа), VAR(переменные), BEGIN(начало), READ(читать), WRITELN(писать), END(конец). Имена и зарезервированные слова.
Константы и переменные. Данные, которыми оперирует программа, могут быть определены в ней как неизменные, либо как способные изменять свое значение в ходе выполнения программы. Первые называются константами, а вторые переменными. И переменные и константы размещаются в памяти компьютера (в так называемой «ячейке памяти»). В программе переменные должны быть описаны в предложении VAR (от слова VARIABLE-переменная), а константы – в предложении CONST. У всякой величины имеется три основных свойства: имя, значение, тип.
Тип INTEGER (целый). И в жизни и в программировании очень полезно использовать понятие типа. Предположим, вам сказали, что вы должны приобрести Джой. Больше ничего не известно – сколько у него ног, предмет это или животное и т.д. в то же время очень многое можно сообщить, добавив лишь одно слово, определяющее тип объекта по имени Джой, например, Джой – собака, или Джой – человек, или Джой – компьютер. Любая константа или переменная, использованная в программе, принадлежит к определенному типу. Тип задает множество допустимых значений переменных, внешний вид констант, возможные операции над значениями.
Значения величины типа INTEGER в Паскале не может быть меньше –32768 или больше 32767. Константы целого типа записываются в виде последовательности цифр со знаком или без него. Переменные должны быть перечислены в описательной части программы в предложении VAR имя _переменной:INTEGER; Над величинами целого типа допустимы арифметический операции: +(сложение), –(вычитание), *(умножение), DIV(деление нацело), MOD(нахождение остатка от целочисленного деления). Все операции вырабатывают результат целого типа. Например, 15 DIV 4 = 3, 25 MOD 4 = 1. Над целыми разрешено и обычное деление, оно обозначается косой чертой «/» и дает результат вещественного типа. Тип INTEGER (целый).
Тип REAL(вещественный). Константы вещественного типа (числа с дробной частью) изображаются с десятичной точкой: 12.3, –1.5, –0.75 или в показательной форме: -0.45Е5, 6.7Е-10, 0.355Е6 (для получения числа в обычном виде надо перенести запятую на число разрядов указанных после Е вправо, если число положительное, влево, если отрицательное). Например, 6.7Е-10=0.00000000067. Вещественные переменные требуют описания предложением VAR имя:REAL; Над величинами вещественного типа допустимы арифметические операции: +(сложение), -(вычитание), *(умножение), /(деление).
Оператор присваивания Оператор присваивания придает переменной конкретное значение, например: Х:=2; Y:=5, одновременно уничтожая старое. Редкая программа обходится без оператора присваивания. Присваивать можно значение другой переменной или результат вычисления арифметического выражения: A:=B; A:+B+C; X:=Y+2-Z. Формат команды: :=; Исполнение команды присваивания происходит в таком порядке: сначала вычисляется , затем полученное значение присваивается переменной. Пример 1. Пусть переменная А имела значение 6. какое значение получит переменная А после выполнения команды: А:=2 * А - 1.
Решение. Вычисление выражения 2 * А – 1 при А=6 даст число 11. Значит новое значение переменной А будет равно 11. Пример 2. Поменяйте между собой значения двух переменных А и В, воспользовавшись третьей переменной R для временного хранения значения. Оператор присваивания
Вывод Введите 2 числа ввод a,b R:=a A:=b B:=r Вывод a,b конец Начало Блок – схема программы
Решение. Program prim2_2; Var a, b, r: real; begin Writeln(‘Введите два числа ‘); Readln(a,b); R:=a; A:=b; B:=r; Writeln(‘ a=’ , a:0:2, ‘ b=’ , b:0:2); Readln 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 Оператор присваивания
Вывод Введите 3 числа ввод x,y,z R=x; X=z Z=y; Y=r Вывод X,Y,Z конец Начало Блок – схема программы
Для начала проверьте правильность выполнения предыдущих заданий. И если не все получилось, не огорчайтесь, не ошибается тот, кто ничего не делает. 1) а) Х=16777216 б) Х=-2 Y=6 Решение Program prim2_2; Var X,Y,Z,R: real; Begin Writeln(‘Введите три числа ‘); Readln(X,Y,Z); R:=X; X:=Z; Z:=Y; Y:=R; Writeln(‘ 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
Вызвать программу