Boolean тип данных и действия реферат

Обновлено: 02.07.2024

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

типы данных vba

В современном обществе компьютер играет огромную роль, уже трудно представить труд человека без использования вычислительной техники. Но компьютер сам по себе не способен даже на простые операции, поэтому для того, чтобы человек мог использовать компьютер необходимо так называемое программное обеспечение. Существует огромное количество разнообразных по своим функциям и возможностям программ, но среди них выделяют два основных типа: системное и прикладное программное обеспечение. К системному программному обеспечению относят операционную систему и всё ПО, предназначенное для создания рабочей среды. Прикладные программы в свою очередь выполняют ту самую работу, которая необходима человеку. В этой курсовой работе я остановлюсь на обзоре языка Visual Basic for Application в нем.

На сегодняшний день язык программирования VBA является довольно востребованным среди IT – специалистов. Практически любой пользователь может научиться писать программы на языке VBA , которые могут решить самые разнообразные задачи. В среде программистов-профессионалов считается, что самый короткий путь "с нуля" до профессиональных программ, которые делаются под заказ — именно через связку Office – VBA.

Цель: освоение и закрепление знаний на языке программирования Visual Basic в пакете Microsoft Excel .

Задачи: на языке программирования VBA создать примеры, с помощью которых можно рассмотреть принципы работы объектов и свойств данного языка.

Структура работы состоит из двух частей:

Теоретической, где содержатся материалы темы

Практической, где рассматриваются задачи, их данные, возможные недочёты и решение.

АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

Среда разработки VBA

После выпуска в 1994 г. Visual Basic for Application (VBA) и включения его в состав Microsoft Office язык Basic превращается в один из основных стандартов программирования для Windows.

Visual Basic for Applications ( VBA , Visual Basic для приложений) — немного упрощённая реализация языка программирования Visual Basic , встроенная в линейку продуктов Microsoft Office (включая версии для Mac OS ), а также во многие другие программные пакеты, такие как AutoCAD , SolidWorks , CorelDRAW , WordPerfect и ESRI ArcGIS . VBA покрывает и расширяет функциональность ранее использовавшихся специализированных макроязыков, таких как WordBasic.

Однако VBA обычно — самый удобный язык для работы с приложениями Office. Главная причина проста — язык VBA встроен в приложения Office (и не только), и код на языке VBA можно хранить внутри документов приложений Office — документах Word, книгах Excel, презентациях PowerPoint и т.п. Конечно же, этот код можно запускать оттуда на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

Однако VBA обычно — самый удобный язык для работы с приложениями Office. Главная причина проста — язык VBA встроен в приложения Office (и не только), и код на языке VBA можно хранить внутри документов приложений Office — документах Word, книгах Excel, презентациях PowerPoint и т.п. Конечно же, этот код можно запускать оттуда на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

