logo
госник_150900_шпоры2

6. Основы цифровой электроники.

Цифровые элементы используются для преобразования и обработки дискретных сигналов, их можно разделить на 2 группы:

  1. Последовательные ЦЭ, которые содержат элементы памяти (например, триггер).

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

D-триггер запоминает состояние входа и выдаёт его на выход. D-триггеры имеют два входа: информационный D и синхронизации С. Сохранение информации в D-триггерах происходит в момент прихода активного фронта на вход С. Информация на выходе остаётся неизменной до прихода очередного импульса синхронизации. D-триггер в основном используется для реализации защёлки. Так, например, для снятия 32 бит информации с параллельной шины, берут 32 D-триггера и объединяют их входы синхронизации для управления записью информации в защёлку, а 32 D входа подсоединяют к шине.

  1. Комбинированные ЦЭ, не содержащие элементы памяти (логические элементы). Логический элемент – дискретный элемент, напряжение на выходе которого могут либо высокого уровня (1) либо низкого уровня (0).

В зависимости от вида управляющих сигналов делят ЛЭ на:

  1. Потенциальные ЛЭ. Используются потенциальные сигналы.

  2. Импульсные ЛЭ. Импульсный сигнал.

  3. Импульсно-потенциальные ЛЭ.

Основные параметры ЛЭ:

  1. Набор логических функций.

  2. Число входов.

  3. Коэффициент разветвления по выходу.

  4. Потребляемая мощность.

  5. Динамические параметры: задержка распространения сигнала и максимальная высота входного сигнала.

Информатика 1. Типы данных на языке С++

В C++ доступны следующие встроенные типы:

Операции сравнения возвращают тип bool. Выражения в скобках после if, while приводятся к типу bool.[10]

Функции могут принимать аргументы по ссылке. Например, функция void f(int &x) {x=3;} присваивает своему аргументу значение 3. Функции также могут возвращать результат по ссылке, и ссылки могут быть вне всякой связи с функциями. Например, {double &b=a[3]; b=sin(b);} эквивалентно a[3]=sin(a[3]);. При программировании ссылки в определённой степени сходны с указателями, со следующими особенностями: перед использованием ссылка должна быть инициализирована; ссылка пожизненно указывает на один и тот же адрес; в выражении ссылка обозначает непосредственно тот объект или ту функцию, на которую она указывает, обращение же к объекту или функции через указатель требует разыменование указателя. Существуют и другие отличия в использовании указателей и ссылок. Концептуально ссылка — другое имя переменной или функции, другое название одного и того же адреса, существует лишь только в тексте программы, заменяемое адресом при компиляции; а указатель — переменная, хранящее адрес, к которому обращаются.

2. Операции в языке С++.

3. Операторы в языке С++.

Операторы управляют процессом выполнения программы. Набор операторов языка С++ содержит все управляющие конструкции структурного программирования.

Составной оператор ограничивается фигурными скобками. Все другие операторы заканчиваются точкой с запятой.

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

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

catch (<объявление исключения>) { <операторы> }

catch (<объявление исключения>) { <операторы> }

...

catch (<объявление исключения>) { <операторы> }

Оператор-переключатель switch (<выражение>)

{ case <константное выражение 1>: <операторы 1>

case <константное выражение 2>: <операторы 2>

...

case <константное выражение N>: <операторы N>

[default: <операторы>]

}

Оператор-переключатель предназначен для выбора одного из нескольких альтернативных путей выполнения программы. Вычисление оператора-переключателя начинается с вычисления выражения, после чего управление передается оператору, помеченному константным выражением, равным вычисленному значению выражения. Выход из оператора-переключателя осуществляется оператором break. Если значение выражения не равно ни одному константному выражению, то управление передается оператору, помеченному ключевым словом default, если он есть.

В языке C++ этот оператор отличается от классической реализации цикла с постусловием тем, что при истинности выраженияпроисходит продолжение работы цикла, а не выход из цикла.

<оператор>

Тело оператора for выполняется до тех пор, пока условное выражение не станет ложным (равным 0). Начальное выражение ивыражение приращения обычно используются для инициализации и модификации параметров цикла и других значений. Начальное выражение вычисляется один раз до первой проверки условного выражения, а выражение приращения вычисляется после каждого выполнения оператора. Любое из трех выражений заголовка цикла, и даже все три могут быть опущены (не забывайте только оставлять точки с запятой). Если опущено условное выражение, то оно считается истинным, и цикл становится бесконечным.

Оператор пошагового цикла в языке С++ является гибкой и удобной конструкцией, поэтому оператор цикла с предусловиемwhile используется в языке С++ крайне редко, т.к. в большинстве случаев удобнее пользоваться оператором for.

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