Способ передачи информации источник человек приемник человек
Используя ресурсы Интернет, найти ответы на вопросы:
1. Что представляет из себя процесс передачи информации?
Передача информации — физический процесс, посредством которого осуществляется перемещение информации в пространстве. Записали информацию на диск и перенесли в другую комнату. Данный процесс характеризуется наличием следующих компонентов:
- Источник информации.
- Приёмник информации.
- Носитель информации.
- Среда передачи.
Схема передачи информации:
Источник информации – информационный канал – приемник информации.
Информация представляется и передается в форме последовательности сигналов, символов. От источника к приёмнику сообщение передается через некоторую материальную среду. Если в процессе передачи используются технические средства связи, то их называют каналами передачи информации (информационными каналами). К ним относятся телефон, радио, ТВ. Органы чувств человека исполняют роль биологических информационных каналов.
Процесс передачи информации по техническим каналам связи проходит по следующей схеме (по Шеннону):
Термином «шум» называют разного рода помехи, искажающие передаваемый сигнал и приводящие к потере информации. Такие помехи, прежде всего, возникают по техническим причинам: плохое качество линий связи, незащищенность друг от друга различных потоков информации, передаваемой по одним и тем же каналам. Для защиты от шума применяются разные способы, например, применение разного рода фильтров, отделяющих полезный сигнал от шума.
Клодом Шенноном была разработана специальная теория кодирования, дающая методы борьбы с шумом. Одна из важных идей этой теории состоит в том, что передаваемый по линии связи код должен быть избыточным. За счет этого потеря какой-то части информации при передаче может быть компенсирована. Однако нельзя делать избыточность слишком большой. Это приведёт к задержкам и подорожанию связи.
2. Общая схема передачи информации
3. Перечислите известные вам каналы связи
Канал связи (англ. channel, data line ) — система технических средств и среда распространения сигналов для передачи сообщений (не только данных) от источника к получателю (и наоборот). Канал связи, понимаемый в узком смысле (тракт связи), представляет только физическую среду распространения сигналов, например, физическую линию связи.
По типу среды распространения каналы связи делятся на:
Телекоммуникации (греч. tele — вдаль, далеко и лат. communicatio — общение) — это передача и прием любой информации (звука, изображения, данных, текста) на расстояние по различным электромагнитным системам (кабельным и оптоволоконным каналам, радиоканалам и другим проводным и беспроводным каналам связи).
Телекоммуникационная сеть — это система технических средств, посредством которой осуществляются телекоммуникации.
К телекоммуникационным сетям относятся:
1. Компьютерные сети (для передачи данных)
2. Телефонные сети (передача голосовой информации)
3. Радиосети (передача голосовой информации — широковещательные услуги)
4. Телевизионные сети (передача голоса и изображения — широковещательные услуги)
Компьютерные телекоммуникации — телекоммуникации, оконечными устройствами которых являются компьютеры.
Передача информации с компьютера на компьютер называется синхронной связью, а через промежуточную ЭВМ, позволяющую накапливать сообщения и передавать их на персональные компьютеры по мере запроса пользователем, — асинхронной.
Компьютерные телекоммуникации начинают внедряться в образование. В высшей школе их используют для координации научных исследований, оперативного обмена информацией между участниками проектов, обучения на расстоянии, проведения консультаций. В системе школьного образования — для повышения эффективности самостоятельной деятельности учащихся, связанной с разнообразными видами творческих работ, включая и учебную деятельность, на основе широкого использования исследовательских методов, свободного доступа к базам данных, обмена информацией с партнерами как внутри страны, так и за рубежом.
5. Что такое пропускная способность канала передачи информации?
Пропускная способность — метрическая характеристика, показывающая соотношение предельного количества проходящих единиц (информации, предметов, объёма) в единицу времени через канал, систему, узел.
В информатике определение пропускной способности обычно применяется к каналу связи и определяется максимальным количеством переданной/полученной информации за единицу времени.
Пропускная способность — один из важнейших с точки зрения пользователей факторов. Она оценивается количеством данных, которые сеть в пределе может передать за единицу времени от одного подсоединенного к ней устройства к другому.
Скорость передачи информации зависит в значительной степени от скорости её создания (производительности источника), способов кодирования и декодирования. Наибольшая возможная в данном канале скорость передачи информации называется его пропускной способностью. Пропускная способность канала, по определению, есть скорость передачи информации при использовании «наилучших» (оптимальных) для данного канала источника, кодера и декодера, поэтому она характеризует только канал.
5. В каких единицах измеряется пропускная способность каналов передачи информации?
Может измеряться в различных, иногда сугубо специализированных, единицах — штуки, бит/сек, тонны, кубические метры и т. д.
Источник
Задание 7. § 6 Передача информации. Информатика. 5 класс. Л.Л. Босова. ГДЗ
Можете кинуть ответы на вопросы задания?
Определите источник и приёмник информации, а также характер (односторонний, двусторонний) передачи информации в следующих ситуациях:
1) школьник читает текст в учебнике;
2) бабушка читает письмо;
3) мальчик просыпается от звонка будильника;
4) разговаривают подруги Таня и Лена;
5) учитель объясняет новый материал классу;
6) регулировщик управляет потоками машин и пешеходов;
7) человек читает объявление в газете;
8) завуч вывешивает листочек с изменениями в расписании уроков;
9) диспетчер сообщает, что автобусный рейс отменяется;
10) вывешен знак, запрещающий проезд по улице;
11) мальчик получил пригласительный билет на ёлку.
Привет, вот ответ:
1) Школьник читает книгу. Источник: учебник с текстом. Приёмщик: мальчик. Односторонний.
2) Бабушка читает письмо. Источник: письмо. При ёмщик: бабушка. Односторонний.
3) Мальчик просыпается от звонка будильника. Источник: будильник. Приёмщик: мальчик. Односторонний.
4) Разговаривают подруги Таня и Лена. Источник: Таня (Лена). Приёмщик: Лена (Таня). Двусторонний.
5) Учитель объясняет новый материал классу. Источник: учитель. Приёмщик: класс (ученики). Односторонний.
6) Регулировщик управляет потоком машин и пешеходов. Источник: Регулировщик (Пешеходы и машины). Приёмщик: пешеходы и машины (Регулировщик). Двусторонний.
7) Человек читает объявление в газете. Источник: газета. Приёмщик: человек. Односторонний.
8) Завуч вывешивает листочек с изменениями в расписании уроков. Источник: Завуч. Приёмщик: учителя и ученики. Односторонний.
9) Диспетчер сообщает, что автобусный рейс отменяется. Источник: диспетчер. Приёмщик: пассажиры. Односторонний.
10)Вывешен знак, запрещающий проезд по улице. Источник: знак. Приёмщик: водители. Односторонний.
11)Мальчик получил пригласительный билет на ёлку. Источник: билет. Приёмщик: мальчик. Односторонний.
Источник
Вопрос 1. Понятие информации, виды и способы ее передачи.
Вопрос 1. Понятие информации, виды и способы ее передачи.
Информация (от лат. informatio, разъяснение, изложение, осведомленность) — сведения о лицах, предметах, фактах, явлениях, событиях, реального мира не зависимо от их представления.
Информация — это отображение окружающего нас мира с помощью знаков и сигналов или иначе сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии, которые воспринимают информационные системы (живые организмы, управляющие машины и др.) в процессе жизнедеятельности и работы.
Однако можно лишь утверждать, что понятие ИНФОРМАЦИЯ предполагает наличие материального носителя информации, источника информации, передатчика информации, приемника и канала связи между источником и приемником.
Классификация информации
Информацию можно разделить на виды по различным критериям:
по способу восприятия:
Визуальная — воспринимаемая органами зрения.
Аудиальная — воспринимаемая органами слуха.
Тактильная — воспринимаемая тактильными рецепторами.
Обонятельная — воспринимаемая обонятельными рецепторами.
Вкусовая — воспринимаемая вкусовыми рецепторами.
по форме представления:
Текстовая — передаваемая в виде символов, предназначенных обозначать лексемы языка.
Числовая — в виде цифр и знаков, обозначающих математические действия.
Графическая — в виде изображений, предметов, графиков.
Звуковая — устная или в виде записи и передачи лексем языка аудиальным путём.
Массовая — содержит тривиальные сведения и оперирует набором понятий, понятным большей части социума.
Специальная — содержит специфический набор понятий, при использовании происходит передача сведений, которые могут быть не понятны основной массе социума, но необходимы и понятны в рамках узкой социальной группы, где используется данная информация.
Секретная — передаваемая узкому кругу лиц и по закрытым (защищённым) каналам.
Личная (приватная) — набор сведений о какой-либо личности, определяющий социальное положение и типы социальных взаимодействий внутри популяции.
Актуальная — информация, ценная в данный момент времени.
Достоверная — информация, полученная без искажений.
Понятная — информация, выраженная на языке, понятном тому, кому она предназначена.
Полная — информация, достаточная для принятия правильного решения или понимания.
Полезная — полезность информации определяется субъектом, получившим информацию в зависимости от объёма возможностей её использования.
Формы информации.
Существует множество способов передачи и обработки информации. Человек может передавать информацию, используя тот или иной язык, жесты, мимику, звуки и воспринимать информацию, используя любые органы чувств. Иными словами информация человеком передается, обрабатывается и принимается в форме знаков или сигналами. Сигнал может быть световым, звуковым (радиоволны), электромагнитным, биохимическим и т.д.
Знаками можно считать алфавит любого языка, знаки языка жестов, любые коды или шифры, нотные значки и т.д.
Процесс обработки информации предусматривает наличие носителя информации и средства передачи информации и обработки информации.
создавать;принимать;комбинировать;хранить;передавать;копировать;обрабатывать;искать;воспринимать;формализовать;делить на части;измерять;использовать;распространять;упрощать;разрушатзапоминать;преобразовывать;собирать;и т.д. Все эти процессы, связанные с определенными операциями над информацией, называются информационными процессами.
Информация может существовать в виде:
- текстов, рисунков, чертежей, фотографий;
- световых или звуковых сигналов;
- радиоволн;
- электрических и нервных импульсов;
- магнитных записей;
- жестов и мимики;
- запахов и вкусовых ощущений;
- хромосом, посредством которых передаются по наследству признаки и свойства организмов, и т. д.
Вопрос 2.Задачи получения, передачи, преобразования и хранения информации.
1. Передача информации
В процессе передачи информации обязательно участвуют источник и приемник информации: первый передает информацию, второй ее получает. Между ними действует канал передачи информации — канал связи.
Канал связи — совокупность технических устройств, обеспечивающих передачу сигнала от источника к получателю.
Кодирующее устройство — устройство, предназначенное для преобразования исходного сообщения источника к виду, удобному для передачи.
Декодирующее устройство — устройство для преобразования кодированного сообщения в исходное.
Деятельность людей всегда связана с передачей информации.
Компьютер — это самое популярное средство для обработки, хранения и передачи информации.
2. Преобразование информации
Фундаментальное свойство информации — преобразуемость. Оно означает, что информация может менять способ и форму своего существования. Копируемость есть разновидность преобразования информации, при котором ее количество не меняется. В информатике отдельно рассматривают аналоговую информацию и цифровую. Это важно, поскольку человек благодаря своим органам чувств, привык иметь дело с аналоговой информацией, а вычислительная техника, наоборот, в основном работает с цифровой информацией. Мы не найдем двух одинаковых зеленых листьев на одном дереве и не услышим двух абсолютно одинаковых звуков — это информация аналоговая. Если же разным цветам дать номера, а разным звукам — ноты, то аналоговую информацию можно сделать цифровой.
Музыка, когда мы ее слышим, несет аналоговую информацию, но стоит только записать ее нотами, как она становится цифровой. Разница между аналоговой информацией и цифровой, прежде всего, в том, что аналоговая информация непрерывна, а цифровая — дискретна.
3. Использование информации
Информация используется при принятии решений. Достоверность, полнота, объективность полученной информации обеспечат вам возможность принять правильное решение.
Хранение информации — это способ распространения информации в пространстве и времени.
Способ хранения информации зависит от ее носителя (книга- библиотека, картина- музей, фотография- альбом).
ЭВМ предназначен для компактного хранения информации с возможностью быстрого доступа к ней.
Носитель информации– среда для записи и хранения информации:
1) Любой материальный предмет (бумага, глиняные, восковые и деревянные таблички, береста, папирус, кожа, камень, узелки на веревке, печатные книги, фотопленка, кинопленка)
2) Волны различной природы (световая волна)
3) Акустические носители
4) Электромагнитные носители
5) Гравитационные носители
6) Вещество в различном состоянии
7) Компьютерные носители (магнитные диски, оптические диски, винчестер, флэш-карта)
Но просто сохранить информацию недостаточно. Ее необходимо упорядочить, с тем, чтобы быстро найти необходимые сведения.
Примерами упорядоченного хранения информации является записная книжка, оглавление в книге, словари, расписание, каталоги.
ИТАК, передача, обработка и хранение информации происходит в форме:
сигналов | знаков |
ü по физической природе (световой, тепловой, электромагнитный, звуковой, механический, биохимический) ü по способу восприятия (зрительный, слуховой, осязательный, вкусовой, болевой, физиологический) | ü алфавит любого языка ü знаки языка жестов ü коды и шифры ü ноты ü и т.д. |
5.Передача информации.
В процессе передачи информации обязательно участвуют источник и приемник информации: первый передает информацию, второй ее получает. Между ними действует канал передачи информации — канал связи.
Канал связи — совокупность технических устройств, обеспечивающих передачу сигнала от источника к получателю.
Кодирующее устройство — устройство, предназначенное для преобразования исходного сообщения источника к виду, удобному для передачи.
Декодирующее устройство — устройство для преобразования кодированного сообщения в исходное.
Деятельность людей всегда связана с передачей информации.
В процессе передачи информация может теряться и искажаться: искажение звука в телефоне, атмосферные помехи в радио, искажение или затемнение изображения в телевидении, ошибки при передачи в телеграфе. Эти помехи, или, как их называют специалисты, шумы, искажают информацию. К счастью, существует наука, разрабатывающая способы защиты информации —криптология.
Каналы передачи сообщений характеризуются пропускной способностью и помехозащищенностью.
Каналы передачи данных делятся на симплексные (с передачей информации только в одну сторону (телевидение)) и дуплексные (по которым возможно передавать информацию в оба направления (телефон, телеграф)). По каналу могут одновременно передаваться несколько сообщений. Каждое из этих сообщений выделяется (отделяется от других) с помощью специальных фильтров. Например, возможна фильтрация по частоте передаваемых сообщений, как это делается в радиоканалах.
Пропускная способность канала определяется максимальным количеством символов, передаваемых ему в отсутствии помех. Эта характеристика зависит от физических свойств канала.
Для повышения помехозащищенности канала используются специальные методы передачи сообщений, уменьшающие влияние шумов. Например, вводят лишние символы. Эти символы не несут действительного содержания, но используются для контроля правильности сообщения при получении.
С точки зрения теории информации все то, что делает литературный язык красочным, гибким, богатым оттенками, многоплановым, многозначным,- избыточность.
Состав операционной системы
Современные операционные системы имеют сложную структуру, каждый элемент которой выполняет определенные функции по управлению компьютером.
1. Управление файловой системой. Процесс работы компьютера сводится к обмену файлами между устройствами. В операционной системе имеются программные модули, управляющие файловой системой.
2. Командный процессор. Специальная программа, которая запрашивает у пользователя команды и выполняет их.
3. Драйверы устройств. Специальные программы, которые обеспечивают управление работой устройств и согласование информационного обмена с другими устройствами, а также позволяют производить настройку некоторых параметров устройств. Технология «Plug ad Play» (подключай и играй) позволяет автоматизировать подключение к компьютеру новых устройств и обеспечивает их конфигурирование.
4. Графический интерфейс. Используется для упрощения работы пользователя.
5. Сервисные программы или утилиты. Программы, позволяющие обслуживать диски (проверять, сжимать, дефрагментировать и т.д.), выполнять операции с файлами (архивировать и т.д.), работать в компьютерных сетях и т.д.
6. Справочная система. Позволяет оперативно получить информацию как о функционировании операционной системы в целом, так и о работе ее отдельных модулей.
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
- Ядро – это модули, выполняющие основные функции ОС.
- Вспомогательные модули, выполняющие вспомогательные функции ОС. Одним из определяющих свойств ядра является работа в привилегированном режиме.
Структура компилятора
Процесс компиляции состоит из следующих этапов:
- Лексический анализ На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем.
- Синтаксический анализ Последовательность лексем преобразуется в семантическое дерево.
- Оптимизация Выполняется удаление изличших конструкций и упрощение семантического дерева.
- Генерация кода. Семантическое дерево преобразуется в целевой язык.
Стадии работы компилятора
Работа компилятора состоит из нескольких стадий, которые могут выполняться последовательно, либо совмещаться по времени. Эти стадии могут быть представлены в виде схемы.
Первая стадия работы компилятора называется лексическим анализом, а программа, её реализующая, — лексическим анализатором (ЛА). На вход лексического анализатора подаётся последовательность символов входного языка. ЛА выделяет в этой последовательности простейшие конструкции языка, которые называют лексическими единицами. Примерами лексических единиц являются идентификаторы, числа, символы операций, служебные слова и т.д. ЛА преобразует исходный текст, заменяя лексические единицы их внутренним представлением — лексемами. Лексема может включать информацию о классе лексической единицы и её значении. Кроме того, для некоторых классов лексических единиц ЛА строит таблицы, например, таблицу идентификаторов, констант, которые используются на последующих стадиях компиляции.
Вторую стадию работы компилятора называют синтаксическим анализом, а соответствующую программу — синтаксическим анализатором(СА). На вход СА подается последовательность лексем, которая преобразуется в промежуточный код, представляющий собой последовательность символов действия или атомов. Каждый атом включает описание операции, которую нужно выполнить, с указанием используемых операндов. При этом последовательность расположения атомов, в отличие от лексем, соответствует порядку выполнения операций, необходимому для получения результата.
На третьей стадии работы компилятора осуществляется построение выходного текста. Программа, реализующая эту стадию, называется генератором выходного текста(Г). Генератор каждому символу действия, поступающему на его вход, ставит в соответствие одну или несколько команд выходного языка. В качестве выходного языка могут быть использованы команды устройства, команды ассемблера, либо операторы какого-либо другого языка.
Рассмотренная схема компилятора является упрощенной, поскольку реальные компиляторы, как правило, включают стадии оптимизации.
Вопрос 12. Требования к языкам программирования и их классификация.
Основные требования, предъявляемые к языкам программирования:
наглядность — использование в языке по возможности уже существующих символов, хорошо известных и понятных как программистам, так и пользователям ЭВМ;
единство — использование одних и тех же символов для обозначения одних и тех же или родственных понятий в разных частях алгоритма. Количество этих символов должно быть по возможности минимальным;
гибкость — возможность относительно удобного, несложного описания распространенных приемов математических вычислений с помощью имеющегося в языке ограниченного набора изобразительных средств;
модульность — возможность описания сложных алгоритмов в виде совокупности простых модулей, которые могут быть составлены отдельно и использованы в различных сложных алгоритмах;
однозначность — недвусмысленность записи любого алгоритма. Отсутствие ее могло бы привести к неправильным ответам при решении задач.
Машинно – ориентированные языки– это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно –ориентированные языки позволяют использовать все возможности и особенности Машинно – зависимых языков:
— высокое качество создаваемых программ (компактность и скорость выполнения);
— возможность использования конкретных аппаратных ресурсов;
— предсказуемость объектного кода и заказов памяти;
— для составления эффективных программ необходимо знать систему команд и особенностифункционирования данной ЭВМ;
— трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного отпоявления ошибок;
— низкая скорость программирования;
— невозможность непосредственного использования программ, составленных на этих языках, на ЭВМдругих типов.
Машинно-ориентированные языки по степени автоматического программирования подразделяются на классы.
— Машинный язык
Отдельный компьютер имеет свой определенный Машинный язык (далее МЯ), ему предписывают выполнение указываемых операций над определяемыми ими операндами, поэтому МЯ является командным.
— Языки Символического Кодирования
Языки Символического Кодирования (далее ЯСК),так же, как и МЯ, являются командными. Однако коды операций и адреса в машинных командах, представляющие собой последовательность двоичных (во внутреннем коде) или восьмеричных (часто используемых при написании программ) цифр, в ЯСК заменены на символы (идентификаторы), форма написания которых помогает программисту легче запоминать смысловое содержание операции. Это обеспечивает существенное уменьшение числа ошибок при составлении программ. Использование символических адресов – первый шаг к созданию ЯСК.
— Автокоды
Есть также языки, включающие в себя все возможности ЯСК, посредством расширенного введения макрокоманд — они называются Автокоды.
Макрокоманды обеспечивают передачу фактических параметров, которые в процессе трансляции вставляются в«остов» программы, превращая её в реальную машинную программу.
Развитые автокоды получили название Ассемблеры. Сервисные программы и пр., как правило, составлены на языках типа Ассемблер.
— Макрос
Язык, являющийся средством для замены последовательности символов описывающих выполнение требуемых действий ЭВМ наиболее сжатую форму — называется Макрос (средство замены).
В основном, Макрос предназначен для того, чтобы сократить запись исходной программы. Компонент программного обеспечения, обеспечивающий функционирование макросов, называется макропроцессором. На макропроцессор поступает макроопределяющий и исходный текст. Реакция макропроцессора на вызов-выдачу выходного текста.
Макрос одинаково может работать, как с программами, так и с данными.
Машинно – независимые языки – это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС.
Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка(задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на МЯ.
-Проблемно – ориентированные языки
С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно – ориентированные языки. Эти языки, языки ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.
Фортран, Алгол – языки, созданные для решения математических задач;
-Универсальные языки
Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д.
-Диалоговые языки
Появление новых технических возможностей поставило задачу перед системными программистами –создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.
Задачи: управление и описание алгоритмов решения задач..
Одним из примеров диалоговых языков является Бэйсик.
Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.
-Непроцедурные языки
Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам(табличные языки и генераторы отчетов), и языков связи с операционными системами.
Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.
Рекурсивные структуры
1.4.1. Список
Список относится к особой группе структур — это так называемые рекурсивные структуры.
Приведем рекурсивное определение списка: Списком называется совокупность
связанных элементов, из которых один является особым элементом (первым,»головой»), а все остальные образуют список. Рекурсивные структуры в программировании замечательны тем, что многие операции по их обработке можно эффективно реализовать с использованием рекурсивных процедур, которые отличаются большой лаконичностью и наглядностью.
1.4.2. Набор
Другим примером рекурсивной структуры является структура набора, которая
определяется следующим образом: Набором называется совокупность связанных
элементов, каждый из которых может быть либо атомом, либо набором. Атом
определяет «неделимый» элемент набора, предназначенный для хранения
элементарной порции информации. Реализация наборов основана на
использовании разнородных списков.
1.4.3. Дерево
Еще один пример рекурсивной структуры, широко использующейся в
программировании — структура дерева. Деревом называется совокупность
связанных элементов — вершин дерева, включающая в себя один особый элемент —
корень, при этом все остальные элементы образуют поддеревья. Наиболее
широко используется структура бинарного дерева, все множество вершин
которого делится (по отношению к корню) на два подмножества — два поддерева
Примеры рекурсивных алгоритмов
6.1. Рисование дерева
6.2. Ханойские башни
6.3. Синтаксический анализ арифметических выражений
6.4. Быстрые сортировки
6.5. Произвольное количество вложенных циклов
6.6. Задачи на графах
Присваивание
В одной строке может стоять больше одной операции присваивания =.
Знак = всегда означает: «переменной слева присвоить значение, стоящее справа «. Операция выполняется справа налево. Поэтому первой значение 100 получает переменная d, затем с, b и а.
Знак присвоить может стоять даже внутри математического выражения:
Присваивание имеет более высокий приоритет, чем сложение и вычитание. Поэтому сначала переменной r будет присвоено значение 9-с. А затем переменная value получит значение 5+9-с.
Составное присваивание
При написании программы часто требуется изменить значение переменной. Например, требуется взять текущее значение переменной, прибавить или умножить это значение на какое-то выражение, а затем присвоить это значение той же переменной. Такие операции выполняют операторы составного присваивания.
Операция | Пример | Эквивалент |
+ = | B+ = 500; | B= b+ 500; |
— = | С- = 50; | C = с — 50; |
* = | D* = 1.2; | D = d*1.2; |
/ = | F/ = 50; | f = f/.50; |
% = | m% = 7; | M = m% 7; |
Преобразование типов
(тип данных) выражение
— переменная age временно преобразуется к типу с плавающей точкой двойной точности и умножается на переменную f.
Операции отношения
Операции | Описание |
= = | Равно |
> | Больше |
= | Больше или равно |
b) ? (ans =10):(ans=25); Если а>b, то переменная ans получается значение 10, иначе — значение 0.25 Поразрядные операции &, и |,или ^ исключающее или Логические бинарные операции ( &&-конъюнкция(И) и || дизъюнкция (или)) Унарные операции: & — операция получения адреса операнда * — операция обращения по адресу, т.е. раскрытия ссылки, иначе операция разыменования (доступа по адресу к значению того объекта, на который указывает операнд (адрес)). — — унарный минус- изменяет знак арифметического операнда. + — унарный плюс (введен для симметрии с унарным минусом) ! – логическое отрицание значения операнда. ++ — увеличение на единицу ( инкремент или автоувеличение): префиксная операция – увеличение значения операнда на 1 до его использования постфиксная операция – увеличение значения операнда на 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: Источник |