1. Критерии классификации компьютеров Существуют различные классификации компьютерной техники по этапам развития по поколениям по архитектуре по производительности по условиям эксплуатации по количеству процессоров по потребительским свойствам и т.д. Критерии классификация по поколениям Деление компьютерной техники на поколения - весьма условная, нестрогая классификация вычислительных систем по степени развития аппаратных и программных средств, а также способов общения с компьютером.
Идея делить машины на поколения вызвана к жизни тем, что за время короткой истории своего развития компьютерная техника проделала большую эволюцию как в смысле элементной базы лампы, транзисторы, микросхемы и др так и в смысле изменения её структуры, появления новых возможностей, расширения областей применения и характера использования. Компьютеры первого поколения К первому поколению обычно относят машины, созданные на рубеже 50-х годов.
В их схемах использовались электронные лампы. Эти компьютеры были огромными, неудобными и слишком дорогими машинами, которые могли приобрести только крупные корпорации и правительства. Лампы потребляли огромное количество электроэнергии и выделяли много тепла. Набор команд был небольшой, схема арифметико-логического устройства и устройства управления достаточно проста, программное обеспечение практически отсутствовало.
Показатели объема оперативной памяти и быстродействия были низкими. Для ввода-вывода использовались перфоленты, перфокарты, магнитные ленты и печатающие устройства. Быстродействие порядка 10-20 тысяч операций в секунду. Но это только техническая сторона. Очень важна и другая - способы использования компьютеров, стиль программирования, особенности математического обеспечения.
Программы для этих машин писались на языке конкретной машины. Математик, составивший программу, садился за пульт управления машины, вводил и отлаживал программы и производил по ним счет. Процесс отладки был наиболее длительным по времени. Несмотря на ограниченность возможностей, эти машины позволили выполнить сложнейшие расчёты, необходимые для прогнозирования погоды, решения задач атомной энергетики и др.
Опыт использования машин первого поколения показал, что существует огромный разрыв между временем, затрачиваемым на разработку программ, и временем счета. Второе поколение компьютерной техники - машины, сконструированные примерно в 1955-65 гг. Характеризуются использованием в них как электронных ламп, так и дискретных транзисторных логических элементов. Их оперативная память была построена на магнитных сердечниках.
В это время стал расширяться диапазон применяемого оборудования ввода-вывода, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски. Быстродействие - до сотен тысяч операций в секунду, ёмкость памяти - до нескольких десятков тысяч слов. Появились так называемые языки высокого уровня, средства которых допускают описание всей необходимой последовательности вычислительных действий в наглядном, легко воспринимаемом виде.
Программа, написанная на алгоритмическом языке, непонятна компьютеру, воспринимающему только язык своих собственных команд. Поэтому специальные программы, которые называются трансляторами, переводят программу с языка высокого уровня на машинный язык. Появился широкий набор библиотечных программ для решения разнообразных математических задач. Появились мониторные системы, управляющие режимом трансляции и исполнения программ. Из мониторных систем в дальнейшем выросли современные операционные системы.
Операционная система - важнейшая часть программного обеспечения компьютера, предназначенная для автоматизации планирования и организации процесса обработки программ, ввода-вывода и управления данными, распределения ресурсов, подготовки и отладки программ, других вспомогательных операций обслуживания. Ооперационная система является программным расширением устройства управления компьютера. Для некоторых машин второго поколения уже были созданы операционные системы с ограниченными возможностями.
Машинам второго поколения была свойственна программная несовместимость, которая затрудняла организацию крупных информационных систем. Поэтому в середине 60-х годов наметился переход к созданию компьютеров, программно совместимых и построенных на микроэлектронной технологической базе. Компьютеры третьего поколения Машины третьего поколения созданы примерно после 60-x годов. Поскольку процесс создания компьютерной техники шел непрерывно, и в нём участвовало множество людей
из разных стран, имеющих дело с решением различных проблем, трудно и бесполезно пытаться установить, когда поколение начиналось и заканчивалось. Возможно, наиболее важным критерием различия машин второго и третьего поколений является критерий, основанный на понятии архитектуры. Машины третьего поколения - это семейства машин с единой архитектурой, т.е. программно совместимых. В качестве элементной базы в них используются интегральные схемы, которые также называются микросхемами.
Машины третьего поколения имеют развитые операционные системы. Они обладают возможностями мультипрограммирования, т.е. одновременного выполнения нескольких программ. Многие задачи управления памятью, устройствами и ресурсами стала брать на себя операционная система или же непосредственно сама машина. Примеры машин третьего поколения - семейства IBM-360, IBM-370, ЕС ЭВМ Единая система ЭВМ , СМ ЭВМ
Семейство малых ЭВМ и др. Быстродействие машин внутри семейства изменяется от нескольких десятков тысяч до миллионов операций в секунду. Ёмкость оперативной памяти достигает нескольких сотен тысяч слов. Машины четвёртого поколения Четвёртое поколение - это теперешнее поколение компьютерной техники, разработанное после 1970 года. Наиболее важный в концептуальном отношении критерий, по которому эти компьютеры можно отделить от машин третьего поколения, состоит в том, что машины четвёртого поколения проектировались
в расчете на эффективное использование современных высокоуровневых языков и упрощение процесса программирования для конечного пользователя. В аппаратурном отношении для них характерно широкое использование интегральных схем в качестве элементной базы, а также наличие быстродействующих запоминающих устройств с произвольной выборкой ёмкостью в десятки мегабайт. C точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле внешних устройств.
Быстродействие составляет до нескольких десятков миллионов операций в секунду, ёмкость оперативной памяти порядка 1 - 64 Мбайт. Для них характерны применение персональных компьютеров телекоммуникационная обработка данных компьютерные сети широкое применение систем управления базами данных элементы интеллектуального поведения систем обработки данных и устройств. 2. Классификация компьютеров по условиям эксплуатации По условиям эксплуатации компьютеры делятся на два типа офисные универсальные специальные.
Офисные предназначены для решения широкого класса задач при нормальных условиях эксплуатации. Специальные компьютеры служат для решения более узкого класса задач или даже одной задачи, требующей многократного решения, и функционируют в особых условиях эксплуатации. Машинные ресурсы специальных компьютеров часто ограничены. Однако их узкая ориентация позволяет реализовать заданный класс задач наиболее эффективно.
Специальные компьютеры управляют технологическими установками, работают в операционных или машинах скорой помощи, на ракетах, самолётах и вертолётах, вблизи высоковольтных линий передач или в зоне действия радаров, радиопередатчиков, в неотапливаемых помещениях, под водой на глубине, в условиях пыли, грязи, вибраций, взрывоопасных газов и т.п. Существует много моделей таких компьютеров. Познакомимся с одной из них. Компьютер Ergotouch Эрготач исполнен в литом алюминиевом полностью герметичном
корпусе, который легко открывается для обслуживания. Cтенки компьютера поглощают практически все электромагнитные излучения как изнутри, так и снаружи. Машина оборудована экраном, чувствительным к прикосновениям. Компьютер можно, не выключая, мыть из шланга, дезинфицировать, дезактивировать, обезжиривать. Высочайшая надежность позволяет использовать его как средство управления и контроля технологическими
процессами в реальном времени. Компьютер легко входит в локальную сеть предприятия. Важное направление в создании промышленных компьютеров - разработка операторского интерфейса - пультов управления, дисплеев, клавиатур и указательных устройств во всевозможных исполнениях. От этих изделий напрямую зависит комфортность и результативность труда операторов. 3. Классификация компьютеров по производительности и характеру использования
По производительности и характеру использования компьютеры можно условно подразделить на микрокомпьютеры, в том числе - персональные компьютеры миникомпьютеры мэйнфреймы универсальные компьютеры суперкомпьютеры. Микрокомпьютеры - это компьютеры, в которых центральный процессор выполнен в виде микропроцессора. Продвинутые модели микрокомпьютеров имеют несколько микропроцессоров. Производительность компьютера определяется не только характеристиками применяемого микропроцессора,
но и ёмкостью оперативной памяти, типами периферийных устройств, качеством конструктивных решений и др. Микрокомпьютеры представляют собой инструменты для решения разнообразных сложных задач. Их микропроцессоры с каждым годом увеличивают мощность, а периферийные устройства - эффективность. Быстродействие - порядка 1 - 10 миллионов опеpаций в сек. Разновидность микрокомпьютера - микроконтроллер. Это основанное на микропроцессоре специализированное
устройство, встраиваемое в систему управления или технологическую линию. Персональные компьютеры ПК - это микрокомпьютеры универсального назначения, рассчитанные на одного пользователя и управляемые одним человеком. В класс персональных компьютеров входят различные машины - от дешёвых домашних и игровых с небольшой оперативной памятью, с памятью программы на кассетной ленте и обычным телевизором в качестве дисплея 80-е годы , до сверхсложных машин с мощным процессором, винчестерским
накопителем ёмкостью в десятки Гигабайт, с цветными графическими устройствами высокого разрешения, средствами мультимедиа и другими дополнительными устройствами. Пеpсональный компьютеp должен удовлетворять следующим требованиям стоимост от нескольких сотен до 5 -10 тыс. долларов наличие внешних ЗУ на магнитных дисках объём оперативной памяти не менее 32 Мбайт наличие операционной системы способность работать с программами на языках высокого уровня ориентация
на пользователя-непрофессионала в простых моделях . Миникомпьютерами и суперминикомпьютерами называются машины, конструктивно выполненные в одной стойке, т.е. занимающие объём порядка половины кубометра. Сейчас компьютеры этого класса вымирают, уступая место микрокомпьютерам. Мэйнфреймы предназначены для решения широкого класса научно-технических задач и являются сложными и
дорогими машинами. Их целесообразно применять в больших системах при наличии не менее 200 - 300 рабочих мест. Централизованная обработка данных на мэйнфрейме обходится примерно в 5 - 6 раз дешевле, чем распределённая обработка при клиент-серверном подходе. Известный мэйнфрейм S 390 фирмы IBM обычно оснащается не менее чем тремя процессорами. Максимальный объём оперативного хранения достигает 342
Терабайт. Производительность его процессоров, пропускная способность каналов, объём оперативного хранения позволяют наращивать число рабочих мест в диапазоне от 20 до 20 с помощью простого добавления процессорных плат, модулей оперативной памяти и дисковых накопителей. Десятки мэйнфреймов могут работать совместно под управлением одной операционной системы над выполнением единой задачи. Суперкомпьютеры - это очень мощные компьютеры с производительностью свыше 100 мегафлопов 1
мегафлоп - миллион операций с плавающей точкой в секунду . Они называются сверхбыстродействующими. Эти машины представляют собой многопроцессорные и или многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Различают суперкомпьютеры среднего класса, класса выше среднего и переднего края high end . Архитектура суперкомпьютеров основана на идеях параллелизма и конвейеризации вычислений.
В этих машинах параллельно, то есть одновременно, выполняется множество похожих операций это называется мультипроцессорной обработкой . Таким образом, сверхвысокое быстродействие обеспечивается не для всех задач, а только для задач, поддающихся распараллеливанию. Что такое конвейеpная обработка? Приведем сравнение - на каждом рабочем месте конвейера выполняется один шаг производственного процесса, а на всех рабочих местах в одно и то же время обрабатываются различные
изделия на всевозможных стадиях. По такому принципу устроено арифметико-логическое устройство суперкомпьютера. Отличительной особенностью суперкомпьютеров являются векторные процессоры, оснащенные аппаратурой для параллельного выполнения операций с многомерными цифровыми объектами - векторами и матрицами. В них встроены векторные регистры и параллельный конвейерный механизм обработки. Если на обычном процессоре программист выполняет операции над каждым компонентом вектора по очереди,
то на векторном - выдаёт сразу векторые команды. Векторная аппаратура очень дорога, в частности, потому, что требуется много сверхбыстродействующей памяти под векторные регистры. Наиболее распространённые суперкомпьютеры - массово-параллельные компьютерные системы. Они имеют десятки тысяч процессоров, взаимодействующих через сложную, иерархически организованую систему памяти. В качестве примера рассмотрим характеристики многоцелевого массово-параллельного суперкомпьютера
среднего класса Intel Pentium Pro 200. Этот компьютер содержит 9200 процессоров Pentium Pro на 200 Мгц, в сумме теоретически обеспечивающих производительность 1,34 Терафлоп 1 Терафлоп равен 1012 операций с плавающей точкой в секунду , имеет 537 Гбайт памяти и диски ёмкостью 2,25 Терабайт. Система весит 44 тонны кондиционеры для неё - целых 300 тонн и потребляет мощность 850 кВт. Супер-компьютеры используются для решения сложных и больших научных
задач метеорология, гидродинамика и т. п в управлении, разведке, в качестве централизованных хранилищ информации и т.д. Элементная база - микросхемы сверхвысокой степени интеграции. Портативных компьютеры Портативные компьютеры обычно нужны руководителям предприятий, менеджерам, учёным, журналистам, которым приходится работать вне офиса - дома, на презентациях или во время командировок. Основные разновидности портативных компьютеров Laptop наколенник, от lap - колено и top - поверх .
По размерам близок к обычному портфелю. По основным характеристикам быстродействие, память примерно соответствует настольным ПК. Сейчас компьютеры этого типа уступают место ещё меньшим. Notebook блокнот, записная книжка . По размерам он ближе к книге крупного формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его обычно комплектуют модемом.
Ноутбуки зачастую снабжают приводами CD-ROM. Многие современные ноутбуки включают взаимозаменяемые блоки со стандартными разъёмами. Такие модули предназначены для очень разных функций. В одно и то же гнездо можно по мере надобности вставлять привод компакт-дисков, накопитель на магнитных дисках, запасную батарею или съёмный винчестер. Ноутбук устойчив к сбоям в энергопитании. Даже если он получает энергию от обычной электросети, в случае какого-либо сбоя он мгновенно переходит
на питание от аккумуляторов. Palmtop наладонник - самые маленькие современные персональные компьютеры. Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная память. Нет и накопителей на дисках - обмен информацией с обычными компьютерами идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его постоянную память, получится персональный цифровой помощник Personal Digital Assistant . Возможности портативных компьютеров постоянно расширяются.
Например, современный карманный компьютер iPAQ 3150 располагает всем необходимым для ведения списка задач, хранения записок, включая аудиофайлы, работы с календарем, чтения электронной почты, синхронизации с РС, мобильным телефоном. Помимо этого iPAQ позволяет проигрывать видео и звуковые ролики, бродить по Интернету, просматривать и редактировать документы и электронные таблицы, хранить файлы, искать в них слова, просматривать картинки вести домашнюю бухгалтерию, играть в игры, читать электронные книги
с помощью Microsoft Reader, полноценно работать с программным обеспечением. 4. Что такое компьютер. Компьютер англ. computer - вычислитель представляет собой программируемое электронное устройство, способное обрабатывать данные и производить вычисления, а также выполнять другие задачи манипулирования символами. Существует два основных класса компьютеров цифровые компьютеры, обрабатывающие данные в виде двоичных кодов аналоговые компьютеры, обрабатывающие непрерывно меняющиеся физические
величины электрическое напряжение, время и т.д которые являются аналогами вычисляемых величин. Поскольку в настоящее время подавляющее большинство компьютеров являются цифровыми, далее будем рассматривать только этот класс компьютеров и слово компьютер употреблять в значении цифровой компьютер . Основу компьютеров образует аппаратура HardWare , построенная, в основном, с использованием электронных и электромеханических элементов и устройств. Принцип действия компьютеров состоит в выполнении программ
SoftWare - заранее заданных, четко определённых последовательностей арифметических, логических и других операций. Любая компьютерная программа представляет собой последовательность отдельных команд. Команда - это описание операции, которую должен выполнить компьютер. Как правило, у команды есть свой код условное обозначение , исходные данные операнды и результат. Например, у команды сложить два числа операндами являются слагаемые, а результатом - их сумма.
А у команды стоп операндов нет, а результатом является прекращение работы программы. Результат команды вырабатывается по точно определенным для данной команды правилам, заложенным в конструкцию компьютера. Совокупность команд, выполняемых данным компьютером, называется системой команд этого компьютера. Компьютеры работают с очень высокой скоростью, составляющей миллионы - сотни миллионов операций в секунду. 5. Устройство компьютера? Разнообразие современных компьютеров очень велико.
Но их структуры основаны на общих логических принципах, позволяющих выделить в любом компьютере следующие главные устройства память запоминающее устройство, ЗУ , состоящую из перенумерованных ячеек процессор, включающий в себя устройство управления УУ и арифметико-логическое устройство АЛУ устройство ввода устройство вывода. Эти устройства соединены каналами связи, по которым передается информация.
Основные устройства компьютера и связи между ними представлены на схеме. Жирными стрелками показаны пути и направления движения информации, а простыми стрелками - пути и направления передачи управляющих сигналов. Общая схема компьютера Функции памяти приём информации из других устройств запоминание информации выдача информации по запросу в другие устройства машины. Функции процессора обработка данных по заданной программе путем выполнения
арифметических и логических операций программное управление работой устройств компьютера. Та часть процессора, которая выполняет команды, называется арифметико-логическим устройством АЛУ , а другая его часть, выполняющая функции управления устройствами, называется устройством управления УУ . Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены. В составе процессора имеется ряд специализированных дополнительных ячеек памяти, называемых регистрами.
Регистр выполняет функцию кратковременного хранения числа или команды. Над содержимым некоторых регистров специальные электронные схемы могут выполнять некоторые манипуляции. Например, вырезать отдельные части команды для последующего их использования или выполнять определенные арифметические операции над числами. Основным элементом регистра является электронная схема, называемая триггером, которая способна хранить одну двоичную цифру разряд двоичного кода .
Логическая схема триггера описана в разделе 5.7. Регистр представляет собой совокупность триггеров, связанных друг с другом определённым образом общей системой управления. Существует несколько типов регистров, отличающихся видом выполняемых операций. Некоторые важные регистры имеют свои названия, например сумматор - регистр АЛУ, участвующий в выполнении каждой операции счетчик команд - регистр
УУ, содержимое которого соответствует адресу очередной выполняемой команды служит для автоматической выборки программы из последовательных ячеек памяти регистр команд - регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные - для хранения кодов адресов операндов. 6. Принципы построения компьютеров? В основу построения подавляющего большинства компьютеров
положены следующие общие принципы, сформулированные в 1945 г. американским ученым Джоном фон Нейманом. 1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности. Выборка программы из памяти осуществляется с помощью счетчика команд. Этот регистр процессора последовательно увеличивает хранимый в нем адрес очередной
команды на длину команды. А так как команды программы расположены в памяти друг за другом, то тем самым организуется выборка цепочки команд из последовательно расположенных ячеек памяти. Если же нужно после выполнения команды перейти не к следующей, а к какой-то другой, используются команды условного или безусловного переходов, которые заносят в счетчик команд номер ячейки памяти, содержащей следующую команду. Выборка команд из памяти прекращается после достижения и выполнения команды стоп
. Таким образом, процессор исполняет программу автоматически, без вмешательства человека. 2. Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти - число, текст или команда. Над командами можно выполнять такие же действия, как и над данными. Это открывает целый ряд возможностей. Например, программа в процессе своего выполнения также может
подвергаться переработке, что позволяет задавать в самой программе правила получения некоторых ее частей так в программе организуется выполнение циклов и подпрограмм . Более того, команды одной программы могут быть получены как результаты исполнения другой программы. На этом принципе основаны методы трансляции - перевода текста программы с языка программирования высокого уровня на язык конкретной машины. 3. Принцип адресности.
Структурно основная память состоит из перенумерованных ячеек процессору в произвольный момент времени доступна любая ячейка. Отсюда следует возможность давать имена областям памяти, так, чтобы к запомненным в них значениям можно было впоследствии обращаться или менять их в процессе выполнения программ с использованием присвоенных имен. Компьютеры, построенные на этих принципах, относятся к типу фон-неймановских. Но существуют компьютеры, принципиально отличающиеся от фон-неймановских.
Для них, например, может не выполняться принцип программного управления, т.е. они могут работать без счетчика команд , указывающего текущую выполняемую команду программы. Для обращения к какой-либо переменной, хранящейся в памяти, этим компьютерам не обязательно давать ей имя. Такие компьютеры называются не-фон-неймановскими. 7. Что такое команда? Команда - это описание элементарной операции, которую должен выполнить компьютер.
В общем случае, команда содержит следующую информацию код выполняемой операции указания по определению операндов или их адресов указания по размещению получаемого результата. В зависимости от количества операндов, команды бывают одноадресные двухадресные трехадресные переменноадресные. Команды хранятся в ячейках памяти в двоичном коде. В современных компьютерах длина команд переменная обычно от двух до четырех байтов , а способы указания
адресов переменных весьма разнообразные. В адресной части команды может быть указан, например сам операнд число или символ адрес операнда номер байта, начиная с которого расположен операнд адрес адреса операнда номер байта, начиная с которого расположен адрес операнда , и др. Рассмотрим несколько возможных вариантов команды сложения англ. add - сложение , при этом вместо цифровых кодов и адресов будем пользоваться условными обозначениями одноадресная команда add x содержимое ячейки
x сложить с содержимым сумматора, а результат оставить в сумматоре add x двухадресная команда add x, y сложить содержимое ячеек x и y, а результат поместить в ячейку y add x y трехадресная команда add x, y, z содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z 8. Как выполняется команда? Выполнение команды можно проследить по схеме Общая схема компьютера Как пpавило, этот процесс разбивается на следующие этапы из ячейки памяти, адрес
которой хранится в счетчике команд, выбирается очередная команда содержимое счетчика команд при этом увеличивается на длину команды выбранная команда передается в устройство управления на регистр команд устройство управления расшифровывает адресное поле команды по сигналам УУ операнды считываются из памяти и записываются в АЛУ на специальные регистры операндов УУ расшифровывает код операции и выдает в
АЛУ сигнал выполнить соответствующую операцию над данными результат операции либо остается в процессоре, либо отправляется в память, если в команде был указан адрес результата все предыдущие этапы повторяются до достижения команды стоп . 9. Что такое архитектура и структура компьютера? При рассмотрении компьютерных устройств принято различать их архитектуру и структуру. Архитектурой компьютера называется его описание на некотором общем уровне, включающее описание пользовательских
возможностей программирования, системы команд, системы адресации, организации памяти и т.д. Архитектура определяет принципы действия, информационные связи и взаимное соединение основных логических узлов компьютера процессора, оперативного ЗУ, внешних ЗУ и периферийных устройств. Общность архитектуры разных компьютеров обеспечивает их совместимость с точки зрения пользователя. Структура компьютера - это совокупность его функциональных элементов и связей
между ними. Элементами могут быть самые различные устройства - от основных логических узлов компьютера до простейших схем. Структура компьютера графически представляется в виде структурных схем, с помощью которых можно дать описание компьютера на любом уровне детализации. Наиболее распространены следующие архитектурные решения. Классическая архитектура архитектура фон Неймана - одно арифметико-логическое устройство
АЛУ , через которое проходит поток данных, и одно устройство управления УУ , через которое проходит поток команд - программа Это однопроцессорный компьютер. К этому типу архитектуры относится и архитектура персонального компьютера с общей шиной. Все функциональные блоки здесь связаны между собой общей шиной, называемой также системной магистралью. Физически магистраль представляет собой многопроводную линию с гнездами для подключения
электронных схем. Совокупность проводов магистрали разделяется на отдельные группы шину адреса, шину данных и шину управления. Периферийные устройства принтер и др. подключаются к аппаратуре компьютера через специальные контроллеры - устройства управления периферийными устройствами. Контроллер - устройство, которое связывает периферийное оборудование или каналы связи с центральным процессором, освобождая процессор от непосредственного управления функционированием данного оборудования.
Многопроцессорная архитектура. Наличие в компьютере нескольких процессоров означает, что параллельно может быть организовано много потоков данных и много потоков команд. Таким образом, параллельно могут выполняться несколько фрагментов одной задачи. Многомашинная вычислительная система. Здесь несколько процессоров, входящих в вычислительную систему, не имеют общей оперативной памяти, а имеют каждый свою локальную .
Каждый компьютер в многомашинной системе имеет классическую архитектуру, и такая система применяется достаточно широко. Однако эффект от применения такой вычислительной системы может быть получен только при решении задач, имеющих очень специальную структуру она должна разбиваться на столько слабо связанных подзадач, сколько компьютеров в системе. Преимущество в быстродействии многопроцессорных и многомашинных вычислительных систем перед однопроцессорными очевидно.
Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе - то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных. В современных машинах часто присутствуют элементы различных типов архитектурных
решений. Существуют и такие архитектурные решения, которые радикально отличаются от рассмотренных выше. 10. Что такое центральный процессор? Центральный процессор CPU, от англ. Central Processing Unit - это основной рабочий компонент компьютера, который выполняет арифметические и логические операции, заданные программой, управляет вычислительным процессом и координирует работу всех устройств компьютера. Центральный процессор в общем случае содержит в себе арифметико-логическое
устройство шины данных и шины адресов регистры счетчики команд кэш - очень быструю память малого объема от 8 до 512 Кбайт математический сопроцессор чисел с плавающей точкой. Современные процессоры выполняются в виде микропроцессоров. Физически микропроцессор представляет собой интегральную схему - тонкую пластинку кристаллического кремния прямоугольной формы площадью всего несколько квадратных миллиметров, на которой размещены схемы,
реализующие все функции процессора. Кристалл-пластинка обычно помещается в пластмассовый или керамический плоский корпус и соединяется золотыми проводками с металлическими штырьками, чтобы его можно было присоединить к системной плате компьютера. Микропроцессор Intel Pentium 4 - наиболее совершенный и мощный процессор выпуска 2001 г. с тактовой частотой до 2 Гигагерц, представлен на рисунке 2.5 примерно в натуральную величину.
Он предназначен для работы приложений, требующих высокой производительности процессора, таких, как передача видео и звука по Интернет, создание видео-материалов, распознавание речи, обработка трехмерной графики, игры. В вычислительной системе может быть несколько параллельно работающих процессоров такие системы называются многопроцессорными. 11. Как устроена память? Память компьютера построена из двоичных запоминающих элементов - битов, объединенных в группы по 8
битов, которые называются байтами. Единицы измерения памяти совпадают с единицами измерения информации . Все байты пронумерованы. Номер байта называется его адресом. Байты могут объединяться в ячейки, которые называются также словами. Для каждого компьютера характерна определенная длина слова - два, четыре или восемь байтов. Это не исключает использования ячеек памяти другой длины например, полуслово, двойное слово .
Как правило, в одном машинном слове может быть представлено либо одно целое число, либо одна команда. Однако, допускаются переменные форматы представления информации. Разбиение памяти на слова для четырехбайтовых компьютеров представлено в таблице Байт 0 Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7 ПОЛУСЛОВО ПОЛУСЛОВО ПОЛУСЛОВО ПОЛУСЛОВО СЛОВО СЛОВО
ДВОЙНОЕ СЛОВО Широко используются и более крупные производные единицы объема памяти Килобайт, Мегабайт, Гигабайт, а также, в последнее время, Терабайт и Петабайт. Современные компьютеры имеют много разнообразных запоминающих устройств, которые сильно отличаются между собой по назначению, временным характеристикам, объёму хранимой информации и стоимости хранения одинакового объёма информации. Различают два основных вида памяти - внутреннюю и
внешнюю. 12. Какие устройства образуют внутреннюю память? В состав внутренней памяти входят оперативная память, кэш-память и специальная память. Оперативная память Оперативная память ОЗУ, англ. RAM, Random Access Memory - память с произвольным доступом - это быстрое запоминающее устройство не очень большого объёма, непосредственно связанное с процессором и предназначенное для записи, считывания и
хранения выполняемых программ и данных, обрабатываемых этими программами. Оперативная память используется только для временного хранения данных и программ, так как, когда машина выключается, все, что находилось в ОЗУ, пропадает. Доступ к элементам оперативной памяти прямой - это означает, что каждый байт памяти имеет свой индивидуальный адрес. Объем ОЗУ обычно составляет от 32 до 512 Мбайт.
Для несложных административных задач бывает достаточно и 32 Мбайт ОЗУ, но сложные задачи компьютерного дизайна могут потребовать от 512 Мбайт до 2 Гбайт ОЗУ. Обычно ОЗУ исполняется из интегральных микросхем памяти SDRAM синхронное динамическое ОЗУ . Каждый информационный бит в SDRAM запоминается в виде электрического заряда крохотного конденсатора, образованного в структуре полупроводникового
кристалла. Из-за токов утечки такие конденсаторы быстро разряжаются, и их периодически примерно каждые 2 миллисекунды подзаряжают специальные устройства. Этот процесс называется регенерацией памяти Refresh Memory . Микросхемы SDRAM имеют ёмкость 16 - 256 Мбит и более. Они устанавливаются в корпуса и собираются в модули памяти. Большинство современных компьютеров комплектуются модулями типа
DIMM Dual-In-line Memory Module - модуль памяти с двухрядным расположением микросхем . В компьютерных системах на самых современных процессорах используются высокоскоростные модули Rambus DRAM RIMM и DDR DRAM. Модули памяти характеризуются такими параметрами, как объем - 16, 32, 64, 128, 256 или 512 Мбайт , число микросхем, паспортная частота 100 или 133 МГц , время доступа к данным 6 или 7 наносекунд и число контактов 72, 168 или 184 .
В 2001 г. начинается выпуск модулей памяти на 1 Гбайт и опытных образцов модулей на 2 Гбайта. Кэш-память Кэш англ. cache , или сверхоперативная память - очень быстрое ЗУ небольшого объёма, которое используется при обмене данными между микропроцессором и оперативной памятью для компенсации разницы в скорости обработки информации процессором и несколько менее быстродействующей оперативной памятью. Кэш-памятью управляет специальное устройство - контроллер, который, анализируя
выполняемую программу, пытается предвидеть, какие данные и команды вероятнее всего понадобятся в ближайшее время процессору, и подкачивает их в кэш-память. При этом возможны как попадания , так и промахи . В случае попадания, то есть, если в кэш подкачаны нужные данные, извлечение их из памяти происходит без задержки. Если же требуемая информация в кэше отсутствует, то процессор считывает её непосредственно из оперативной памяти. Соотношение числа попаданий и промахов определяет эффективность кэширования.
Кэш-память реализуется на микросхемах статической памяти SRAM Static RAM , более быстродействующих, дорогих и малоёмких, чем DRAM SDRAM . Современные микропроцессоры имеют встроенную кэш-память, так называемый кэш первого уровня размером 8, 16 или 32 Кбайт. Кроме того, на системной плате компьютера может быть установлен кэш второго уровня ёмкостью 256, 512 Кбайт и выше. Специальная память
К устройствам специальной памяти относятся постоянная память ROM , перепрограммируемая постоянная память Flash Memory , память CMOS RAM, питаемая от батарейки, видеопамять и некоторые другие виды памяти. Постоянная память ПЗУ, англ. ROM, Read Only Memory - память только для чтения - энергонезависимая память, используется для хранения данных, которые никогда не потребуют изменения.
Содержание памяти специальным образом зашивается в устройстве при его изготовлении для постоянного хранения. Из ПЗУ можно только читать. Перепрограммируемая постоянная память Flash Memory - энергонезависимая память, допускающая многократную перезапись своего содержимого с дискеты. Прежде всего в постоянную память записывают программу управления работой самого процессора. В ПЗУ находятся программы управления дисплеем, клавиатурой, принтером, внешней памятью, программы запуска
и остановки компьютера, тестирования устройств. Важнейшая микросхема постоянной или Flash-памяти - модуль BIOS. Роль BIOS двоякая с одной стороны это неотъемлемый элемент аппаратуры, а с другой строны - важный модуль любой операционной системы. BIOS Basic Input Output System - базовая система ввода-вывода - совокупность программ, предназначенных для автоматического тестирования устройств после включения питания компьютера и загрузки операционной
системы в оперативную память. Разновидность постоянного ЗУ - CMOS RAM. CMOS RAM - это память с невысоким быстродействием и минимальным энергопотреблением от батарейки. Используется для хранения информации о конфигурации и составе оборудования компьютера, а также о режимах его работы. Содержимое CMOS изменяется специальной программой Setup, находящейся в BIOS англ. Set-up - устанавливать, читается сетап .
Для хранения графической информации используется видеопамять. Видеопамять VRAM - разновидность оперативного ЗУ, в котором хранятся закодированные изображения. Это ЗУ организовано так, что его содержимое доступно сразу двум устройствам - процессору и дисплею. Поэтому изображение на экране меняется одновременно с обновлением видеоданных в памяти. 12. Как устроен компьютер? Персональным компьютером
ПК называют сравнительно недорогой универсальный микрокомпьютер, рассчитанный на одного пользователя. Персональные компьютеры обычно проектируются на основе принципа открытой архитектуры. Принцип открытой архитектуры заключается в следующем Регламентируются и стандартизируются только описание принципа действия компьютера и его конфигурация определенная совокупность аппаратных средств и соединений между ними .
Таким образом, компьютер можно собирать из отдельных узлов и деталей, разработанных и изготовленных независимыми фирмами-изготовителями. Компьютер легко расширяется и модернизируется за счёт наличия внутренних расширительных гнёзд, в которые пользователь может вставлять разнообразные устройства, удовлетворяющие заданному стандарту, и тем самым устанавливать конфигурацию своей машины в соответствии со своими личными предпочтениями. Упрощённая блок-схема, отражающая основные функциональные компоненты компьютерной системы
в их взаимосвязи, изображена на рисунке 2.26. Для того, чтобы соединить друг с другом различные устройства компьютера, они должны иметь одинаковый интерфейс англ. interface от inter - между, и face - лицо . Интерфейс - это средство сопряжения двух устройств, в котором все физические и логические параметры согласуются между собой. Если интерфейс является общепринятым, например, утверждённым на уровне международных соглашений, то он называется стандартным. Каждый из функциональных элементов память, монитор или другое
устройство связан с шиной определённого типа - адресной, управляющей или шиной данных. Для согласования интерфейсов периферийные устройства подключаются к шине не напрямую, а через свои контроллеры адаптеры и порты примерно по такой схеме Контроллеры и адаптеры представляют собой наборы электронных цепей, которыми снабжаются устройства компьютера с целью совместимости их интерфейсов. Контроллеры, кроме этого, осуществляют непосредственное управление
периферийными устройствами по запросам микропроцессора. Порты устройств представляют собой некие электронные схемы, содержащие один или несколько регистров ввода-вывода и позволяющие подключать периферийные устройства компьютера к внешним шинам микропроцессора. Портами также называют устройства стандартного интерфейса последовательный, параллельный и игровой порты или интерфейсы . Последовательный порт обменивается данными с процессором побайтно, а с внешними
устройствами - побитно. Параллельный порт получает и посылает данные побайтно. К последовательному порту обычно подсоединяют медленно действующие или достаточно удалённые устройства, такие, как мышь и модем. К параллельному порту подсоединяют более быстрые устройства - принтер и сканер. Через игровой порт подсоединяется джойстик. Клавиатура и монитор подключаются к своим специализированным портам, которые представляют собой просто разъёмы.
Основные электронные компоненты, определяющие архитектуру процессора, размещаются на основной плате компьютера, которая называется системной или материнской MotherBoard . А контроллеры и адаптеры дополнительных устройств, либо сами эти устройства, выполняются в виде плат расширения DаughterBoard - дочерняя плата и подключаются к шине с помощью разъёмов расширения, называемых также слотами расширения англ. slot - щель, паз .
13. Накопители на гибких магнитных дисках Гибкий диск англ. floppy disk , или лискета носитель небольшого объема информации, представляющий собой гибкий пластиковый диск в защитной оболочке. Используется для переноса данных с одного компьютера на другой и для распространения программного обеспечения. Дискета состоит из круглой полимерной подложки, покрытой с обеих сторон магнитным окислом и помещенной в пластиковую упаковку, на внутреннюю поверхность которой нанесено очищающее покрытие.
В упаковке сделаны с двух сторон радиальные прорези, через которые головки считывания записи накопителя получают доступ к диску. Способ записи двоичной информации на магнитной среде называется магнитным кодированием. Он заключается в том, что магнитные домены в среде выстраиваются вдоль дорожек в направлении приложенного магнитного поля своими северными и южными полюсами. Обычно устанавливается однозначное соответствие между двоичной информацией и ориентацией магнитных
доменов. Информация записывается по концентрическим дорожкам трекам , которые делятся на секторы. Количество дорожек и секторов зависит от типа и формата дискеты. Сектор хранит минимальную порцию информации, которая может быть записана на диск или считана. Ёмкость сектора постоянна и составляет 512 байтов. Рис. 2.7. Поверхность магнитного диска В настоящее время наибольшее распространение получили дискеты
со следующими характеристиками диаметр 3,5 дюйма 89 мм , ёмкость 1,44 Мбайт, число дорожек 80, количество секторов на дорожках 18. Дискета устанавливается в накопитель на гибких магнитных дисках англ. floppy-disk drive , автоматически в нем фиксируется, после чего механизм накопителя раскручивается до частоты вращения 360 мин-1. В накопителе вращается сама дискета, магнитные головки остаются неподвижными.
Дискета вращается только при обращении к ней. Накопитель связан с процессором через контроллер гибких дисков. В последнее время появились трехдюймовые дискеты, которые могут хранить до 3 Гбайт информации. Они изготовливаются по новой технологии Nano2 и требуют специального оборудования для чтения и записи. 14. Накопители на жестких магнитных дисках Если гибкие диски - это средство переноса данных между компьютерами,
то жесткий диск - информационный склад компьютера. Накопитель на жёстких магнитных дисках англ. HDD - Hard Disk Drive или винчестерский накопитель - это наиболее массовое запоминающее устройство большой ёмкости, в котором носителями информации являются круглые алюминиевые пластины - платтеры, обе поверхности которых покрыты слоем магнитного материала. Используется для постоянного хранения информации - программ
и данных. Как и у дискеты, рабочие поверхности платтеров разделены на кольцевые концентрические дорожки, а дорожки - на секторы. Головки считывания-записи вместе с их несущей конструкцией и дисками заключены в герметически закрытый корпус, называемый модулем данных. При установке модуля данных на дисковод он автоматически соединяется с системой, подкачивающей очищенный охлажденный воздух. Поверхность платтера имеет магнитное покрытие толщиной всего лишь в 1,1 мкм, а также
слой смазки для предохранения головки от повреждения при опускании и подъёме на ходу. При вращении платтера над ним образуется воздушный слой, который обеспечивает воздушную подушку для зависания головки на высоте 0,5 мкм над поверхностью диска. Винчестерские накопители имеют очень большую ёмкость от 10 до 100 Гбайт. У современных моделей скорость вращения шпинделя вращающего вала обычно составляет 7200 об мин,
среднее время поиска данных 9 мс, средняя скорость передачи данных до 60 Мбайт с. В отличие от дискеты, жесткий диск вращается непрерывно. Все современные накопители снабжаются встроенным кэшем обычно 2 Мбайта , который существенно повышает их производительность. Винчестерский накопитель связан с процессором через контроллер жесткого диска.
15 Накопители на компакт-дисках Здесь носителем информации является CD-ROM Сompact Disk Read-Only Memory - компакт диск, из которого можно только читать . CD-ROM представляет собой прозрачный полимерный диск диаметром 12 см и толщиной 1,2 мм, на одну сторону которого напылен светоотражающий слой алюминия, защищенный от повреждений слоем прозрачного лака. Толщина напыления составляет несколько десятитысячных долей миллиметра.
Информация на диске представляется в виде последовательности впадин углублений в диске и выступов их уровень соответствует поверхности диска , расположеных на спиральной дорожке, выходящей из области вблизи оси диска. На каждом дюйме 2,54 см по радиусу диска размещается 16 тысяч витков спиральной дорожки. Для сравнения - на поверхности жесткого диска на дюйме по радиусу помещается лишь несколько сотен дорожек. Емкость CD достигает 780 Мбайт. Информация наносится на диск при его изготовлении и не может быть изменена.
CD-ROM обладают высокой удельной информационной емкостью, что позволяет создавать на их основе справочные системы и учебные комплексы с большой иллюстративной базой. Один CD по информационной емкости равен почти 500 дискетам. Cчитывание информации с CD-ROM происходит с достаточно высокой скоростью, хотя и заметно меньшей, чем скорость работы накопителей на жестком диске. CD-ROM просты и удобны в работе, имеют низкую удельную
стоимость хранения данных, практически не изнашиваются, не могут быть поражены вирусами, c них невозможно случайно стереть информацию. В отличие от магнитных дисков, компакт-диски имеют не множество кольцевых дорожек, а одну - спиральную, как у грампластинок. В связи с этим, угловая скорость вращения диска не постоянна. Она линейно уменьшается в процессе продвижения читающей лазерной головки к краю диска.
Для работы с CD-ROM нужно подключить к компьютеру накопитель CD-ROM рис. 2.9 , преобразующий последовательность углублений и выступов на поверхности CD-ROM в последовательность двоичных сигналов. Для этого используется считывающая головка с микролазером и светодиодом. Глубина впадин на поверхности диска равна четверти длины волны лазерного света. Если в двух последовательных тактах считывания информации луч света лазерной головки переходит с выступа
на дно впадины или обратно, разность длин путей света в этих тактах меняется на полуволну, что вызывает усиление или ослабление совместно попадающих на светодиод прямого и отраженного от диска света. Если в последовательных тактах считывания длина пути света не меняется, то и состояние светодиода не меняется. В результате ток через светодиод образует последовательность двоичных электрических сигналов, соответствующих сочетанию впадин и выступов на дорожке.
Различная длина оптического пути луча света в двух последовательных тактах считывания информации соответствует двоичным единицам. Одинаковая длина соответствует двоичным нулям. Сегодня почти все персональные компьютеры имеют накопитель CD-ROM. Но многие мультимедийные интерактивные программы слишком велики, чтобы поместиться на одном CD. На смену технологии СD-ROM стремительно идет технология цифровых видеодисков
DVD. Эти диски имеют тот же размер, что и обычные CD, но вмещают до 17 Гбайт данных, т.е. по объему заменяют 20 стандартных дисков CD-ROM. На таких дисках выпускаются мультимедийные игры и интерактивные видеофильмы отличного качества, позволяющие зрителю просматривать эпизоды под разными углами камеры, выбирать различные варианты окончания картины, знакомиться с биографиями снявшихся актеров, наслаждаться великолепным качеством звука.
15. Записывающие оптические и магнитооптические накопители Записывающий накопитель CD-R Compact Disk Recordable способен, наряду с прочтением обычных компакт-дисков, записывать информацию на специальные оптические диски емкостью 650 Мбайт. В дисках CD-R отражающий слой выполнен из золотой пленки. Между этим слоем и поликарбонатной основой расположен регистрирующий слой из органического материала,
темнеющего при нагревании. В процессе записи лазерный луч нагревает выбранные точки слоя, которые темнеют и перестают пропускать свет к отражающему слою, образуя участки, аналогичные впадинам. Накопители CD-R, благодаря сильному удешевлению, приобретают все большее распространение. Накопитель на магнито-оптических компакт-дисках СD-MO Compact Disk - Magneto Optical рис. 2.10 . Диски
СD-MO можно многократно использовать для записи. Ёмкость от 128 Мбайт до 2,6 Гбайт. Записывающий накопитель CD-R Compact Disk Recordable способен, наряду с прочтением обычных компакт-дисков, записывать информацию на специальные оптические диски. Ёмкость 650 Мбайт. Накопитель WARM Write And Read Many times , позволяет производить многократную запись и считывание.
16. Информация Термин информация происходит от латинского слова informatio , что означает сведения, разъяснения, изложение. Несмотря на широкое распространение этого термина, понятие информации является одним из самых дискуссионных в науке. В настоящее время наука пытается найти общие свойства и закономерности, присущие многогранному понятию информация, но пока это понятие во многом остается интуитивным и получает различные смысловые наполнения в различных отраслях человеческой деятельности в обиходе информацией
называют любые данные или сведения, которые кого-либо интересуют. Например, сообщение о каких-либо событиях, о чьей-либо деятельности и т.п. Информировать в этом смысле означает сообщить нечто, неизвестное раньше в технике под информацией понимают сообщения, передаваемые в форме знаков или сигналов в кибернетике под информацией понимает ту часть знаний, которая используется для ориентирования, активного действия, управления, т.е. в целях сохранения,
совершенствования, развития системы Н. Винер . Клод Шеннон, американский учёный, заложивший основы теории информации - науки, изучающей процессы, связанные с передачей, приёмом, преобразованием и хранением информации рассматривает информацию как снятую неопределенность наших знаний о чем-то. Приведем еще несколько определений Информация - это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии,
которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний Н.В. Макарова Информация - это отрицание энтропии Леон Бриллюэн Информация - это мера сложности структур Моль Информация - это отраженное разнообразие Урсул Информация - это содержание процесса отражения Тузов Информация - это вероятность выбора Яглом . Современное научное представление об информации очень
точно сформулировал Норберт Винер, отец кибернетики. А именно Информация - это обозначение содержания, полученного из внешнего мира в процессе нашего приспособления к нему и приспособления к нему наших чувств. Люди обмениваются информацией в форме сообщений. Сообщение - это форма представления информации в виде речи, текстов, жестов, взглядов, изображений, цифровых данных, графиков, таблиц и т.п. Одно и то же информационное сообщение статья в газете, объявление,
письмо, телеграмма, справка, рассказ, чертёж, радиопередача и т.п. может содержать разное количество информации для разных людей - в зависимости от их предшествующих знаний, от уровня понимания этого сообщения и интереса к нему. Так, сообщение, составленное на японском языке, не несёт никакой новой информации человеку, не знающему этого языка, но может быть высокоинформативным для человека, владеющего японским. Никакой новой информации не содержит и сообщение, изложенное на знакомом языке, если его содержание
непонятно или уже известно. Информация есть характеристика не сообщения, а соотношения между сообщением и его потребителем. Без наличия потребителя, хотя бы потенциального, говорить об информации бессмысленно. В случаях, когда говорят об автоматизированной работе с информацией посредством каких-либо технических устройств, обычно в первую очередь интересуются не содержанием сообщения, а тем, сколько символов это сообщение содержит. Применительно к компьютерной обработке данных под информацией понимают некоторую
последовательность символических обозначений букв, цифр, закодированных графических образов и звуков и т.п несущую смысловую нагрузку и представленную в понятном компьютеру виде. Каждый новый символ в такой последовательности символов увеличивает информационный объём сообщения. 17. Виды существования информации Информация может существовать в виде текстов, рисунков, чертежей, фотографий световых или звуковых сигналов радиоволн электрических и нервных импульсов магнитных записей
жестов и мимики запахов и вкусовых ощущений хромосом, посредством которых передаются по наследству признаки и свойства организмов и т.д. Предметы, процессы, явления материального или нематериального свойства, рассматриваемые с точки зрения их информационных свойств, называются информационными объектами. Информация передаётся в форме сообщений от некоторого источника информации к её приёмнику посредством канала связи между ними. Источник посылает передаваемое сообщение, которое кодируется в передаваемый
сигнал. Этот сигнал посылается по каналу связи. В результате в приёмнике появляется принимаемый сигнал, который декодируется и становится принимаемым сообщением. канал связи ИСТОЧНИК ПРИЁМНИК Примеры 1. Cообщение, содержащее информацию о прогнозе погоды, передаётся приёмнику телезрителю от источника - специалиста-метеоролога посредством канала связи - телевизионной передающей аппаратуры и телевизора. 2. Живое существо своими органами чувств глаз, ухо, кожа, язык и т.д. воспринимает
информацию из внешнего мира, перерабатывает её в определенную последовательность нервных импульсов, передает импульсы по нервным волокнам, хранит в памяти в виде состояния нейронных структур мозга, воспроизводит в виде звуковых сигналов, движений и т.п использует в процессе своей жизнедеятельности. Передача информации по каналам связи часто сопровождается воздействием помех, вызывающих искажение и потерю информации. 18. Количество информации Какое количество информации содержится, к примеру, в
тексте романа Война и мир , во фресках Рафаэля или в генетическом коде человека? Ответа на эти вопросы наука не даёт и, по всей вероятности, даст не скоро. А возможно ли объективно измерить количество информации? Важнейшим результатом теории информации является следующий вывод В определенных, весьма широких условиях можно пренебречь качественными особенностями информации, выразить
её количество числом, а также сравнить количество информации, содержащейся в различных группах данных. В настоящее время получили распространение подходы к определению понятия количество информации , основанные на том, что информацию, содержащуюся в сообщении, можно нестрого трактовать в смысле её новизны или, иначе, уменьшения неопределённости наших знаний об объекте. Эти подходы используют математические понятия вероятности и логарифма.
Если вы еще не знакомы с этими понятиями, то можете пока Американский инженер Р. Хартли в 1928 г. процесс получения информации рассматривал как выбор одного сообщения из конечного наперёд заданного множества из N равновероятных сообщений, а количество информации I, содержащееся в выбранном сообщении, определял как двоичный логарифм
N. Формула Хартли I log2N Допустим, нужно угадать одно число из набора чисел от единицы до ста. По формуле Хартли можно вычислить, какое количество информации для этого требуется I log2100 6,644. Таким образом, сообщение о верно угаданном числе содержит количество информации, приблизительно равное 6,644 единицы информации. Приведем другие примеры равновероятных сообщений 1. при бросании монеты выпала решка , выпал орел 2. на странице книги количество букв чётное , количество букв нечётное .
Определим теперь, являются ли равновероятными сообщения первой выйдет из дверей здания женщина и первым выйдет из дверей здания мужчина . Однозначно ответить на этот вопрос нельзя. Все зависит от того, о каком именно здании идет речь. Если это, например, станция метро, то вероятность выйти из дверей первым одинакова для мужчины и женщины, а если это военная казарма, то для мужчины эта вероятность значительно выше, чем для женщины.
Для задач такого рода американский учёный Клод Шеннон предложил в 1948 г. другую формулу определения количества информации, учитывающую возможную неодинаковую вероятность сообщений в наборе. Формула Шеннона I - p1log2 p1 p2 log2 p2 pN log2 pN , где pi - вероятность того, что именно i-е сообщение выделено в наборе из N сообщений. Если вероятности p1 pN равны, то каждая из них равна 1 N, и формула Шеннона превращается в формулу Хартли.
Помимо двух рассмотренных подходов к определению количества информации, существуют и другие. Важно помнить, что любые теоретические результаты применимы лишь к определённому кругу случаев, очерченному первоначальными допущениями. В качестве единицы информации Клод Шеннон предложил принять один бит англ. bit - binary digit - двоичная цифра . Бит в теории информации - количество информации, необходимое для различения двух равновероятных сообщений
типа орел - решка , чет - нечет и т.п В вычислительной технике битом называют наименьшую порцию памяти компьютера, необходимую для хранения одного из двух знаков 0 и 1 , используемых для внутримашинного представления данных и команд. Бит - слишком мелкая единица измерения. На практике чаще применяется более крупная единица - байт, равная восьми битам. Именно восемь битов требуется для того, чтобы закодировать любой из 256 символов алфавита клавиатуры
компьютера 256 28 . Широко используются также ещё более крупные производные единицы информации 1 Килобайт Кбайт 1024 байт 210 байт, 1 Мегабайт Мбайт 1024 Кбайт 220 байт, 1 Гигабайт Гбайт 1024 Мбайт 230 байт. В последнее время в связи с увеличением объёмов обрабатываемой информации входят в употребление такие производные единицы, как 1 Терабайт Тбайт 1024 Гбайт 240 байт,
1 Петабайт Пбайт 1024 Тбайт 250 байт. За единицу информации можно было бы выбрать количество информации, необходимое для различения, например, десяти равновероятных сообщений. Это будет не двоичная бит , а десятичная дит единица информации. 19. Свойства информации Свойства информации достоверность полнота ценность своевременность понятность доступность краткость. Информация достоверна, если она отражает истинное положение дел.
Недостоверная информация может привести к неправильному пониманию или принятию неправильных решений. Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел. Информация полна, если её достаточно для понимания и принятия решений. Как неполная, так и избыточная информация сдерживает принятие решений или может повлечь ошибки.
Точность информации определяется степенью ее близости к реальному состоянию объекта, процесса, явления и т.п. Ценность информации зависит от того, насколько она важна для решения задачи, а также от того, насколько в дальнейшем она найдёт применение в каких-либо видах деятельности человека. Только своевременно полученная информация может принести ожидаемую пользу. Одинаково нежелательны как преждевременная подача информации когда она ещё не может быть усвоена ,
так и её задержка. Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной. Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена эта информация. Информация должна преподноситься в доступной по уровню восприятия форме. Поэтому одни и те же вопросы по разному излагаются в школьных учебниках и научных изданиях. Информацию по одному и тому же вопросу можно изложить кратко сжато, без несущественных деталей или
пространно подробно, многословно . Краткость информации необходима в справочниках, энциклопедиях, учебниках, всевозможных инструкциях. 20. Обработка информации Обработка информации - получение одних информационных объектов из других информационных объектов путем выполнения некоторых алгоритмов. Обработка является одной из основных операций, выполняемых над информацией, и главным средством увеличения объёма и разнообразия информации.
Средства обработки информации - это всевозможные устройства и системы, созданные человечеством, и в первую очередь, компьютер - универсальная машина для обработки информации. Компьютеры обрабатывают информацию путем выполнения некоторых алгоритмов. Живые организмы и растения обрабатывают информацию с помощью своих органов и систем. Информационные ресурсы - это идеи человечества и указания по их реализации, накопленные в форме, позволяющей
их воспроизводство. Это книги, статьи, патенты, диссертации, научно-исследовательская и опытно-конструкторская документация, технические переводы, данные о передовом производственном опыте и др. Информационные ресурсы в отличие от всех других видов ресурсов - трудовых, энергетических, минеральных и т.д. тем быстрее растут, чем больше их расходуют. Информационная технология - это совокупность методов и устройств, используемых людьми для обработки
информации. Человечество занималось обработкой информации тысячи лет. Первые информационные технологии основывались на использовании счётов и письменности. Около пятидесяти лет назад началось исключительно быстрое развитие этих технологий, что в первую очередь связано с появлением компьютеров. В настоящее время термин информационная технология употребляется в связи с использованием компьютеров для обработки информации.
Информационные технологии охватывают всю вычислительную технику и технику связи и, отчасти бытовую электронику, телевидение и радиовещание. Они находят применение в промышленности, торговле, управлении, банковской системе, образовании, здравоохранении, медицине и науке, транспорте и связи, сельском хозяйстве, системе социального обеспечения, служат подспорьем людям различных профессий и домохозяйкам. Народы развитых стран осознают, что совершенствование информационных технологий представляетсамую важную,
хотя дорогостоящую и трудную задачу. В настоящее время создание крупномасштабных информационно-технологических систем является экономически возможным, и это обусловливает появление национальных исследовательских и образовательных программ, призванных стимулировать их разработку. 21. Информация и формы ее представления С понятием информации связаны такие понятия, как сигнал, сообщение и данные. Сигнал от латинского signum - знак представляет собой любой процесс, несущий информацию.
Сообщение - это информация, представленная в определенной форме и предназначенная для передачи. Данные - это информация, представленная в формализованном виде и предназначенная для обработки ее техническими средствами, например, ЭВМ. Различают две формы представления информации - непрерывную и дискретную. Так как носителями информации являются сигналы, то в качестве их могут использоваться физические процессы различной природы. Например, процесс протекания электрического тока в цепи, процесс механического перемещения
тела, процесс распространения света и т. д. Информация представляется отражается значением одного или нескольких параметров физического процесса сигнала , либо комбинацией нескольких параметров. Сигнал называется непрерывным, если его параметр в заданных пределах может принимать любые промежуточные значения. Сигнал называется дискретным, если его параметр в заданных пределах может принимать отдельные фиксированные значения. Следует различать непрерывность или дискретность сигнала по уровню и во времени.
На рисунке 1 в виде графиков изображены а непрерывный по уровню и во времени сигнал Хнн 6 дискретный по уровню и непрерывный во времени сигнал Хдн в непрерывный по уровню и дискретный во времени сигнал Хнд г дискретный по уровню и во времени сигнал Хдд. Все многообразие окружающей нас информации можно сгруппировать по различным признакам, т. е. классифицировать
по видам. Например, в зависимости от области возникновения информацию, отражающую процессы и явления неодушевленной природы, называют элементарной, процессы животного и растительного мира - биологической, человеческого общества - социальной. По способу передачи и восприятия различают следующие виды информации визуальную - передаваемую видимыми образами и символами, аудиальную - звуками, тактильную - ощущениями, органолептическую - запахами и вкусом, машинную - выдаваемую и воспринимаемую средствами вычислительной
техники, и т. д. 22. Представление информации в компьютере Для обработки на компьютере любая информация изображение, звук, показания датчиков должна быть представлена в числовой форме. Существуют различные способы для перевода аналоговой информации в цифровую форму. Например, чтобы представить в цифровой форме музыку, можно через малые промежутки времени измерять интенсивность звука на определенных частотах, сохраняя результат каждого такого измерения в числовой
форме. Компьютер с помощью может выполнить преобразования полученной информации. Например, возможно скомпоновать звуки от разных источников, а полученный результат преобразовать обратно в звуковую форму. а б в г Рис.1 Традиционно информация об объектах и явлениях окружающего мира представляется в форме слов и их последовательностей. Основной элемент в этой форме - слово. Слово - имя объекта, действия, свойства и т.п с помощью которого выделяется именуемое понятие в устной
речи или в письменной форме. Слова строятся из букв определенного алфавита например, А, Б Я . Кроме букв используются специальные символы - знаки препинания, математические символы , знак интеграла, знак суммы и т.п. Все разнообразие используемых символов образует алфавит, на основе которого строятся самые разные объекты из цифр - числа из букв - слова, из цифр, букв и математических символов - формулы и т.д. И все эти объекты несут в себе информацию числа - информацию о значениях слова - информацию
об именах и свойствах объектов формулы - информацию о зависимостях между величинами и т.д. Эта информация имеет дискретную природу и представляется в виде последовательности символов. О такой информации говорят как об особом виде дискретной информации и называют этот вид символьной информацией. Наличие разных систем письменности, в том числе таких, как иероглифическое письмо, доказывает, что одна и та же информация может быть представлена на основе самых разных наборов символов и самых
разных правил использования символов при построении слов, фраз, текстов. Из этого утверждения можно сделать следующий вывод Разные алфавиты обладают одинаковой изобразительной возможностью , т.е. с помощью одного алфавита можно представить всю информацию, которую удалось представить на основе другого алфавита. Можно, ограничиться алфавитом из десяти цифр - 0, 1 9 и с использованием только этих символов записать
текст любой книги или партитуру музыкального произведения. При этом сужение алфавита до десяти символов не привело бы к каким-либо потерям информации. Более того, можно использовать алфавит только из двух символов, например, символов 0 и 1. И его изобразительная возможность будет такой же. Итак, символьная информация может представляться с использованием самых различных алфавитов наборов символов без искажения содержания и смысла информации
при необходимости можно изменять форму представления информации - вместо общепринятого алфавита использовать какой-либо другой, искусственный алфавит, например, двухбуквенный. Форма представления информации, отличная от естественной, общепринятой, называется кодом. Коды широко используются в нашей жизни почтовые индексы, телеграфный код Морзе и др. Широко применяются коды и в ЭВМ и в аппаратуре передачи данных.
Так, например, широко известно понятие программирование в кодах . Кроме рассмотренных существуют и другие формы представления дискретной информации. Например, чертежи и схемы содержат в себе графическую информацию. 22. Системы счисления. Позиционные системы счисления. Формула целого числа Уже на заре цивилизации вставали перед людьми проблемы счета, задачи, требующие
точного и быстрого выполнения вычислений. Умение хорошо считать ценилось очень высоко и всегда рассматривалось как важное дело. В развитии техники вычислений можно выделить два этапа - первый этап охватывает время, когда человек мыслил в качестве вычислителя только себя. В этот период люди еще не могли представить себе, что вычисления можно поручать не человеку. Человек сам ставил задачи и выполнял все требуемые вычисления, сам осуществлял контроль за их правильностью.
Постепенно люди изобрели немало приспособлений, помогающих вести вычисления. От простейшего вида счет - суан-пана в Китае, сурабана в Японии, абака в древней Греции и русских счет до первых механических счетных машин француза Блеза Паскаля 1623 - 1662 , арифмометра нашего великого соотечественника Пафнутия Львовича Чебышева 1821 - 1894 и гениального, но, к сожалению, не воплощенного проекта, самодействующей
Аналитической машины англичанина Чарльза Бэббеджа 1792 - 1871 , таков первый период в истории развития методов и средств вычислений. Следует еще раз подчеркнуть, что такие приспособления только помогали вести счет, управление процессом вычислений осуществлял человек. Второй этап в истории счета протекает на наших глазах, мы являемся современниками того, как люди сумели научить машину самостоятельно вести сложные расчеты по заданной ей программе над
введенными в нее и получаемыми в ходе вычислений данными. Электронные, программно-управляемые вычислительные машины считают быстрее и точнее человека. Чтобы научить их этому, математикам пришлось глубоко проанализировать все используемые методы и приемы вычислений, пересмотреть и изобрести новые. Выяснилось, например, что машинам удобнее считать не в десятичной, а в двоичной системе счисления, а действия умножения и деления целесообразно сводить к сложению и вычитанию.
Мы привыкли вести счет предметов, группируя их в десятки . Десять единиц образуют десяток , десять десятков - сотню и т. д. Наша система счисления называется десятичной. Но пересчитывание можно вести не только десятками. Существуют и другие, недесятичные системы счисления. Прежде всего, что же такое система счисления ? Системой счисления называется способ наименования и
записи чисел с помощью знаков цифр . Любое число может быть представлено в виде последовательности знаков цифр в данной системе счисления. Существуют позиционные и непозиционные системы счисления. В позиционных системах счисления значение любой цифры числа определяется не только самой цифрой, но и позицией - местом, которое эта цифра занимает в числе. Номер позиции, считая справа налево определяющий значение цифры, называется разрядом числа.
Примером позиционной системы счисления может служить десятичная система. Так, в числе 323 первая справа цифра 3 разряд единиц обозначает три , вторая цифра 2 разряд десятков - два десятка, третья разряд сотен - три сотни. В непозиционных системах счисления значение цифры не зависит от ее позиции. Общеизвестным примером непозиционной системы счисления является римская система счисления. Так, в числе МСХХХП 1132 значение цифры
Х не изменяется и равно десяти. Развитие кибернетики потребовало в 50-х годах нашего столетия внимательного изучения особенностей десятичной системы счисления, являвшейся общепринятой в быту, в производственной и научной практике людей, и сравнения ее с другими позиционными системами счисления. В десятичной позиционной системе счисления в каждой единице следующего разряда содержится десять единиц предыдущего разряда. Отношение значений соседних разрядов называется основанием позиционной системы
счисления - q. Следовательно, основание десятичной системы счисления есть десять, т.е. q 10. Чтобы различать в какой системе счисления записано число, будем указывать индексом внизу справа основание системы счисления 10 q 10 - десятичная, 3 q 3 - троичная, 8 q 8 - восьмеричная и т. д. Например, число 2768записано в восьмеричной системе, число 3245записано в пятеричной системе. Рассмотрим, как именуются числа в различных системах счисления.
В десятичной системе счисления используются следующие наименования для чисел и их разрядов единица, десяток, сотня, тысяча, миллион, миллиард. В двенадцатеричной системе счисления также существуют особые названия для некоторых разрядов чисел единица, дюжина единица второго разряда , гросс единица третьего разряда , фут единица четвертого разряда . Каждый следующий разряд в 12 раз больше предшествующего. Например, число 276512читается так два фута, 7 гроссов,
6 дюжин и 5 единиц. Однако, в большинстве систем счисления, с которыми имеют дело в кибернетике, специальных названий для чисел и их разрядов не имеется. Мы условимся произносить наименование числа, называя подряд его цифры и основание системы счисления. Примеры 1. 23114 - читается два три один один в системе с основанием четыре. 2. 16328 - читается один шесть три два в системе с основанием восемь. 3. l00112 - читается один нуль нуль один один в системе с основанием два.
В позиционных системах счисления для записи любого числа может быть использовано только строго определенное количество введенных цифр. В десятичной позиционной системе таких цифр десять 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Если основание позиционной системы счисления равно q, то для записи любых целых и дробных чисел в этой системе счисления достаточно q цифр, включая нуль. Если q ? 10, то мы условимся использовать уже известные нам первые q цифр, применяемых в десятичной
системе счисления, а именно 0, 1, 2 q - 2, q - 1 Если q 10, то в качестве цифр будем использовать все без исключения цифры десятичной системы и необходимое количество новых цифр. О том, какие значки будут использоваться в качестве дополнительных цифр, следует условиться специально. Например, для обозначения цифр десять , одиннадцать , двенадцать и т. д. мы будем применять буквы латинского алфавита А, В, С, D, Е, F X, Y, Z так, что l010 A 1110
B 1210 С и т.д. Если основание системы счисления q 16, то используются цифры 0, 1, 2 9, А, В F и возможны такие записи чисел 2AF816, С0В616, E6F3A916. Система счисления с основанием q 16 широко используется в вычислительной технике. В десятичной системе счисления нуль и девять натуральных чисел обозначаются цифрами 0, 1, 2, 3, 4, 5,6, 7, 8, 9, а любое натуральное N 9 может быть представлено в виде многочлена
N10 an-110n-1 an-2 10n-2 a1 101 a0100, где аi ? А 0, 1, 2 9 , i 0, 1, 1, 5, ,n - 1.Это же число N10 сокращенно обозначается строкой, являющейся последовательностью подряд выписанных цифр an-1an-2 a1a0 Следовательно, можно записать an-1an-2 a1a0 an-1 an-1 an-2 10n-2 a1 101 a0100 Например, число четыреста двадцать пять представляется так 42510 400 20 5 4 102 2 101 5 100 Запись любого целого числа в позиционной системе счисления с основанием q означает представление этого
числа в виде многочлена, расположенного по убывающим степеням буквы q с различными коэффициентами, меньшими q. Эти коэффициенты и являются цифрами в записи числа. Например, 12023 1 33 2 32 0 31 2 30 625437 6 74 2 73 5 72 4 71 3 70 2315 2 52 3 51 1 50 Если выполнить все указанные действия в правых частях рассмотренных выше равенств, то получим те же числа, но записанные уже в десятичной системе счисления 12023 4710 625437 1536810 2315 6610.
Покажем, что 6610 2315 При пересчитывании шестидесяти шести предметов путем группирования их в пятки , образовалось 13 пятков и один предмет не вошел в пяток . Затем, при группировании уже пятков также сгруппированных по пять образовалось две группы из пяти пятков и три пятка остались, т. е. при пересчитывании 66 предметов удалось образовать две группы по 25 предметов по 52 , три группы по 5 предметов по 51 один предмет остался 50 .
Иначе говоря 6610 2 52 3 51 1 50 2315 Таким образом, число 2315 записанное в системе с основанием пять обозначает такое же количество предметов, что и число 6610 записанное в десятичной системе счисления . Следовательно, в равенстве 23l5 2 52 3 51 1 50 правая и левая части выражают результаты пересчитывания предметов. Левую часть условимся называть цифровой формой числа, а правую - многочленной формой числа. 23. Арифметика целых чисел в позиционных системах счисления
Если основание системы счисления q, то мы будем говорить q-ичная арифметика . Рассмотрим сложение и умножение чисел в любой из q-ичных арифметик. осуществляется по правилам сложения и умножения многоразрядных десятичных чисел с обязательным учетом таблиц сложения и умножения цифр в данной системе. Таблицы сложения и умножения в десятичной арифметике мы помним наизусть, в других же арифметиках мы будем предварительно составлять таблицы.
Вот как, например, выглядят таблицы сложения в системах с основаниями q 3, q 2 и q 5 соответственно 0 1 2 0 1 0 1 2 3 4 0 0 1 2 0 0 1 0 0 1 2 3 4 1 1 2 10 1 1 11 1 1 2 3 4 10 2 2 10 11 2 2 3 4 10 11 3 3 4 10 11 12 4 4 10 11 11 13 Примеры. Прежде чем умножать в q-арифметике, следует составить таблицу умножения. Вот, например, две таблицы умножения q 3 q 4 X 0 1 2 X 0 1 2 3 0 0 0 0 0 0 0 0 0 1 0 1 2 1 0 1 2 3 2 0 2 11 2 0 2 10 12 3 0 3 12 21 Примеры 1. q 3 2. q 4 24. Алгоритм замены целых чисел одной системы счисления на равные им числа другой
с использованием схемы Горнера Часто приходится решать задачу замены целых чисел одной системы счисления на равные им числа другой п. темы счисления. Существует несколько универсальных способов алгоритмов решения этой задачи. Мы познакомимся с алгоритмом, для использования которого достаточно умения складывать и умножать в q-ичной арифметике. Пример 1. Число 231024 заменить равным ему числом системы с основанием 6 q 4, р 6 . Действуем в соответствии с алгоритмом 1.
Вычерчиваем таблицу с двумя строками и пятью столбцами. 2. В верхние клетки вписываем цифры данного числа. 3. В левую нижнюю клетку вписываем ту же цифру, что и в левой верхней клетке в данном случае 26 . 4. В клетке, слева от таблицы, записываем старое основание системы счисления. Индекс 6 , проставленный внизу у каждой цифры, должен напоминать о том, что все действия будут проводиться
в шестеричной арифметике. 26 36 16 06 26 26 q 46 5. Далее поступаем так старое основание системы q 46 умножаем на самую правую цифру в нижней строке таблицы по правилам 6-арифметики 26 46 126. 6. К полученному произведению прибавляем цифру, стоящую в следующей справа клетке верхней строки 126 36 156. Результат записываем в следующую справа нижнюю клетку. Таблица после этого будет такой 26 36 16 06 26 26 156 q 46
Рис. 1 5. Т. к. клетка, в которую вписан результат, не является самой правой в нижнем, то 156 оно теперь является самым правым числом 156 46 1136 Таблица теперь имеет вид 26 36 16 06 26 26 156 1136 q 46 Далее число 1136 умножаем на q 46 и складываем с 06. Записываем результат в предпоследнюю из нижних клеток таблицы 1136 46 06 500в. Повторяем еще раз действия в том же порядке 5006 4в 26 32026.
Получаем результат в крайней справа нижней клетке 26 36 16 06 26 26 156 1136 5006 32026 q 46 После этого можно записать 231024 32Q2, Пример 2. Число 62758 заменить равным ему числом m теме счисления с основанием 5 q 8, р 5 . Составляем таблицу с двумя строками и четырьмя столбцами 115 25 125 105 26 q 135 Все цифры данного числа и in поплине системы счисления q 8 выражены числами системы с основанием 5. Далее выполняем все действия в соответствии с алгоритмом, но правилам пятеричной арифметики и получаем 115 25 125 105 26 2006 31126 1010216
q 135 Рассмотренный выше алгоритм применим к числам, представленным В системах счисления с любыми основаниями. 25. Системы счислений, применяемые в ЭВМ 1. Система счисления - это совокупность приемов и правил, по которым числа записываются и читаются. Существуют позиционные и непозиционные системы счисления. В непозиционных системах счисления вес цифры т. е. тот вклад, который она вносит в значение числа не
зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII тридцать два вес цифры Х в любой позиции равен просто десяти. В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения позиции в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая - 7 единиц, а третья - 7 десятых долей единицы.
Сама же запись числа 757,7 означает сокращенную запись выражения 700 50 7 0,7 7 . 102 5 . 101 7 . 100 7 . 10-1 757,7. Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления - количество различных цифр, используемых для изображения чисел в данной системе счисления. За основание системы можно принять любое натуральное число - два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем двоичная, троичная, четверичная
и т.д. Запись чисел в каждой из систем счисления с основанием q означает сокращенную запись выражения an-1 qn-1 an-2 qn-2 a1 q1 a0 q0 a-1 q-1 a-m q-m, где ai - цифры системы счисления n и m - число целых и дробных разрядов, соответственно. Например В каждой системе счисления цифры упорядочены в соответствии с их значениями 1 больше 0, 2 больше 1 и т.д. Продвижением цифры называют замену её следующей по величине. Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д.
Продвижение старшей цифры например, цифры 9 в десятичной системе означает замену её на 0. В двоичной системе, использующей только две цифры - 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 - замену её на 0. Целые числа в любой системе счисления порождаются с помощью Правила счета Для образования целого числа, следующего за любым данным целым числом, нужно продвинуть
самую правую цифру числа если какая-либо цифра после продвижения стала нулем, то нужно продвинуть цифру, стоящую слева от неё. Применяя это правило, запишем первые десять целых чисел в двоичной системе 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001 в троичной системе 0, 1, 2, 10, 11, 12, 20, 21, 22, 100 в пятеричной системе 0, 1, 2, 3, 4, 10, 11, 12, 13, 14 в восьмеричной системе 0, 1, 2, 3, 4, 5, 6, 7, 10, 11. 3. Какие системы счисления используют специалисты для общения с компьютером?
Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно двоичная используются цифры 0, 1 восьмеричная используются цифры 0, 1 7 шестнадцатеричная для первых целых чисел от нуля до девяти используются цифры 0, 1 9, а для следующих чисел - от десяти до пятнадцати - в качестве цифр используются символы A, B, C, D, E, F . Полезно запомнить запись в этих системах счисления первых двух десятков целых чисел 26.
Как перевести целое число из десятичной системы в любую другую позиционную систему счисления? Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком нацело на q , записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q , и т.д пока последнее полученное неполное частное не станет равным нулю.
Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения. Пример 1 Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную Ответ 7510 1 001 0112 1138 4B16. 7. Как перевести плавильную десятичную дробь в любую другую позиционную систему счисления? Для перевода правильной десятичной дpоби
F в систему счисления с основанием q необходимо F умножить на q , записанное в той же десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д до тех пор, пока дpобная часть очередного пpоизведения не станет pавной нулю, либо не будет достигнута требуемая точность изображения числа F в q-ичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных
в порядке их получения и изображенных одной q-ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q - k 1 2. Пример 2. Переведем число 0,36 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную Для чисел, имеющих как целую, так и дробную части, перевод из десятичной системы счисления в другую
осуществляется отдельно для целой и дробной частей по правилам, указанным выше. 8. Как пеpевести число из двоичной восьмеpичной, шестнадцатеpичной системы в десятичную? Перевод в десятичную систему числа x, записанного в q-ичной cистеме счисления q 2, 8 или 16 в виде xq anan-1 a0 , a-1 a-2 a-m q сводится к вычислению значения многочлена x10 an qn an-1 qn-1 a0 q0 a-1 q -1 a-2 q-2 a-m q-m средствами десятичной арифметики.
Примеpы 27. Сложение Таблицы сложения легко составить, используя Правило Счета. Сводная таблица переводов целых чисел Таблица 4.1 28. Сложение в двоичной системе. Сложение в восьмеричной системе Сложение в двоичной системе Сложение в восьмеричной системе Сложение в шестнадцатиричной системе При сложении цифры суммируются по разрядам, и если при этом возникает
избыток, то он переносится влево. Пример 3. Сложим числа 15 и 6 в различных системах счисления. Шестнадцатеричная F16 616 Ответ 15 6 2110 101012 258 1516. Проверка. Преобразуем полученные суммы к десятичному виду 101012 24 22 20 16 4 1 21, 258 2 . 81 5 . 80 16 5 21, 1516 1 . 161 5 . 160 16 5 21. Пример 4. Сложим числа 15, 7 и 3. Шестнадцатеричная F16 716 316
Ответ 5 7 3 2510 110012 318 1916. Проверка 110012 24 23 20 16 8 1 25, 318 3 . 81 1 . 80 24 1 25, 1916 1 . 161 9 . 160 16 9 25. Пример 5. Сложим числа 141,5 и 59,75. Ответ 141,5 59,75 201,2510 11001001,012 311,28 C9,416 Проверка. Преобразуем полученные суммы к десятичному виду 11001001,012 27 26 23 20 2-2 201,25 311,28 3 . 82 181 1 . 80 2 . 8-1 201,25 C9,416 12 . 161 9 . 160 4 .
16-1 201,25 29 Вычитание Пример 6. Вычтем единицу из чисел 102, 108 и 1016 Пример 7. Вычтем единицу из чисел 1002, 1008 и 10016. Пример 8. Вычтем число 59,75 из числа 201,25. Ответ 201,2510 - 59,7510 141,510 10001101,12 215,48 8D,816. Проверка. Преобразуем полученные разности к десятичному виду 10001101,12 27 23 22 20 2-1 141,5 215,48 2 .
82 1 . 81 5 . 80 4 . 8-1 141,5 8D,816 8 . 161 D . 160 8 . 16-1 141,5. 30. Умножение Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения. Умножение в двоичной системе
Умножение в восьмеричной системе Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям. Пример 9. Перемножим числа 5 и 6. Ответ 5 . 6 3010 111102 368. Проверка. Преобразуем полученные произведения к десятичному виду 111102 24 23 22 21 30 368 381 680 30. Пример 10. Перемножим числа 115 и 51. Ответ 115 . 51 586510 10110111010012 133518.
Проверка. Преобразуем полученные произведения к десятичному виду 10110111010012 212 210 29 27 26 25 23 20 5865 133518 1 . 84 3 . 83 3 . 82 5 . 81 1 . 80 5865. 31. Деление Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей. Пример 11. Разделим число 30 на число 6.
Ответ 30 6 510 1012 58. Пример 12. Разделим число 5865 на число 115. Восьмеричная 133518 1638 Ответ 5865 115 5110 1100112 638. Проверка. Преобразуем полученные частные к десятичному виду 1100112 25 24 21 20 51 638 6 . 81 3 . 80 51. Пример 13. Разделим число 35 на число 14. Восьмеричная 438 168 Ответ 35 14 2,510 10,12 2,48.
Проверка. Преобразуем полученные частные к десятичному виду 10,12 21 2 -1 2,5 2,48 2 . 80 4 . 8-1 2,5. 32. Как представляются в компьютере целые числа? Целые числа могут представляться в компьютере со знаком или без знака. Целые числа без знака Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 02 до 12.
В двубайтовом формате - от 0 02 до 1 12. Диапазоны значений целых чисел без знака Формат числа в байтах Диапазон Запись с порядком Обычная запись 1 0 28-1 0 255 2 0 216-1 0 65535 Примеры а число 7210 10010002 в однобайтовом формате б это же число в двубайтовом формате в число 65535 в двубайтовом формате Целые числа со знаком Обычно занимают в памяти компьютера один, два или четыре байта, при этом самый левый старший разряд содержит информацию о знаке числа.
Диапазоны значений целых чисел со знаком Формат числа в байтах Диапазон Запись с порядком Обычная запись 1 -27 27-1 -128 127 2 -215 215-1 -32768 32767 4 -231 231-1 -2147483648 2147483647 33. Три формы записи кодирования целых чисел со знаком В компьютерной технике применяются три формы записи кодирования целых чисел со знаком прямой код, обратный код, дополнительный код. Последние две формы применяются особенно широко, так как позволяют упростить
конструкцию арифметико-логического устройства компьютера путем замены разнообразных арифметических операций операцией cложения. Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково - двоичными кодами с цифрой 0 в знаковом разряде. Например Отрицательные числа в прямом, обратном и дополнительном кодах имеют разное изображение. 1. Прямой код. В знаковый разряд помещается цифра 1, а в разряды цифровой части числа - двоичный код
его абсолютной величины. Например 2. Обратный код. Получается инвертированием всех цифр двоичного кода абсолютной величины числа, включая разряд знака нули заменяются единицами, а единицы - нулями. Например 2. Дополнительный код. Получается образованием обратного кода с последующим прибавлением единицы к его младшему разряду. Например 3. Обычно отрицательные десятичные числа при вводе в машину автоматически
преобразуются в обратный или дополнительный двоичный код и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе таких чисел из машины происходит обратное преобразование в отрицательные десятичные числа. 33. Как компьютер выполняет арифметические действия над целыми числами? Сложение и вычитание В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого.
Это позволяет существенно упростить конструкцию АЛУ. Сложение обратных кодов. Здесь при сложении чисел А и В имеют место четыре основных и два особых случая 1. А и В положительные. При суммировании складываются все разряды, включая разряд знака. Так как знаковые разряды положительных слагаемых равны нулю, разряд знака суммы тоже равен нулю.
Например Получен правильный результат. 2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например Получен правильный результат в обратном коде. При переводе в прямой код биты цифровой части результата инвертируются 1 0000111 -710. 4. А положительное, B отрицательное и по абсолютной величине меньше, чем
А. Например Компьютер исправляет полученный первоначально неправильный результат 6 вместо 7 переносом единицы из знакового разряда в младший разряд суммы. 5. А и В отрицательные. Например Полученный первоначально неправильный результат обратный код числа -1110 вместо обратного кода числа -1010 компьютер исправляет переносом единицы из знакового разряда в младший разряд суммы. При переводе результата в прямой код биты цифровой части числа инвертируются 1 0001010
-1010. При сложении может возникнуть ситуация, когда старшие разряды результата операции не помещаются в отведенной для него области памяти. Такая ситуация называется переполнением разрядной сетки формата числа. Для обнаружения переполнения и оповещения о возникшей ошибке в компьютере используются специальные средства. Ниже приведены два возможных случая переполнения. 6. А и В положительные, сумма А В больше, либо равна 2n-1, где n - количество разрядов формата чисел
для однобайтового формата n 8, 2n-1 27 128 . Например Семи разрядов цифровой части числового формата недостаточно для размещения восьмиразрядной суммы 16210 101000102 , поэтому старший разряд суммы оказывается в знаковом разряде. Это вызывает несовпадение знака суммы и знаков слагаемых, что является свидетельством переполнения разрядной сетки. 7. А и В отрицательные, сумма абсолютных величин
А и В больше, либо равна 2n-1. Например 8. Здесь знак суммы тоже не совпадает со знаками слагаемых, что свидетельствует о переполнении разрядной сетки. 34. Сложение дополнительных кодов. Здесь также имеют место рассмотренные выше шесть случаев 1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода. 2. А положительное, B отрицательное и по абсолютной величине больше, чем
А. Например Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица 1 0000110 1 1 0000111 -710. 3. А положительное, B отрицательное и по абсолютной величине меньше, чем А. Например Получен правильный результат. Единицу переноса из знакового разряда компьютер отбрасывает.
4. А и В отрицательные. Например Получен правильный результат в дополнительном коде. Единицу переноса из знакового разряда компьютер отбрасывает. Случаи переполнения для дополнительных кодов рассматриваются по аналогии со случаями 5 и 6 для обратных кодов. Сравнение рассмотренных форм кодирования целых чисел со знаком показывает на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код,
так как последнее состоит из двух шагов - образования обратного кода и прибавления единицы к его младшему разряду время выполнения сложения для дополнительных кодов чисел меньше, чем для их обратных кодов, потому что в таком сложении нет переноса единицы из знакового разряда в младший разряд результата. Умножение и деление Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения
операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции - окончательный результат. Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения. Для иллюстрации умножим 1100112 на 1011012.
Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя. 35. Как представляются в компьютере вещественные числа? Система вещественных чисел в математических вычислениях предполагается непрерывной и бесконечной, т.е. не имеющей ограничений на диапазон и точность представления чисел.
Однако в компьютерах числа хранятся в регистрах и ячейках памяти с ограниченным количеством разрядов. В следствие этого система вещественных чисел, представимых в машине, является дискретной прерывной и конечной. При написании вещественных чисел в программах вместо привычной запятой принято ставить точку. Для отображения вещественных чисел, которые могут быть как очень маленькими, так и очень большими, используется форма записи чисел с порядком основания системы счисления.
Например, десятичное число 1.25 в этой форме можно представить так 1.25 . 100 0.125 . 101 0.0125 . 102 или так 12.5 . 10-1 125.0 . 10-2 1250.0 . 10-3 . Любое число N в системе счисления с основанием q можно записать в виде N M . qp, где M - множитель, содержащий все цифры числа мантисса , а p - целое число, называемое порядком. Такой способ записи чисел называется представлением числа с плавающей точкой.
Если плавающая точка расположена в мантиссе перед первой значащей цифрой, то при фиксированном количестве разрядов, отведённых под мантиссу, обеспечивается запись максимального количества значащих цифр числа, то есть максимальная точность представления числа в машине. Из этого следует Мантисса должна быть правильной дробью, у которой первая цифра после точки запятой в обычной записи отлична от нуля 0.12 M 1. Если это требование выполнено, то число называется нормализованным
Мантиссу и порядок q-ичного числа принято записывать в системе с основанием q, а само основание - в десятичной системе. Примеры нормализованного представления Десятичная система Двоичная система 753.15 0.75315 . 103 -101.01 -0.10101 . 211 порядок 112 310 - 0.000034 - 0.34 . 10-4 0.000011 0.11 . 2-100 порядок -1002 -410 .
Вещественные числа в компьютерах различных типов записываются по-разному, тем не менее, все компьютеры поддерживают несколько международных стандартных форматов, различающихся по точности, но имеющих одинаковую структуру следующего вида Здесь порядок n-разрядного нормализованного числа задается в так называемой смещенной форме если для задания порядка выделено k разрядов, то к истинному значению порядка, представленного в дополнительном коде, прибавляют смещение, равное 2k-1 -
1 . Например, порядок, принимающий значения в диапазоне от -128 до 127, представляется смещенным порядком, значения которого меняются от 0 до 255. Использование смещенной формы позволяет производить операции над порядками, как над беззнаковыми числами, что упрощает операции сравнения, сложения и вычитания порядков, а также упрощает операцию сравнения самих нормализованных чисел. Чем больше разрядов отводится под запись мантиссы, тем выше точность представления числа.
Чем больше разрядов занимает порядок, тем шире диапазон от наименьшего отличного от нуля числа до наибольшего числа, представимого в машине при заданном формате. 36. Стандартные форматы представления вещественных чисел 1 одинарный - 32-разрядное нормализованное число со знаком, 8-разрядным смещенным порядком и 24-разрядной мантиссой старший бит мантиссы, всегда равный 1, не хранится в памяти, и размер поля, выделенного для хранения
мантиссы, составляет только 23 разряда . 2 двойной - 64-разрядное нормализованное число со знаком, 11-разрядным смещенным порядком и 53-разрядной мантиссой старший бит мантиссы не хранится, размер поля, выделенного для хранения мантиссы, составляет 52 разряда . 3 расширенный - 80-разрядное число со знаком, 15-разрядным смещенным порядком и 64-разрядной мантиссой. Позволяет хранить ненормализованные числа. Следует отметить, что вещественный формат с m-разрядной
мантиссой позволяет абсолютно точно представлять m-разрядные целые числа, т. е. любое двоичное целое число, содержащее не более m разрядов, может быть без искажений преобразовано в вещественный формат. 37. Как компьютер выполняет арифметические действия над нормализованными числами? К началу выполнения арифметического действия операнды операции помещаются в соответствующие регистры АЛУ. Сложение и вычитание При сложении и вычитании сначала производится подготовительная операция, называемая
выравниванием порядков. В процессе выравнивания порядков мантисса числа с меньшим порядком сдвигается в своем регистре вправо на количество разрядов, равное разности порядков операндов. После каждого сдвига порядок увеличивается на единицу. В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего мантиссы складываются или вычитаются.
В случае необходимости полученный результат нормализуется путем сдвига мантиссы результата влево. После каждого сдвига влево порядок результата уменьшается на единицу. Пример 14. Сложить двоичные нормализованные числа 0.10111 . 2-1 и 0.11011 . 210. Разность порядков слагаемых здесь равна трем, поэтому перед сложением мантисса первого числа сдвигается на три разряда вправо Пример 2.
Выполнить вычитание двоичных нормализованных чисел 0.10101 . 210 и 0.11101 . 21. Разность порядков уменьшаемого и вычитаемого здесь равна единице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два разряда с соответствующим уменьшением порядка на две единицы 0.1101 . 20. 38.
Понятие алгоритма Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения - точного предписания, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату. Алгоритм - предписание, однозначно задающее процесс преобразования исходной информации в виде последовательности элементарных дискретных шагов, приводящих за конечное число их применений к результату.
Алгоритмами, например, являются правила сложения, умножения, решения алгебраических уравнений, умножения матриц и т.п. Слово алгоритм происходит от algoritmi, являющегося латинской транслитерацией арабского имени хорезмийского математика IX века аль-Хорезми. Благодаря латинскому переводу трактата аль-Хорезми европейцы в XII веке познакомились с позиционной системой счисления, и в средневековой
Европе алгоритмом называлась десятичная позиционная система счисления и правила счета в ней. Алгоритм - это точная инструкция, а инструкции встречаются практически во всех областях человеческой деятельности. Возможны алгоритмы проведения физического эксперимента, сборки шкафа или телевизора, обработки детали. Однако не всякая инструкция есть алгоритм. Инструкция становится алгоритмом только тогда, когда она удовлетворяет определенным требованиям.
Эти требования частично сформулированы в определении, хотя упомянутые в определении понятия однозначности и элементарности сами нуждаются в уточнении. Алгоритм однозначен, если при применении к одним и тем же данным он даст один и тот же результат. Но как по описанию алгоритма определить, однозначен он или нет. В каком случае шаги считаются элементарными. Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности возможных
исходных данных и направленный на получение определенных этими исходными данными результатов. Термин вычислительный процесс распространяется и на обработку других видов информации, например, символьной, графической или звуковой 39. Свойства алгоритма Если вычислительный процесс заканчивается получением результатов, то говорят, что соответствующий алгоритм применим к рассматриваемой совокупности исходных данных. В противном случае говорят, что алгоритм неприменим к совокупности исходных данных.
Любой применимый алгоритм обладает следующими основными свойствами дискретностью определенностью результативностью массовостью. Дискретность - последовательное выполнение простых или ранее определённых подпрограммы шагов. Преобразование исходных данных в результат осуществляется дискретно во времени. Определенность состоит в совпадении получаемых результатов независимо от пользователя и применяемых технических средств однозначность толкования инструкций .
Результативность означает возможность получения результата после выполнения конечного количества операций. Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных разработка в общем виде . Для задания алгоритма необходимо описать следующие его элементы набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов правило начала правило непосредственной
переработки информации описание последовательности действий правило окончания правило извлечения результатов. Алгоритм всегда рассчитан на конкретного исполнителя. В нашем случае таким исполнителем является ЭВМ. Для обеспечения возможности реализации на ЭВМ алгоритм должен быть описан на языке, понятном компьютеру, то есть на языке программирования. Понятия алгоритма и программы разграничены не очень чётко.
Обычно программой называют окончательный вариант алгоритма решения задачи, ориентированный на конкретного пользователя. Таким образом, можно дать следующее определение программы для ЭВМ Программа - это описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения. 40. Способы описания алгоритмов К основным способам описания алгоритмов можно отнести следующие словесно-формульный на естественном
языке структурный или блок-схемный с использованием специальных алгоритмических языков с помощью граф-схем граф - совокупность точек и линий, в которой каждая линия соединяет две точки. Точки называются вершинами, линии - рёбрами с помощью сетей Петри. Перед составлением программ чаще всего используются словесно-формульный и блок-схемный способы. Иногда перед составлением программ на низкоуровневых языках программирования типа языка
Ассемблера алгоритм программы записывают, пользуясь конструкциями некоторого высокоуровнего языка программирования. Удобно использовать программное описание алгоритмов функционирования сложных программных систем. Так, для описания принципов функционирования ОС использовался Алголо-подобный высокоуровневый язык программирования. Словесно-формульный способ. При словесно-формульном способе алгоритм записывается в виде текста с формулами
по пунктам, определяющим последовательность действий. Пусть, например, необходимо найти значение следующего выражения у 2а- х 6 . Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде 1.Ввести значения а и х. 2.Сложить х и 6. 3.Умножить а на 2. 4.Вычесть из 2а сумму х 6 . 5.Вывести у как результат вычисления выражения. Блок-схемы.
При блок-схемном описании алгоритм изображается геометрическими фигурами блоками , связанными по управлению линиями направлениями потока со стрелками. В блоках записывается последовательность действий. Данный способ по сравнению с другими способами записи алгоритма имеет ряд преимуществ. Он наиболее нагляден каждая операция вычислительного процесса изображается отдельной геометрической фигурой. Кроме того, графическое изображение алгоритма наглядно показывает разветвления путей решения
задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали. Оформление программ должно соответствовать определенным требованиям. В настоящее время действует единая система программной документации ЕСПД , которая устанавливает правила разработки, оформления программ и программной документации. В ЕСПД определены и правила оформления блок-схем алгоритмов
ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД . Операции обработки данных и носители информации изображаются на схеме соответствующимиблоками. Большая часть блоков по построению условно вписана в прямоугольник со сторонами а и b. Минимальное значение а равно 10 мм, увеличение а производится на число, кратное 5 мм. Размер b 1,5 мм. Для отдельных блоков допускается соотношение между а и b, равное 1 2. В пределах одной схемы рекомендуется изображать блоки одинаковых размеров.
Все блоки нумеруются. Виды и назначение основных блоков приведены в таблице. Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока кроме логического может выходить только одна линия.
Логический блок может иметь в качестве продолжения одни из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить. Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки. Если при обрыве линии продолжение схемы находится на этом же листе, то на
одном и другом конце линии изображается специальный символ соединитель - окружность диаметром 0,5 мм. Внутри парных окружностей указывается один и тот же идентификатор. В качестве идентификатора, как правило, используется порядковый номер блока, к которому направлена соединительная линия. Если схема занимает более одного листа, то в случае разрыва линии вместо окружности используется межстраничный соединитель. Внутри каждого соединителя указывается адрес - откуда и куда
направлена соединительная линия. Адрес записывается в две строки в первой указывается номер листа, во второй - порядковый номер блока. Блок-схема должна содержать все разветвления, циклы и обращения к подпрограммам, содержащиеся в программе. 41. Условные обозначения блоков схем алгоритмов Наименование 0бозначенне Функции Процесс Выполнение операции или группы операции, в результате которых изменяется значение, форма представления или расположение данных.
Ввод-вывод Преобразование данных в форму, пригодную для обработки ввод или отображения результатов обработки вывод . Решение Выбор направления выполнения алгоритма в зависимости от некоторых переменных условии. Предопределенный процесс Использование ранее созданных и отдельно написанных программ подпрограмм . Документ Вывод данных на бумажный носитель. Магнитный диск Ввод-вывод данных, носителем которых служит магнитный диск.
Пуск-останов Начало, конец, прерывание процесса обработки данных. Соединитель Указание связи между прерванными линиями, соединяющими блоки. Межстраничный соединитель Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах. Комментарий Связь между элементом схемы и пояснением. 42. Первое знакомство с языком visual basic Объект - это некая отдельная сущность, отличающаяся от
других сущностей особыми свойствами, поведением, взаимодействием с другими объектами приложения. При объектно-ориентированном подходе в программировании любое приложение представляет собой набор взаимосвязанных объектов, реализующих необходимые функциональные требования, предъявленные к приложению. Объект всегда конкретен и реально существует на форме или в приложении. Форма, кнопки, метки, текстовые поля и т.п это объекты.
Класс - это совокупность объектов, обладающих общими свойствами и поведением. Например, кнопка на форме со всеми своими конкретными свойствами и действием является объектом класса Command Button Visual Basic позволяет создавать и собственные классы, но данный вопрос не рассматривается в пособии . Класс характеризуется такими основополагающими понятиями объектно-ориентированного программирования, как наследование - объект класса обладает всеми свойствами, методами и событиями класса инкапсуляция
- сокрытие сложного механизма действия объекта полиморфизм - объекты разных классов могут использовать одноименные методы, работающие по-разному для разных объектов. Коллекция объектов - это набор объектов, объединенных общим именем, причем не обязательно это объекты одного класса. Примером коллекций могут служить встроенные в Visual Basic шесть коллекций, в числе которых Forms и
Controls Forms - множество загруженных форм приложения Controls - множество всех элементов управления в форме. Объект характеризуется такими основными понятиями, как состояние - каждый объект всегда находится в определенном состоянии, которое определяется набором свойств объекта свойство - признак, некоторое отдельное качество объекта. Совокупность свойств объекта определяет его состояние.
Например, заголовок Caption или цвет BackColor формы, способ выравнивания текста Alignment или цвет символов ForeColor текстового поля - это свойства. В программе обращение к объекту происходит по имени . Свойство Name, присвоенное объекту, и имя, используемое в программном коде при обращении к данному объекту, должны совпадать. Свойства объектов можно задавать в окне свойств
Properties и менять в процессе выполнения программы. В программном коде существует определенный формат для установки свойства имя объекта и название свойства согласно правилам точечной нотации разделяются точкой . Например, строка Form1. Caption Стихотворение вводится в программу для установки свойства Caption объекта Form1 в Стихотворение . А строка text1.
ForeColor QBColor 2 используется в программе для изменения цвета символов текстового поля text1. Событие - это средство взаимодействия объектов друг с другом. Событие может создаваться пользователем или возникать в результате воздействия других программных объектов. Объекты могут генерировать события и выполнять действия в ответ на заданные события. Примеры событий - загрузка формы Load , щелчок мышью по объекту
Click , двойной щелчок DblClick . В языке Visual Basic, как и во многих других языках, предназначенных для написания приложений под Windows, используется событийно-управляемая модель программирования. В среде Windows одновременно можно работать с несколькими приложениями. Фактически ни одно приложение не может функционировать само по себе, не взаимодействуя с другими приложениями и с операционной системой. Возьмем самый простой случай, когда одновременно выполняются два приложения.
При этом команда, заданная нажатием клавиши на клавиатуре, не может непосредственно воздействовать ни на одно из приложений, и Windows в данном случае выступает в роли арбитра. Восприняв событие, связанное с нажатием клавиши, операционная система ОС решает, куда передать обработку этого события. Затем сообщение о нажатии клавиши посылается приложению. Приложение обрабатывает его, анализируя ввод с клавиатуры, и отображает сообщение, например, в активном
текстовом поле. Приложения, созданные с помощью Visual Basic, работают по тому же принципу. При этом Visual Basic выполняет как бы внутреннюю работу. Например, когда вы в приложении щелкаете мышью по кнопке, происходит событие. Visual Basic перехватывает соответствующее сообщение Windows и вызывает событие Click объекта CommandButton.
В программах, управляемых событиями, нет сплошного программного кода, который выполняется от начала до конца. Это значит, что после запуска программы у пользователя нет и четко определенного пути. Можно в любое время щелкнуть по какой-либо кнопке в приложении или выполнить, например, ввод текста в поле, а можно при желании и прекратить обработку. Поэтому приложение вынуждено ждать, пока одно из этих событий не наступит, и только потом выполняет
заданный программный код. Для выполнения программного кода всегда необходимо событие - это одно из важнейших правил создания приложений в среде Visual Basic. Событийная процедура - это отдельный модуль, который реализует отдельный алгоритм. Для каждого события можно запрограммировать отклик, т.е. реакцию объекта на произошедшее событие, в результате будет выполнена некоторая последовательность действий - событийная процедура. В событийной процедуре может участвовать несколько объектов.
Так, в приведенном ниже примере 1 само событие происходит с одним объектом, а другой объект меняет какое-либо свойство или к нему применяется какой-либо метод. Имя событийной процедуры состоит из трех частей включая подчеркивание Имя объекта Имя события Так, в примере 1 имя событийной процедуры - Command1 Click Таким образом, каждый раз, когда вы вводите код, который должен выполняться в ответ
на событие, вы создаете событийную процедуру. Она вызывается программой автоматически при возникновении соответствующего события. Метод - это процедура, которая реализует возможные с объектом действия. В результате этих действий в объекте что-либо меняется. Visual Basic предоставляет возможность использовать большое количество встроенных процедур и функций, т.е. готовых к употреблению. Tab, Spc, Val, Str, QBColor - примеры встроенных функций.
Процедуры и функции - неотъемлемая часть любого языка программирования. Но лишь при появлении языков, поддерживающих объектно-ориентированное программирование, были введены особые типы встроенных процедур, названные методами. Методы работают как процедуры, но принадлежат конкретным объектам, так же, как и свойства. В программном коде обратиться к методу можно так же, как и к свойству с использованием точечной нотации.
Например, строка, в которой используется метод Print 43. Операторы, переменные в Visual Basic Оператор - это конструкция языка программирования, задающая одну или несколько операций, производимых над операндами. В качестве операндов могут выступать константы, переменные, выражения, функции. Любой оператор записывается в соответствии со строгими синтаксическими правилами форматами .
Например, в операторе присваивания знак читается присвоить и означает, что в ячейку памяти записывается значение, равное выражению справа от знака . Так, строка Form1. Caption Форма с картинкой означает, что в ячейку памяти с именем Forml. Caption записывается значение - текст Форма с картинкой . А строка Р А В С используется в программе для вычисления значения выражения
А В С и присваивания его переменной Р. Переменная - важная составляющая любого языка программирования она представляет собой зарезервированное место в оперативной памяти для хранения данных. Каждая переменная имеет собственное имя. После того как переменной присвоено значение, она может использоваться в программе вместо самого значения. Для вводимых в программу переменных надо описывать их тип. Для того чтобы компьютер мог выполнить написанную вами программу, эта программа и данные, с которыми
она работает, должны быть загружены в оперативную память. Но этого недостаточно. Процессор компьютера понимает команды только на машинном языке, а ваша программа написана на языке программирования, поэтому необходимо, чтобы в оперативной памяти находился транслятор. Транслятор - это программа-переводчик, автоматически переводящая программу с языка программирования на машинный язык. Трансляторы бывают двух типов интерпретаторы и компиляторы.
Интерпретатор - это программа, которая обеспечивает последовательный перевод строк программы на машинный язык и их выполнение. При каждом запуске программы на выполнение эта процедура повторяется. Достоинством интерпретаторов является удобство отладки программы, а недостатком - сравнительно малая скорость выполнения. Компилятор - это программа, которая переводит весь текст программы на машинный язык и сохраняет его в исполняемом ехе-файле. Затем этот записанный на машинном языке файл можно многократно
запускать на исполнение. Достоинством компиляторов является большая скорость выполнения программы, а недостатком - трудоемкость отладки, так как пошаговое выполнение программы невозможно. Visual Basic позволяет работать как в режиме интерпретации, так и компиляции на этапе разработки и отладки программы используется режим интерпретации, а для получения готовой исполняемой программы - режим компиляции. 44. Основные этапы разработки Windows-приложений
Процесс создания Windows-приложения в среде Visual Basic состоит из следующих восьми основных этапов. I. Содержательная постановка задачи. Это четкая формулировка задачи, выделение исходных данных для ее решения и точные указания относительно того, какие результаты и в каком виде должны быть получены. Постановка задачи должна давать ответ на следующие вопросы что дано? что требуется? какие данные допустимы?
II. Математическая постановка задачи. Выбор метода решения. На этом этапе строится математическая модель - система математических соотношений - формул, уравнений, неравенств и т.д отражающих существенные свойства объекта или явления. Необходимо отметить, что при построении математических моделей далеко не всегда удается найти формулы, явно выражающие искомые величины через данные. В таких случаях используются математические методы,
позволяющие дать ответы с той или иной степенью точности. Могут встретиться задачи, которые не допускают либо не требуют математической постановки например, задачи обработки текста и др Таким образом, данный этап не является обязательным. III. Разработка пользовательского интерфейса. Интерфейс - это внешняя оболочка приложения, позволяющая работать с информацией, хранящейся на компьютере или за его пределами, а также вводимой пользователем.
Интерфейс должен обеспечить максимальное удобство и эффективность работы с информацией, поэтому он является важнейшей частью любого приложения. Общие советы по разработке интерфейса приведены в приложении 1. IV. Программирование. На этом этапе определяют события, которые будут происходить в процессе работы приложения, составляют алгоритмы процедур для этих событий и пишут программы программные коды этих процедур. V. Отладка. Это процесс испытания работы программы и исправления обнаруженных при этом ошибок синтаксических
и логических . Синтаксические ошибки выявляются транслятором на стадии анализа текста программы указываются место ошибки и ее характер . Сложнее дело обстоит с выявлением содержательных логических ошибок. Выявить их помогает решение контрольного примера. Visual Basic располагает эффективными инструментами для поиска источников ошибок. VI. Анализ результатов. На этом этапе уже разработанная программа применяется для получения искомых
результатов производится анализ результатов решения задачи и в случае необходимости - уточнение математической модели с последующей корректировкой алгоритма и программы . VII. Компиляция. Этот термин означает превращение проекта в исполняемое приложение, способное работать самостоятельно за пределами среды проектирования этап не является обязательным . VIII. Создание инсталляционного пакета. В среде Visual
Basic следующий подход к переносу программ с компьютера на компьютер - не копировать приложение, а инсталлировать его этап выполняется при необходимости . 45. Типы данных. Объявление переменных и констант в программе Практически любая программа обрабатывает исходные данные, а после обработки выдает результаты - выходные данные. Данные могут быть постоянными величинами константами и переменными.
Постоянные величины константы - это такие величины, которые в процессе выполнения программы не изменяют своих значений. Переменные величины в процессе выполнения программы свои значения изменяют. В языке Visual Basic, как и в любом другом языке программирования, константы и переменные величины должны быть отнесены к какому-либо типу данных. Программист должен описать объявить переменные и константы, используемые в программе. Тип данных Объем занимаемой памяти, байт
Диапазон значений Суффикс Оператор объявления типа Целые типы Integer целое число 2 от -32768 до 32767 DeOnt Long длинное Целое число 4 от-2147483648 до 2147483647 DefLng Byte байт 1 от 0 до 255 - Defflyte Boolean логическая величина 2 Истина True и Ложь False - DefBool Плавающие типы Single десятичное число обычной точности 4
От 1.401298Е-45до 3.402823Е 38 по модулю ! DefSng Double десятичное число двойной точности 8 от 4.94065645841247Е-324 до 1.79769313486232Е 308 DefDbl Строковые типы String строка символов 1 байт на каждый символ - DefStr Объектные типы Object ссылка на объект 4 DefObj Variant-типы по умолчанию Variant числовые типы 16 DefVar Variant строковые типы 22 байта длина строки
Defter Прочие типы Currency число в денежном формате 8 до 15 знаков слева от десятичной точки, до 4 знаков справа от десятичной точки DefCur Date дата 8 DefDate В языке Visual Basic используются не только стандартные типы данных, но и создаются свои. Важно понимать, как связаны тип данных и занимаемая данными память. Везде, где возможно, необходимо использовать тип данных, требующий меньший объем памяти, чтобы сэкономить
системные ресурсы. 46. Переменные в Visual Basic Переменные используются для хранения необходимых программе данных. Переменная имеет имя и значение. Имя переменной уникально и неизменно, а значение может меняться в процессе выполнения программы. Имена переменных выбираются программистом произвольно, но существуют следующие ограничения имя переменной должно начинаться с буквы, а не с цифры или другого символа остальные символы - буквы прописные и строчные буквы различаются и цифры имя не должно содержать точки, пробелы,
можно использовать знак надчеркивания длина имени не должна превышать 255 символов имя должно быть уникальным в пределах данной процедуры или модуля имя не должно быть ключевым словом Visual Basic. Примеры Нельзя использовать следующие имена переменных End это ключевое слово Visual Basic One.Day нельзя использовать точки 1Year нельзя начинать имя переменной с цифры Номер Один между символами нельзя оставлять пробелы .
Можно использовать следующие имена переменных Year100 Начальная скорость Number1 My name Лучше выбирать говорящие имена переменных, чтобы они несли в себе информацию о назначении переменной, но не слезет делать их слишком длинными. Переменные получают свои значения в период выполнения программы и сохраняют их, пока им не будет присвоено новое значение. В переменной можно хранить информацию любого типа, но разные типы переменных предназначены
для эффективной работы с различными типами информации. Любая переменная должна быть объявлена в программе. Visual Basic предлагает несколько способов объявления переменной 1 с помощью оператора определения переменной самый распространенный способ . Формат оператора определения переменной. Public Private Dim ИмяПеременной As ТипПеременной
Объявление начинается с одного из зарезервированных ключевых слов Public, Private или Dim слово сообщает Visual Basic, что вы хотите объявить переменную. Выбор конкретного зарезервированного слова зависит от того, какой вы себе представляете область видимости переменной при объявлении переменной внутри процедуры используется только слово Dim. As - ключевое слово, которое передает Visual Basic, что вы определяете тип данных для этой переменной.
В одной строке можно объявить несколько переменных, однако при этом следует обращать внимание на указание имени типа. 47. Формат оператора объявления типа. Константы Visual Basic Пример DeflntA-F, I-J, P-S Запись говорит о том, что все переменные, которые начинаются с букв от А до F, от I до J и от Р до S, имеют тип Integer. Если переменные начинаются с букв вне этих пределов, то у них по умолчанию тип
Variant. В языке Visual Basic можно, не объявляя переменную, просто использовать ее имя, как это вы делали в практической работе 1. Если вы не определяете тип данных, то по умолчанию устанавливается тип Variant. Необходимо учитывать, что переменные типа Variant занимают больше места в памяти и обращение к ним происходит несколько медленнее. Константы Visual Basic Формат объявления константы
Const ИмяКонстанты As Тип ЗначениеКонстанты Здесь ИмяКонстанты и ЗначениеКонстанты задаются так же, как имя и значение переменной. Примеры Const Text As String Изучаем Visual Basic Const N 8205 в этом примере тип константы Variant . Кроме объявляемых констант, в программе на языке Visual
Basic могут использоваться системные встроенные константы, Например, значение цвета VbRed, VbWhite и т.д. Имена этих констант - ключевые слова Visual Basic. Часто бывает разумным вместо повторяющихся строк или чисел использовать имя константы. 47. Арифметические выражения языка Visual Basic Арифметические выражения Выражения используются для операций над данными. В зависимости от данных и используемых операций выражения
можно разделить на арифметические, логические и символьные. Цель работы Изучить понятия математической логики. Логические функции и таблицы истинности. Изучив данный модуль вы будете знать простые и сложные высказывания логические операции таблицы истинности, эквивалентные высказывания преобразования склеивание и поглощение. Арифметические выражения Арифметическое выражение - это последовательность чисел, констант, переменных,
функций, которые соединены между собой знаками арифметических операций. Частным случаем выражения является просто константа, переменная или вызов функции. Арифметические операции языка Visual Basic приведены в табл. 1. Таблица 1 Операция Описание операции Пример А В Возведение А в степень В 10 2 100, 10 -2 0.01 -А Перемена знака
А - -5 5 А В Умножение А на В 3 2 6 А В Деление А на В 3 2 1.5 А В Целочисленное деление А на В 3 2 1 A Mod В Деление по модулю А на В вычисление остатка от целочисленного деления 7 Mod 4 3 А В Сложение А с В 2.36 12.5 А-В Вычитание В из А 231-49 Приоритет выполнения операций в порядке убывания возведение в степень, умножение и деление,
целочисленное деление, вычисление остатка, сложение и вычитание. Вычисления в выражении производятся слева направо. Скобки изменяют приоритет. Примеры 14 5 2 5.6 - операции одного приоритета выполняются слева направо 14 5 2 1 - умножение имеет более высокий приоритет и при целочисленном делении дробная часть отбрасывается 27 1 3 9 - возведение в степень обладает наивысшим приоритетом 27 1 3 3 - скобки изменяют последовательность
операций. 48. Встроенные функции В языке Visual Basic имеется широкий набор встроенных стандартных функций, облегчающий написание программ. Различают математические функции, функции обработки строк , функции для работы с датами и временем, финансовые. Ниже приведены математические функции Abs x - возвращает модуль аргумента Atn x - возвращает арктангенс Sin x - возвращает синус Cos x - возвращает косинус
Тап х - возвращает тангенс Ехр х - возвращает е х Log x - возвращает натуральный логарифм Sqr x - возвращает квадратный корень Rnd - возвращает случайное число в диапазоне от 0 до 1 Int x - возвращает наибольшее целое число, не превосходящее аргумент Fix x - возвращает округленное число отбрасывает дробную часть аргумента Clnt x - возвращает аргумент, округленный до целого по правилам округления математики
Sgn x - возвращает знак числа. Примеры округления чисел Int 7.32 7 Fix -7.32 -7 CInt 5.5 6 Int -7.32 -8 CInt -7.5 -7 Значения аргументов в тригонометрических функциях задаются в радианах. Для перевода аргумента из градусов в радианы используется формула Аргумент в радианах Аргумент в градусах Пи 180 Число
Пи может быть определено по формуле Пи Atn 1 4 Полные сведения о встроенных функциях и правилах их применения можно найти в справочной системе Visual Basic. 49. Окно и функция InputBox Вы уже знакомы с объектом, который дает возможность пользователю вводить информацию. Это текстовое поле. Другой способ ввода информации - использовать функцию InputBox. Эта функция вызывает окно InputBox рис. 3 .
Рисунок 3 Окно InputBox состоит из четырех элементов строки заголовка title приглашения к вводу prompt поля ввода со значением, предлагаемым по умолчанию default двух кнопок ОК и Саnсеl . Формат функции InputBox Р InputBox Приглашение .Заголовок .Значение по умолчанию ,Х ,Y , где Р - возвращаемое значение функции X и Y - координаты левого верхнего угла окна. Все необязательные параметры указаны в квадратных скобках.
При щелчке пользователем по кнопке ОК функция InputBox возвращает строку, введенную пользователем, а при щелчке по кнопке Сапсе1 возвращается пустая строка. 50. Окно MsgBox Для вывода различных сообщений в среде Visual Basic имеется окно MsgBox. Оно является модальным по отношению к приложению. Это означает, что с приложением невозможно продолжать работать, пока окно сообщения не будет закрыто.
Вид окна сообщения может быть различным, но в его состав всегда входят текст сообщения prompt , заголовок title , пиктограмма и набор кнопок. Формат оператора MsgBox ТекстСообщения .Константа .Заголовок где Константа - одна целая константа или несколько констант , определяющая, какие кнопки комбинации кнопок и пиктограммы будут отображаться в окне сообщения. Необязательные параметры приведены в квадратных скобках.
Параметр Константа определяет внешний вид окна MsgBox. Значение параметра формируется из значений нескольких частей, которые можно складывать Button, Icon, Default, Modal, Extras. Для категории Button, Icon, Default и Modal можно использовать только одну из допустимых констант, для категории Extras допускается применение комбинации значений.
В табл. 3 приведены константы окна MsgBox. Таблица 3 Константа Значение Описание Категория Button VbOkOnly 0 Только кнопка ОК VbOkCancel 1 Кнопки ОК и Отмена VbAbortRetrylgnore 2 Кнопки Стоп , Повторить , Пропустить VbYesNoCancel 3 Кнопки Да , Нет и Отмена VbYesNo 4 Кнопки Да и Нет
VbRetryCancel 5 Кнопки Повторить и Отмена Категория Icon VbCritical 16 Отображает пиктограмму Critical Message VbQuestion 32 Отображает пиктограмму Warning Query Vb Exclamation 48 Отображает пиктограмму Warning Message Vblnformation 64 Отображает пиктограмму Information
Message Категория Default VbDefaultButtonl 0 По умолчанию активна первая кнопка VbDefaultButton2 256 По умолчанию активна вторая кнопка VbDefaultButton3 512 По умолчанию активна третья кнопка VbDefaultButton4 768 По умолчанию активна четвертая кнопка Категория Modal VbApplicationModal 0 Модальное диалоговое окно приложения
VbSystemModal 4096 Модальное диалоговое окно системы Категория Extras VbMsgBoxHelpButton 16384 Дополнительная кнопка для справки VbMsgBoxSetForeground 65536 Отображение диалогового окна в фоновом режиме VbMsgBoxRight 524288 Текст выровнен по правому краю VbMsgBoxRtReading 1048576 Текст отображается справа налево еврейский, арабский 51.
Функция MsgBox Если вам необходимо не только что-либо сообщить пользователю, но и получить информацию о том, какое решение принял пользователь, можно применить функцию MsgBox. Эта функция не только отображает окно сообщения, но еще и возвращает некоторое значение ответ пользователя о том, какое он принял решение . Формат функции MsgBox ВозвращаемоеЗначение MsgBox ТекстСообщения ,
Константа .Заголовок Здесь ВозвращаемоеЗначение позволяет определить, какую кнопку нажал пользователь. В табл. 4 содержатся значения, возвращаемые функцией MsgBox. Категория Default кнопка активная по умолчанию должна определяться таким образом, чтобы при случайном нажатии клавиши Enter действия, реализуемые по умолчанию в процедуре обработки щелчком по кнопке по умолчанию, не могли нанести большого вреда.
Например, не следует в окне с вопросом Удалить все внесенные изменения? Да Нет назначать кнопку Да активной по умолчанию. Таблица 4 Константа Значение Нажата кнопка VbOk 1 ОК VbCancel 2 Отмена VbAbort 3 Стоп Прервать VbRetry 4 Повторить Vblgnore 5 Пропустить VbYes 6 Да VbNo 7 Нет 52.
Условия выбора Условия выбора представляются в форме условных логических выражений. Условное логическое выражение - это либо простое, либо сложное условие. Условное выражение может принимать одно из двух значений True Истина или False Ложь . Простое условие - это два арифметических выражения, между которыми помещается знак операции отношения. Список операций отношения приведен в табл.
1. Таблица 1 Операция Тип данных числовой символьный меньше предшествует меньше или равно предшествует или совпадает равно совпадает не равно отличается больше или равно следует за или совпадает больше следует за Сложное условие в отличие от простого условия содержит логические операции Not, And, Or и др. Список основных логических операций приведен в табл. 2. Операнд 1 Операнд2 Логические операции Not Отрицание
And M Or ИЛИ False - True True - False False False False False True False False True False True False True True True True True Пример 1 Условные выражения, построенные с помощью операций отношения BETA ALPHA - выражение принимает значение False 7 3 4 - выражение принимает значение True. Пример 2 Используя логические операции, можно описать, например, принадлежность точки с координатой
X указанному интервалу 7, 12 . На языке математики это условие записывается в виде 7 Х 12, а в языке Visual Basic X 7 And X 12 или Not Х 7 Or X 12 Установлен следующий приоритет по убыванию выполнения логических операций и операций отношения Not, And, Or, Логическое значение может быть присвоено только переменной, имеющей тип Boolean. Такая переменная может иметь одно из двух значений
True или False. Пример 3 Dim Flag As Boolean Flag True В языке Visual Basic есть два основных типа операторов выбора If и Select Case. 53. Условный оператор If Условный оператор If позволяет проверить некоторое условие. В зависимости от результата проверки выполняется одно действие или другое. Условный оператор применяется в алгоритмах с ветвлением.
Формат однострочной записи условного оператора If If УсловноеВыражение Then Оператор1 Else Оператор2 где УсловноеВыражение - любое логическое выражение. Пример 4 Краткая форма записи оператора IfA BThenA 2 A В примере проверяется условие А В. Если условие выполняется, то значение переменной
А удваивается Пример 5 Полная форма записи оператора If A В Then A 2 A Else В В 2 If A В Then В В 2 Else А 2 А Оба кода выполняют одни и те же действия, и не имеет значения, какой из них выбрать. В данном примере при условии, что А В, значение переменной А удваивается, в случае если А В, удваивается значение переменной
В. Пример 6 Проверить, соответствует ли значение переменной True, можно одним из двух способов IfFlag TrueThen или If Flag Then Проверить, присвоено ли переменной значение False, можно следующими способами IfFlag FalseThen или If Not Flag Then Формат многострочной записи оператора
If If УсловноеВыражение Then ПоследовательностьОператоров1 Else ПоследовательностьОператоров2 End If Пример 7 Краткая форма записи оператора If ПравильныйОтвет Тrue Then Rezult True lblОтвет. Тех1 Молодец! Ответ верный End If В данном примере, если значение переменной ПравильныйОтвет
Тгuе, то переменной Rezult присваивается значение True и в метку lblОтвет помещается текст Молодец! Ответ верный Пример 8 Полная форма записи оператора If img1.Visible True Then If img1 .Visible False Then lblОтвет. Сарtion Моло- lblОтвет. Caption Неверно, дец! Ответ верный попробуй еще раз img1.Visible False Else img2.Visible True lblОтвет. Сарtion Моло-
Else дец! Ответ верный lblОтвет. Сарtion Неверно, imgl.Visible False попробуй еще раз img2.Visible Tru End If End If Оба кода выполняют одни и те же действия, и не имеет значения, какой из них выбран. В данном примере проверяется, виден ли объект img1. Если виден, то в метке lblОтвет пишется текст Молодец!
Ответ верный , объект img1 делается невидимым, объект img2 видимым, в противном случае в метке lblОтвет пишется текст Неверно, попробуй еще раз . Между строками If Then и Else, а также Else и End If можно ввести любое количество операторов. Считается хорошим тоном выделять структуру операторов отступами, как это сделано в приведенных выше примерах. Это сделает ваши программы читабельными , в них будет легче разобраться.
55. Вложенные условия Если какие-либо действия должны быть предприняты только в случае выполнения сразу нескольких условий, можно несколько операторов If Then вложить один в другой и последовательно проверить каждое из условий If УсловноеВыражение1 Then ПоследовательностьОператоров1 If УсловноеВыражение2 Then Конструкция могла ПоследовательностьОператоров2 быть вложена и по Else сле ключевого сло- ПоследовательностьОператоров3 ва
Else. End If Else ПоследовательностьОператоров4 End If Пример 9 If Возраст 55 Then If Возраст 55 And Пол ж Then If Пол ж Then txtMessage.Text Bы пенсионер- txtMessage.Text ка Вы пенсионерка Else End If txtMessage.Text Вы не достиг- Else ли пенсионного возраста txtMessage.
Text End If Вы не достигли пенсионного возраста End If Оба кода выполняют одни и те же действия, и не имеет значения, какой из них выбрать. В данном примере в текстовое поле txtMessage будет помещено сообщение Вы пенсионерка только в том случае, если выполняются одновременно два условия Возраст 55 и Пол ж . 56. Оператор Select Case Оператор
Select Case применяется, когда одна величина участвует в нескольких сравнениях и определяет, какая последовательность операторов будет выполняться. Алгоритм такого множественного сравнения можно запрограммировать и с использованием оператора If Then, но применение структуры Select Case эффективнее. Формат оператора Select Case Select Case Выражение Case Значение1 ПоследовательностьОператоров1 Case Значение2
ПоследовательностьОператоров2 Case Значение N-1 ПоследовательностьОператоров N-1 Case Else ПоследовательностьОператоровN End Select Здесь Select Case, Case, Case Else, End Select - ключевые слова Visual Basic Выражение - арифметическое или символьное выражение. ПоследовательностьОператоров1 выполняется при совпадении
Значения1 и значения Выражения и т.д. Пример 11 Select Case Value Case 1, 3 ПоследовательностьОператоров1 Case 5 To 10 ПоследовательностьОператоров2 Case 12 Is 15 ПоследовательностьОператоров3 Case Else ПоследовательностьОператоров4 End Select Здесь проверяемым выражением является значение
Value. Если это значение равно 1 или 3 Case 1,3 , выполняется ПоследовательностьОператоров1 если значение Value лежит в интервале от 5 до 10 Case 5 То 10 - ПоследовательностьОператоров2 если значение Value равно 12 или больше 15 Case 12 Is 15 - ПоследовательностьОператоров3 если значение Value не равно ни одному из указанных значений и не принадлежит ни одному из указанных диапазонов -
ПоследовательностьОператоров4. 57. Многократное повторение Многократное повторение одного действия или группы действий часто встречается при написании программ. Простейший способ повторить действия в программе - вернуться на определенную строку программы и выполнить ее вновь. Самый простой способ это сделать - использовать оператор безусловного перехода GoTo. Формат оператора GoTo Метка Метка - метка, с которой продолжится выполнение программы.
Пример 1 metka Print ПРИВЕТ - бесконечный цикл. Ctrl Break - выход из цикла GoTo metka Циклом называется операция, в которой одни и те же действия повторяются многократно. Существуют два основных типа циклов - циклы со счетчиком с известным числом повторений - циклы с условием, в которых действия повторяются до тех пор, пока выполняется определенное условие или пока не будет выполнено определенное условие. В языке
Visual Basic для организации циклов с определенным количеством повторений используется оператор For Next. Формат оператора For Счетчик Начало То Конец Step Шаг операторы цикла Exit For Next Счетчик Счетчик - числовая переменная, используемая как счетчик цикла Начало - начальное значение счетчика Конец - конечное значение счетчика Шаг - шаг изменения значения счетчика по умолчанию 1
Exit For - используется для немедленной остановки цикла For Next. Указанное в квадратных скобках может отсутствовать. Операторы цикла, которые выполняются между операторами For и Next, т.е. повторяются многократно, называются телом цикла. Действие оператора вычисляется значение выражения
Начало, которое присваивается переменной Счетчик. Затем идет выполнение операторов цикла. При достижении Next переменная Счетчик увеличивается на значение выражения Шаг. Значение Счетчика сравнивается со значением выражения Конец. Если значение Счетчик больше этого значения, то выполняется оператор, следующий за Next, если меньше или равно, то управление передается на начало тела цикла.
При отрицательных значениях Шага идет уменьшение Счетчика. Значение Шага может быть дробным Пример 2 Dim i As Integer Dim A As Integer A 3 For i 1 To 3 A A i Next i Print A Очевидно, что тело цикла будет выполняться три раза, так как шаг по умолчанию равен единице первая итерация1 i 1, А 3 вторая итерация i 2, А 6 третья итерация i 3,
А 18 на форме будет напечатано число 18. Итерация - повторение пошагового процесса, когда результат предыдущего шага используется для получения результата следующего шага. Пример 3 Dim i As Integer, A As Integer A 3 For i 3 To 1 Step -1 A A i Next i Print A Тело цикла будет выполняться три раза, как и в примере 2 первая итерация i 3, А 9 вторая итерация i 2, А 18 третья итерация i 1,
А 18 на форме будет напечатано число 18, как и в примере 2. Пример 4 Dim i As Integer For i 1 To 100 If i 50 Then Exit For Next i Изначально этот цикл должен выполнить 100 итераций, но, поскольку при значении счетчика, равном 50, выполняется оператор Exit For, будет произведено всего 50 итераций. Пример 5 Dim i As Integer For i l to 1000 Next i Пустой цикл может использоваться для за держки времени 58.
Вложенные циклы Вложенные циклы, или цикл внутри цикла весьма распространенная конструкция в программировании. Формат конструкции For Счетчик1 Начало1 to Конец1 Step Шаг1 For Счетчик2 Начало2 to Конец2 Step Шаг2 Операторы Цикла Exit For Next Счетик2 Next Счетик! Напечатать таблицу Пифагора таблицу умножения . Вид работающего приложения представлен на рис.6.
Рис. 6 1 Расположите на форме одну командную кнопку. 2 Установите значения свойства Caption для кнопки Печать таблицы. 3 Наберите программный код Private Sub Command1 Click Dim i, j As Integer Print Print Print 1 2 3 4 5 6 7 8 9 Print For i 1 To 9 Print Spc 3 i
For j 1 To 9 Print Format i j , 00 Next j Print Next i End Sub 59. Метод Scale Метод Scale позволяет задавать новую систему координат. Объекты Form и PictureBox имеют абсолютные координаты - положение на экране для объекта Form или положение на форме Для объекта PictureBox, а также размеры ширина и высота . Эти координаты измеряются в специальных единицах - тейпах и выражаются довольно большими числами.
По умолчанию принята система координат, представленная на рис. 1. Однако часто для рисования фигур или построения графиков удобнее задавать новую систему координат. Рисунок 1 Формат метода ИмяОбъекта. Scale XI, Y1 - Х2. Y2 Здесь ИмяОбъекта может отсутствовать. В таком случае по умолчанию метод Scale применяется к форме XI, Y1 - новые координаты левого верхнего угла объекта, а
Х2, Y2 - новые координаты правого нижнего угла объекта. Сразу после использования метода Scale старые абсолютные координаты объекта заменяются новыми. 60. Метод PSet, Line Метод PSet позволяет нарисовать точку на объекте. Формат метода ИмяОбъекта . PSet X, Y , Цвет Здесь ИмяОбъекта может отсутствовать. В таком случае по умолчанию метод
PSet применяется к форме X, Y - координаты точки, которую вы хотите изобразить на объекте Цвет на языке Visual Basic кодируется числом типа Long. Если Цвет отсутствует, то по умолчанию он будет совпадать со значением свойства ForeColor. Размер точек можно изменить, установив нужное значение свойства DrawWidth объекта. Значением свойства DrawWidth может быть целое число 1, 2, 3, по умолчанию оно равно 1
. Изменить указанное значение можно с помощью окна свойств или вставив в программный код строку Pic1.DrawWidth 3 Метод Line Метод Line позволяет изображать на объекте отрезки прямых линий закрашенные или незакрашенные прямоугольники. Формат метода ИмяОбъекта. Line XI, Y1 - Х2, Y2 , Цвет , Флаг Здесь ИмяОбъекта может отсутствовать. В таком случае по умолчанию метод Scale применяется к форме.
XI, Y1 - Х2, Y2 - это координаты концов отрезка или двух углов прямоугольника - левого верхнего и правого нижнего. Если Цвет отсутствует, то по умолчанию он будет совпадать со значением свойства ForeColor о задании цвета см. ниже Флаг - это символ В или символы BF. В первом случае вычерчивается прямоугольник, во втором - закрашенный прямоугольник. Цвет закраски - это значение параметра Цвет. Если используется символ
В, то прямоугольник будет не закрашен, но только в том случае, когда у объекта, в котором он рисуется, значение свойства FillStyle равно 1 Transparent . Это значение установлено у свойства по умолчанию. Если вы измените это значение, то прямоугольник будет закрашен. Например, когда значение свойства FillStyle равно 0 Solid , прямоугольник будет полностью закрашен цветом, который определяется значением свойства
FillColor. Если Флаг есть, а Цвет отсутствует, запятую отбрасывать нельзя, так как Флаг будет воспринят, как Цвет. Для изменения толщины отрезка или контура прямоугольника можно, как и в методе PSet, изменить значение свойства DrawWidth. Совместно с методом Line может использоваться метод Print например, для подписи осей координат . При этом печать будет производиться чуть ниже и правее
точки, на которой закончилось рисование отрезка или прямоугольника. 61. Метод Circle Метод Circle позволяет изображать на объекте окружности, эллипсы, дуги, секторы. Формат метода ИмяОбъекта. Circle X, У , Радиус , Цвет , Угол1 , Угол2 , КоэффициентСжатия Здесь ИмяОбъекта может отсутствовать. В таком случае по умолчанию метод Scale применяется к форме
X, У - координаты центра круга или эллипса, который или часть которого будет вычерчиваться на объекте Цвет в языке Visual Basic кодируется числом типа Long. О задании цвета см. ниже. Если Цвет отсутствует, то по умолчанию он будет совпадать со значением свойства ForeColor Угол1 и Угол2 - начальный и конечный углы дуги или сектора, заданные в радианах в интервале от 0 до 2п. Значение Угла, равное нулю, соответствует горизонтальной оси, направленной вправо.
Если значение угла не равно нулю и перед ним стоит знак минус , будет начерчена не дуга, а сектор. При вычерчивании дуги или сектора движение всегда происходит против часовой стрелки, от Угла1 к Углу 2. Если вычерчивается полный круг или эллипс, то Углы отсутствуют КоэффициентСжатия - это положительное число. Если число больше единицы, получается эллипс, вытянутый по вертикали, если число меньше единицы, эллипс
вытянут по горизонтали. Степень вытянутости определяется значением Коэффициента. Если он отсутствует, то вычерчивается окружность. Если в методе отсутствуют некоторые параметры, запятые не отбрасывайте. Например, если используются Цвет и КоэффициентСжатия, а Углы отсутствуют, должны стоять две запятые. 62. Задание цвета с помощью констант
Visual Basic. В языке Visual Basic для задания цвета может использоваться одна из восьми констант табл. 1, графа 2 или числовое значение, соответствующее этим константам табл. 1, графа 3 . Таблица 1 Цвет Константа Числовое значение 1 2 3 Черный vbBlack 0 Красный vbRed 255 Зеленый vbGreen 65280 Желтый vb Yellow 65535 Синий vbBlue 16611680 Сиреневый vbMagenta 16611935
Голубой vbCyan 16666960 Белый vbWhite 16666215 Pic1.BackColor vbWhite или Pic1.BackColor 16666215 Оба кода задают белый цвет, т. е. не имеет значения, какой из них следует выбирать. Недостаток второго способа - по числу трудно угадать, какой цвет выбран. Задание цвета с помощью функции RGB. Графические методы дают возможность использовать кроме цветов, указанных в табл. 1, огромное количество различных цветовых оттенков.
Как известно, любой цвет можно получить, смешав в определенной пропорции красную Red , зеленую Green и синюю Blue краску. В языке Visual Basic смешивает краски специальная функция RGB название функции по первым буквам цветов , функция RGB имеет три аргумента - целые числа, а возвращает значение - код цвета число типа Long . Все числовые значения констант, представленных в табл.
1 можно представить в виде суммы трех слагаемых R 256 G 2562 В, где каждая из переменных R, G и В принимает одно из двух значений - 0 или 255. Если переменные R, G и В будут принимать другие целочисленные значения от 0 до 255, то указанная сумма будет отличаться от значений, приведенных в табл. 1, а обозначаемый этой суммой цвет будет отличаться от приведенных в таблице цветов.
Количество значений, которые может принимать функция RGB, равно 2563. Это очень большое число - 16666215. Именно такое количество различных цветовых оттенков могут использовать графические методы Visual Basic. При этом чем меньше каждой краски, тем темнее будет цвет, чем больше - тем светлее. Если все три значения одинаковы, цвета нейтрализуют друг друга, в результате получается черный, серый
или белый цвет чем меньше это значение, тем цвет ближе к черному чем больше это значение, тем цвет ближе к белому . RGB 0, 0, 0 - черный цвет RGB 255, 255, 255 - белый цвет RGB 60, 80, 68 - темный цвет RGB 229, 250, 200 - светлый цвет RGB 80, 80, 80 - темно-серый цвет RGB 220, 220, 220 - светло-серый цвет RGB 255, 255, 0 - желтый цвет 255 256 255 0 65535, см. табл.
1 Задание цвета с помощью функции QBColor. Функция QBColor Имеет единственный аргумент - целое число С в диапазоне от 0 До 15, а возвращает значение - код цвета число типа Long . Рисунок 9 Таблица 2 Цвет Аргумент С Черный vbBlack 0 Темно-синий 1 Темно-зеленый 2 Темно-голубой 3 Темно-красный 4
Темно-сиреневый 5 Коричневый 6 Светло-серый 6 Темно-серый 8 Синий vbBlue 9 Зеленый vbGreen 10 Голубой vbCyan 11 Красный vbRed 12 Сиреневый vbMagenta 13 Желтый vbYellow 14 Белый vbWhite 15 QbColor 11 - голубой цвет Заполнение фигур, построенных с помощью графических методов Фигуры, которые строятся с помощью методов Line и Circle, могут заливаться каким-либо цветом, оставаться
прозрачными или заполняться каким либо другим способом. На рис. 9 приведены возможные значения свойства FillStyle, а на рис. 10 представлены виды заполнения фигур при различных значениях свойства FillStyle 0-6 . Цвет штриховки - это значение свойства FillColor этого объекта. Если значение свойства FillStyle графического окна равно 0
Solid , то фигура сплошь заполняется цветом, который является значением свойства FillColor этого объекта. Рисунок 10 63. Построить график функции у 5 Sin x х для х в диапазоне от-10 до 10. Порядок действий 1. Расположите на форме одну кнопку. 2. Установите значения свойства Name для кнопки cmdПуск. 3. Установите значения свойства
Caption для формы и кнопки в соответствии с рис. 12. 4. Составьте программный код проекта 5. В процедуру cmdПуск Click введите Private Sub cmdПуск Click Scale -10, 10 - 10, -10 DrawWindth 3 FontSize 20 Line -10, 0 - 9, 0 , 0 Print X Line 0, -10 - 0, 10 , 0 Print Y For x -10
To 10 Step 0.01 y Sin x 5 x PSet x, y , vbRed Next x End Sub 5. Очевидно, что функция на интервале от -10 до 10 имеет минимум меньше, чем -10, а максимум больше, чем 10, и часть графика не видна см. рис. 12 . Измените параметры метода Scale следующим образом Scale -10, 15 - 10, -15 6. График помещается в пределах формы рис.
13 , но в этом случае придется изменить параметры метода Line для удлинения оси У рис. 14 Line 0, -15 - 0, 15 , 0 Print Y Рисунок 13 Рисунок 14 7. Если потребуется построить график на интервале от 0 до 8, придется изменить оператор For x -10To 10 Step 0.01 на оператор For x 0 To 8 Step 0.01 Рисунок 15 Рисунок 16 8. В этом случае окно используется нерационально рис.
15 , и придется его снова перемасштабировать рис. 16 Scale -1, 15 - 10, -3 9. Сохраните проект под именем График 1 в папке Задание 5. Недостатки проекта очевидны, попробуйте устранить их в следующем 64. Экспертная система распознавания химических веществ Таблица 1. Свойства удобрений Внешний вид Взаимодействие раствора удобрения
Удобрение результат распознавания с H2S04 с Bad с раствором щелочи 1 Белая кристаллическая масса или гранулы Выделяется бурый газ - Ощущается запах аммиака Аммиачная селитра 2 Крупные бесцветные кристаллы Выделяется бурый газ Небольшое помутнение раствора - Натриевая селитра 3 Мелкие светло-серые кристаллы -
Выпадает белый осадок Ощущается запах аммиака Сульфат аммония 4 Светло-серый порошок или гранулы - Выпадает белый осадок - Суперфосфат 5 Розовые кристаллы Сильвинит 6 Бесцветные кристаллы Калийная соль Целесообразно представить иерархическую модель экспертной системы в виде блок-схемы 1. Поместить на форму кнопку и управляющий элемент ListBox список .
2. В свойстве Name ListBox задать lst1, в свойстве Caption - Экспертная система 3. В свойстве Name кнопки задать cmd1, в свойстве Caption - Распознать 4. В событие cmd1 Click кнопки ввести Рисунок. 1. Блок-схема экспертной системы Распознавание удобрений Private Sub cmd1 Click bytA MsgBox При взаимодействии с серной кислотой выделяется бурый газ 36
If bytA 6 Then Щелочь Else Соль End If End Sub 5. Создать событийные процедуры, реализующие диалог с пользователем путем вызова общих процедур и вывод названий растений в элементы списка Sub Щелочь bytA MsgBox При взаимодействии со щелочью ощущается запах аммиака 36 If bytA 6 Then lst1.AddItem 1.Аммиачная селитра Else Lst1.AddItem 2.Натриевая селитра End If End Sub Sub
Соль bytA MsgBox При взаимодействии с солью выпадает белый осадок 36 If bytA 6 Then Щелочь1 Else Внешний вид End If End Sub Sub Щелочь1 bytA MsgBox При взаимодействии со щелочью ощущается запах аммиака 36 If bytA 6 Then lst1.AddItem 3. Сульфат аммония Else lst1.AddItem 4. Суперфосфат End If End Sub Sub Внешний вид bytA MsgBox
Розовые кристаллы 36 If bytA 6 Then lst1.AddItem 5. Сильвинит Else Lst1.AddItem 6. Калийная соль End If End Sub Рисунок 2 6. Запустить программу. При запуске будет производится диалог с пользователем, проанализированный ответ отобразится в элементе ListBox Рисунок 4 . 7. Протестировать программу согласно дереву решений Рисунок 1.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |