Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Аналог или цифра?

Читайте также:
  1. I. Конкуренція аналогів
  2. OpenProj — бесплатный аналог MS Project
  3. V. дает расщепления при скрещивании с аналогичной по генотипу особью.
  4. Аналогия гражданского законодательства. Действие гражданского законодательства.
  5. Аналогия и ее вилы.
  6. Аналогия — это предположение о сходстве объектов на основании их сходства по некоторым признакам.
  7. Аналого-цифровые преобразователи. Принцип преобразования.
  8. Аналоговые сигналы
  9. Аналоговый интегральный компаратор

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

Язык программирования – система обозначений для точного описания алгоритмов ЭВМ. Эти языки являются искусственными, со строго определенным синтаксисом и семантикой.

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

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

Языки программирования: процедурные, функциональные, логические, объектно-ориентированные, ситуационные.

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

Существует 2 подхода конструирования систем программирования:

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

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

Автономные средства позволяют разрабатывать программы большого размера, т.к. различные этапы разработки программ разнесены во времени и можно использовать внешнюю память.

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

Виртуальные разработчики – Microsoft и Borland (Turbo Pascal, Delfy,...).

§1 Процедурное программирование

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

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

Недостатки: сложность, большой объем, много описаний – сложность проверки и отладки.

Символьные вычисления состоят в преобразовании динамических структур данных – структурных объектов, конфигурация которых меняется во времени. К символьным задачам относятся задачи искусственного интеллекта, сортировки, трансляции, управления БД.

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

§2 Функциональное программирование

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

§3 Логическое программирование

Имеет древние корни. Разработчики – Тьюринг (любая функция может быть вычислена с помощью дедукции).

Используется правило логического вывода (PROLOG)

Центральное понятие – отношение.

Программа представляет собой совокупность определений отношений между объектами и целями.

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

Характерны: сверхвысокий уровень, ориентация на символьные вычисления, сложность числовых вычислений и некоторых логических конструкций.

§4 Объектно-ориентированное программирование

В качестве истока был язык SIMULA. Сейчас его наиболее полно используют C++ или Visual Basic 7.

Особенности: инкапсуляция (объединение процедур в объекте), полиморфизм (возможность использования методов с одинаковыми именами для работы с различными типами), множественное наследование.

Вводится понятие объект – данные и действия с этими данными.

§5 Ситуационное программирование

Этот стиль появился для компенсации недостатков объектно-ориентированного программирования. Но для него характерны длительность процесса освоения вследствие большого числа классов и объектов, трудности при компоновке множества программ на разных языках в единую программную среду (C++ Builder).

 

Аналог или цифра?

Для начала дадим несколько базовых определений.

Сигнал - это любая физическая величина (например, температура, давление воздуха, интенсивность света, сила тока и т.д.), изменяющаяся со временем. Именно благодаря этому изменению сигнал может нести в себе какую-то информацию.

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

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

Цифровой сигнал - это сигнал, который может принимать только два (иногда - три) значения, причем разрешены некоторые отклонения от этих значений (рис. 1.1). Например, напряжение может принимать два значения: от 0 до 0,5 В (уровень нуля) или от 2,5 до 5 В (уровень единицы). Устройства, работающие исключительно с цифровыми сигналами, называются цифровыми устройствами.


Рис. 1.1. Электрические сигналы: аналоговый (слева) и цифровой (справа)

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

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

Все операции, производимые электронными устройствами над сигналами, можно условно разделить на три большие группы:

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

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


Рис. 1.2. Искажение шумами и наводками аналогового (слева) и цифрового (справа) сигналов

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

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

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

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




Дата добавления: 2014-12-19; просмотров: 48 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав