Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Устройство и функционирование компьютеров




1.1. Компьютер – универсальная вычислительная машина.

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

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

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

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

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

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

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

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

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

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

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

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

Параллельно с теорией делались попытки создать практически работающие вычислительные устройства. В 1642г. Паскаль изобрел устройство, выполняющее сложение чисел, а в 1673г. Лейбниц сконструировал арифмометр, позволяющий выполнять четыре арифметических действия. В первой половине XIX в. английский математик Чарльз Бэббидж попытался построить универсальную машину, которая должна была выполнять любые вычисления без участия человека. Программы для нее вводилась с помощью перфокарт, которые уже тогда употреблялись в ткацких станках. Реально такая машина (но не механическая, а электронная) была построена в США в 1943г.

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

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

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

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

Отметим основные свойства алгоритмов, лежащих в основе работы современных компьютеров:

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

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

¨ Детерминированность. В каждый момент времени работы алгоритма выбор следующей команды определяется однозначно.

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

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

¨ Конечность. Алгоритм должен давать решение задачи за конечное число шагов.

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

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

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

Контрольные вопросы по теме.

1. Каково самое общее предназначение компьютера?

2. Что означает определение «универсальный» по отношении к компьютеру?

3. Что означают определения «дискретный» и «конечный» по отношению к алгоритму?

4. Для чего нужны блок-схемы?




Поделиться с друзьями:


Дата добавления: 2014-10-17; Просмотров: 1044; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.