Однако VBA обычно — самый удобный язык для работы с приложениями Office. Главная причина проста — язык VBA встроен в приложения Office (и не только), и код на языке VBA можно хранить внутри документов приложений Office — документах Word, книгах Excel, презентациях PowerPoint и т.п. Конечно же, этот код можно запускать оттуда на выполнение, поскольку среда выполнения кода VBA (на программистском сленге — хост) встроена внутрь этих приложений.

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 24.05.2015
Размер файла 43,0 K

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

  • Введение
      1. Концепция типов данный в PASCAL
      • 2. Классификация типов данных в PASCAL
        • 3. Базовые и производные типы в PASCAL
          • Заключение

          В данной работе мы рассмотрим типы данных, константа, переменная, виды типов данных, базовые и производные типы.

          Тема нашего исследования актуальна, поскольку типы данных это основа всех языков программирования. Тип очень важен при выделении памяти под переменные. Это связано с тем, что каждому типу данных соответствует определенное число байтов в памяти компьютера. Функционирование любой программы связано с обработкой данных. Данные, предназначенные для обработки, называются исходными и задаются обычно в начале программы. Программа по ходу выполнения может запрашивать недостающие исходные данные. В процессе выполнения программы исходные данные преобразуются в результаты. Каждый элемент данных, используемый в программе, является константой или переменной.

          Константами называются элементы данных, значения которых в процессе выполнения программы не изменяются. В языке Pascal используются константы следующих видов: числовые, логические (булевские), символьные и строковые. Числовые константы предназначены для представления числовых данных (целых и вещественных). Булевские константы используются для представления данных, имеющих смысл логических высказываний (да - нет, истина - ложь, 1 - 0). Символьные и строковые константы - это отдельные символы и их последовательности.

          Переменные, в отличие от констант, могут менять свои значения при выполнении программы. В программировании переменную можно трактовать как одну или несколько ячеек оперативной памяти компьютера, которому присвоен идентификатор. Содержимое этих ячеек может меняться, но идентификатор переменной остается неизменным. Каждое новое значение, записанное в ячейку памяти, “затирает” предыдущее значение, поэтому в любой момент времени переменная имеет только одно, текущее, значение. Обычно переменные используются для хранения исходных данных, результатов программы, а также промежуточных данных, которые образуются по ходу выполнения алгоритма. Переменные в отличие от констант могут неограниченное число раз менять свое значение в процессе работы программы. Если в начале программы некоторая переменная X имела значение 0, то в конце программы X может принять значение 10000. Любая константа, переменная, выражения или функция относится к некоторому типу. паскаль программирование перечисляемый

          Цель данного исследования является рассмотрение теоретических аспектов концепции типов данных на примере языка программирования высокого уровня PASCAL, базовых и производных типов.

          Задача изучить концепцию типов данных в PASCAL и ее реализацию, изучить такие типы как базовые и производные в языке программирования PASCAL.

          Предмет и объект исследования. Объектом исследования является типы данных. Предметом исследования - переменные, константы, концепция данных в языке программирования PASCAL, типы данных в целом.

          Методы нашего исследования являются анализ, синтез, обобщение.

          1. Концепция типов данный в PASCAL

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

          В языке программирования PASCAL есть правило в котором говорится, что тип явно задается в описании переменной или функции, которое предшествует их использованию.

          Концепция типов данных имеет следующие основные свойства:

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

          2). тип значения, задаваемого константой, переменной или выражения, можно определить по виду или описанию;

          3). каждая операция или функция требует аргументов фиксированного типа и выдает результат фиксированного типа;

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

          Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип. Любое данное - это неразрывная совокупность типа и значения.

          -множество значений, которые могут принимать данные;

          -набор операций, которые могут выполняться над данными;

          -структурную организацию данных.

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

          Каждое выражение в программе имеет определенный тип.

          В PASCAL имеется 4 базовых простых типа данных:

          которые программисту не нужно описывать. Их описание входят в состав языка программирования. Нужно знать идентификаторы этих типов и правильно их использовать.

          2. Классификация типов данных в PASCAL

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

          1). по признаку стандартности (стандартные и пользовательские);

          2). по структурной организации (скалярные и структурированные);

          3). порядковые и непорядковые.

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

          Типы определяемые программистом :

          В простых типах данных выделяются порядковые типы, которые характеризуются следующими свойствами:

          - все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество;

          - к любому порядковому типу может быть применена стандартная функция Ord, которая в качестве результата возвращает порядковый номер конкретного значения в данном типе;

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

          - к любому порядковому типу могут быть применены стандартные функции Low и High, которые возвращают наименьшее и наибольшее значения величин данного типа.

          Порядковыми типами являются:

          К структурированным типам относятся типы:

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

          за целым типом - имя INTEGER;

          за вещественным - REAL;

          за логическим - BOOLEAN;

          за литерным - CHAR;

          за адресным - POINTER.

          Классификации всех типов данных приведены в таблице 1.

          Таблица 1. Три классификации типов данных

          Скалярные (простые) типы данных

          Структурированные типы данных

          Стандартные (Базовые) типы

          Вещественный тип REAL

          Целый тип INTEGER

          Логический тип BOOLEAN

          Литерный тип CHAR

          Производные типы (определяемые программистом)

          Указательные (ссылочные) типы;

          В заключении подчеркнем, что классификация типов не претендует на полноту, но позволяет ориентироваться, в частности, в системе управления данными в Паскаль.

          3. Базовые и производные типы в PASCAL

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

          Все типы данных делятся на две большие группы скалярные (простые) и структурированные (составные). Скалярные типы в свою очередь подразделяются на стандартные (базовые) и пользовательские (производные от базовых типов). Базовые типы предлагаются разработчиками языка.

          Базовые типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т. д. Если же программист определяет собственный тип данных, он описывает его характеристики и сам дает ему имя, которое затем применяется точно так же, как имена стандартных типов. Язык PASCAL представляет средства определения новых типов, производных от базовых типов. Такие типы иначе называются пользовательскими. Производные типы образуются из уже известных нам типов, наследуя связанные с ними значения и операции. Из простых типов к пользовательским относятся перечисляемый и интервальный типы. Типы данных, конструируемые программистом, описываются в разделе type по следующему шаблону:

          type Lat = 'a' .. 'z', 'A' .. 'Z';

          Базовые типы данных являются стандартными, поэтому нет нужды описывать их в разделе type. Однако при желании это тоже можно сделать, например, дав длинным определениям короткие имена. Скажем, введя новый тип данных

          type Int = Integer;

          можно немного сократить текст программы.

          Стандартные конструируемые типы также можно не описывать в разделе type. Однако в некоторых случаях это всё равно приходится делать из-за требований синтаксиса. Например, в списке параметров процедур или функций конструкторы типов использовать нельзя.

          В языке программирования высокого уровня PASCAL предлагаются следующие базовые типы: целочисленные, вещественный, логический, символьный и адресный;

          Целые типы определяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данном компьютере. Целые типы представляются в компьютере в двоичной системе счисления. В Паскале определены несколько целый типов данных, обозначают множества целых чисел в различных диапазонах. Имеется пять целочисленных типов, различающихся диапазоном допустимых значений и размером занимаемой оперативной памяти. Целочисленные типы обозначаются идентификаторами: Byte, ShortInt, Word, Integer, LongInt; их характеристики приведены в следующей таблице, различающихся длиной и наличием знака: старший двоичный разряд либо воспринимается как знаковый, либо является обычным разрядом числа (табл.2). Внутреннее представление определяет диапазоны допустимых значений величин.

          Целочисленные типы данных представляют собой значения, которые могут использоваться в арифметических выражениях и занимать в памяти от 1 до 4 байт.

          III. Логический тип BOOLEAN Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя одной из областей математики — математической логики. Основу математической логики составляют две константы — 0 (ложь) , 1 (истина) и действия над ними. Логические данные широко используются при сравнении величин, результат сравнения может быть истинным или ложным. Логические данные и операции над ними имеют важное значение в информатике, так как позволяют внести в расчеты элементы человеческой логики.Пример: а) А*А=В*В+С*С истинно при А=5,В=4,С=3, ложно при А=В=5, С=2. б) Х*Х в) А > В+3 — истинно при А=6, В=1, ложно при А=2, В=10.1. В языке Pascal имеется две логических величины: TRUE (истина) и FALSE (ложь). Они занимают в памяти по 1 байту.2. В разделе описаний:CONST T: TRUE; F1, LS : FALSE;VAR L1, L4: BOOLEAN; В разделе операторов такой переменной может быть присвоено значение логической константы, например, L1:= TRUE; L4:=L1. Если справа в операторе присваивания стоит арифметическое или логическое выражение, то получим логическое значение: истинно данное выражение или ложно.3. Операции. Для сравнения данных предусмотрены следующие операции отношений: (не равно), > (больше), >= (больше или равно).Пример: а) 6=2 результат - FALSE, б) А в) С=4*Т результат FALSE при С=5 и Т=1.Задание 1: определить, какая информация будет выведена на экран при выполнении программы.PROGRAM LOG1;CONST A=2; B:=6; VAR L1, L2 : BOOLEAN;BEGIN L1:=AB; L2:= A+BWRITELN(‘Ответ1 = ‘, L1); WRITE(‘Ответ2 = ‘, L2) END. 4. В языке Pascal, как и в математической логике, имеются специальные логические операции: OR (или)— логическое сложение, дает ложный результат только тогда, когда оба операнда ложны, в остальных случаях результат — истина.^ AND (и) — логическое умножение, дает истинный результат только тогда, когда оба операнда истинны, в остальных случаях результат — ложь.NOT(не) — логическое отрицание, дает истинный результат, когда выражение ложно и наоборот.^ Таблица истинности логических операций А B A OR B A AND B NOT A TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE Правила вычислений логических выражений. 1. Приоритет операций: 1) NOT 2) *, /, DIV, MOD, AND 3) +, — , OR 4) , >=, . 2. Допускается использовать только круглые скобки. 3. В круглые скобки обязательно заключаются части выражений, стоящие справа и слева от операций AND и OR . Примеры. 1. D:=(A>5) OR (C=3) при A=10, C=1 D= TRUE, при A=2, C=1 D=FALSE, при A=2, C=3 D=TRUE . 2. N:=(A>5) AND (C=3) при A=10, C=3 N= TRUE, при A=2, C=3 N= FALSE, при A=12, C=2 N= FALSE. 3. P:=NOT(A=2) при A=5 P= TRUE, при А=2 Р= FALSE.Задание 2: Определить результаты логических выражений: при А=2, В=8, С=5. P:=(A*B) P:=(A+C) 45 P:=(A>0) OR (B P:=(AA+6) X:=NOT(A>3) AND (B=A+6) D:=(A>3) AND (B=A+6) OR NOT(C=4) P:=(A2) OR (B>=A+6) AND (C>A+1) X:=(A D:=(A>3) AND (B=A+6) OR NOT(C=4) OR NOT(B=7) X:=(AA+C+1)Задача: Верно ли что треугольник с углами А и В прямоугольный?PROGRAM LOG2;VAR А, В, C: INTEGER; L : BOOLEAN;BEGINWRITELN(‘Введите величины углов в градусах ‘); READ(A,B);WRITELN; C:=180-(A+B); L:=(A=90) OR (B=90) OR (C=90);^ WRITELN(‘Треугольник с углами А и В прямоугольный? ‘, L); END.Задачи для самостоятельного решенияДаны стороны прямоугольника а и в. Найти его площадь S. Выяснить больше ли данная площадь числа 20 или нет (True или False). Данные а=8, в=3; а=5, в=3. Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник остроугольный? Данные А=90; А=100, А=60. Дан больший угол треугольника А в градусах. Определить, верно ли, что треугольник тупоугольный? Данные А=90; А=100, А=60. Ввести число А. Определить, верно ли, что оно больше числа 50. Данные А=90; А=50, А= - 10. Ввести число А. Определить, верно ли, что оно меньше числа 100. Данные А=190; А=100, А= - 10. Ввести число А. Определить, верно ли, что оно равно числу 27. Данные А=90; А=27, А= - 10.

          Данный реферат Вы можете использовать для подготовки курсовых проектов.

          Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

          Название работы: Ветвящиеся программы. Тип данных Boolean

          Предметная область: Информатика, кибернетика и программирование

          Описание: Ветвящиеся программы 1.Понятие условия. Тип данных Boolean (логический). 2.Составной оператор. 3.Выбирающие операторы: условный оператор. 4.Ветвящиеся программы. Пример. 5.Оптимизация ветвящихся программ по времени. 6.Скалярный тип. 7.Выбирающие опе.

          Дата добавления: 2012-11-27

          Размер файла: 96 KB

          Работу скачали: 7 чел.

          1.Понятие условия. Тип данных Boolean (логический).

          3.Выбирающие операторы: условный оператор.

          4.Ветвящиеся программы. Пример.

          5.Оптимизация ветвящихся программ по времени.

          7.Выбирающие операторы: оператор варианта

          1.Понятие условия. Тип данных Boolean (логический).

          Условия используются в программах для организации ветвлений и повторяющихся действий. Условием в языке является логическое выражение - выражение типа Boolean. Булевские значения - это логические истинностные значения: True (истина) и False (ложь).

          Этот тип данных, как и другие простые типы данных, упорядочен. На нем определены функции Ord, Succ, Pred.

          Таким образом , имеют место следующие соотношения :

          Ord (False)=0, Ord (True)=1,

          Succ (False)=True, Pred (True)=False.

          На множестве определены логические операции

          And - логическая коньюнкция ( и )

          Or - логическая дизньюнкция ( или )

          Not - логическое отрицание ( не )

          Эти операции определяются следующими таблицами истинности:

          Отношения, определенные ранее для простых стандартных типов являются операциями, результат которых имеет логический тип. Иными словами, булевское значение дает любая из операций отношений : =, , , >= , in .

          Для типа Boolean определены стандартные функции, принимающие значения этого типа (логические значения):

          Odd(Х) = False, если Х - целое четное число>

          Функции Eoln(F) и Eof(F) будут определены при описании файлов.

          Условия можно классифицировать как простые и сложные.

          Простые условия определены диаграммой:

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

          Приведем примеры простых и сложных выражений типа Boolean (условий).

          Простые выражения типа Boolean (условия) :

          Sin(2*x) > Ѕ, (X + Y) mod Prime = 0,

          Number div Modulo = 2, Odd(A*P + B),

          Сложные выражения типа Boolean (условия) :

          а) (а + i > в) or ( х [Index] = с )

          в) Eof(f) Or (f^.data = 0)

          г) Not(beta) And (gamma)

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

          Not((A > 0) And (B <> 0)) Not(A > 0) Or Not(B <> 0) (A

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

          Несколько операторов, выполняемых последовательно, можно объединять в один составной оператор.

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

          Составной оператор определяется диаграммой :

          Обратите внимание на то, что раздел операторов программы представлен как один составной оператор.

          Примеры составных операторов :

          Write(‘Введите координаты вектора: ‘);

          Length := sqrt(a*a + b*b+ c*c);

          Write(‘длина (a,b,c) равна ‘, Length)

          в) Begin writeln (‘уравнение корней не имеет’) End

          3.Выбирающие операторы: Условный оператор.

          Выбирающие операторы предназначены для выделения из составляющих их операторов - компонент одного - единственного, который и выполняется. Таким образом, выбирающие операторы реализуют управляющую структуру “ветвление”. В качестве выбирающих в языке определены условный оператор и оператор варианта.

          Существует две формы условного оператора :

          Они соответствуют базовым управляющим структурам короткого и полного ветвления. Условие - это выражение типа Boolean .

          Синтаксическая диаграмма условного оператора имеет вид:

          Примеры условных операторов :

          а) If a >= b then Max := a else Max := b

          б) If IntFun(i) mod 3 = 0 then write(i)

          в) If (a11*a22 = a12*a21) And

          ((a11*b2 <> a12*b1) Or

          then Write(‘система решений не имеет’)

          else Write(‘система имеет решения’)

          Обратите внимание на то, что в теле условного оператора может использоваться и другой условный оператор. Это создает возможность реализовывать многозначные ветвления. Например:

          then If LeadCoef

          then Write(‘Решений нет’)

          else Write(‘Решения - вся числовая ось’)

          else If LeadCoef

          then Write(‘Решения - между корнями уравнения’)

          else Write(‘Решения - вне корней уравнения’)

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

          If then If then else

          Для устранения двусмысленности в языке избран 1-ый вариант интерпретации в соответствии с правилом: разделителю else соответствует ближайший предыдущий разделитель then.

          4.Ветвящиеся программы. Пример.

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

          Var a, b, c, Root1, Root2: real;

          Write(‘Введите коэффициенты уравнения (через пробел):’);

          Readln(a, b, c) ; Writeln(Line);

          Discriminant := Sqr(b) - 4*a*c;

          then Solution := 0

          else If Discriminant = 0

          Writeln (‘х1= ‘ ,Root1)

          Root1 := (-b + Sqrt(Discriminant))/(2*a);

          Root2 := -b/a - Root1;

          Writeln(‘х1= ‘, Root1, ‘ х2= ‘, Root2)

          Writeln(‘Количество решений равно: ‘, Solution)

          5.Оптимизация ветвящихся программ по времени.

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

          Пусть T п - временная сложность программы в худшем случае, T у - временная сложность условия и T в1 , T в2 - временные сложности ветвей программы. Тогда имеет место соотношение:

          T п = T у + Max( T в1 , T в2 ) (1)

          Временная сложность в среднем определяется формулой

          T п = T у + P у T в1 + (1 - P у )T в2 (2)

          где P у - вероятность выполнения условия.

          Поскольку условием является логическое выражение, общие приемы оптимизации выражений применимы и для логических выражений. Время выполнения логических операций And, Or, Not, =, <> Tл существенно меньше времени выполнения аддитивных операций, а время выполнения операций , = равно времени выполнения аддитивных операций.

          T f >> T m > T a > T л (3)

          Рассмотрим пример: требуется выяснить, является ли одно из двух чисел A, B равным нулю.

          1 вариант условия: A*B = 0

          2 вариант условия: (A = 0)Or(B = 0)

          Во первом варианте использовано умножение и сравнение, во втором - 3 логических операции. Сложность 2-го варианта меньше.

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

          then Flag := False Flag := (x >= 0)

          else Flag := True

          В следующем примере условия ветвлений упрощены за счет использования соотношений, выполняющихся после вычисления предыдущего условия:

          Пример 2 . Программа вычисления значения функции, определенной кусочно:

          y = x 2 + 1 при -1

          1 вариант ( часто встречающийся у начинающих )

          If x >= 1 then y := 2*x + 1;

          2 вариант ( оптимальный )

          Для получения 2-го варианта заметим, что условия x = 1 взаимно исключающие и в совокупности тождественно истинные. Поэтому (-1 = 1 можно заменить на else.

          6.Перечисляемый тип. Раздел типов.

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

          Tипы данных, определяемые программистом, описываются в специальном разделе - разделе типов. Раздел типов опреден синтаксической диаграммой:

          Перечисляемый тип данных определяется следующей диаграммой :

          Примеры определений перечисляемых типов :

          а) Type Weekday = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

          Colour = (Red, Orange, Yellow, Green, Blue, Black);

          Operation = (Plus, Minus, Times, Divide)

          Заметим, что стандартный тип Boolean, если бы его нужно было описать, выглядел бы как : type Boolean = (False, True);

          Для аргументов перечисляемого типа определены такие стандартные функции :

          Succ(x) - значение, следующее за x.

          Pred(x) - значение, предыдущее x.

          Ord(x) - порядковый номер x.

          К значениям перечисляемого типа применимы отношения:

          Упорядоченность значений определяется порядком перечисления констант в описании типа. Например :

          Описание типа переменной может быть дано и в разделе переменных. Например, описание :Type Figure = (Triangle, Circle, Rhombus, Square);

          Var f: Figure; эквивалентно описанию Var f: (Triangle, Circle, Rhombus, Square); однако во втором случае описание типа становится анонимным: тип описан, но не имеет имени. Использование этого типа ограничено. Поэтому 1-ый вариант более соответствует стилю языка.

          7.Выбирающие операторы: оператор варианта

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

          Оператор варианта вычисляет значение селектора и выбирает для исполнения оператор, одна из меток которого равна этому значению. По окончании выполнения выбранного оператора управление передается в начало следующего за оператором варианта оператора.

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

          Читайте также: