Язык программирования C++. Вводный курс

Язык программирования C++. Вводный курс

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

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

Простые и составные инструкции
Пустая инструкция используется там, где синтаксис С++ требует употребления инструкции, а логика программы– нет. Например, в следующем цикле while, копирующем одну строку в другую, все необходимые действия производятся внутри круглых скобок (условной части инструкции). Однако согласно правилам синтаксиса С++ после while должна идти инструкция. Поскольку нам нечего поместить сюда (вся работа уже выполнена), приходится оставить это место пустым:

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

Раскрутка стека
Предположим, что вызов функции, выполнение которой прекратилось в результате исключения, погружен в try-блок; в такой ситуации исследуются все предложения catch, ассоциированные с этим блоком. Если один из них может обработать исключение, то процесс заканчивается. В противном случае переходим к следующей по порядку вызывающей функции. Этот поиск последовательно проводится во всей цепочке вложенных вызовов. Как только будет найдено подходящее предложение, управление передается в соответствующий обработчик.

Список инициализации членов
Инициализация одного объекта класса другим объектом того же класса, как, например: Account oldAcct( "Anna Livia Plurabelle" ); Account newAcct( oldAcct ); называется почленной инициализацией по умолчанию. По умолчанию– потому, что она производится автоматически, независимо от того, есть явный конструктор или нет. Почленной– потому, что единицей инициализации является отдельный нестатический член, а не побитовая копия всего объекта класса.

Доступ к членам базового класса
Напомним, что объект производного класса состоит из одного или более подобъектов, соответствующих базовым классам, и части, относящейся к самому производному. Например, NameQuery состоит из подобъекта Query и объекта-члена string. Для иллюстрации поведения конструктора производного класса введем еще один член встроенного типа

Строковый ввод
Считывание можно производить как в C-строки, так и в объекты класса string. Мы рекомендуем пользоваться последними. Их главное преимущество– автоматическое управление памятью для хранения символов. Чтобы прочитать данные в C-строку, т.е. массив символов, необходимо сначала задать его размер, достаточный для хранения строки. Обычно мы читаем символы в буфер, затем выделяем из хипа ровно столько памяти, сколько нужно для хранения прочитанной строки, и копируем данные из буфера в эту память

Источники питания

Cтабилизатор собран по схеме моста в выходной цепи, образованного резисторами R4, R5, стабилитронами D1, D2 и светодиодом D3.В диагональ моста включен эмиттерный переход транзистора Q3, управляющего регулирующим составным транзистором Q2,Q1. Составной транзистор включен по схеме с общим эмиттером. Более высокое по сравнению с эмиттерным повторителем выходное сопротивление оконечного каскада компенсируется в этой схеме тем, что выходной каскад имеет высокий коэффициент усиления по напряжению, последнее заметно повышает коэффициент петлевого усиления схемы стабилизатора. Так как напряжение на базе управляющего транзистора Q3 по отношению к плюсовому проводу оказывается стабилизированным, то изменения выходного напряжения передаются на эмиттерный переход этого транзистора без ослабления делителем.
Максимальный ток нагрузки задается резистором R4. Ток базы транзистора Q2 не может превысить значения тока, текущего через резистор R4. Следовательно, подбором этого резистора можно установить требуемый ток защиты. Стабилизатор защищен и от коротких замыканий в цепи нагрузки. Ток короткого замыкания зависит от значения запускающего тока, текущего через резистор R2. Этот резистор подбирается при минимальном сопротивлении нагрузки по устойчивому запуску стабилизатора. Такая система обеспечивает надежный запуск стабилизатора, и практически не ухудшает параметров, поскольку в рабочем режиме ток через резистор R2 замыкается через малое сопротивление открытого стабилитрона D2.

Преобразователь напряжения
Cтабилизатор собран по схеме моста в выходной цепи, образованного резисторами R4, R5, стабилитронами D1, D2 и светодиодом D3.В диагональ моста включен эмиттерный переход транзистора Q3, управляющего регулирующим составным транзистором Q2,Q1. Составной транзистор включен по схеме с общим эмиттером.

Исследование электробезопасности трехфазных электрических сетей напряжением до 1000В
Цель работы – изучить виды и схемы электрических сетей и их систем заземления. Выяснить опытным путем опасность поражения электрическим током лиц, эксплуатирующих электроустановки, в сетях различного вида как при нормальном, так и при аварийном режимах работы. Выбрать электрическую сеть для заданных потребителей, исходя из требований электробезопасности.

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

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

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

Устройства активной технической защиты
Активная техническая защита телефонной линии от самовольного подключения предусматривает вмешательство в процесс установления и проведения связи с пиратского аппарата с целью предотвращения реальных финансовых затрат. Все типы аппаратуры, реализующие активную защиту линий могут устанавливаться как на выходных клеммах АТС, так и на входе оконечных устройств, то-есть у абонента.

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

Аккумуляторы
На Li-ion аккумуляторы фирмы Motorola нанесен логотип "EP" (Expert Performance - "квалифицированное исполнение"). Это означает, что аккумуляторы содержат информацию, которую сообщают зарядному устройству (но только с таким же логотипом "EP") и которая необходима для проведения оптимального заряда и продления его срока эксплуатации.

Ремонт аккумуляторных батарей для портативной аппаратуры
Для питания устройств с автономным питанием в настоящее время в основном используются два типа аккумуляторных батарей: никель-кадмиевые (Ni-Cd) и никель-металлгидридные (Ni-Mh). Появились и батареи новой конструкции - литий-ионные и герметичные кислотные с желеобразным электролитом. Эти батареи пока еще не нашли широкого применения, и технология их производства совершенствуется.



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

Двухтактный импульсный источник питания
В настоящее время при мощности менее 300 Вт наибольшее распространение получили импульсные источники питания (ИИП), выполненные по схеме однотактного обратноходового преобразователя (ООП). Объясняется это, видимо, их технологичностью для серийного производства — минимальным числом намоточных элементов, силовых компонентов и разнообразием микросхем для управления такими источниками.

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

Блок питания для домашней лаборатории на LM723
Электронные устройства на микросхеме LM723, в основном, отображались на страницах зарубежной печати. На страницах российских журналов электронные устройства на данной микросхеме не печатались. Можно предположить, что данная микросхема не пользовалась (в то время) у советских радиолюбителей спросом, потому, что выпуск ее был только за рубежом.

Доработка блока питания AT
Как известно, вентилятор в блоках питания компьютеров формата AT вращается с неизменной частотой независимо от температуры корпусов высоковольтных транзисторов. Однако блок питания не всегда отдает в нагрузку максимальную мощность. Пик потребляемой мощности приходится на момент включения компьютера, а следующие максимумы — на время интенсивного дискового обмена

Cтабилизированный источник питания 0...30v
Сейчас появилось очень много радиоэлементов, в том числе и импортных, для разработки и моделирования собственных конструкций. В радиолюбительской литературе, в интернете, можно много найти интересных радиолюбительских схем и решений. Каждый радиолюбитель знает, как необходим в домашней лаборатории стабилизированный источник питания. Очень много появилось малогабаритных радиоэлементов и конструкции, стали принимать компактность, освобождая, тем самым, место на рабочем столе.

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

Источник питания на LM723
Много лет лежала на полке у меня микросхема LM723. Раньше на этой микросхеме представляли конструкции зарубежные журналы в 80х - 90х годах. Это известные журналы "RADIOTECHNIKA" (Венгрия), "FUNKAMATEUR" (Германия) и другие. В настоящее время эта микросхема стала доступна в России. Пределы регулировки выходного напряжения (по паспорту) от 2 до 37 В.

Модернизируем ЛАТР
На низковольтные устройства питание 6, 9,12 или 27 В часто подают с лабораторного автотрансформатора (ЛАТРа). А поскольку потребляемый ток при этом составляет несколько ампер, в месте контактирования токосъемника происходит износ (эрозия) витков обмотки, ЛАТР начинает «заедать».

Резервное питание
Импульсный трансформатор исполнен на ферритовом кольце диаметром 20мм или более. Обмотка содержит 20 +15 витков провода 0,4...0,6. Размер кольца определяет максимальный выходной ток. Приведенные выше данные рассчитаны на 150мА. Можно конечно и повысить выходной ток, но стоит ли питать аппараты с большим потреблением от батареек ?

Универсальное зарядное устройство
Зарядное устройство предназначено для зарядки Ni-Cd и Ni-MH аккумуляторов методом дельта V (метод измерения изменения напряжения). Его можно использовать для зарядки аккумуляторов от бортовой сети автомобиля, также есть вариант исполнения, для зарядки от шины USB компьютера.

Фильтр питания
Это устройство может оказаться полезным тем, кто решил использовать ичточник питания компьютера, например для запитывания усилителей НЧ. Устройство очень простое и представляет из себя феритовое кольцо с несколькими витками провода. Ниже подробно показано как его самостоятельно изготовить.

Быстродействующие цифро-аналоговые преобразователи серии К1118
Преобразователи предназначены дня обработки быстропротекающих сигналов в различных системах сбора и обработки данных: ЭВМ, измерительной аппаратуре, телевизионной технике и другой РЭА широкого применения.

Преобразователи напряжения для систем Pentium-II-III
Как известно из древних манускриптов, первые процессоры (назовем первым i8080) изготавливались по NMOS технологии. В те времена довольно трудно было изготовить транзистор с точно заданым напряжением отсечки. Кроме этого при изготовлении микросхем образовывались диоды которые приходилось закрывать подачей на подложку минус 5 вольт.

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

К1107ПВ2 - Быстродействующий 8-разрядный АЦП параллельного типа
Микросхема представляют собой быстродействующий 8-разрядный АЦП параллельного типа с частотой преобразования 20 МГц и предназначена для преобразования входных сигналов в один из потенциальных кодов: двоичный (прямой и обратный) и дополняющий (прямой и обратный). Не требуется внешней схемы выборки и хранения. Совместимы с ТТЛ схемами.

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

Пример проектирования дискретного ПИД-регулятора
Задачи проектирования дискретных ПИД-регулятора и коррекции подобны. В непрерывном варианте между устройствами есть отличие: регулятор должен содержать активные элементы - операционные усилители (ОУ), позволяющие усиливать сигналы, а коррекция может быть выполнена на пассивных элементах (RC-цепи). В дискретном же варианте устройства неразличимы - могут состоять из трех микросхем включенных последовательно (АЦП, цифровой сигнальный процессор (DSP), ЦАП).