Простые логические выражения

Для того, чтобы программа была не линейной (т.е. в зависимости от ситуации выполнялись разные инструкции) в языках программирования используются логические выражения, результат которых может быть либо правдой (true), либо ложью (false). Результат логических выражений обычно используют для определения пути выполнения программы.

Простые логические выражения являются результатом операций отношения между двумя операндами (значениями). В примерах ниже операндами являются значения переменных x и y. Операндами могут быть числа, символы и другие типы данных. Все что можно сравнивать между собой. Однако не рекомендуют сравнивать вещественные числа из-за особенностей их хранения в памяти компьютера.

В Паскале предусмотрены следующие операторы отношений:

· меньше: x < y

· больше: x > y

· равно: x = y

· не равно: x <> y

· меньше или равно: x <= y

· больше или равно: x >= y

22 вопрос

Над данными типа Real, Integer, Char определены следующие операции отношения (сравнения):

§ = - равно;

§ <> - не равно;

§ < - меньше;

§ > - больше;

§ <= - меньше или равно;

§ >= - больше или равно.

В операциях сравнения должны участвовать однотипные операнды, за исключением типов Real и Integer, которые могут сравниваться друг с другом. Результат применения операции отношения к любым операндам имеет тип Boolean.

23 вопрос

Арифметические функции

Арифметические функции можно использовать только с величинами целого и вещественного типа.

Функция Назначение Тип результата
abs (x) абсолютное значение аргумента совпадает с типом аргумента
sqr (x) квадрат аргумента совпадает с типом аргумента
sqrt (x) квадратный корень аргумента вещественный
cos (x) косинус аргумента вещественный
sin (x) синус аргумента вещественный
arctan (x) арктангенс аргумента вещественный
exp (x) ex вещественный
ln (x) натуральный логарифм вещественный
int (x) целая часть числа вещественный
frac (x) дробная часть числа вещественный

Функции преобразования типов

Эти функции предназначены для преобразования типов величин, например, символа в целое число, вещественного числа в целое и т.д.

ord (x) - возвращает порядковый номер аргумента и, таким образом, преобразует величину порядкового типа в величину целого типа.
round (x) - округляет вещественное число до ближайшего целого.
trunk (x) - выдает целую часть вещественного числа, отбрасывая дробную.

Функции для величин порядкового типа

odd (x) - проверяет аргумент на нечетность. Аргумент функции величина типаlongint, результат true, если аргумент нечетный, false – если четный.
pred (x) - определяет предыдущее значение величины x.
succ (x) - определяет последующее значение величины x.
ord (x) - возвращает порядковый номер величины x.

24 вопрос

Выражение – синтаксическая единица языка, определяющая способ определения значения. Константное выражение – выражение из констант, вычисляется на стадии компиляции. В выражениях применяются:

· переменные,

· константы,

· функции,

· символы операций.

25 вопрос

  • заголовок программы - раздел начинается с ключевого слова program, далее идет название вашей программы.
    блок описаний состоит из множества различных блоков программы, каждый из которых отвечает за определенные аспект программы. Мы будем рассматривать возможные блоки по мере необходимости. на схеме ниже вы можете увидеть все из них.
  • блок операторов - единственный обязательный блок программы, в нем вы размещайте, те команды которые должны быть выполнены в процессе выполнения программы. Блок операторов начинается с ключевого слова begin и заканчивается end с точкой.

Описание меток вводит совокупность идентификаторов и/или целых чисел, предназначенных для организации последовательности вычислений. Посредством меток можно отметить (указать) те операторы, на которые будет передано управление из других точек программы. Передача управления на помеченный оператор реализуется с помощью специального оператора перехода.

Определение констант задает в программе идентификаторы, являющиеся синонимами (представителями) некоторых значений.

Определение типов предназначено для задания конкретных множеств значений. Указанные множества обозначаются именами (идентификаторами) и в дальнейшем могут служить для описания переменных.

Описание переменных вводит совокупность данных, с которыми производятся действия. Переменная обозначается идентификатором; с каждой переменной связывается ее тип, определяющий множество допустимых значений этой переменной и, соответственно, набор допустимых операций.

Наконец,описание процедуры или функции определяет часть программы как отдельную синтаксическую единицу и сопоставляет с ней имя. Впоследствии действия, сосредоточенные в процедуре (функции), могут быть выполнены ("вызваны") посредством указания ее имени. Кроме действий, описание процедуры (функции) может содержать совокупность описаний локальных объектов, образующих собственный контекст имен. Процедуры и функции являются основным средством структурирования программы.

26 вопрос

Ввод с клавиатуры

Для ввода с клавиатуры определены процедуры read и readln:

read(список);
readln[(список)];

В скобках указывается список имен переменных через запятую. Квадратные скобки указывают на то, что список может отсутствовать. Например:

read(a, b, c); readln(y);

readln;

ВНИМАНИЕ: Вводить можно целые, вещественные, символьные и строковые величины. Вводимые значения должны разделяться любым количеством пробельных символов (пробел, табуляция, перевод строки).

Ввод значения каждой переменной выполняется так:

  • значение переменной выделяется как группа символов, расположенных между разделителями;
  • эти символы преобразуются во внутреннюю форму представления, соответствующую типу переменной;
  • значение записывается в ячейку памяти, определяемую именем переменной.

27 вопрос

При выводе выполняется обратное преобразование: из внутреннего представления в символы, выводимые на экран. Для этого в языке определены стандартные процедуры write и writeln:

write(список);
writeln[(список)];

Как вы уже, вероятно, догадались, процедура write выводит указанные в списке величины на экран, а процедура writelnвдобавок к этому еще и переводит курсор на следующую строку. Процедура writeln без параметров просто переводит курсор на следующую строку.

Выводить можно величины логических, целых, вещественных, символьного и строкового типов. В списке могут присутствовать не только имена переменных, но и выражения, а также их частный случай - константы.

Правила записи процедур вывода.

· Список вывода разделяется запятыми.

· Список содержит выражения логических, целых, вещественных, символьного и строкового типов.

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

· Для вещественных чисел можно указать второй формат, указывающий, сколько позиций из общего количества позиций отводится под дробную часть числа. Необходимо учитывать, что десятичная точка также занимает одну позицию.

· Если форматы не указаны, под целое число, символ и строку отводится минимально необходимое для их представления количество позиций. Под вещественное число всегда отводится 17 позиций, причем 10 из них - под его дробную часть.

· Форматы могут быть выражениями целого типа.

Вопрос 28

Оператор присваивания - основной оператор любого языка программирования. Общая форма записи оператора:

имя величины := выражение

Например, V:=A; или V:=A+1;

При помощи оператора присваивания переменной могут присваиваться константы и выражения, значения переменных любого типа.

Как только в программе встречается переменная, для неё в памяти отводится место. Оператор присваивания помещает значение выражения в место, отведённое переменной.

Если в процессе выполнения программы встречается переприсваивание (т.е. та же самая переменная принимает другое значение), то старое значение переменной стирается, на свободное место записывается новое значение. Команда присваивания позволяет лучше понять смысл слова переменная (т.е. меняющая своё значение по ходу программы).

Выражение может быть арифметическим, логическим или литерным. Важно, чтобы тип величины был согласован с видом выражения.

Вопрос 30

Составной оператор предусматривает выполнение входящих в него операторов-компонент в порядке их написания. Служебные слова begin и end выступают в качестве операторных скобок. Язык Паскаль не накладывает никаких ограничений на характер операторов, входящих в составной оператор. Среди них могут быть и другие составные операторы – допускается произвольная глубина их вложенности. Раздел операторов программы есть один составной оператор.

Поскольку зарезервированное слово end является закрывающей операторной скобкой, оно одновременно указывает и конец предыдущего оператора, поэтому ставить перед ним символ «;» не обязательно. Наличие точки с запятой перед end означает, что между последним оператором и операторной скобкой end располагается пустой оператор. Пустой оператор не содержит никаких действий.

Вопрос 31


Организция ветвлений в программе.

В языке Паскаль используется два оператора для реализации условных переходов - IF и CASE, а также оператор безусловного перехода GOTO. Они позволяют нарушить последовательный порядок выполнения инструкций программы.

Наши рекомендации