Главная Случайная страница Категории: ДомЗдоровьеЗоологияРнформатикаРскусствоРскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиРкологияРРєРѕРЅРѕРјРёРєР°Рлектроника |
Контроллеры портов РІРІРѕРґР°-выводаКонтроллер порта РІРІРѕРґР°-вывода (РљРџР’Р’) обеспечивает интерфейс между периферийным устройством, подключенным Рє порту РљРџР’Р’, Рё системной шиной. Порты РІРІРѕРґР°-вывода делятся РЅР° РґРІР° типа РІ зависимости РѕС‚ количества Р±РёС‚, проходящих Р·Р° РѕРґРёРЅ такт передачи: - параллельные, РІ которых Р·Р° РѕРґРёРЅ такт РїСЂРѕС…РѕРґРёС‚ несколько Р±РёС‚ (например, 8 или 16 Р±РёС‚); - последовательные, РІ которых Р·Р° РѕРґРёРЅ такт РїСЂРѕС…РѕРґРёС‚ РѕРґРёРЅ Р±РёС‚. Наиболее распространенные порты РІРІРѕРґР°-вывода. RS-232 (COM) – интерфейс обмена данными РїРѕ последовательному коммуникационному порту (РЎРћРњ-порту). РЎ помощью данного интерфейса осуществляется работа Рё подключение таких устройств, как внешний модем, мышь Рё С‚. Рґ. IEEE 1284 (Instute of Electrical and Electronic Engineers 1284; LPT) – стандарт, описывающий спецификации параллельных скоростных интерфейсов SPP (Standard Parallel Port – стандартный параллельный РїРѕСЂС‚), EPP (Enhanced Parallel Port – улучшенный параллельный РїРѕСЂС‚), ECP (Р•xtended Capabilities Port – РїРѕСЂС‚ СЃ расширенными возможностями). Параллельный РїРѕСЂС‚ IEEE 1284 (LPT-РїРѕСЂС‚) используется для принтеров, внешних запоминающих устройств, сканеров. USB (Universal Serial Bus – универсальная последовательная шина) – универсальный последовательный интерфейс, пришедший РЅР° смену устаревшим портам RS-232 Рё IEEE 1284. Поддерживает технологию Plug and Play СЃ возможностью «горячей» замены, то есть замены устройств без необходимости выключения или перезагрузки компьютера. Для адекватной работы интерфейса необходима операционная система, которая корректно СЃ РЅРёРј работает. Поддержка USB введена РІ Microsoft Windows 2000. Рљ портам USB можно подключить РґРѕ 127 устройств. Каждое устройство, подключенное непосредственно Рє порту, может работать РІ качестве разветвителя, то есть можно подключать Рє нему РґСЂСѓРіРёРµ устройства. Скорость передачи через РїРѕСЂС‚ – 480 РњР±РёС‚/СЃ. РљСЂРѕРјРµ данных, через РїРѕСЂС‚ подается электропитание. Р’ настоящее время большинство РџРЈ подключаются через РїРѕСЂС‚ USB. PS/2 (Personal System – персональная система) – последовательный РїРѕСЂС‚, разработанный фирмой IBM РІ середине 1980-С… для своей серии персональных компьютеров IBM PS/2. Р’ отличие РѕС‚ порта RS-232 РїРѕСЂС‚ PS/2 имеет более компактный разъем. Через РїРѕСЂС‚ подается также электропитание. Р’ настоящее время используется вместе СЃ портом USB. IEEE 1394 (FireWire, iLink) – последовательный интерфейс, использующийся для подключения цифровых видеоустройств (видеокамер). Через РїРѕСЂС‚ возможна передача видеоизображения СЃРѕ скоростью 100-400 РњР±РёС‚/СЃ. Поддерживает технологию Plug and Play. PCMCIA (Personal Computer Memory Card International Association; PC Card) – РїРѕСЂС‚, используемый РІ переносных компьютерах для подключения новых устройств Рє нему без вскрытия РєРѕСЂРїСѓСЃР° компьютера. РџРѕСЂС‚ имеет разрядность данных/адреса – 16/26 Р±РёС‚, поддерживает автоконфигурирование, возможно подключение Рё отключение устройств РІ процессе работы компьютера. Существует РјРЅРѕРіРѕ РџРЈ, разработанных для переносных компьютеров Рё использующих РїРѕСЂС‚ PCMCIA. Периферийные устройства Клавиатура Клавиатура – это стандартное клавишное устройство РІРІРѕРґР°, предназначенное для РІРІРѕРґР° алфавитно-цифровых данных Рё команд управления. Клавиатуры имеют РїРѕ 101-104 клавиши, размещенные РїРѕ стандарту QWERTY (РІ верхнем левом углу алфавитной части клавиатуры находятся клавиши Q, W, E, R, T, Y). Набор клавиш клавиатуры разбит РЅР° несколько функциональных РіСЂСѓРїРї: - алфавитно-цифровые клавиши (Р±СѓРєРІС‹ Рё цифры) предназначены для РІРІРѕРґР° знаковой информации Рё команд, которые набираются посимвольно; - функциональные клавиши (F1-F12); функции клавиш зависят РѕС‚ конкретной, работающей РІ данный момент времени программы; - клавиши управления РєСѓСЂСЃРѕСЂРѕРј подают команды РЅР° передвижение РєСѓСЂСЃРѕСЂР° РїРѕ экрану монитора относительно текущего изображения (стрелки, Р° также клавиши PAGE UP, PAGE DOWN, HOME, END); РєСѓСЂСЃРѕСЂ – экранный элемент, указывающий РЅР° место РІРІРѕРґР° знаковой информации; - служебные клавиши используются для разных вспомогательных целей, таких как, изменение регистра, режимов вставки, образование сочетаний «горячих» клавиш Рё С‚. Рґ. (SHIFT, CAPS LOCK, ENTER, CTRL, ALT, ESC, DEL, INSERT, TAB, BACKSPACE); - клавиши дополнительной панели дублируют действие цифровых клавиш, клавиш управления РєСѓСЂСЃРѕСЂРѕРј Рё некоторых служебных клавиш. Клавиатура подсоединяется Рє системной шине через специальный контроллер, содержащий буфер РІРІРѕРґР°, РіРґРµ хранятся введенные символы РґРѕ тех РїРѕСЂ, РїРѕРєР° РѕРЅРё РЅРµ Р±СѓРґСѓС‚ затребованы. Клавиатура имеет свойство повторения знаков, используемое для автоматизации процесса РІРІРѕРґР°. РћРЅРѕ состоит РІ том, что РїСЂРё продолжительном нажатии клавиши начинается автоматический РІРІРѕРґ символа, связанного СЃ этой клавишей. Манипулятор типа «мышь» «Мышь» предназначена для быстрого доступа Рє элементам интерфейса пользователя Рё инициирования РЅР° РЅРёС… событий СЃ помощью РєРЅРѕРїРѕРє. Обычно «мышь» имеет 2-3 РєРЅРѕРїРєРё. Принцип работы «мыши» заключается РІ отслеживании перемещения РєРѕСЂРїСѓСЃР° «мыши» РїРѕ поверхности Рё синхронизации перемещения РїРѕ экрану монитора РєСѓСЂСЃРѕСЂР°. Существует РґРІР° типа «мышей». Внутри шариковых мышей находится шарик, вращающий РґРІР° валика. Вращение валиков позволяет отследить перемещение «мыши». Р’ РѕСЃРЅРѕРІРµ оптических «мышей» лежит светодиод, посылающий световой сигнал Рё считывающий его отражение. РџСЂРё перемещении «мыши» посланный луч отражается РїРѕРґ РґСЂСѓРіРёРј углом, что позволяет выявить направление движения «мыши». Р’СЃРµ перемещения «мыши» Рё нажатия ее клавиш (клики) рассматриваются как события, анализируя которые устанавливается, состоялось ли событие Рё РІ каком месте экрана РІ этот момент находится РєСѓСЂСЃРѕСЂ «мыши». РћСЃРЅРѕРІРЅРѕР№ характеристикой «мыши» является разрешающая способность – насколько точно можно отследить самое мельчайшее перемещение «мыши». Рзмеряется РІ точках (dot) РЅР° РґСЋР№Рј (dpi – dots per inch). Клавиатура Рё «мышь» подсоединяются Рє портам PS/2 или USB. Принтеры Печатающие устройства (принтеры) – это устройства вывода данных РёР· РР’Рњ Рё фиксирующие РёС… РЅР° бумаге. Основными характеристиками принтеров являются разрешающая способность, скорость печати, объем установленной памяти Рё максимальный поддерживаемый формат бумаги. Разрешающая способность или разрешение печати измеряется числом элементарных точек (dot), которые размещаются РЅР° РѕРґРЅРѕРј РґСЋР№РјРµ (dpi). Например, разрешение 1440 dpi означает, что РЅР° длине РѕРґРЅРѕРіРѕ РґСЋР№РјР° бумаги размещается 1440 точек. Запись 720 ´ 360 dpi означает разрешение печати РїРѕ горизонтали Рё вертикали соответственно. Чем больше разрешение, тем точнее воспроизводятся детали изображения, РЅРѕ РїСЂРё этом возрастает время печати. Единицей измерения скорости печати информации служит число печатаемых страниц формата A4 (210 ´ 297 РјРј) РІ минуту (ppm – pages per minute). Данные СЃ РР’Рњ хранятся РІРѕ встроенной памяти принтера. Далее принтер уже самостоятельно печатает файл без участия РР’Рњ. Такая печать называется фоновой. Если данные для печати полностью РЅРµ помещаются РІ память принтера, РР’Рњ ждет, РїРѕРєР° принтер распечатает данные Рё РѕСЃРІРѕР±РѕРґРёС‚ память, Рё РІРЅРѕРІСЊ загружает следующий блок данных РІ память принтера. Максимальный поддерживаемый формат бумаги для большинства принтеров A4 или A3 (297 ´ 420 РјРј). Принтеры подключаются Рє РР’Рњ через порты LPT или USB. Рассмотрим три наиболее распространенных типа принтеров: 1) матричные; 2) струйные; 3) лазерные. Р’ матричных принтерах печать точек осуществляется тонкими иглами (pin). Между бумагой Рё иглой находится красящая лента. РџСЂРё каждом ударе иглы РїРѕ ленте краска переносится РЅР° бумагу. Цвет изображения РЅР° бумаге определяется цветом красящей ленты. Каждая игла управляется собственным электромагнитом. Печатающая головка СЃ иглами перемещается РІ горизонтальном направлении листа, Рё знаки РІ строке печатаются последовательно. Количество иголок РІ печатающей головке определяет качество печати. Обычно матричные принтеры оснащены 9, 18 или 24 иглами. Достоинства матричных принтеров: - низкая стоимость принтера Рё расходных материалов для него (красящей ленты); - низкая себестоимость РєРѕРїРёРё; - возможность одновременной печати нескольких РєРѕРїРёР№ СЃ помощью РєРѕРїРёСЂРєРё. Недостатки матричных принтеров: - невысокие качество Рё скорость печати; - шум РїСЂРё печати. Струйные принтеры РІ печатающем узле вместо иголок имеют тонкие трубочки – сопла, через которые РЅР° бумагу выбрасываются мельчайшие капельки красителя (чернил) («пузырьковая» технология). Матрица печатающей головки обычно содержит РѕС‚ 12 РґРѕ 64 сопел (РґСЋР·). Технически процесс распыления выглядит следующим образом. Р’ стенку сопла встроен электрический нагревательный элемент, температура которого РїСЂРё подаче электрического импульса резко возрастает Р·Р° 5-10 РјРєСЃ. Р’СЃРµ чернила, находящиеся РІ контакте СЃ нагревательным элементом, мгновенно испаряются, что вызывает резкое повышение давления, РїРѕРґ действием которого чернила выстреливаются РёР· сопла РЅР° бумагу. Объем выстреливаемой капли РЅРµ превышает 1,5 пиколитра (1 пиколитр = 10-10 литра). После «выстрела» чернильные пары конденсируются, РІ сопле образуется Р·РѕРЅР° пониженного давления Рё РІ него всасывается новая порция чернил. Чернила каждого цвета находятся РІ своем картридже. Для создания цветного изображения используется обычно принятая РІ полиграфии цветовая схема CMYK, включающая четыре базовых цвета: Cyan – циан (оттенок голубого), Magenta – пурпурный, Yellow – желтый, blacK – черный. Сложные цвета образуются смешением цветов CMYK. Р’ последнее время Рє базовой схеме добавляют 2-4 цвета для повышения правильности цветопередачи. Основные достоинства струйных принтеров: - высокое качество печати для принтеров СЃ большим количеством сопел СЃ разрешением РґРѕ 720 ´ 1440 dpi; возможна печать фотографий; - высокая скорость печати – РґРѕ 10 страниц РІ минуту; - бесшумность работы. Основные недостатки струйных принтеров: - использование хорошей бумаги, чтобы РЅРµ растекались чернила; - опасность засыхания чернил внутри сопла, что РёРЅРѕРіРґР° РїСЂРёРІРѕРґРёС‚ Рє необходимости замены печатающего узла; - высокая стоимость расходных материалов, РІ частности, картриджей СЃ чернилами. Р’ лазерных принтерах для создания сверхтонкого светового луча служит лазер. Лазер вычерчивает РЅР° поверхности предварительно заряженного электрически положительно светочувствительного фотобарабана контуры невидимого точечного электронного изображения. РќР° барабан наносится красящий порошок (тонер). Р’ тех точках барабана, РЅР° которые попал лазерный луч, меняется заряд, Рё Рє этим местам притягивается частицы тонера. Лист втягивается СЃ лотка Рё ему передается электрический заряд. РџСЂРё наложении РЅР° барабан, лист притягивает Рє себе частицы тонера СЃ барабана. Для фиксации тонера, лист СЃРЅРѕРІР° заряжается Рё РїСЂРѕС…РѕРґРёС‚ между валами, нагретыми РґРѕ 180 градусов. РџРѕ окончании печати барабан разряжается, очищается РѕС‚ тонера Рё СЃРЅРѕРІР° используется. Р’ результате получаются отпечатки, РЅРµ боящиеся влаги, устойчивые Рє истиранию Рё выцветанию. РЁРёСЂРѕРєРѕ используются цветные лазерные принтеры. Цветная печать обеспечивается применением разноцветного тонера РїРѕ цветовой схеме CMYK. Р’ цветном лазерном принтере находится четыре печатных механизма, расположенные РІ СЂСЏРґ. Бумага последовательно РїСЂРѕС…РѕРґРёС‚ РїРѕРґ каждым РёР· четырех фотобарабанов, СЃ которых РЅР° нее наносится тонер соответствующего цвета. РџСЂРё черно-белой печати цветные барабаны просто приподнимаются над поверхностью бумаги Рё РЅРµ участвуют РІ печати. Достоинства лазерных принтеров: - высокая скорость печати – РѕС‚ 10 РґРѕ 40 Рё выше страниц РІ минуту; - скорость печати РЅРµ зависит РѕС‚ разрешения; - высокое качество печати РґРѕ 2880 dpi; - нетребовательность Рє качеству бумаги; - низкая себестоимость РєРѕРїРёРё (РЅР° втором месте после матричных принтеров); - бесшумность. Недостатки лазерных принтеров: - высокая цена принтеров, особенно цветных; - невысокое качество цветных изображений, напечатанных РЅР° цветных лазерных принтерах; - высокое потребление электроэнергии. Сканеры Сканер – это устройство для РІРІРѕРґР° РІ РР’Рњ информации СЃ бумаги, слайдов или фотопленки. Различают планшетные Рё ручные сканеры. Принцип работы планшетных сканеров заключается РІ следующем. Сканируемый оригинал помещается РЅР° прозрачном неподвижном стекле. Вдоль стекла передвигается сканирующий сенсор СЃ источником света. Оптическая система планшетного сканера проецирует световой поток, отражаемый РѕС‚ сканируемого оригинала, РЅР° сканирующий сенсор. Применяются РґРІР° типа сенсоров – CCD (Charge-Coupled Device) Рё CIS (Contact Image Sensor). Р’ РЎРЎD-сканерах используется система зеркал, установленная РІ специальной каретке. Зеркала передают отраженный РѕС‚ оригинала свет РЅР° параллельные линейки светочувствительных элементов (CCD-матрица). Каждая линейка принимает информацию Рѕ своем цвете – красном (Red), зеленом (Green) Рё синем (Blue). Р’ CIS-сканерах светочувствительный элемент находится РІ непосредственной близости РѕС‚ сканируемого документа, Рё система зеркал РЅРµ применяется. Поэтому CIS-сканеры компактнее CCD-сканеров, однако глубина резкости Рё качество изображения уступает последним. Р’ сканирующем сенсоре СѓСЂРѕРІРЅРё освещенности преобразуются РІ СѓСЂРѕРІРЅРё напряжения Рё формируется аналоговый сигнал. Затем, после коррекции Рё обработки, аналоговый сигнал преобразуется РІ цифровой аналого-цифровым преобразователем (АЦП). Цифровой сигнал поступает РІ РР’Рњ, РіРґРµ данные, соответствующие изображению оригинала обрабатываются Рё преобразовываются РїРѕРґ управлением драйвера сканера. Скорость сканирования страницы формата A4 составляет 5-15 секунд. Р’ отличие РѕС‚ планшетного, пользователь сам двигает сканирующую головку ручного сканера РїРѕ оригиналу. Ручные сканеры применяются РІ магазинах для считывания скан-РєРѕРґРѕРІ товаров. Основными характеристиками сканеров являются разрешающая способность, скорость сканирования Рё максимальный поддерживаемый формат бумаги. Рти характеристики аналогичны характеристикам принтеров. Сетевой адаптер Для доступа РР’Рњ Рє локальной сети используется специальная плата – сетевой адаптер, которая выступает РІ качестве физического соединения РР’Рњ Рё канала СЃРІСЏР·Рё. Сетевой адаптер выполняет следующие функции: - подготовку данных, поступающих РѕС‚ РР’Рњ, Рє передаче РїРѕ каналу СЃРІСЏР·Рё; - передачу данных РїРѕ каналу СЃРІСЏР·Рё; - прием данных РёР· канала СЃРІСЏР·Рё Рё перевод РёС… РІ форму, понятную РР’Рњ. Каждый сетевой адаптер имеет уникальный физический адрес, записанный РІ него РЅР° стадии производства. Модем Модем – это устройство, предназначенное для подсоединения РР’Рњ Рє обычной телефонной линии. Название РїСЂРѕРёСЃС…РѕРґРёС‚ РѕС‚ сокращения РґРІСѓС… слов – МОдуляция Рё ДЕМодуляция. РР’Рњ вырабатывает дискретные электрические сигналы (последовательности нулей Рё единиц), Р° РїРѕ телефонным линиям информация передается РІ аналоговой форме, то есть РІ РІРёРґРµ сигнала, уровень которого изменяется непрерывно, Р° РЅРµ дискретно. Модемы выполняют цифро-аналоговое Рё аналого-цифровое преобразования. РџСЂРё передаче данных, модемы накладывают цифровые сигналы (СЂРёСЃ. 8.4, Р±), полученные РёР· РР’Рњ, РЅР° непрерывную частоту телефонной линии (СЂРёСЃ. 8.4, Р°) (модулируют ее), Р° РїСЂРё РёС… приеме демодулируют информацию Рё передают ее РІ цифровой форме РІ РР’Рњ. Модуляция колебаний – это изменение амплитуды, частоты или фазы колебаний РїРѕ определённому закону. Различают амплитудную модуляцию (СЂРёСЃ. 8.4, РІ), частотную модуляцию (СЂРёСЃ. 8.4, Рі) Рё фазовую модуляцию (СЂРёСЃ. 8.4, Рґ). Р РёСЃ. 8.4. Р’РёРґС‹ модуляции Модемы передают данные РїРѕ обычным телефонным каналам СЃРѕ скоростью РѕС‚ 300 РґРѕ 56 000 Р±РёС‚ РІ секунду. РљСЂРѕРјРµ того, современные модемы осуществляют сжатие данных перед отправлением, что сокращает время передачи данных. РџРѕ конструктивному исполнению модемы бывают трех РІРёРґРѕРІ: 1) встроенные модемы интегрированы РІ материнскую плату; 2) внутренние модемы вставляются РІ системный блок РР’Рњ РІ РѕРґРёРЅ РёР· слотов расширения материнской платы; 3) внешние модемы подключаются через РѕРґРёРЅ РёР· коммуникационных портов, имеют отдельный РєРѕСЂРїСѓСЃ Рё собственный блок питания. РџРѕ аппаратной реализации модемы бывают РґРІСѓС… типов. 1. Программные (software) модемы представляют СЃРѕР±РѕР№ плату, вставляемую РІ слот PCI Рё работающую РїРѕРґ управлением РћРЎ Windows. Поэтому такие модемы называют Win-модемы. Р’ программных модемах часть РёС… функций реализована РЅРµ РІ РІРёРґРµ микросхем, Р° заменена программой, которая выполняется центральным РњРџ РР’Рњ. Такая замена существенно удешевляет модем, РЅРѕ обусловливает некоторую дополнительную нагрузку РЅР° РњРџ. 2. Аппаратные (hardware) модемы реализуют РІСЃРµ процедуры передачи Рё приема средствами самого модема. Поэтому такие модемы несколько дороже, РЅРѕ более эффективны РїСЂРё работе СЃРѕ старыми телефонными линиями. Факс-модемы позволяют отправлять Рё принимать факсимильные сообщения (факсы) Рё поддерживают возможность телефонного разговора через факс-модем. Современные цифровые модемы формально модемами РЅРµ явлются, так как РЅРµ преобразуют цифровой сигнал РІ аналоговый Рё обратно. РћРЅРё передают Рё принимают только цифровые сигналы. ADSL-модемы позволяют передавать данные, используя телефонные линии. РџСЂРё этом остается возможность говорить параллельно РїРѕ телефону. ADSL-модемы позволяют осуществлять передачу данных РЅР° скорости РґРѕ 1 РњР±РёС‚/СЃ, Р° прием данных – РґРѕ 7 РњР±РёС‚/СЃ. Каждый сотовый телефон (Р·Р° исключением некоторых дешевых моделей) содержит модем для передачи данных РІ сетях сотовой СЃРІСЏР·Рё. Также такие модемы выпускаются отдельными устройствами, подключаемые Рє порту USB. Таким образом, основными характеристиками модемов являются: 1) скорость передачи; 2) конструктивное исполнение: внутренний, внешний, встроенный; 3) СЃРїРѕСЃРѕР± подключения Рє РР’Рњ РІ случае внутреннего Рё внешнего конструктивного исполнения: слот PCI, РїРѕСЂС‚ PCMCIA, РїРѕСЂС‚ USB; 4) сеть или технология, РїРѕ которой модем осуществляет передачу. Глава 9. РћРЎРќРћР’Р« АЛГОРРРўРњРР—РђР¦РРПонятие алгоритма Р’ РѕСЃРЅРѕРІСѓ работы РР’Рњ положен программный принцип управления, состоящий РІ том, что РР’Рњ выполняет действия РїРѕ заранее заданной программе. Программа – это упорядоченная последовательность команд, которые понимает РР’Рњ. Р’ РѕСЃРЅРѕРІРµ любой программы лежит алгоритм. Алгоритм – это полное Рё точное описание РЅР° некотором языке конечной последовательности правил, указывающих исполнителю действия, которые РѕРЅ должен выполнить, чтобы Р·Р° конечное время перейти РѕС‚ (варьируемых) исходных данных Рє РёСЃРєРѕРјРѕРјСѓ результату. Термин «алгоритм» произошел РѕС‚ имени среднеазиатского ученого аль-Хорезми (787 – РѕРє. 850), которым были описаны общие правила (названные позднее алгоритмами) выполнения основных арифметических действий РІ десятичной системе счисления. Рти алгоритмы изучаются РІ начальных разделах школьной математики. Рљ числу алгоритмов школьного РєСѓСЂСЃР° математики относятся также правила решения определенных РІРёРґРѕРІ уравнений или неравенств, правила построения различных геометрических фигур Рё С‚. Рї. Понятие алгоритма используется РЅРµ только РІ математике, РЅРѕ Рё РІРѕ РјРЅРѕРіРёС… областях человеческой деятельности, например, РіРѕРІРѕСЂСЏС‚ РѕР± алгоритме управления производственным процессом, алгоритме управления полетом ракеты, алгоритме пользования бытовым РїСЂРёР±РѕСЂРѕРј. Причем интуитивно РїРѕРґ алгоритмом понимают некоторую систему правил, обладающих определенными свойствами. Далее, изучая понятие алгоритма, РјС‹ будем предполагать, что его исполнителем является автоматическое устройство - РР’Рњ. Рто накладывает РЅР° запись алгоритма целый СЂСЏРґ обязательных требований. Сформулируем эти требования РІ РІРёРґРµ перечня свойств, которыми должен обладать алгоритм, адресуемый Рє исполнению РЅР° РР’Рњ. 1. Первым свойством алгоритма является дискретный (пошаговый) характер определяемого РёРј процесса. Возникающая РІ результате такого разбиения запись алгоритма представляет СЃРѕР±РѕР№ упорядоченную последовательность отдельных предписаний (директив, команд), образующих прерывную/дискретную структуру алгоритма: только выполнив требования РѕРґРЅРѕРіРѕ предписания можно приступить Рє исполнению следующего. 2. Рсполнитель может выполнить алгоритм, если РѕРЅ ему понятен, то есть записан РЅР° понятном ему языке Рё содержит предписания, которые исполнитель может выполнить. Набор действий, которые РјРѕРіСѓС‚ быть выполнены исполнителем, называется системой команд исполнителя. Алгоритм РЅРµ должен содержать описания действий, РЅРµ входящих РІ систему команд исполнителя, то есть своей структурой команд Рё формой записи алгоритм должен быть ориентирован РЅР° конкретного исполнителя. 3. Алгоритмы, предназначенные для исполнения техническим устройством, РЅРµ должны содержать предписаний, приводящих Рє неоднозначным действиям. Алгоритм рассчитан РЅР° чисто механическое исполнение, Рё если применять его повторно Рє РѕРґРЅРёРј Рё тем же исходным данным, то всегда должен получаться РѕРґРёРЅ Рё тот же результат; РїСЂРё этом Рё промежуточные результаты, полученные после соответствующих шагов алгоритмического процесса, тоже должны быть одинаковыми. Рто свойство определенности Рё однозначности – детерминированности - алгоритма позволяет использовать РІ качестве исполнителя специальные машины-автоматы. 4. Основополагающим свойством алгоритма является его массовость, применимость Рє некоторому классу объектов, возможность получения результата РїСЂРё различных исходных данных РЅР° некоторой области допустимых значений. Например, исходными данными РІ алгоритмах аль-Хорезми РјРѕРіСѓС‚ быть любые пары десятичных чисел. Конечно, его СЃРїРѕСЃРѕР± РЅРµ всегда самый рациональный РїРѕ сравнению СЃ известными приемами быстрого счета. РќРѕ смысл массовости алгоритма состоит как раз РІ том, что РѕРЅ одинаково пригоден для всех случаев, требует лишь механического выполнения цепочки простых действий Рё РїСЂРё этом исполнителю нет нужды РІ затратах творческой энергии. 5. Цель выполнения алгоритма – получение конечного результата посредством выполнения указанных преобразований над исходными данными. Р’ алгоритмах аль-Хорезми исходными данными Рё результатом являлись числа. Причем РїСЂРё точном исполнении всех предписаний алгоритмический процесс должен заканчиваться Р·Р° конечное число шагов. Рто обязательное требование Рє алгоритмам – требование РёС… результативности или конечности. Р’ математике известны вычислительные процедуры алгоритмического характера, РЅРµ обладающие свойством конечности. Например, процедура вычисления числа p. Однако, если РјС‹ введем условие завершения РІРёРґР° «закончить после получения n десятичных знаков числа pВ», то получим алгоритм вычисления n десятичных знаков числа p. РќР° этом принципе построены РјРЅРѕРіРёРµ вычислительные алгоритмы. 6. Если алгоритм должен быть выполнен РЅРµ просто Р·Р° конечное время, Р° Р·Р° разумное конечное время, то речь идет РѕР± эффективности алгоритма. Время выполнения алгоритма очень важный параметр, однако, понятие эффективности алгоритма трактуется шире, включая такие аспекты, как сложность, необходимые ресурсы, информационно-программное обеспечение. Рффективность алгоритма часто определяет возможность его практической реализации. Алгоритмическая система Понятие «алгоритмическая система» дает формальный ответ РЅР° РІРѕРїСЂРѕСЃ, что должно быть известно Рё доступно разработчикам алгоритмов. Алгоритмическаясистема – набор средств Рё понятий, позволяющих строить некоторое множество алгоритмов для решения определенного класса задач. Алгоритмическая система определяется наличием четырех составляющих ее частей: 1) множеством входных объектов или исходных данных, подлежащих обработке алгоритмами данной системы; 2) множеством выходных объектов или результатов выполнения алгоритмов данной системы; 3) системой команд исполнителя, то есть набором тех действий, которые может выполнять исполнитель, Рё которые РјС‹ можем описывать РІ алгоритмах, что собственно является ориентацией алгоритмической системы РЅР° конкретного исполнителя; 4) языком описания алгоритмов – языком исполнителя; язык, РЅР° котором описан алгоритм, должен быть понятен исполнителю Рё РЅРµ должен включать РІ СЃРІРѕР№ состав указания РЅР° невозможные для исполнителя действия, Р° также обращения Рє входным или выходным объектам, РЅРµ принадлежащих Рє множеству входных или выходных объектов данной алгоритмической системы. Р’ качестве примера рассмотрим алгоритмическую систему, предназначенную для построения алгоритмов обработки данных – алгоритмов обработки символьных последовательностей (строк) РёР· ограниченного алфавита символов. Входными объектами такой системы являются строки символов конечной длины. РЎ помощью специальных приемов можно преобразовать РІ строки символов практически любую информацию, РІ том числе формулы, таблицы, СЂРёСЃСѓРЅРєРё. Результат обработки данных также представляет СЃРѕР±РѕР№ строки символов. Алгоритмические системы для обработки данных строятся РЅР° РѕРґРЅРѕРј Рё том же множестве входных Рё выходных объектов. Рсполнителем РІ современных системах обработки данных является вычислительная машина. Набор операций, выполняемых РР’Рњ, весьма ограничен, однако, РєРѕРјР±РёРЅРёСЂСѓСЏ РёС… РІ нужной последовательности, можно строить сложные алгоритмы решения самых различных задач. Язык, РЅР° котором записываются алгоритмы, адресованные вычислительной машине, опирается РЅР° систему команд данной РР’Рњ. Алгоритм, написанный РЅР° машинном языке, представляет СЃРѕР±РѕР№ закодированную специальным образом последовательность команд, адресованных различным устройствам РР’Рњ. Отметим принципиальную особенность алгоритмических систем обработки данных. Р’ таких системах текст алгоритма также является последовательностью символов, которую можно преобразовать РІ той же алгоритмической системе. Следовательно, открывается возможность составлять алгоритмы преобразования алгоритмов, обрабатывая РїСЂРё этом тексты, реализующие преобразуемые алгоритмы. Рто Рё создает ту удивительную логическую гибкость, которая превратила РР’Рњ РІ принципиально новый инструмент обработки данных, обладающий колоссальными возможностями. РћРґРЅРёРј РёР· примеров преобразования алгоритма СЃ помощью РР’Рњ РёР· РѕРґРЅРѕР№ формы РІ РґСЂСѓРіСѓСЋ является его «трансляция» – перевод СЃ некоторого алгоритмического языка РЅР° язык машины. Алгоритмизация Алгоритмизация – процесс разработки Рё описания алгоритма решения какой-либо задачи. Пусть имеется некоторая математическая задача, которая может быть решена РѕРґРЅРёРј РёР· известных математических методов. Как приступить Рє процессу построения алгоритма решения такой задачи? Поскольку речь идет Рѕ разработке алгоритма для РР’Рњ, то нужно сначала проанализировать возможность его машинной реализации, оценить ресурсы Рё возможности конкретной РР’Рњ, имеющейся РІ распоряжении (РІ том числе, допустимую точность вычислений, необходимый объем запоминающих устройств, быстродействие, информационно-программное обеспечение). Непосредственная разработка алгоритма начинается СЃ осознания существа поставленной задачи, СЃ анализа того, что нам известно, что следует получить РІ качестве результата, РІ какой форме нужно представить исходные данные Рё результаты вычислений. Следующая ступень – разработка общей идеи алгоритмического процесса Рё анализа этой идеи. После этого можно приступить Рє более детальной разработке уже задуманного конкретного алгоритма. Р РІРѕС‚ этот процесс разработки конкретного алгоритма, РІ соответствии СЃ определением самого понятия «алгоритм», заключается РІ последовательном выполнении следующих пунктов: 1) разложении всего вычислительного процесса РЅР° отдельные шаги – возможные составные части алгоритма, что определяется внутренней логикой самого процесса Рё системой команд исполнителя; 2) установлении взаимосвязей между отдельными шагами алгоритма Рё РїРѕСЂСЏРґРєР° РёС… следования, приводящего РѕС‚ известных исходных данных Рє РёСЃРєРѕРјРѕРјСѓ результату; 3) полном Рё точном описании содержания каждого шага алгоритма РЅР° языке выбранной алгоритмической системы; 4) проверке составленного алгоритма РЅР° предмет, действительно ли РѕРЅ реализует выбранный метод Рё РїСЂРёРІРѕРґРёС‚ Рє РёСЃРєРѕРјРѕРјСѓ результату. Р’ результате проверки РјРѕРіСѓС‚ быть обнаружены ошибки Рё неточности, что вызывает необходимость доработки Рё коррекции алгоритма – возвращение Рє РѕРґРЅРѕРјСѓ РёР· предыдущих пунктов. Р’Рѕ РјРЅРѕРіРёС… случаях разработка алгоритма включает РІ себя многократно повторяющуюся процедуру его проверки Рё коррекции. Процедура проверки Рё коррекции алгоритма производится РЅРµ только СЃ целью устранения ошибок, РЅРѕ Рё СЃ целью улучшения, то есть оптимизации алгоритма. РџСЂРё определенном методе решения задачи оптимизация проводится СЃ целью сокращения алгоритмических действий Рё упрощения РїРѕ возможности самих этих действий. РџСЂРё этом алгоритм должен оставаться «эквивалентным» РёСЃС…РѕРґРЅРѕРјСѓ. Будем называть РґРІР° алгоритма эквивалентными если выполняются следующие условия: 1) множество допустимых исходных данных РѕРґРЅРѕРіРѕ РёР· РЅРёС… является множеством допустимых исходных данных Рё РґСЂСѓРіРѕРіРѕ; РёР· применимости РѕРґРЅРѕРіРѕ алгоритма Рє каким-либо исходным данным следует применимость Рё РґСЂСѓРіРѕРіРѕ алгоритма Рє этим данным; 2) применение этих алгоритмов Рє РѕРґРЅРёРј Рё тем же исходным данным дает одинаковые результаты. Приведем пример РґРІСѓС… эквивалентных алгоритмов. Пусть нам надо подсчитать общую СЃСѓРјРјСѓ чисел, приведенных РІ табл. 9.1. Таблица 9.1. Целые числа Рквивалентными Р±СѓРґСѓС‚ алгоритмы подсчета общей СЃСѓРјРјС‹ «по строкам»: 5 + 1 + 3 + 8 + 10 + 9 + 6 + 1 + 5 + 10 + 1 + 1 = 60 - Рё «по столбцам»: 5 + 10 + 5 + 1 + 9 + 10 + 3 + 6 + 1 + 8 + 1 + 1 = 60. Заметим, что для данной таблицы считать проще РїРѕ столбцам. Средства записи алгоритмов Характер языка, используемого для записи алгоритмов, определяется тем, для какого исполнителя предназначен алгоритм. Возможности исполнителя алгоритмов определяют уровень используемых языковых средств, то есть степень детализации Рё формализации предписаний РІ алгоритмической записи. Если алгоритм предназначен для исполнителя-человека, то его запись может быть РЅРµ полностью формализована Рё детализирована, РЅРѕ должна оставаться понятной Рё корректной. Для записи таких алгоритмов может использоваться естественный язык. Для записи алгоритмов, предназначенных для исполнителей-автоматов, необходимы строгая формализация средств записи Рё определенная детализация алгоритмических предписаний. Р’ таких случаях применяют специальные формализованные языки. Поскольку РѕРґРЅРёРј РёР· пользователей языка описания алгоритмов, так или иначе, остается человек, то, РіРѕРІРѕСЂСЏ РѕР± СѓСЂРѕРІРЅРµ языка, имеют РІ РІРёРґСѓ также Рё уровень его доступности для человека. Рљ настоящему времени РІ информатике сложились вполне определенные традиции РІ представлении алгоритмов. Словесная запись алгоритмов Самой распространенной формой представления алгоритмов, адресуемых человеку, является обычная словеснаязапись. Р’ этой форме РјРѕРіСѓС‚ быть выражены любые алгоритмы. РќРѕ если такой алгоритм предназначен для его дальнейшей реализации РЅР° вычислительном устройстве, то принято придерживаться более формализованного СЃРїРѕСЃРѕР±Р° построения фраз СЃ тщательно отобранным набором слов. РљСЂРѕРјРµ того, необходимо указывать начало Рё конец алгоритма, отмечать момент РІРІРѕРґР° РІ вычислительное устройство значений исходных данных Рё вывода/печати полученного результата. Р’ вычислительных алгоритмах широко используется общепринятая математическая символика, язык формул. Вводится необходимая РІ вычислительной практике операция присваивания: Сѓ := Рђ (читается: «у присвоить значение РђВ»), РіРґРµ Сѓ – переменная; Рђ – некоторое выражение/формула. Следует сначала выполнить РІСЃРµ действия, предусмотренные формулой Рђ, Р° затем полученный результат сохранить РІ качестве значения переменной Сѓ. Выражение Рђ РІ частном случае может быть переменной или числом. Например, x := sin a – присвоить переменной С… значение СЃРёРЅСѓСЃР°; y := x – присвоить переменной Сѓ значение переменной x; z := 5.7 – считать значением переменной z число 5,7; k := k + 1 – значение переменной k увеличить РЅР° единицу. Введенные соглашения позволяют представлять словесные алгоритмы РІ компактной Рё наглядной форме. Пример 9.1. Составим алгоритм вычисления коэффициентов приведенного квадратного уравнения x2 + px + q = 0, РєРѕСЂРЅРё которого x1, x2 известны. Коэффициенты такого уравнения определяются РїРѕ формулам: p = –(x1+x2), q = x1x2. Предположим, что правила выполнения арифметических операций сложения, вычитания Рё умножения известны исполнителю. РўРѕРіРґР° искомым алгоритмом будет следующая система предписаний: Начало. 1. Ввести x1, x2. 2. p = –(x1+x2). 3. q = x1x2. 4. Вывести p, q. Конец. □ Р’ приведенной записи алгоритма РЅРё РІ РѕРґРЅРѕРј РёР· предписаний нет указания РЅР° то, Рє какому следующему предписанию надо перейти. Предполагается, что РІ случае отсутствия специальных указаний предписания алгоритма выполняются РІ РїРѕСЂСЏРґРєРµ РёС… следования. Такое выполнение предписаний РІ алгоритме называется естественным С…РѕРґРѕРј выполнения алгоритма, Р° сам алгоритм называется линейным. Пример 9.2. Составим алгоритм определения максимального числа РёР· трех чисел: z = max (a, b, c). Решение задачи РЅР° РР’Рњ можно получить, действуя следующим образом. Сначала найдем наибольшее РёР· РґРІСѓС… чисел, например, сравнив между СЃРѕР±РѕР№ a Рё b. Предположим, что исполнитель может выполнить операцию сравнения «больше». Найденное наибольшее число сохраним, как значение переменной z. Далее сравним значение переменной z СЃ оставшимся числом c. Если СЃ больше z, то РїСЂРёСЃРІРѕРёРј z РЅРѕРІРѕРµ значение – значение СЃ, РІ противном случае, значение z останется прежним. Р’ результате переменная z будет равна наибольшему РёР· a, b, c Рё будет являться искомым результатом. Рзложенные рассуждения можно представить РІ РІРёРґРµ следующей словесной записи алгоритма: Начало. 1. Ввести a, b, c. 2. Если a > b, то z := a, иначе z := b. 3. Если c > z, то z := c. 4. Вывести z Конец. РҐРѕРґ выполнения алгоритма зависит РѕС‚ результатов проверки условий Р° > b Рё c > z. Если для введенных значений a, b действительно a > b, то выполняется операция z := a; если нет, то выполняется z := b. Таким образом, РІ зависимости РѕС‚ результата проверки условия a > b требуется выполнить различные действия. Р’ алгоритме РЅР° этом шаге предусмотрены РѕР±Р° возможных направления дальнейших вычислений. РџСЂРё проверке условия c > z операция z := c может выполняться, если действительно c > z, или РЅРµ выполняться, РІ противном случае. □ Вычислительный процесс, который РІ зависимости РѕС‚ выполнения некоторых условий реализуется РїРѕ РѕРґРЅРѕРјСѓ РёР· нескольких возможных, заранее предусмотренных направлений, называется разветвляющимся. Каждое отдельное направление называется ветвью вычислений. Выбор той или РёРЅРѕР№ ветви осуществляется РїСЂРё выполнении алгоритма РІ результате проверки этих условий Рё определяется свойствами исходных данных Рё промежуточных результатов. РџСЂРё разработке алгоритма должны быть учтены РІСЃРµ возможные ветви вычислений. Пример 9.3. Составим алгоритм определения остатка РѕС‚ деления РґРІСѓС… целых неотрицательных чисел Рђ Рё Р’, РіРґРµ Р’ ¹ 0. Рассматривая деление как многократное вычитание делителя Р’ РёР· делимого Рђ, получим алгоритм, состоящий РёР· следующих шагов: Начало. 1. Ввести A, B. 2. Если A < B, то перейти Рє шагу 5, иначе перейти Рє шагу 3. 3. A := A – B. 4. Перейти Рє шагу 2. 5. РћРЎРў := A. 6. Вывести РћРЎРў. Конец. Шаги 2, 3, 4 записаны РІ алгоритме РѕРґРёРЅ раз, Р° РјРѕРіСѓС‚ выполняться многократно. Многократно повторяемые участки вычислений образуют так называемый цикл. Вычислительный процесс, содержащий многократные вычисления РїРѕ РѕРґРЅРёРј Рё тем же математическим зависимостям, РЅРѕ для различных значений входящих РІ РЅРёС… переменных, называется циклическим. Переменные, изменяющиеся РІ цикле, называются переменными цикла, Р° действия, повторяемые РІ цикле, – телом цикла. Количество повторений цикла определяется значениями переменных, входящих РІ условие его окончания. Чтобы лучше понять характер циклических процессов, рассмотрим подробнее структуру приведенного алгоритма. Первый шаг алгоритма представляет СЃРѕР±РѕР№ подготовку цикла: задание начальных значений переменным цикла перед первым его выполнением. Тело цикла – действия, многократно РїРѕ |
|||||||||||||
Последнее изменение этой страницы: 2016-07-23 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |