sonyps4.ru

Передача информации. Технические системы передачи информации

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

Передача информации

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

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

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

Технические системы передачи информации

Первым техническим средством передачи информации на расстояние стал телеграф, изобретенный в 1837 году американцем Сэмюэлем Морзе. В 1876 году американец А.Белл изобретает телефон. На основании открытия немецким физиком Генрихом Герцем электромагнитных волн (1886 г.), А.С. Поповым в России в 1895 году и почти одновременно с ним в 1896 году Г.Маркони в Италии, было изобретено радио. Телевидение и Интернет появились в ХХ веке.

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

Клод Элвуд Шеннон (1916–2001), США

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

Техническая система передачи информации

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

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

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

Пропускная способность канала и скорость передачи информации

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

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

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

Телефонные линии,

Электрическая кабельная связь,

Оптоволоконная кабельная связь,

Радиосвязь.

Пропускная способность телефонных линий - десятки, сотни Кбит/с; пропускная способность оптоволоконных линий и линий радиосвязи измеряется десятками и сотнями Мбит/с.

Шум, защита от шума

Термином “шум” называют разного рода помехи, искажающие передаваемый сигнал и приводящие к потере информации. Такие помехи прежде всего возникают по техническим причинам: плохое качество линий связи, незащищенность друг от друга различных потоков информации, передаваемых по одним и тем же каналам. Иногда, беседуя по телефону, мы слышим шум, треск, мешающие понять собеседника, или на наш разговор накладывается разговор совсем других людей.

Наличие шума приводит к потере передаваемой информации. В таких случаях необходима защита от шума.

В первую очередь применяются технические способы защиты каналов связи от воздействия шумов. Например, использование экранированного кабеля вместо “голого” провода; применение разного рода фильтров, отделяющих полезный сигнал от шума, и пр.

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

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

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

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

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

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

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

Общая характеристика процесса сбора, передачи, обработки и накопления информации.

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

Сбор и регистрация информации организуется различными способами:

§ Механизированный (например: ввод данных с клавиатуры);

§ Автоматизированный (ввод информации с использованием специальных устройств (например: с помощью сканера можно осуществить ввод любой текстовой и графической информации и даже рукописного текста; с помощью звуковой карты компьютер записывает звуки музыки и голоса);

§ Автоматический способ организации сбора и регистрации информации предусматривает сбор данных непосредственно с датчиков и передачу их в ЭВМ без участия человека.

Передача, информации необходима для того или иного ее распространения. Общая схема передачи такова: источник информации - канал связи - приемник (получатель) информации

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

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

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

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

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


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

3. Арифметическая и логическая обработка информации .

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

По стадии обработки информация может быть :

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

Вторичная информация - это информация, которая получается в результате обработки первичной информации и может быть промежуточной и результатной.

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

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

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

5. Преобразование информации в вид, удобный для её анализа.

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

Развитие человечества никогда не происходило равномерно, были периоды застоя и технологических прорывов. Точно так же развивалась и история средств Интересные факты и открытия данной сферы в исторической последовательности представлены в этой статье. Невероятно, но то, без чего современное общество не представляет сегодня своего существования, человечество в начале ХХ века считало невозможным и фантастическим, а зачастую и абсурдным.

На заре развития

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

Использование кодов в море как прообраз телеграфа

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

Первые способы хранения информации

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

Изобретение письменности стало первой информационной революцией в истории человечества, ведь появилась возможность накапливать, распространять и передавать знания следующим поколениям. Письменность дала мощный толчок культурному и экономическому развитию тех цивилизаций, которые освоили ее раньше других. В XVI веке было изобретено книгопечатание, что стало новой волной информационной революции. Появилась возможность хранить информацию в больших объемах, и она стала доступнее, вследствие чего понятие «грамотность» стало более массовым. Это очень важный момент в истории общечеловеческой цивилизации, потому как книги становились достоянием не только одной страны, но и целого мира.

Почтовое сообщение

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

Цели урока:

  • Закрепить понятие информации.
  • Сформировать понятие о способах передачи информации на разных этапах развития человечества.
  • Рассказать о языке передачи информации.
  • Выяснить, с помощью каких технических средств можно передавать информацию.
  • Сформировать понятие “помехи” и выяснить способы их преодоления.

Ход урока.

На доске написано число, тема урока: “Передача информации”, определение:

Информатика – это наука о способах передачи, хранения и переработки информации.

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

1. Скажите что может быть общего между поэтом А.С. Пушкиным и информатикой?

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

Ветер по-морю гуляет и кораблик подгоняет,

Он бежит себе в волнах на раздутых парусах.

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

2. Какими известными вам способами передвигалась почта с древних времён?

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

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

  1. В каких произведениях пожарная каланча как средство визуального
  2. наблюдения? (Кошкин дом.)
  3. В каких фильмах вы встречали передачу сведений об опасности через
  4. зажигание костров на башнях ? (Мулан.)
  5. В каких фильмах использовалась передача информации через стражников на
  6. башнях? (Золушка.)

Рассмотрим ситуацию:

“Встретились двое глухих. Один держит в руке удочку.

Другой спрашивает:

Ты что, на рыбалку собрался?

Да нет, я на рыбалку.

А я думал, ты на рыбалку…”

Что помешало обмену информацией? Информация была передана, но до адресата не дошла из-за отсутствия физической возможности её воспринять. Ведь при любом обмене информацией должны существовать её источник и её приёмник.

Когда ты читаешь книгу, эта книга является для тебя источником информации, а ты – приёмник этой информации. Убери книгу – и информация в ней станет для тебя недоступной, поскольку исчез её источник. Закрой глаза или выйди в другую комнату – тогда для книги не будет приёмника информации.

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

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

  1. Пешеход переходит дорогу по регулируемому перекрёстку.
  2. Школьник учит уроки по учебнику.
  3. Мальчик играет на компьютере.
  4. Ты набираешь телефонный номер, чтобы позвонить.
  5. Ты пишешь поздравительную открытку.
  6. Ты пишешь адрес и почтовый индекс на конверте.

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

3. В каких из предыдущих ситуаций происходит обмен информацией и кто в какой момент становится то источником, то приёмником?

А может ли быть так, что:

1. Источник информации один, а приёмников – несколько? Привидите примеры.

2. Источников информации несколько, а приёмник один? Привидите примеры.

3. Привидите примеры с взаимным обменом информации.

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

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

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

А какие коды ты знаешь?

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

Например: В русском языке – СОБАКА; в польском – Рies; ванглийском – Dog; во французском – Chien; в немецком – Нund.

Для оценки твоих знаний в школе тоже используются коды:

Отличные знания – “5”; хорошие – “4”; удовлетворительные – “3”;плохие – “2”, а если ничего не знаешь, то можно и единицу получить. Скажем, получил ты “5” и радостный идёшь домой. А немецкий мальчик идёт с пятёркой и горько плачет, потому что в той стране, тот же самый код “5” означает плохие знания – как у нас “1”. Получается, что одни и те же цифры 1, 2, 3, 4, 5 – в разных странах имеют для оценки знаний разный смысл.

Второй вывод: Сигнал сам по себе ещё не несёт информацию. Только когда с помощью сигналов передаётся некоторый код, мы можем говорить о передаче информации.

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

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

Когда ты звонишь по телефону, ты тоже передаёшь на телефонную станцию код – набираешь номер телефона.

Одна и та же кодовая запись может обозначать совершенно разные вещи в зависимости от того, какой смысл мы связываем с этим кодом. Например, набор цифр 120595 может обозначать:

Почтовый индекс;

Расстояние между городами в метрах;

Номер телефона;

Запиши несколько вариантов того, что могла бы означать запись 14-10?

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

В обычной жизни для человека любой звук и свет являются сигналами, несущими смысловую нагрузку. Например, сирена – звуковой знак тревоги; звонок телефона – сигнал, чтобы взять трубку телефона; красный свет светофора – сигнал, запрещающий переход дороги. Если мы заметили какое-то изменение в окружающей обстановке, то можно сказать, что произошло событие. Школьный звонок вдруг зазвенел после длительного молчания – произошло событие – закончился урок. У чайника на плите вдруг из носика пошёл пар – произошло событие – вода в чайнике закипела.

Привести ещё примеры событий из вашей жизни.

Итак, в передаче информации участвует “Канал связи”. Разберёмся с ним.

Рассмотрим наш урок с точки зрения передачи информации.

Я – источник, говорю с вами на русском языке, кодируя речь понятными для вас словами. Канал связи – воздушная среда, которая передаёт колебания, производимые мною. Вы – получатели информации. Ваше ухо воспринимает колебания воздуха, расшифровывает информацию и вы понимаете, о чём идёт речь на уроке. Представим себе, что вы отвлеклись, и тогда часть сказанного мною не дошла до вас, и вы уходите с урока так и не поняв, о чём говорилось на уроке. Знакомая ситуация, не правда ли? Именно поэтому вас постоянно просят учителя не отвлекаться и не отвлекать других, так как трудно усвоить материал, о котором ты не прослушал объяснения учителя.

Давайте немного отдохнём. Поиграем в игру: “Глухой телефон”. Ведущий передаёт слово первому игроку на ушко, чтобы никто не слышал. Тот, в свою очередь, передаёт следующему и так далее. Затем ведущий спрашивает услышанное слово у последнего игрока, затем у предыдущего и далее по цепочке. Выясняется, что первоначальная информация неимоверно исказилась. Причиной может быть и плохо услышанная информация, и специально неправильно переданное слово. На этом примере мы разбираемся, что не любая информация доходит до получателя в первоначальном виде.

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

Полная схема передачи информации.

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

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

Привести примеры кодирующих и декодирующих устройств.

Запишите, как происходит по этой схеме передача информации в компьютере от клавиатуры к экрану монитора.

Третий вывод: В процессе передачи информация может утрачиваться, искажаться ..

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

Человечество всегда стремилось к передаче информации без помех, создавая всё новые и надёжные средства связи.

В XVIII веке возник семафорный телеграф. Это световая связь.

Очень богатым на открытия в области связи был XIX век. В этом веке люди овладели электричеством, которое породило множество открытий. Сначала П.Л. Шеллинг в России в 1832 году изобрёл электрический телеграф. В 1837 году американец С. Морзе создал электромагнитный телеграфный аппарат и придумал специальный телеграфный код – азбуку, которая теперь носит его имя. В 1876 году американец А. Белл изобрёл телефон.

В 1895 году русский изобретатель А.С. Попов открыл эпоху радиосвязи. Самым замечательным изобретением XX века можно считать телевидение. Освоение космоса привело к созданию спутниковой связи. Среди самых последних новинок – оптоволоконная связь, но с ней мы познакомимся на выставке “Информатика и связь”. Самые современные средства связи будут представлены на ней, и вы увидите пока не реализованные проекты, которые составят гордость нашей науки и промышленности.

Домашнее задание: во время просмотра телевизионных передач, записать примеры средств связи; зафиксировать помехи, если они наблюдались, их частоту и причину.

Вопрос 1. Понятие информации, виды и способы ее передачи.

Информация (от лат. informatio, разъяснение, изложение, осведомленность) - сведения о лицах, предметах, фактах, явлениях, событиях, реального мира не зависимо от их представления.

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

Однако можно лишь утверждать, что понятие ИНФОРМАЦИЯ предполагает наличие материального носителя информации, источника информации, передатчика информации, приемника и канала связи между источником и приемником.

Классификация информации

Информацию можно разделить на виды по различным критериям:

по способу восприятия:

Визуальная - воспринимаемая органами зрения.

Аудиальная - воспринимаемая органами слуха.

Тактильная - воспринимаемая тактильными рецепторами.

Обонятельная - воспринимаемая обонятельными рецепторами.

Вкусовая - воспринимаемая вкусовыми рецепторами.

по форме представления:

Текстовая - передаваемая в виде символов, предназначенных обозначать лексемы языка.

Числовая - в виде цифр и знаков, обозначающих математические действия.

Графическая - в виде изображений, предметов, графиков.

Звуковая - устная или в виде записи и передачи лексем языка аудиальным путём.

по назначению:

Массовая - содержит тривиальные сведения и оперирует набором понятий, понятным большей части социума.

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

Секретная - передаваемая узкому кругу лиц и по закрытым (защищённым) каналам.

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

по значению:

Актуальная - информация, ценная в данный момент времени.

Достоверная - информация, полученная без искажений.

Понятная - информация, выраженная на языке, понятном тому, кому она предназначена.

Полная - информация, достаточная для принятия правильного решения или понимания.

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

по истинности:

истинная

Формы информации.

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

Процесс обработки информации предусматривает наличие носителя информации и средства передачи информации и обработки информации.

Информацию можно:

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

Информация может существовать в виде:

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

Вопрос 2.Задачи получения, передачи, преобразования и хранения информации.

1. Передача информации

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

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

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

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

Компьютер - это самое популярное средство для обработки, хранения и передачи информации.

2. Преобразование информации

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

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

3. Использование информации

Информация используется при принятии решений. Достоверность, полнота, объективность полученной информации обеспечат вам возможность принять правильное решение.

4.Хранение информации.

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

Носитель информации – среда для записи и хранения информации:

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

2) Волны различной природы (световая волна)

3) Акустические носители

4) Электромагнитные носители

5) Гравитационные носители

6) Вещество в различном состоянии

7) Компьютерные носители (магнитные диски, оптические диски, винчестер, флэш-карта)

Примерами упорядоченного хранения информации является записная книжка, оглавление в книге, словари, расписание, каталоги.

ИТАК, передача, обработка и хранение информации происходит в форме :

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

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

Состав операционной системы

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

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

2. Командный процессор . Специальная программа, которая запрашивает у пользователя команды и выполняет их.

3. Драйверы устройств. Специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств. Технология «Plug ad Play» (подключай и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование.

4. Графический интерфейс. Используется для упрощения работы пользователя.

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

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

Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

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

Структура компилятора

Процесс компиляции состоит из следующих этапов:

  1. Лексический анализ На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем.
  2. Синтаксический анализ Последовательность лексем преобразуется в семантическое дерево.
  3. Оптимизация Выполняется удаление изличших конструкций и упрощение семантического дерева.
  4. Генерация кода. Семантическое дерево преобразуется в целевой язык.

Стадии работы компилятора

Работа компилятора состоит из нескольких стадий, которые могут выполняться последовательно, либо совмещаться по времени. Эти стадии могут быть представлены в виде схемы.


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

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

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

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

Вопрос 12. Требования к языкам программирования и их классификация.

Основные требования, предъявляемые к языкам программирования:

наглядность - использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ;

единство - использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным;

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

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

однозначность - недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к неправильным ответам при решении задач.

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

Высокое качество создаваемых программ (компактность и скорость выполнения);

Возможность использования конкретных аппаратных ресурсов;

Предсказуемость объектного кода и заказов памяти;

Для составления эффективных программ необходимо знать систему команд и особенностифункционирования данной ЭВМ;

Трудоемкость процесса составления программ (особенно на машинных языках и ЯСК), плохо защищенного отпоявления ошибок;

Низкая скорость программирования;

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

Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.

- Машинный язык

Отдельный компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным.

- Языки Символического Кодирования

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

- Автокоды

Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд - они называются Автокоды.

Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в«остов» программы, превращая её в реальную машинную программу.

Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер.

- Макрос

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

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

Макрос одинаково может работать, как с программами, так и с данными.

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

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

-Проблемно – ориентированные языки

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

Фортран, Алгол – языки, созданные для решения математических задач;

-Универсальные языки

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д.

-Диалоговые языки

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

Задачи: управление и описание алгоритмов решения задач..

Одним из примеров диалоговых языков является Бэйсик.

Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.

-Непроцедурные языки

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

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

Рекурсивные структуры

1.4.1. Список

Список относится к особой группе структур - это так на­зы­ва­е­мые ре­курсивные структуры.

Приведем рекурсивное определение списка: Списком называется со­­во­купность

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

1.4.2. Набор

Другим примером рекурсивной структуры является структура на­бора, которая

определяется следующим образом: Набором называется совокупность связанных

элементов, каждый из которых может быть ли­бо атомом, либо набором. Атом

определяет "неделимый" элемент на­бора, предназначенный для хранения

элементарной порции ин­фор­ма­ции. Реализация наборов основана на

использовании разнородных списков.

1.4.3. Дерево

Еще один пример рекурсивной структуры, широко использующейся в

программировании - структура дерева. Деревом называется сово­купность

связанных элементов - вершин дерева, включающая в себя один особый элемент -

корень, при этом все остальные эле­мен­ты образуют поддеревья. Наиболее

широко используется струк­ту­ра бинарного дерева, все множество вершин

которого делится (по отношению к корню) на два подмножества - два поддерева

(левое и правое).

Примеры рекурсивных алгоритмов

6.1. Рисование дерева

6.2. Ханойские башни

6.3. Синтаксический анализ арифметических выражений

6.4. Быстрые сортировки

6.5. Произвольное количество вложенных циклов

6.6. Задачи на графах

6.7. Фракталы

Присваивание

В одной строке может стоять больше одной операции присваивания =.

Знак = всегда означает: "переменной слева присвоить значение, стоящее справа ". Операция выполняется справа налево. Поэтому первой значение 100 получает переменная d, затем с, b и а.

Знак присвоить может стоять даже внутри математического выражения:

Присваивание имеет более высокий приоритет, чем сложение и вычитание. Поэтому сначала переменной r будет присвоено значение 9-с. А затем переменная value получит значение 5+9-с.

Составное присваивание

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

Преобразование типов

(тип данных) выражение

v=(double)age*f;

Переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.

Операции отношения

Операции инкремента (++) и декремента (-)

В языке C++ предусмотрены две уникальные операции, которые увеличивают или уменьшают значение переменной на 1.

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

Операция sizeof

Имеет формат

sizeof данные

sizeof (тип данных)

Операция sizeof возвращает размер в байтах указанного в ней данного или типа данных.

cout " "Размер типа float в байтах=\t" "sizeof (float)

Результат: 4.

Операция "запятая"

Дополнительная операция (,) не работает непосредственно с данными, а приводит к вычислению выражения слева направо. Эта операция позволяет Вам использовать в одной строке несколько выражений, разделенных запятой.

Оператор?:

(Условие) ? (выражение1):(выражение2)

Если условие истинно, то выполняется выражение1, а если ложно, то выражение2.

(а>b) ? (ans =10):(ans=25);

ans=(a>b)?(10):(25);

Если а>b, то переменная ans получается значение 10, иначе - значение 0.25

Поразрядные операции

|,или

^ исключающее или

Логические бинарные операции (&&-конъюнкция(И) и || дизъюнкция (или))

Унарные операции:

& - операция получения адреса операнда

* - операция обращения по адресу, т.е. раскрытия ссылки, иначе операция разыменования (доступа по адресу к значению того объекта, на который указывает операнд (адрес)).

Унарный минус- изменяет знак арифметического операнда.

Унарный плюс (введен для симметрии с унарным минусом)

! – логическое отрицание значения операнда.

Увеличение на единицу (инкремент или автоувеличение):

префиксная операция – увеличение значения операнда на 1 до его использования

постфиксная операция – увеличение значения операнда на 1 после его использования.

Операнд не может быть константой.

sizeof – операция вычисления размера(в байтах) для объекта того типа, который имеет операнд.

Бинарные операции:

Аддитивные (+- сложение арифметических операндов, - вычитание арифметических операндов)

Мультипликативные (* - умножение операндов арифметического типа, / - деление операндов арифметического типа, %- получение остатка от деления целочисленных операндов (деление по модулю))

Операции сдвига (<<- сдвиг влево битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда, >>- сдвиг вправо битового представления значения левого целочисленного операнда на количество разрядов, равное значению правого целочисленного операнда)

Операции отношения (сравнения) (> < <= >= != = =-равно)

Логические бинарные операции (&&-конъюнкция(И) и || дизъюнкция (или))

Операции присваивания (=- присвоить значение выражения-операнда из правой части операнду левой части p=10.3 – 2*x, *= присвоить левой части произведение значений обоих операндов P*=2 эквивалентно P = P*2, /= P/=2.2-d эквивалентно P=P/ (2.2-d), %= N%3 эквивалентно N=N % 3;,+= присвоить операнду левой части сумму значений обоих операндов А+= В эквивалентно А=А+В, -= Х -=4.5 – z эквивалентно Х=Х – (4.2 – z),

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

Приоритеты операций задают последовательность вычислений в сложном выражении

Вопрос 26. Потоковый ввод и вывод информации в языке С++

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

Потоки ввода-вывода

В соответствии с названием заголовочного файла iostream.h (stream - поток; "i" - сокращение от input - ввод; "o" - сокращение от output - вывод) описанные в этом файле средства ввода-вывода обеспечивают программиста механизмами для извлечения данных из потоков и для включения (внесения) данных в потоки. Поток определяется как последовательность байтов (символов) и с точки зрения программы не зависит от тех конкретных устройств (файл на диске, принтер, клавиатура, дисплей, стример и т.п.), с которыми ведется обмен данными. При обмене с потоком часто используется вспомогательный участок основной памяти - буфер потока.

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

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

Используемые в программах потоки логически делятся на три типа:

Входные, из которых читается информация;

Выходные, в которые вводятся данные;

Двунаправленные, допускающие как чтение, так и запись.

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

В соответствии с особенностями "устройства", к которому "присоединен" поток, потоки принято делить на

Стандартные,

Консольные,

Строковые и

Файловые.

В заключение перечислим отличительные особенности применения механизма потоков. Потоки обеспечивают:

Буферизацию при обменах с внешними устройствами;

Независимость программы от файловой системы конкретной операционной системы;

Контроль типов передаваемых данных;

Возможность удобного обмена для типов, определенных пользователем.

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

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

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

Аналогом понятия внутреннего файла в языках Си/Си++ является понятие потока. Отличие от файловой переменной Паскаля состоит в том, что потоку в Си не ставится в соответствие тип. Поток - это байтовая последовательность, передаваемая в процессе ввода-вывода.

Поток должен быть связан с каким-либо внешним устройством или файлом на диске. В терминологии Си это звучит так: поток должен быть направлен на какое-то устройство или файл.

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

Стрелочкой обозначен указатель файла, определяющий текущий байт файла. EOF является стандартной константой - признаком конца файла.

Стандартные потоки (istream, ostream, iostream ) служат для работы с терминалом. Строковые потоки (istrstream, ostrstream, strstream ) служат для ввода-вывода из строковых буферов, размещенных в памяти. Файловые потоки (ifstream, ofstream, fstream ) служат для работы с файлами.

· ios базовый потоковый класс

· streambuf буферизация потоков

· istream потоки ввода

· ostream потоки вывода

· iostream двунаправленные потоки

· iostream_withassign поток с переопределенной операцией присваивания

· istrstream строковые потоки ввода

· ostrstream строковые потоки вывода

· strstream двунаправленные строковые потоки

· ifstream файловые потоки ввода

· ofstream файловые потоки вывода

· fstream двунаправленные файловые потоки

· Потоки для работы с файлами создаются как объекты следующих классов:

· ofstream - запись в файл;

· ifstream - чтение из файла;

· fstream - чтение/запись.

· Ввод/вывод в C++ осуществляется с помощью потоков библиотеки C++, доступных при подключении заголовочного файла iostream.h (в VC++.NET – объекта-заголовка iostream). Поток представляет собой объект какого-либо потокового класса.

· Потоковые классы сконструированы на основе базового класса ios:

· ios – базовый потоковый класс;

· istream – класс входных потоков;



Загрузка...