Вопрос 14. основные операторы языка программирования.
Оператором в языке программирования называют команду, которую может выполнить компьютер. Оператор - это специальная конструкция языка (предложение), задающая полное описание некоторого действия для компьютера.
Оператор присваивания, наиболее часто используемый оператор языка Турбо Паскаль.
Формат записи: X:=A;
где: X – имя переменной;
A - выражение;
:= - знак присваивания.
Работа оператора: В процессе выполнения оператора вычисляется значение, в правой части выражения и присваивается имени переменной.
Оператор перехода в Паскале
В Турбо Паскале принят естественный порядок выполнения операторов, т.е. в порядке их следования в тексте программы. Оператор перехода прерывает естественный порядок выполнения операторов и передает управление оператору, отмеченному меткой указанной в операторе перехода.
Формат записи: GoTo m;
где: GoTo – перейти к;
m - метка.
Работа оператора: Оператор перехода передает управление оператору, отмеченному меткой m.
Базовые арифметическими операторы знакомы нам с детства - это плюс +, минус -, умножить *, поделить /.
Условный оператор
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса.
Структура условного оператора имеет следующий вид:
IF <условие> THEN <оператор1> ELSE <оператор2>,
где IF, THEN, ELSE - зарезервированные слова (если, то, иначе); <условие> - произвольное выражение логического типа; <оператор1>, <оператор2> - любые операторы языка Турбо Паскаль.
Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть TRUE (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть FALSE (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>.
Основные операторы языка Паскаль
Далее мы уже начинаем разговор об операторах языка, и он у нас будет почти на всех лекциях, кроме некоторых фрагментов двух-трех лекций. Пока вам стоит запомнить два типа основных операторов: оператор присваивания и операторы ввода-вывода. Начнем их рассматривать по порядку.
Оператор присванивания
Для начала напомню некоторые сведения из алгоритмизации и информатики. Любая переменная характеризуется тремя параметрами:именеем, то есть идентификатором, что мы уже рассмотрели, значением, что мы сейчас рассмотрим, и адресом в памяти, что мы подробно рассмотрим в лекции «Указатели», если успеем дойти до нее, но будем оперировать этим понятием в течение лекции. Итак, оператор присваивая кладет в конкретную ячейку памяти, то есть по какому-то адресу, какое-то значение, то есть то значение адресу, пока представим что все ячейки памяти именованы вашими идентификаторами, то есть, получается, что оператор присваивания кладет в ячейку памяти, именованную вашим идентификатором то значение, которое вы присваиваете. Не следует путать оператор присваивания с оператором равенства, да и вообще с равенством, потому что мы как бы не сравниваем переменные, а заменяем, в этом и есть существенное различие и самое главное на оператор присваивания не выполняется ни одно из свойств равенства, то есть части оператора присваивания мы ни в коем случае не можем поменять местами. Теперь рассмотрим этот оператор в языке программирования Паскаль. Вот его синтаксис <идентификатор>:=<значение>. Например, а:=5, но напомню что мы не можем менять части оператора местами и оператор 5:=а выдаст ошибку. Также хочется заметить, что части оператора присваивания должны быть одного типа, то есть целой переменной мы должны присваивать целое число, а вещественной любое, но не символ строку или еще что-нибудь подобное, вопрос о типах данных будет рассмотрен в следующий лекции.
Операторы ввода-вывода
Любой программист пишет программы для выполнения пользовательских задач, и, понятно, что одними операторами присваивания обойтись невозможно, хотя иногда можно. Когда нам нужно любое взаимодействие с пользователем мы используем операторы ввода-вывода. Сначала мы рассмотрим, операторы ввода, затем операторы вывода, хочется сказать, что они достаточно индеитичны.
Операторы ввода
Ввод данных осуществляется с помощью оператора read. Он имеет такой синтаксис: read(<имя переменной>, <имя переменной>, <имя переменной>…). То есть, как видно мы можем считывать сразу же несколько переменных с клавиатуры, этот оператор будет работать, когда пользователь введет что-то клавиатуры и нажмет пробел или энтер, тогда программа положит в первую переменную введенное значение, и так далее со всеми переменными. Есть вариация этого оператора readln, здесь все абсолютно тоже самое, но работать оно будет, только по нажатию пользователем кнопки энтер.
Операторы вывода
Операторы вывода выводят на экран те или иные значения переменных, которые вы хотите. Оператор вывода, имеет следующий синтаксис: write(<имя выводимой переменной>, <имя выводимой переменной>, <имя выводимой переменной>…). Согласитесь, синтаксис очень похож на операторы ввода, поэтому пояснять его не буду. Хочется сказать, что у операторов вывода тоже существует, вариация, как и у операторов ввода, это вариация – оператор writeln, работает он также как и обычный оператор, только каждую следующую переменную выводит с новой строки. Для вывода вещественных переменных часто используют форматный вывод, о котором я сейчас расскажу.
Форматный вывод
Как я уже сказал, для вещественных чисел используют форматный вывод, даже если вы не поняли по названию, что это такое, понятно, что это какой-то особенный способ вывода, сейчас расскажу, зачем его делают и сразу же станет понятно, что он делает. В результате математических операций могут получаться бесконечно малые и бесконечно большие числа и также бесконечные периодические дроби, компьютер нашел выход из этой ситуации – запись числа в экспоненциальной форме, даже звучит страшно, поэтому расскажу я об этом в следующий лекции, а пока расскажу, как сделать, чтобы компьютер выдавал число в обычной привычной нам форме, и как вы уже, наверное, догадались это и есть форматный вывод. Таков его синтаксис: write(<имя переменной>:<количество знаков, отводимое под все число>:<количество знаков, отводимое под дробную часть>), естественно это работает и для модификации оператора write – writeln.Теперь объясню, как это работает, на вывод поступает какая-то переменная, и компилятор на все число отводит указанное количество знаков и под дробную часть отводит указанное количество знаков после второго двоеточия и в итоге под целую часть отводит количество знаков – первое число минус второе, если же указано знаков больше чем само число оставшиеся знаки он заполняет пробелами.