(1 <= х) And (х <= 50)

Логическое выражение — это логическая формула, записанная на языке программирования. Логическое выражение состоит из логических операндов, связанных логическими операциями и круг­лыми скобками. Результатом вычисления логического выражения является булевская величина (False или True). Логическими опе­рандами могут быть логические константы, переменные, функ­ции, операции отношения. Один отдельный логический операнд является простейшей формой логического выражения.

Примеры логических операторов присваивания:

d:= True;

b:= (х > у) And (к <> 0); c:= d Or b And Not(Odd(к) And d).

2. Функции, связывающие различные типы данных

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

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

Таблица 2.6

Стандартные функции, связывающие различные типы данных

Обращение

Тип аргумента

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

Действие

Ord (х)

Любой порядковый

I

Дает порядковый номер значения х в его типе

Pred (х)

То же

Тот же, что у х

Дает предыдущее по отноше­нию к х значение в его типе

Succ (х)

»

Тот же, что у л;

Дает следующее по отноше­нию к х значение в его типе

Chr (х)

Byte

Char

Дает символ с порядковым номером х

Odd (х)

I

Boolean

Дает True, если х — нечетное число, и False, если х —четное

Функции Ord, Pred и Succ применимы только к порядковым типам данных, т. е. из простых типов данных ко всем, кроме веще­ственных.

Функция Ord, применяемая к целому числу, дает его собствен­ное значение. Например:

НЕ нашли? Не то? Что вы ищете?

Ord(-35) = -35; Ord(128) = 128

Если аргумент целый, то, например, оператор у := Pred(x) эквивалентен у := х - 1, а оператор у := Succ(x) эквивален­тен у := х + 1.

Для аргумента символьного типа эти функции дают соответ­ственно предыдущий и следующий символы в таблице внутренней кодировки. Поскольку латинский алфавит всегда упорядочен по ко­дам, т. е.

Ord (‘ а ‘) < Ord('b') < ... < Ord (‘ z ) ,

то, например, можно записать

Pred(‘b) = 'a'; Succ('b’) = c’.

То же относится и к цифровым литерам:

Ргеd(‘5’) = '4'; Succ('5') = '6'.

Функция Chr (x) является обратной к функции Ord (х), если х — символьная величина. Например, для кода ASCII справедлива за­пись:

Ord(‘ а’) = 97; Chr(97) = 'а'.

Эту их «взаимообратность», если х— символьная величина, можно выразить формулой

Chr(Ord(х)) = х.

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

N := Ord(‘5’) - Ord(‘0’).

Здесь Nцелая переменная и использован тот факт, что код литеры '5' на пять единиц больше кода '0'.

Булевский тип данных также является порядковым. Порядок расположения двух его значений следующий: False, True. Тогда справедливы следующие отношения:

Ord(False) = 0; Succ(False) = True;

Ord(True) = 1; Pred(True) = False.

3. Программирование ветвящихся алгоритмов

Алгоритмическая структура ветвления программируется в Па­скале с помощью условного оператора, имеющего вид

If <Условие> Then <Оператор 1> Else «Оператор 2>;

Кроме того, возможно использование неполной формы услов­ного оператора:

If <Условие> Then <Оператор>;

Условием в условном операторе является логическое выраже­ние, которое вычисляется в первую очередь. Если его значение равно True, то будет выполняться <Оператор 1> (после Then), если ж его значение равно False, будет выполняться <Оператор 2> (после Else) для полной формы или сразу оператор, следующий после условного, для неполной формы (без Else).

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

Структура оператора выбора:

Case <Селектор> Of

<Константа 1> : <Оператор 1> ;

<Константа 2> : <Оператор 2> ;

<Константа n> : <Оператор n> ;

Else <Оператор>

End.

Здесь <Селектор> - это выражение любого порядкового типа, <Константа> - постоянная величина того же типа, что и селектор, а <Оператор> - любой простой или составной оператор.

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

Задание к лабораторной работе № 2П

1) Выписать в отчет по лабораторной работе свой вариант задания из раздела "Варианты Задачи 1 лабораторной работы № 2П" в следующей форме:

Задание к лабораторной работе № 2П.

Вариант № ____

Задача № 1. Вычислить значение функции F по формуле:

(привести формулу для своего варианта).

2) Составить блок-схему и программу решения Задачи № 1 для своего варианта и занести их в отчет.
В программе предусмотреть:

а) ввод нескольких вариантов тестовых исходных данных;

б) вывод результатов вычисления функции для тестовых исходных данных;

в) ввод произвольного значения аргумента и вывод соответствующего результата вычисления функции;

г) в случае получения нуля в знаменателе вывести фразу "Ноль в знаменателе".

3) Выписать в отчет по лабораторной работе свой вариант задания из раздела "Варианты Задачи 2 лабораторной работы № 2П" в следующей форме:

Задача № 2. Составить программу, которая печатает True, если точка с координатами (х, у) принадлежит заданной заштрихованной области, показанной на рисунке, и False – в противном случае.

(привести рисунок для своего варианта).

4) Составить блок-схему и программу решения Задачи № 2 для своего варианта и занести их в отчет.
В программе предусмотреть:

а) ввод нескольких вариантов тестовых координат (х, у);

б) вывод результатов работы программы для тестовых координат;

в) ввод произвольных координат (х, у) и вывод соответствующего результата работы программы.

5) Рекомендации.

Для составления программы изучить:

o Условные обозначения блоков программ, используемые в блок-схемах, и правила их применения.

o Структуру программы.

o Оператор присваивания, математические и логические операции, их приоритет.

o Операторы ввода-вывода read(ln), write(ln).

o Стандартные математические функции Паскаля.

o Условный оператор ifthenelse.

o Оператор выбора case … of…else…end.

o При составлении программ использовать Пример выполнения задания к лабораторной работе.

Содержание отчета по лабораторной работе № 2П:

6. Титульный лист с номером и названием работы.

7. Краткий конспект теоретической части.

8. Задание к первой задаче лабораторной работы в соответствии с п. 1) данного описания.

9. Решение Задачи № 1 в соответствии с п. 2) данного описания.

10. Задание ко второй задаче лабораторной работе в соответствии с п. 3) данного описания.

11. Решение Задачи № 2 в соответствии с п. 4) данного описания.

ПРИЛОЖЕНИЯ

Результаты выполнения логических операций

A

B

Not B

A And B

A Or B

A Xor B

T

T

F

T

T

F

T

F

F

F

T

T

F

F

T

F

F

F

F

T

T

F

T

T

Стандартные функции, связывающие различные типы данных

Обращение

Тип аргумента

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

Действие

Ord (x)

Любой порядковый

I

Даёт порядковый номер значения x в его типе

Pred (x)

То же

Тот же, что у x

Даёт предыдущее по отношению к x значение в его типе

Succ(x)

»

Тот же, что у x

Даёт следующее по отношению к x значение в его типе

Chr (x)

Byte

Char

Даёт символ с порядковым номером x

Odd (x)

I

Boolean

Даёт True, если x – нечётное число, и False, если x - чётное

Структура условного оператора:

If < Условие> Then <Оператор 1> Else <Оператор 2>;

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8