рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Глава 1. Введение в информатику

Глава 1. Введение в информатику - раздел Информатика, Глава 1. Введение В Информатику ...

Глава 1. Введение в информатику

Содержание:

  • 1.1. Что такое инфоpматика?
  • 1.2. Что такое информация?
  • 1.3. В каком виде существует информация?
  • 1.4. Как передаётся информация?
  • 1.5. Как измеряется количество информации?
  • 1.6. Что можно делать с информацией?
  • 1.7. Какими свойствами обладает информация?
  • 1.8. Что такое обработка информации?
  • 1.9. Что такое информационные ресурсы и информационные технологии?
  • 1.10. Что понимают под информатизацией общества?
  • 1.11. Вопросы для самоконтроля
  • 1.12. Упражнения
  • Вся глава целиком.
  • Следующая глава.

 

1.1. Что такое инфоpматика?

Термин "информатика" (франц. informatique) происходит от французских слов information (информация) и automatique (автоматика) и дословно означает "информационная автоматика".

Широко распространён также англоязычный вариант этого термина — "Сomputer science", что означает буквально "компьютерная наука".

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

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

Таким образом, информатика базируется на компьютерной технике и немыслима без нее.

Инфоpматика — комплексная научная дисциплина с широчайшим диапазоном применения. Её приоритетные направления:

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

Российский академик А.А. Дородницин выделяет в информатике три неразрывно и существенно связанные части — технические средства, программные и алгоритмические.

Технические средства, или аппаратура компьютеров, в английском языке обозначаются словом Hardware, которое буквально переводится как "твердые изделия".

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

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

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

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

1.2. Что такое информация?

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

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

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

Приведем еще несколько определений:

  • Информация — это сведения об объектах и явлениях окружающей среды, их параметрах, свойствах и состоянии, которые уменьшают имеющуюся о них степень неопределенности, неполноты знаний (Н.В. Макарова);
  • Информация — это отрицание энтропии (Леон Бриллюэн);
  • Информация — это мера сложности структур (Моль);
  • Информация — это отраженное разнообразие (Урсул);
  • Информация — это содержание процесса отражения (Тузов);
  • Информация — это вероятность выбора (Яглом).

Современное научное представление об информации очень точно сформулировал Норберт Винер, "отец" кибернетики. А именно:

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

Люди обмениваются информацией в форме сообщений. Сообщение — это форма представления информации в виде речи, текстов, жестов, взглядов, изображений, цифровых данных, графиков, таблиц и т.п.

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

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

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

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

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

Более развёрнутое представление о существе рассматриваемых вопросов дается в [11, 41, 42].

1.3. В каком виде существует информация?

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

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

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

1.4. Как передаётся информация?

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

  канал связи  
ИСТОЧНИК -----------> ПРИЁМНИК

Примеры:

  1. Cообщение, содержащее информацию о прогнозе погоды, передаётся приёмнику (телезрителю) от источника — специалиста-метеоролога посредством канала связи — телевизионной передающей аппаратуры и телевизора.
  2. Живое существо своими органами чувств (глаз, ухо, кожа, язык и т.д.) воспринимает информацию из внешнего мира, перерабатывает её в определенную последовательность нервных импульсов, передает импульсы по нервным волокнам, хранит в памяти в виде состояния нейронных структур мозга, воспроизводит в виде звуковых сигналов, движений и т.п., использует в процессе своей жизнедеятельности.

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

1.5. Как измеряется количество информации?

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

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

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


Подходы к определению количества информации. Формулы Хартли и Шеннона. Американский инженер Р. Хартли в 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, и формула Шеннона превращается в формулу Хартли.

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


В качестве единицы информации Клод Шеннон предложил принять один бит (англ. bitbinary digit — двоичная цифра).

Бит в теории информации — количество информации, необходимое для различения двух равновероятных сообщений (типа "орел"—"решка", "чет"—"нечет" и т.п.). В вычислительной технике битом называют наименьшую "порцию" памяти компьютера, необходимую для хранения одного из двух знаков "0" и "1", используемых для внутримашинного представления данных и команд.

Бит — слишком мелкая единица измерения. На практике чаще применяется более крупная единица — байт, равная восьми битам. Именно восемь битов требуется для того, чтобы закодировать любой из 256 символов алфавита клавиатуры компьютера (256=28).

Широко используются также ещё более крупные производные единицы информации:

  • 1 Килобайт (Кбайт) = 1024 байт = 210 байт,
  • 1 Мегабайт (Мбайт) = 1024 Кбайт = 220 байт,
  • 1 Гигабайт (Гбайт) = 1024 Мбайт = 230 байт.

В последнее время в связи с увеличением объёмов обрабатываемой информации входят в употребление такие производные единицы, как:

  • 1 Терабайт (Тбайт) = 1024 Гбайт = 240 байт,
  • 1 Петабайт (Пбайт) = 1024 Тбайт = 250 байт.

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

1.6. Что можно делать с информацией?

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

  • создавать;
  • передавать;
  • воспринимать;
  • иcпользовать;
  • запоминать;
  • принимать;
  • копировать;
  • формализовать;
  • распространять;
  • преобразовывать;
  • комбинировать;
  • обрабатывать;
  • делить на части;
  • упрощать;
  • собирать;
  • хранить;
  • искать;
  • измерять;
  • разрушать;
  • и др.

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

1.7. Какими свойствами обладает информация?

Свойства информации:

  • достоверность;
  • полнота;
  • ценность;
  • своевременность;
  • понятность;
  • доступность;
  • краткость;
  • и др.

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

Достоверная информация со временем может стать недостоверной, так как она обладает свойством устаревать, то есть перестаёт отражать истинное положение дел.

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

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

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

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

Если ценная и своевременная информация выражена непонятным образом, она может стать бесполезной.

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

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

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

1.8. Что такое обработка информации?

Обработка информации — получение одних информационных объектов из других информационных объектов путем выполнения некоторых алгоритмов [15].

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

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

Компьютеры обрабатывают информацию путем выполнения некоторых алгоритмов.

Живые организмы и растения обрабатывают информацию с помощью своих органов и систем.

Это книги, статьи, патенты, диссертации, научно-исследовательская и опытно-конструкторская документация, технические переводы, данные о передовом… Информационные ресурсы (в отличие от всех других видов ресурсов — трудовых,… Человечество занималось обработкой информации тысячи лет. Первые информационные технологии основывались на…

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

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

Вопросы для самоконтроля

1.1. Что означает термин "информатика" и каково его происхождение?

1.2. Какие области знаний и административно-хозяйственной деятельности официально закреплены за понятием "информатика" с 1978 года?

1.3. Какие сферы человеческой деятельности и в какой степени затрагивает информатика?

1.4. Назовите основные составные части информатики и основные направления её применения.

1.5. Что подразумевается под понятием "информация" в бытовом, естественно-научном и техническом смыслах?

1.6. Приведите примеры знания фактов и знания правил. Назовите новые факты и новые правила, которые Вы узнали за сегодняшний день.

1.7. От кого (или чего) человек принимает информацию? Кому передает информацию?

1.8. Где и как человек хранит информацию?

1.9. Что необходимо добавить в систему "источник информации — приёмник информации", чтобы осуществлять передачу сообщений?

1.10. Какие типы действий выполняет человек с информацией?

1.11. Приведите примеры ситуаций, в которых информация

а) создаётся; д) копируется; и) передаётся;
б) обрабатывается; е) воспринимается; к) разрушается;
в) запоминается; ж) измеряется; л) ищется;
г) делится на части; з) принимается; м) упрощается.

1.12. Приведите примеры обработки информации человеком. Что является результатами этой обработки?

1.13. Приведите примеры информации:

  • а) достоверной и недостоверной;
  • б) полной и неполной;
  • в) ценной и малоценной;
  • г) своевременной и несвоевременной;
  • д) понятной и непонятной;
  • е) доступной и недоступной для усвоения;
  • ж) краткой и пространной.

1.14. Назовите системы сбора и обработки информации в теле человека.

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

1.16. От чего зависит информативность сообщения, принимаемого человеком?

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

1.18. Как определяется единица измерения количества информации?

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

1.20. Почему в формуле Хартли за основание логарифма взято число 2?

1.21. При каком условии формула Шеннона переходит в формулу Хартли?

1.22. Что определяет термин "бит" в теории информации и в вычислительной технике?

1.23. Приведите примеры сообщений, информативность которых можно однозначно определить.

1.24. Приведите примеры сообщений, содержащих один (два, три) бит информации.

Упражнения

1.2. Три человека, Иванов, Петров и Сидоров, образуют очередь. Запишите все возможные варианты образования этой очереди. [ Ответ ] 1.3. Назовите все возможные комбинации из двух различных нот (всего нот семь:… 1.4. Пусть голосуют 3 человека (голосование "да"/"нет"). Запишите все возможные исходы…

Ответы — Раздел 1. Введение в информатику

1.1. Обозначим номера светофоров цифрами 1 и 2, а цвета их загорания — буквами З (зелёный), Ж (жёлтый) и К (красный). Тогда искомое множество содержит следующие 9 элементов: З1 - З2, З1 - Ж2, З1 - К2, Ж1 - З2, Ж1 - Ж2, Ж1 - К2, К1 - З2, К1 - Ж2, К1 - К2.

1.2. Вариантов всего шесть:

1) Иванов, Петров, Сидоров; 4) Петров, Сидоров, Иванов;
2) Иванов, Сидоров, Петров; 5) Сидоров, Иванов, Петров;
3) Петров, Иванов, Сидоров; 6) Сидоров, Петров, Иванов.

1.3. Комбинаций всего 42:
"до-ре", "до-ми", ..., "до-си", "ре-до", "ре-ми", ..., "ре-си", "ми-до", "ми-ре", ..., "ми-си", ..., "си-до", "си-ре", ..., "си-ля".

1.4. Исходов всего восемь:
"да-да-да", "да-да-нет", "да-нет-да", "да-нет-нет", "нет-да-да", "нет-да-нет", "нет-нет-да", "нет-нет-нет".

1.5. Двенадцатью способами.

1.6. 3 бита информации (8 = 23).

1.7. Двоичных последовательностей из одного бита всего 21= 2, из двух битов — 22= 4, из трех битов — 23= 8, из четырех битов — 24= 16, из восьми битов — 28= 256.

1.8. 24 байта, или 192 бита.

1.10 Два бита: 00 — "неуд.", 01 — "удов.", 10 — "хор.", 11 — "отл.".

1.11. Разбиваем сообщение на восьмёрки битов (то есть, на байты):
01001100 01110011 01001100 01110011 01010111.
Сравнивая байты между собой, видим, что первый и третий, а также второй и четвёртый байты одинаковые. Следовательно, различных символов всего три.

1.12. Всего на экране монитора 1280х1024 = 1310720 точек. Для кодирования каждой из точек, которые могут быть окрашены в 256 цветов (256 = 28) требуется 8 бит или 1 байт. Т.о., для кодирования всего изображения требуется 1310720 байт = 1,25 · 220 байт = 1,25 Мбайт.

1.13. Выравниваем размерности в левой и правой частях уравнения c учётом того, что 1 Кбайт = 213 бит. Затем приводим обе части к одному основанию 2. Имеем: 2 = 25 · 213 или 2 = 218 . Переходим к равносильному уравнению 3х = 18, откуда х = 18:3 = 6.

1.14. Выравниваем размерности с учётом того, что 1 Кбайт = 213 бит и 1 Мбайт = 223 бит. Приводим оба уравнения к одному основанию 2.

2х+2 = 23(y-5) · 213 , х+2 = 3y-15+13 ,
22y-1 · 223 = 24(x-3) 2y-1+23 = 4x-12 ,

откуда x = 11, y = 5.

1.15.
а) 7 (чтобы получить следующее число, нужно к предыдущему прибавить 2: а1= 1, ai = ai-1 + 2, i = 2, 3, ...);
б) 10 (чтобы получить следующее число, нужно от предыдущего отнять 5: а1= 20, ai = ai-1 - 5, i = 2, 3, ...);
в) 8 (чтобы получить следующее число, нужно предыдущее умножить на 2: а1= 1, ai = ai-1 · 2, i = 2, 3, ...);
г) 16 (возвести в квадрат числа 1, 2, 3, ... : ai = i2, i = 1, 2, 3, ...);
д) 64 (возвести в куб числа 1, 2, 3, ... : ai = i3, i = 1, 2, 3, ...);
е) 24 (чтобы получить очередное число, нужно предыдущее умножить на номер числа: а1= 1, ai = ai-1 · i, i = 2, 3, ...);
ж) 8 (чтобы получить следующее число, нужно предыдущее разделить на 2: а1= 128, ai = ai-1 : 2, i = 2, 3, ...);
з) 69 (чтобы получить следующее число, нужно предыдущее умножить на 2 и к полученному произведению поочерёдно прибавлять и вычитать единицу: а1= 4, ai = 2ai-1 + (-1)i, i = 2, 3, ...);
и) 32 (а1= 1, а2= 2, ai = ai-1 · ai-2, i = 3, 4, ...);
к) 26 (а1= 2, ai = i2 + (-1)i-1, i = 2, 3, ...);
л) 81 (а1= 1, а2= 3, ai = а1·а2·....·ai-1, i = 3, 4, ...)
м) с (выписаны первые буквы цветов радуги: с — "синий");
н) 25 (число в скобках есть разность между числами вне скобок);
о) 74 (удвоенная сумма чисел, стоящих вне скобок);
п) 52 (полуразность чисел, стоящих вне скобок).

Глава 2. Общие принципы организации и работы компьютеров

Содержание:

  • 2.1. Что такое компьютер?
  • 2.2. Как устроен компьютер?
  • 2.3. На каких принципах построены компьютеры?
  • 2.4. Что такое команда?
  • 2.5. Как выполняется команда?
  • 2.6. Что такое архитектура и структура компьютера?
  • 2.7. Что такое центральный процессор?
  • 2.8. Как устроена память?
  • 2.9. Какие устройства образуют внутреннюю память?
  • 2.10. Какие устройства образуют внешнюю память?
  • 2.11. Что такое аудиоадаптер?
  • 2.12. Что такое видеоадаптер и графический акселератор?
  • 2.13. Что такое клавиатура?
  • 2.14. Что такое видеосистема компьютера?
  • 2.15. Что такое принтер, плоттер, сканер?
  • 2.16. Что такое модем и факс-модем?
  • 2.17. Что такое манипуляторы?
  • 2.18. Как устроен компьютер?
  • 2.19. Какие основные блоки входят в состав компьютера?
  • 2.20. Что собой представляет системная плата?
  • 2.21. Как организуется межкомпьютерная связь?
  • 2.22. Что такое компьютерная сеть?
  • 2.23. Как соединяются между собой устройства сети?
  • 2.24. Как классифицируют компьютерные сети по степени географического распространения?
  • 2.25. Как соединяются между собой локальные сети?
  • 2.26. Как работают беспроводные сети?
  • 2.27. Что такое сеть Интернет и как она работает?
  • 2.28. Основные возможности, предоставляемые сетю Интернет
  • 2.29. Что такое мультимедиа и мультимедиа-компьютер?
  • 2.30. Вопросы для самоконтроля
  • Вся глава целиком.
  • Предыдущая глава.
  • Следующая глава.

Глава 2. Общие принципы организации и работы компьютеров

2.1. Что такое компьютер?

Компьютер (англ. computer — вычислитель) представляет собой программируемое электронное устройство, способное обрабатывать данные и производить вычисления, а также выполнять другие задачи манипулирования символами [51].

Существует два основных класса компьютеров:

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

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

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

Любая компьютерная программа представляет собой последовательность отдельных команд.

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

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

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

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

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

2.2. Как устроен компьютер?

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

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

Эти устройства соединены каналами связи, по которым передается информация.

Основные устройства компьютера и связи между ними представлены на схеме (рис. 2.1). Жирными стрелками показаны пути и направления движения информации, а простыми стрелками — пути и направления передачи управляющих сигналов.


Рис. 2.1. Общая схема компьютера

Функции памяти:

  • приём информации из других устройств;
  • запоминание информации;
  • выдача информации по запросу в другие устройства машины.

Функции процессора:

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

Обычно эти два устройства выделяются чисто условно, конструктивно они не разделены.

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

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

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

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

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

  • сумматор — регистр АЛУ, участвующий в выполнении каждой операции;
  • счетчик команд — регистр УУ, содержимое которого соответствует адресу очередной выполняемой команды; служит для автоматической выборки программы из последовательных ячеек памяти;
  • регистр команд — регистр УУ для хранения кода команды на период времени, необходимый для ее выполнения. Часть его разрядов используется для хранения кода операции, остальные — для хранения кодов адресов операндов.

2.3. На каких принципах построены компьютеры?

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



Рис. 2.2. Джон фон Нейман, 1945 г.

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

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

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

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

Таким образом, процессор исполняет программу автоматически, без вмешательства человека.

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

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

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

2.4. Что такое команда?

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

В общем случае, команда содержит следующую информацию:

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

В зависимости от количества операндов, команды бывают:

  • одноадресные;
  • двухадресные;
  • трехадресные;
  • переменноадресные.

Команды хранятся в ячейках памяти в двоичном коде.

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

  • сам операнд (число или символ);
  • адрес операнда (номер байта, начиная с которого расположен операнд);
  • адрес адреса операнда (номер байта, начиная с которого расположен адрес операнда), и др.

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

  • одноадресная команда add x (содержимое ячейки x сложить с содержимым сумматора, а результат оставить в сумматоре)
add x
  • двухадресная команда add x, y (сложить содержимое ячеек x и y, а результат поместить в ячейку y)
add x y
  • трехадресная команда add x, y, z (содержимое ячейки x сложить с содержимым ячейки y, сумму поместить в ячейку z)
add x y z

 

2.5. Как выполняется команда?

Выполнение команды можно проследить по схеме:


Общая схема компьютера

Как пpавило, этот процесс разбивается на следующие этапы:

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

2.6. Что такое архитектура и структура компьютера?

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

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

 

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

Наиболее распространены следующие архитектурные решения.

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

Физически магистраль представляет собой многопроводную линию с гнездами для подключения электронных схем. Совокупность проводов магистрали разделяется на отдельные группы: шину адреса, шину данных и шину управления.

Периферийные устройства (принтер и др.) подключаются к аппаратуре компьютера через специальные контроллеры — устройства управления периферийными устройствами.

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

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



Рис. 2.3. Архитектура многопроцессорного компьютера

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

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

· Архитектура с параллельными процессорами. Здесь несколько АЛУ работают под управлением одного УУ. Это означает, что множество данных может обрабатываться по одной программе — то есть по одному потоку команд. Высокое быстродействие такой архитектуры можно получить только на задачах, в которых одинаковые вычислительные операции выполняются одновременно на различных однотипных наборах данных. Структура таких компьютеров представлена на рис. 2.4.



Рис. 2.4. Архитектура с параллельным процессором

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

2.7. Что такое центральный процессор?

Центральный процессор (CPU, от англ. Central Processing Unit) — это основной рабочий компонент компьютера, который выполняет арифметические и логические операции, заданные программой, управляет вычислительным процессом и координирует работу всех устройств компьютера.

Центральный процессор в общем случае содержит в себе:

  • арифметико-логическое устройство;
  • шины данных и шины адресов;
  • регистры;
  • счетчики команд;
  • кэш — очень быструю память малого объема (от 8 до 512 Кбайт);
  • математический сопроцессор чисел с плавающей точкой.

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

Микропроцессор Intel Pentium 4 — наиболее совершенный и мощный процессор выпуска 2001 г. с тактовой частотой до 2 Гигагерц, представлен на рисунке 2.5 примерно в натуральную величину. Он предназначен для работы приложений, требующих высокой производительности процессора, таких, как передача видео и звука по Интернет, создание видео-материалов, распознавание речи, обработка трехмерной графики, игры.



Рис. 2.5. Микропроцессор Pentium 4. Вид сверху (слева) и вид снизу (справа)

В вычислительной системе может быть несколько параллельно работающих процессоров; такие системы называются многопроцессорными.

2.8. Как устроена память?

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

Байты могут объединяться в ячейки, которые называются также словами. Для каждого компьютера характерна определенная длина слова — два, четыре или восемь байтов. Это не исключает использования ячеек памяти другой длины (например, полуслово, двойное слово). Как правило, в одном машинном слове может быть представлено либо одно целое число, либо одна команда. Однако, допускаются переменные форматы представления информации. Разбиение памяти на слова для четырехбайтовых компьютеров представлено в таблице:

Байт 0 Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7
ПОЛУСЛОВО ПОЛУСЛОВО ПОЛУСЛОВО ПОЛУСЛОВО
СЛОВО СЛОВО
ДВОЙНОЕ СЛОВО

Широко используются и более крупные производные единицы объема памяти: Килобайт, Мегабайт, Гигабайт, а также, в последнее время, Терабайт и Петабайт.

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

2.9. Какие устройства образуют внутреннюю память?

В состав внутренней памяти входят оперативная память, кэш-память и специальная память.

Оперативная память

Объем ОЗУ обычно составляет от 32 до 512 Мбайт. Для несложных административных задач бывает достаточно и 32 Мбайт ОЗУ, но сложные задачи… Обычно ОЗУ исполняется из интегральных микросхем памяти SDRAM (синхронное… Большинство современных компьютеров комплектуются модулями типа DIMM (Dual-In-line Memory Module — модуль памяти с…

Кэш-память

Кэш-память реализуется на микросхемах статической памяти SRAM (Static RAM), более быстродействующих, дорогих и малоёмких, чем DRAM (SDRAM). …

Специальная память

  Перепрограммируемая постоянная память (Flash Memory) — энергонезависимая память, допускающая многократную перезапись своего… Прежде всего в постоянную память записывают программу управления работой… Важнейшая микросхема постоянной или Flash-памяти — модуль BIOS. Роль BIOS двоякая: с одной стороны это неотъемлемый…

Накопители на гибких магнитных дисках

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

Накопители на жестких магнитных дисках

Рис. 2.8. Винчестерский накопитель со снятой крышкой корпуса Как и у дискеты, рабочие поверхности платтеров разделены на кольцевые… Винчестерские накопители имеют очень большую ёмкость: от 10 до 100 Гбайт. У современных моделей скорость вращения…

Накопители на компакт-дисках

Здесь носителем информации является CD-ROM (Сompact Disk Read-Only Memory - компакт диск, из которого можно только читать). CD-ROM представляет собой прозрачный полимерный диск диаметром 12 см и… Информация на диске представляется в виде последовательности впадин (углублений в диске) и выступов (их уровень…

Записывающие оптические и магнитооптические накопители

Рис.2.10. Накопитель CD-MO · Накопитель на магнито-оптических компакт-дисках СD-MO (Compact Disk —… · Записывающий накопитель CD-R (Compact Disk Recordable) способен, наряду с прочтением обычных компакт-дисков,…

Накопители на магнитной ленте (стримеры) и накопители на сменных дисках

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

Монитор на базе электронно-лучевой трубки

Рис. 2.15. Схема электронно-лучевой трубки Люминофор наносится в виде наборов точек трёх основных цветов — красного,… Рис. 2.16. Пиксельные триады

Жидкокристаллические мониторы

Большинство ЖК-мониторов использует тонкую плёнку из жидких кристаллов, помещённую между двумя стеклянными пластинами. Заряды передаются через так… Рис. 2.18. Жидкокри- сталлический монитор Активные матрицы вместо нитей используют прозрачный экран из транзисторов и обеспечивают яркое, практически не имеющее…

Сенсорный экран

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

Основные возможности, предоставляемые сетью Интернет

Интернет предоставляет своим пользователям разнообразные услуги и возможности (сервисы). Перечислим основные.

World Wide Web — главный информационный сервис.

Гипермедиа — это то, что получится, если в определении гипертекста заменить слово "текст" на "любые виды информации": звук,… Система WWW построена на специальном протоколе передачи данных, который… Язык HTML позволяет добавлять к текстовым документам специальные командные фрагменты — тэги (англ. tag —…

Электронная почта.

Сообщения, поступающие по e-mail, хранятся в специальном "почтовом" компьютере в выделенной для получателя области дисковой памяти (его…

Cистема телеконференций Usenet (от Users Network).

Внутри этих категорий существует иерархия. Так, например, rec.music.beatles — это дискуссия о творчестве Битлз, входящая в подгруппу…

Системы информационного поиска сети Интернет.

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

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

Системы, основанные на предметных каталогах.

Пример. Если нужно выяснить, какая в мире имеется информация о динозаврах, достаточно спуститься по иерархии: Науки ==> Животные ==> Доисторические животные ==> Динозавры. Каталоги, составленные людьми, более осмыслены, чем автоматические индексы. Их очень мало, так как их создание и…

Автоматические индексы.

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

Программа пересылки файлов Ftp.

6. Программа удалённого доступа Telnet. Позволяет входить в другую вычислительную систему, работающую в Интернет, с… Функциипрограммы-клиента: установление соединения с сервером; приём от абонента входных данных,…

Вопросы для самоконтроля

2.1. Какова роль аппаратуры (HardWare) и программного обеспечения (SoftWare) компьютера?

2.2. Какие основные классы компьютеров Вам известны?

2.3. В чём состоит принцип действия компьютеров?

2.4. Из каких простейших элементов состоит программа?

2.5. Что такое система команд компьютера?

2.6. Перечислите главные устройства компьютера.

2.7. Опишите функции памяти и функции процессора.

2.8. Назовите две основные части процессора. Каково их назначение?

2.9. Что такое регистры? Назовите некоторые важные регистры и опишите их функции.

2.10. Сформулируйте общие принципы построения компьютеров.

2.11. В чём заключается принцип программного управления? Как выполняются команды условных и безусловных переходов?

2.12. В чём суть принципа однородности памяти? Какие возможности он открывает?

2.13. В чём заключается принцип адресности?

2.14. Какие архитектуры называются "фон-неймановскими"?

2.15. Что такое команда? Что описывает команда?

2.16. Какого рода информацию может содержать адресная часть команды?

2.17. Приведите примеры команд одноадресных, двухадресных, трёхадресных.

2.18. Каким образом процессор при выполнении программы осуществляет выбор очередной команды?

2.19. Опишите основной цикл процесса обработки команд.

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

2.21. Что понимается под структурой компьютера? Какой уровень детализации описания компьютера может она обеспечить?

2.22. Перечислите распространённые компьютерные архитектуры.

2.23. Каковы отличительные особенности классической архитектуры?

2.24. Что собой представляет шина компьютера? Каковы функции общей шины (магистрали)?

2.25. Какую функцию выполняют контроллеры?

2.26. Как характер решаемых задач связан с архитектурой компьютера?

2.27. Какие отличительные особенности присущи многопроцессорной архитектуре? Многомашинной архитектуре? Архитектуре с параллельным процессором?

2.28. Что такое центральный процессор?

2.29. Какие основные компоненты содержат в себе современные микропроцессоры?

2.30. Как конструктивно выполнены современные микропроцессоры?

2.31. Перечислите основные и производные единицы измерения количества памяти.

2.32. Назовите две основные разновидности памяти компьютера.

2.33. Перечислите основные компоненты внутренней памяти.

2.34. Что представляет собой ОЗУ? Каково её назначение?

2.35. В чём разница между памятью статической и динамической?

2.36. Что собой представляет модуль памяти типа SIMM? Какие другие типы модулей памяти Вы знаете?

2.37. Каково назначение кэш-памяти? Каким образом она реализуется?

2.38. Что такое специальная память? Характеризуйте её основные виды.

2.39. Что такое BIOS и какова её роль?

2.40. Каково назначение внешней памяти? Перечислите разновидности устройств внешней памяти.

2.41. Что собой представляет гибкий диск?

2.42. В чём суть магнитного кодирования двоичной информации?

2.43. Как работают накопители на гибких магнитных дисках и накопители на жёстких магнитных дисках?

2.44. Каковы достоинства и недостатки накопителей на компакт-дисках?

2.45. Опишите работу стримера.

2.46. Как работает аудиоадаптер? Видеоадаптер?

2.47. Какие типы видеоплат используются в современных компьютерах?

2.48. Назовите главные компоненты и основные управляющие клавиши клавиатуры.

2.49. Перечислите основные компоненты видеосистемы компьютера.

2.50. Как формируется изображение на экране цветного монитора?

2.51. Как устроены жидкокристаллические мониторы? Проведите сравнение таких мониторов с мониторами, построенными на основе ЭЛТ.

2.52. Опишите работу матричных, лазерных и струйных принтеров.

2.53. Чем работа плоттера отличается от работы принтера?

2.54. Опишите способ передачи информации посредством модема.

2.55. Перечислите основные виды манипуляторов и опишите принципы из работы.

2.56. Что понимают под персональным компьютером?

2.57. Какие характеристики компьютера стандартизируются для реализации принципа открытой архитектуры?

2.58. Что такое аппаратный интерфейс?

2.59. Каково назначение контроллеров и адаптеров? В чём заключается разница между контроллером и адаптером?

2.60. Что такое порты устройств? Охарактеризуйте основные виды портов.

2.61. Перечислите основные блоки современного компьютера.

2.62. Каково назначение межкомпьютерной связи?

2.63. Опишите технологию "клиент–сервер".

2.64. Каким образом преодолевается проблема несовместимости интерфейсов в компьютерных сетях?

2.65. Что такое протокол коммуникации?

2.66. Почему данные передаются при помощи пакетов?

2.67. Охарактеризуйте основные виды сетевых топологий.

2.68. Назовите характеристики распространённых сетевых архитектур.

2.69. Дайте краткую характеристику специального сетевого оборудования.

2.70. В каких областях и с какой целью применяются локальные сети?

2.71. Перечислите основные сервисы сети Интернет.

2.72. Что такое IP-адрес?

2.73. Какие основные услуги предоставляет пользователям система WWW?

2.74. Как организованы системы информационного поиска сети Интернет?

2.75. Дайте сравнительную характеристику систем информационного поиска Yahoo! и Alta Vista.

2.76. Охарактеризуйте основные виды технологий мультимедиа.

2.77. Приведите примеры устройств "виртуальной реальности" и опишите принципы их работы.

2.78. Каким вам представляется мультимедийный компьютер?

2.79. Какой носитель информации используется для распространения мультимедиа-программ?

2.80. Охарактеризуйте средства создания мультимедиа-приложений.

 

 


Глава 3. Классификация компьютеров

3.1. По каким критериям классифицируют компьютеры?

Существуют различные классификации компьютерной техники:

  • по этапам развития (по поколениям);
  • по архитектуре;
  • по производительности;
  • по условиям эксплуатации;
  • по количеству процессоров;
  • по потребительским свойствам и т.д.

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


3.2. На чем основана классификация по поколениям?

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

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


Краткая историческая справка

Около 500 г. н.э. Изобретение счётов (абака) — устройства, состоящего из набора костяшек, нанизанных на стержни. 1614 г. Шотландец Джон Непер изобрёл логарифмы. Вскоре после этого Р. Биссакар… Блез Паскаль

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

Быстродействие порядка 10-20 тысяч операций в секунду.

Но это только техническая сторона. Очень важна и другая — способы использования компьютеров, стиль программирования, особенности математического обеспечения.

 


Перфокарта

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

Несмотря на ограниченность возможностей, эти машины позволили выполнить сложнейшие расчёты, необходимые для прогнозирования погоды, решения задач атомной энергетики и др.

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


ЭВМ "Урал"

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

Отечественные машины первого поколения: МЭСМ (малая электронная счётная машина), БЭСМ, Стрела, Урал, М—20.

Здесь вы найдете богатый материал по истории отечественной вычислительной техники.

3.5. Какие компьютеры относятся ко второму поколению?


БЭСМ—6. Второе поколение


Транзистор

Второе поколение компьютерной техники — машины, сконструированные примерно в 1955—65 гг. Характеризуются использованием в них как электронных ламп, так и дискретных транзисторных логических элементов. Их оперативная память была построена на магнитных сердечниках. В это время стал расширяться диапазон применяемого оборудования ввода-вывода, появились высокопроизводительные устройства для работы с магнитными лентами, магнитные барабаны и первые магнитные диски.


Память на магнитных
сердечниках

Быстродействие — до сотен тысяч операций в секунду, ёмкость памяти — до нескольких десятков тысяч слов.

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

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

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

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

Таким образом, операционная система является программным расширением устройства управления компьютера.

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

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

Здесь вы найдете описания отечественных компьютеров второго поколения.

3.6. В чем особенности компьютеров третьего поколения?


Компьютер IBM—360.
Третье поколение

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


Интегральная схема

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

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

Примеры машин третьего поколения — семейства IBM—360, IBM—370, ЕС ЭВМ (Единая система ЭВМ), СМ ЭВМ (Семейство малых ЭВМ) и др.

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

Краткое описание процесса изготовления микросхем
  1. Разработчики с помощью компьютера создают электрическую схему новой микросхемы. Для этого они вводят в компьютер перечень свойств, которыми должна обладать микросхема, а компьютер с помощью специальной программы разрабатывает детальную структуру соединений и конструкций всех взаимодействующих элементов микросхемы.
  2. Компьютер создаёт схемы расположения элементов на поверхности полупроводникового кристалла кремния. По этим схемам изготавливаются фотошаблоны — стеклянные пластинки со штриховым рисунком. Через фотошаблоны специальными лампами или источниками рентгеновского излучения, а иногда, и электронными пучками, освещают (засвечивают) нанесённый на поверхность кристалла кремния слой фото- или, соответственно, рентгеночувствительного лака.
  3. Засвеченные (или, наоборот, незасвеченные) участки лака меняют свои свойства и удаляются специальными растворителями. Этот процесс называется травлением. Вместе с лаком с поверхности кристалла кремния удаляется и слой окисла, и эти места становятся доступными для легирования — внедрения в кристаллическую решётку кремния атомов бора или фосфора. Легирование обычно требует нагрева пластинки в парах нужного элемента до 1100 — 1200 °С.
  4. Последовательно меняя шаблоны и повторяя процедуры травления и легирования, создают один за другим слои будущей микросхемы. При этом на одной пластинке кристалла кремния создаётся множество одинаковых микросхем.
  5. Каждая микросхема проверяется на работоспособность. Негодные выбраковываются.
  6. После завершения всех операций пластинки разрезаются на отдельные кристаллики с микросхемами, к ним присоединяют выводы и устанавливают в корпуса.

Здесь вы найдете описания отечественных компьютеров третьего поколения.

3.7. Что характерно для машин четвёртого поколения?

Четвёртое поколение — это теперешнее поколение компьютерной техники, разработанное после 1970 года.

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

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

C точки зрения структуры машины этого поколения представляют собой многопроцессорные и многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Быстродействие составляет до нескольких десятков миллионов операций в секунду, ёмкость оперативной памяти порядка 1 — 64 Мбайт.

Для них характерны:

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


3.8. Какими должны быть компьютеры пятого поколения?

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

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

В компьютерах пятого поколения произойдёт качественный переход от обработки данных к обработке знаний.

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

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


3.9. На какие типы делятся компьютеры по условиям эксплуатации?

По условиям эксплуатации компьютеры делятся на два типа:

  • офисные (универсальные);
  • специальные.

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


Индустриальный компьютер

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

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


Ergotouch

Компьютер Ergotouch (Эрготач) [48] исполнен в литом алюминиевом полностью герметичном корпусе, который легко открывается для обслуживания. Cтенки компьютера поглощают практически все электромагнитные излучения как изнутри, так и снаружи. Машина оборудована экраном, чувствительным к прикосновениям. Компьютер можно, не выключая, мыть из шланга, дезинфицировать, дезактивировать, обезжиривать. Высочайшая надежность позволяет использовать его как средство управления и контроля технологическими процессами в реальном времени. Компьютер легко входит в локальную сеть предприятия.

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


3.10. На какие типы делятся компьютеры по производительности и характеру использования?

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

  • микрокомпьютеры, в том числе — персональные компьютеры;
  • миникомпьютеры;
  • мэйнфреймы (универсальные компьютеры);
  • суперкомпьютеры.

Микрокомпьютеры — это компьютеры, в которых центральный процессор выполнен в виде микропроцессора.

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

Микрокомпьютеры представляют собой инструменты для решения разнообразных сложных задач. Их микропроцессоры с каждым годом увеличивают мощность, а периферийные устройства — эффективность. Быстродействие — порядка 1 — 10 миллионов опеpаций в сек.

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

Персональные компьютеры (ПК) — это микрокомпьютеры универсального назначения, рассчитанные на одного пользователя и управляемые одним человеком.

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

Пеpсональный компьютеp должен удовлетворять следующим требованиям:

  • стоимост от нескольких сотен до 5 —10 тыс. долларов;
  • наличие внешних ЗУ на магнитных дисках;
  • объём оперативной памяти не менее 32 Мбайт;
  • наличие операционной системы;
  • способность работать с программами на языках высокого уровня;
  • ориентация на пользователя-непрофессионала (в простых моделях).

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

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

Централизованная обработка данных на мэйнфрейме обходится примерно в 5 — 6 раз дешевле, чем распределённая обработка при клиент-серверном подходе.

Известный мэйнфрейм S/390 фирмы IBM обычно оснащается не менее чем тремя процессорами. Максимальный объём оперативного хранения достигает 342 Терабайт.

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

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


Суперкомпьютер CRAY —1

Суперкомпьютеры — это очень мощные компьютеры с производительностью свыше 100 мегафлопов (1 мегафлоп — миллион операций с плавающей точкой в секунду). Они называются сверхбыстродействующими. Эти машины представляют собой многопроцессорные и (или) многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Различают суперкомпьютеры среднего класса, класса выше среднего и переднего края (high end).

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

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

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

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

Векторная аппаратура очень дорога, в частности, потому, что требуется много сверхбыстродействующей памяти под векторные регистры.

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

В качестве примера рассмотрим характеристики многоцелевого массово-параллельного суперкомпьютера среднего класса Intel Pentium Pro 200. Этот компьютер содержит 9200 процессоров Pentium Pro на 200 Мгц, в сумме (теоретически) обеспечивающих производительность 1,34 Терафлоп (1 Терафлоп равен 1012 операций с плавающей точкой в секунду), имеет 537 Гбайт памяти и диски ёмкостью 2,25 Терабайт. Система весит 44 тонны (кондиционеры для неё — целых 300 тонн) и потребляет мощность 850 кВт.

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

Элементная база — микросхемы сверхвысокой степени интеграции.

Здесь вы найдете описание отечественного многопроцессорного компьютера "Эльбрус".

3.11. Какие существуют типы портативных компьютеров?

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

Основные разновидности портативных компьютеров:


Laptop

Laptop (наколенник, от lap> — колено и top — поверх). По размерам близок к обычному портфелю. По основным характеристикам (быстродействие, память) примерно соответствует настольным ПК. Сейчас компьютеры этого типа уступают место ещё меньшим.


Notebook

Notebook (блокнот, записная книжка). По размерам он ближе к книге крупного формата. Имеет вес около 3 кг. Помещается в портфель-дипломат. Для связи с офисом его обычно комплектуют модемом. Ноутбуки зачастую снабжают приводами CD—ROM.

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


Palmtop


Персональный
цифровой помощник

Palmtop (наладонник) — самые маленькие современные персональные компьютеры. Умещаются на ладони. Магнитные диски в них заменяет энергонезависимая электронная память. Нет и накопителей на дисках — обмен информацией с обычными компьютерами идет линиям связи. Если Palmtop дополнить набором деловых программ, записанных в его постоянную память, получится персональный цифровой помощник (Personal Digital Assistant).


Карманный компьютер
iPAQ 3150

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


Вопросы для самоконтроля

3.1. По каким признакам можно разделять компьютеры на классы и виды?

3.2. Как эволюционировала элементная база компьютеров от поколения к поколению?

3.3. В какой последовательности возникали известные Вам языки программирования?

3.4. Когда микрокомпьютеры стали доступны для широкого домашнего применения?

3.5. Можете ли Вы связать понятия "яблоко", "гараж" и "компьютер"?

3.6. На основе каких технических элементов создавались компьютеры первого поколения?

3.7. Какую основную проблему перед разработчиками и пользователями выдвинул опыт эксплуатации компьютеров первого поколения?

3.8. Какая элементная база характерна для второго поколения компьютеров?

3.9. Какую функцию выполняет операционная система в процессе работы компьютера?

3.10. На какой элементной базе конструируются машины третьего поколения?

3.11. Из каких основных этапов состоит процесс изготовления микросхем?

3.12. Для каких поколений компьютеров характерно широкое использование интегральных схем?

3.13. Какое быстродействие характерно для машин четвёртого поколения?

3.14. Что подразумевают под "интеллектуальностью" компьютеров?

3.15. Какую задачу должен решать "интеллектуальный интерфейс" в машинах пятого поколения?

3.16. Какими особенностями должны обладать промышленные компьютеры?

3.17. Что такое операторский компьютерный интерфейс?

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

3.19. На какое количество пользователей рассчитаны мэйнфреймы?

3.20. Какие идеи лежат в основе архитектуры суперкомпьютеров?

3.21. На каких типах задач максимально реализуются возможности суперкомпьютеров?

3.22. Какие свойства и конструктивные особенности отличают векторные процессоры?

3.23. Назовите основные характеристики какого-либо суперкомпьютера.

3.24. Что означают в переводе на русский язык названия Laptop, Notebook, Palmtop?

3.25. Как в Palmtop компенсируется отсутствие накопителей на дисках?

Глава 4. Арифметические основы компьютеров

4.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 — число целых и дробных разрядов, соответственно.
Например:



4.2. Как порождаются целые числа в позиционных системах счисления?

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

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

Продвинуть цифру 1 значит заменить её на 2, продвинуть цифру 2 значит заменить её на 3 и т.д. Продвижение старшей цифры (например, цифры 9 в десятичной системе) означает замену её на 0. В двоичной системе, использующей только две цифры — 0 и 1, продвижение 0 означает замену его на 1, а продвижение 1 — замену её на 0.

Целые числа в любой системе счисления порождаются с помощью Правила счета [44]:

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

Применяя это правило, запишем первые десять целых чисел

  • в двоичной системе: 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.



4.3. Какие системы счисления используют специалисты для общения с компьютером?

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

  • двоичная (используются цифры 0, 1);
  • восьмеричная (используются цифры 0, 1, ..., 7);
  • шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел — от десяти до пятнадцати — в качестве цифр используются символы A, B, C, D, E, F).

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

10-я 2-я 8-я 16-я

 

10-я 2-я 8-я 16-я
A
B
C
D
E
F

 

Из всех систем счисления особенно проста и поэтому интересна для технической реализации в компьютерах двоичная система счисления.

4.4. Почему люди пользуются десятичной системой, а компьютеры — двоичной?

Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам, а пальцев у людей по десять на руках и ногах. Не всегда и не везде люди пользуются десятичной системой счисления. В Китае, например, долгое время пользовались пятеричной системой счисления.

А компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:

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

Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.

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

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

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

Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 — соответственно, третья и четвертая степени числа 2).

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

Например:


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

Например,



4.6. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?

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

Пример: Переведем число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

4.7. Как пеpевести пpавильную десятичную дpобь в любую другую позиционную систему счисления?

Для перевода правильной десятичной дpоби F в систему счисления с основанием q необходимо F умножить на q , записанное в той же десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д., до тех пор, пока дpобная часть очередного пpоизведения не станет pавной нулю, либо не будет достигнута требуемая точность изображения числа F в q-ичной системе. Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения и изображенных одной q-ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q -(k+1) / 2.

Пример. Переведем число 0,36 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

 

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



4.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ы:



Сводная таблица переводов целых чисел из одной системы счисления в другую

Рассмотрим только те системы счисления, которые применяются в компьютерах — десятичную, двоичную, восьмеричную и шестнадцатеричную. Для определенности возьмем произвольное десятичное число, например 46, и для него выполним все возможные последовательные переводы из одной системы счисления в другую. Порядок переводов определим в соответствии с рисунком:

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

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

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

Сводная таблица переводов целых чисел
Таблица 4.1.



4.10. Как производятся арифметические операции в позиционных системах счисления?

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

С л о ж е н и е

Таблицы сложения легко составить, используя Правило Счета.

Сложение в двоичной системе Сложение в восьмеричной системе

Сложение в шестнадцатиричной системе

Шестнадцатеричная: F16+616 Ответ: 15+6 = 2110 = 101012 = 258 = 1516. Проверка. Преобразуем полученные суммы к… Пример 2. Сложим числа 15, 7 и 3.

В ы ч и т а н и е

У м н о ж е н и е

Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям. Пример 7. Перемножим… Ответ: 5 . 6 = 3010 = 111102 = 368. Проверка. Преобразуем полученные произведения к десятичному виду: 111102 = 24 +…

Д е л е н и е

Ответ: 30 : 6 = 510 = 1012 = 58. Пример 10. Разделим число 5865 на число…

Целые числа без знака

Обычно занимают в памяти компьютера один или два байта. В однобайтовом формате принимают значения от 000000002 до 111111112. В двубайтовом формате - от 00000000 000000002 до 11111111 111111112.

Диапазоны значений целых чисел без знака

 

Формат числа в байтах Диапазон
Запись с порядком Обычная запись
0 ... 28-1 0 ... 255
0 ... 216-1 0 ... 65535

Примеры:

а) число 7210 = 10010002 в однобайтовом формате:

б) это же число в двубайтовом формате:

в) число 65535 в двубайтовом формате:



Целые числа со знаком

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

Диапазоны значений целых чисел со знаком

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

Сложение и вычитание

Сложение обратных кодов. Здесь при сложении чисел А и В имеют место четыре основных и два особых случая: 1. А и В положительные. При суммировании складываются все разряды, включая… 2. А положительное, B отрицательное и по абсолютной величине больше, чем А. Например: Получен правильный результат…

Умножение и деление

Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число… Для иллюстрации умножим 1100112 на 1011012.

Сложение и вычитание

В результате выравнивания порядков одноименные разряды чисел оказываются расположенными в соответствующих разрядах обоих регистров, после чего… Пример 1. Сложить двоичные нормализованные числа 0.10111 . 2-1 и 0.11011 .…

Умножение

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

Пример 3. Выполнить умножение двоичных нормализованных чисел:

(0.11101 . 2101) . (0.1001 . 211) = (0.11101 . 0.1001) . 2(101+11) = 0.100000101 . 21000.

Деление

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

Пример 4. Выполнить деление двоичных нормализованных чисел:

0.1111 . 2100 : 0.101 . 211 = (0.1111 : 0.101) . 2(100-11) = 1.1 . 21 = 0.11 . 210.

Использование представления чисел с плавающей точкой существенно усложняет схему арифметико-логического устройства.

Упражнения

4.2. Какие целые числа следуют за числами: а) 12; е) 18; п) F16; б) 1012; ж) 78; м) 1F16; … [ Ответ ] 4.3. Какие целые числа предшествуют числам: а) 102; е) 108; л) 1016; б) 10102; …

Ответы — Раздел 4. Арифметические основы компьютеров

4.1. в) троичная: 0, 1, 2, 10, 11, 12, 20, 21, 22, 100, 101, 102, 110, 111, 112, 120, 121, 122, 200, 201; г) пятеричная: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34.

4.2. а) 102; б) 1102; в) 10002; г) 100002; д) 1011002; е) 28; ж) 108; з) 408; и) 2008; к) 100008; л) 1016; м) 2016; н) 10016; о) 9AFA16; п) CDF016.

4.3. а) 12; б) 10012; в) 1112; г) 11112; д) 100112; е) 78; ж) 178; з) 778; и) 1078; к) 7778; л) F16; м) 1F16; н) FF16; о) A0F16; п) FFF16.

4.4. Четное двоичное число оканчивается цифрой 0, нечетное двоичное — цифрой 1, четное троичное — цифрами 0, 1 или 2.

4.5. а) 7; б) 511; в) 4091.

4.7. а) ни в какой; б) в шестеричной.

4.8. Основание 5.

4.9. а) 91; б) 183; в) 225; г) 35/64; д) 52,75; е) 335; ж) 520; з) 668; и) 7/16; к) 8333/64; л) 31; м) 2748; н) 4112; о) 41/64; п) 47825/32.

4.10. а) 11111012; 1758; 7D16; б) 111001012; 3458; E516; в) 10110002; 1308; 5816; г) 100101,012; 45,28; 25,416; д) 11001110,0012; 316,18; CE,216.

4.11. а) 11767,348; 13F7,716; б) 1653,5648; 3AB,BA16; в) 271,5478; B9,B3816; г) 13634,68; 179C,C16; д) 27,76748; 17,FBC16; е) 1425,628; 315,C816.

4.12. а) 10110011102; 13168; б) 10011111010000002; 1175008; в) 101010111100110111102; 25363368; г) 1000000010000,0001000000012; 10020,04018; д) 1101010111100,100111012; 15274,4728.

4.13. а) 1011012, 1011102, 1011112, 1100002; б) 2023, 2103, 2113, 2123, 2203, 2213, 2223, 10003; в) 148, 158, 168, 178, 208; г) 2816, 2916, 2A16, 2B16, 2C16, 2D16, 2E16, 2F16, 3016;

4.14. а) 4710 - 1011112 - 578 - 4710 - 578 - 1011112 - 2F16 - 4710 - 2F16 - 1011112 - 4710; б) 7910 - 10011112 - 1178 - 7910 - 1178 - 10011112 - 4F16 - 7910 - 4F16 - 10011112 - 7910.

4.15.

  +
 
+  
 
 
 

4.16.

  x
 
x  
 
 
 

4.17. а) 110101002; б) 10001,02; в) 10101,12; г) 11001,12; д) 1348; е) 2248; ж) 24,38; з) 348; и) 1916; к) 2516; л) 19,A16; м) 2616.

4.18. а) в 16-й; б) в 10-й; в) в 3-й; г) в 8-й; д) в 16-й.

4.19. в) А=9, B=4, C=5, D=3, F=1, L=0, M=7, N=8; г) A=3, B=6, C=2, D=5, E=9, F=7, G=1, H=0, I=4, J=8; д) A=9, B=3, C=4, D=2, E=1, F=8, G=0, H=7, I=6.

4.20. а) 11012; б) 1,112; в) 1010,12; г) -10,012; д) 38; е) 338; ж) 22,18; з) 11,258; и) 1716; к) 1A9216; л) -1,7E16; м) 4BBC16.

4.21. а) 111000012; б) 11000110,012; в) 1000000,1012; г) 1001011,1012; д) 1748; е) 1428; ж) 15.268; з) 55.22228.

4.22. 11112.

4.23. 11001112; 10310; 1478.

4.24. а) 149310; б) 54210; в) 142010; г) 1110.

4.25. а) 1100102, 3816, 748, 7010; б) 1428, 10010, 11010012, 6E16; в) 1011111112, 50010, 7778, 2FF16; г) 11000002, 6016, 1418, 10010.

4.26. а) 00000011, 00000010, 00000001, 00000000, 10000001, 10000010, 10000011; б) 00000011, 00000010, 00000001, 00000000, 11111110, 11111101, 11111100; в) 00000011, 00000010, 00000001, 00000000, 11111111, 11111110, 11111101.

4.27. а) 00001111; б) 10111111; в) 01000001; г) невозможно.

4.28. Обратный: а) 11110110, б) 11110000, в) 10000000, г) невозможнo. Дополнительный: а) 11110111; б) 11110001; в) 10000001; г) 10000000.

4.29. а) -8; б) -101; в) -23; г) -128.

4.30. а) -23; б) -96; в) -84; г) -127.

4.31. Обратный: а) 00000111; б) 11111000; в) 11110011; г) 11100001; д) 00011001; е) 01111110; ж) переполнение; з) 10000000; и) невозможно. Дополнительный: а) 00000111; б) 11111001; в) 11110100; г) 11100010; д) 00011001; е) 01111110; ж) переполнение; з) 10000001; и) 10000000.

Глава 5. Логические основы компьютеров

5.1. Что такое алгебра логики?

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

Алгебра логики возникла в середине ХIХ века в трудах английского математика Джорджа Буля. Ее создание представляло собой попытку решать традиционные логические задачи алгебраическими методами.

Что же такое логическое высказывание?

Логическое высказывание — это любoе повествовательное пpедлoжение, в oтнoшении кoтopoгo мoжно oднoзначнo сказать, истиннo oнo или лoжнo.


Джордж Буль

Так, например, предложение "6 — четное число" следует считать высказыванием, так как оно истинное. Предложение "Рим — столица Франции" тоже высказывание, так как оно ложное.

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

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

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

Алгебра логики рассматривает любое высказывание только с одной точки зрения — является ли оно истинным или ложным. Заметим, что зачастую трудно установить истинность высказывания. Так, например, высказывание "площадь поверхности Индийского океана равна 75 млн кв. км" в одной ситуации можно посчитать ложным, а в другой — истинным. Ложным — так как указанное значение неточное и вообще не является постоянным. Истинным — если рассматривать его как некоторое приближение, приемлемое на практике.

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

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

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

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

Истинность или ложность получаемых таким образом составных высказываний зависит от истинности или ложности элементарных высказываний.

Чтобы обращаться к логическим высказываниям, им назначают имена. Пусть через А обозначено высказывание "Тимур поедет летом на море", а через В — высказывание "Тимур летом отправится в горы". Тогда составное высказывание "Тимур летом побывает и на море, и в горах" можно кратко записать как А и В. Здесь "и" — логическая связка, А, В — логические переменные, которые мoгут принимать только два значения — "истина" или "ложь", обозначаемые, соответственно, "1" и "0".

Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение:

НЕ Операция, выражаемая словом "не", называется отрицанием и обозначается чертой над высказыванием (или знаком ). Высказывание истинно, когда A ложно, и ложно, когда A истинно. Пример. "Луна — спутник Земли" (А); "Луна — не спутник Земли" ().

И Операция, выражаемая связкой "и", называется конъюнкцией (лат. conjunctio — соединение) или логическим умножением и обозначается точкой " . " (может также обозначаться знаками или &). Высказывание А . В истинно тогда и только тогда, когда оба высказывания А и В истинны. Например, высказывание "10 делится на 2 и 5 больше 3" истинно, а высказывания "10 делится на 2 и 5 не больше 3", "10 не делится на 2 и 5 больше 3", "10 не делится на 2 и 5 не больше 3" — ложны.

ИЛИ Операция, выражаемая связкой "или" (в неисключающем смысле этого слова), называется дизъюнкцией (лат. disjunctio — разделение) или логическим сложением и обозначается знаком v (или плюсом). Высказывание А v В ложно тогда и только тогда, когда оба высказывания А и В ложны. Например, высказывание "10 не делится на 2 или 5 не больше 3" ложно, а высказывания "10 делится на 2 или 5 больше 3", "10 делится на 2 или 5 не больше 3", "10 не делится на 2 или 5 больше 3" — истинны.

ЕСЛИ-ТО Операция, выражаемая связками "если ..., то", "из ... следует", "... влечет ...", называется импликацией (лат. implico — тесно связаны) и обозначается знаком . Высказывание ложно тогда и только тогда, когда А истинно, а В ложно.

Каким же образом импликация связывает два элементарных высказывания? Покажем это на примере высказываний: "данный четырёхугольник — квадрат" (А) и "около данного четырёхугольника можно описать окружность" (В). Рассмотрим составное высказывание , понимаемое как "если данный четырёхугольник квадрат, то около него можно описать окружность". Есть три варианта, когда высказывание истинно:

  1. А истинно и В истинно, то есть данный четырёхугольник квадрат, и около него можно описать окружность;
  2. А ложно и В истинно, то есть данный четырёхугольник не является квадратом, но около него можно описать окружность (разумеется, это справедливо не для всякого четырёхугольника);
  3. A ложно и B ложно, то есть данный четырёхугольник не является квадратом, и около него нельзя описать окружность.

Ложен только один вариант, когда А истинно, а В ложно, то есть данный четырёхугольник является квадратом, но около него нельзя описать окружность.

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

РАВНОСИЛЬНО Операция, выражаемая связками "тогда и только тогда", "необходимо и достаточно", "... равносильно ...", называется эквиваленцией или двойной импликацией и обозначается знаком или ~. Высказывание истинно тогда и только тогда, когда значения А и В совпадают. Например, высказывания "24 делится на 6 тогда и только тогда, когда 24 делится на 3", "23 делится на 6 тогда и только тогда, когда 23 делится на 3" истинны, а высказывания "24 делится на 6 тогда и только тогда, когда 24 делится на 5", "21 делится на 6 тогда и только тогда, когда 21 делится на 3" ложны.

Высказывания А и В, образующие составное высказывание , могут быть совершенно не связаны по содержанию, например: "три больше двух" (А), "пингвины живут в Антарктиде" (В). Отрицаниями этих высказываний являются высказывания "три не больше двух" (), "пингвины не живут в Антарктиде" (). Образованные из высказываний А и В составные высказывания A B и истинны, а высказывания A и B — ложны.

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

Импликацию можно выразить через дизъюнкцию и отрицание: А В = v В. Эквиваленцию можно выразить через отрицание, дизъюнкцию и конъюнкцию: А В = (v В) . (v А).

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

Порядок выполнения логических операций задается круглыми скобками. Но для уменьшения числа скобок договорились считать, что сначала выполняется операция отрицания ("не"), затем конъюнкция ("и"), после конъюнкции — дизъюнкция ("или") и в последнюю очередь — импликация.

5.2. Что такое логическая формула?

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

Определение логической формулы:
  1. Всякая логическая переменная и символы "истина" ("1") и "ложь" ("0") — формулы.
  2. Если А и В — формулы, то , А . В , А v В , А B , А В — формулы.
  3. Никаких других формул в алгебре логики нет.

В п. 1 определены элементарные формулы; в п. 2 даны правила образования из любых данных формул новых формул.

В качестве примера рассмотрим высказывание "если я куплю яблоки или абрикосы, то приготовлю фруктовый пирог". Это высказывание формализуется в виде (A v B) C. Такая же формула соответствует высказыванию "если Игорь знает английский или японский язык, то он получит место переводчика".

Как показывает анализ формулы (A v B) C, при определённых сочетаниях значений переменных A, B и C она принимает значение "истина", а при некоторых других сочетаниях — значение "ложь" (разберите самостоятельно эти случаи). Такие формулы называются выполнимыми.

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

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

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

Равносильность двух формул алгебры логики обозначается символом "=" или символом "" Замена формулы другой, ей равносильной, называется равносильным преобразованием данной формулы.

5.3. Какая связь между алгеброй логики и двоичным кодированием?

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

Из этого следует два вывода:

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

5.4. В каком виде записываются в памяти компьютера и в регистрах процессора данные и команды?

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

5.5. Что такое логический элемент компьютера?

Логический элемент компьютера — это часть электронной логичеcкой схемы, которая реализует элементарную логическую функцию.

Логическими элементами компьютеров являются электронные схемы И, ИЛИ, НЕ, И—НЕ, ИЛИ—НЕ и другие (называемые также вентилями), а также триггер.

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

Чтобы представить два логических состояния — “1” и “0” в вентилях, соответствующие им входные и выходные сигналы имеют один из двух установленных уровней напряжения. Например, +5 вольт и 0 вольт.

Высокий уровень обычно соответствует значению “истина” (“1”), а низкий — значению “ложь” (“0”).

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

Работу логических элементов описывают с помощью таблиц истинности.

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

5.6. Что такое схемы И, ИЛИ, НЕ, И—НЕ, ИЛИ—НЕ?


С х е м а И

Схема И реализует конъюнкцию двух или более логических значений. Условное обозначение на структурных схемах схемы И с двумя входами представлено на рис. 5.1.



Рис. 5.1

Таблица истинности схемы И

x y x . y

Единица на выходе схемы И будет тогда и только тогда, когда на всех входах будут единицы. Когда хотя бы на одном входе будет ноль, на выходе также будет ноль.

Связь между выходом z этой схемы и входами x и y описывается соотношением: z = x . y
(читается как "x и y"). Операция конъюнкции на структурных схемах обозначается знаком "&" (читается как "амперсэнд"), являющимся сокращенной записью английского слова and.

С х е м а ИЛИ

Условное обозначение на структурных схемах схемы ИЛИ с двумя входами представлено на рис. 5.2. Знак "1" на схеме — от устаревшего… Рис. 5.2 Таблица истинности схемы ИЛИ x y x v y …

С х е м а НЕ

Схема НЕ (инвертор) реализует операцию отрицания. Связь между входом x этой схемы и выходом z можно записать соотношением z = , x где читается как "не x" или "инверсия х".

Если на входе схемы 0, то на выходе 1. Когда на входе 1, на выходе 0. Условное обозначение на структурных схемах инвертора — на рисунке 5.3



Рис. 5.3

Таблица истинности схемы НЕ

x


С х е м а И—НЕ

Рис. 5.4 Таблица истинности схемы И—НЕ x y …

С х е м а ИЛИ—НЕ

Рис. 5.5 Таблица истинности схемы ИЛИ—НЕ x y …  

ОСНОВНЫЕ ЗАКОНЫ АЛГЕБРЫ ЛОГИКИ

Согласно определению, таблица истинности логической формулы выражает соответствие между всевозможными наборами значений переменных и значениями… Для формулы, которая содержит две переменные, таких наборов значений… (0, 0), (0, 1), (1, 0), (1, 1).

Примеры.

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

Переменные Промежуточные логические формулы Формула

Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 1, то есть является тождественно истинной.

2. Таблица истинности для формулы :

Переменные Промежуточные логические формулы Формула

Из таблицы видно, что при всех наборах значений переменных x и y формула принимает значение 0, то есть является тождественно ложной.

3. Таблица истинности для формулы :

Переменные Промежуточные логические формулы Формула

Из таблицы видно, что формула в некоторых случаях принимает значение 1, а в некоторых — 0, то есть является выполнимой.

5.11. Как упростить логическую формулу?

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

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

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

Покажем на примерах некоторые приемы и способы, применяемые при упрощении логических формул:

1)
(законы алгебры логики применяются в следующей последовательности: правило де Моргана, сочетательный закон, правило операций переменной с её инверсией и правило операций с константами);

2)
(применяется правило де Моргана, выносится за скобки общий множитель, используется правило операций переменной с её инверсией);

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

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

5)
(сначаладобиваемся, чтобы знак отрицания стоял только перед отдельными переменными, а не перед их комбинациями, для этого дважды применяем правило де Моргана; затем используем закон двойного отрицания);

6)
(выносятся за скобки общие множители; применяется правило операций с константами);

7)
(к отрицаниям неэлементарных формул применяется правило де Моргана; используются законы двойного отрицания и склеивания);

8)
(общий множитель x выносится за скобки, комбинируются слагаемые в скобках — первое с третьим и второе с четвертым, к дизъюнкции применяется правило операции переменной с её инверсией);

9)
(используются распределительный закон для дизъюнкции, правило операции переменной с ее инверсией, правило операций с константами, переместительный закон и распределительный закон для конъюнкции);

10)
(используются правило де Моргана, закон двойного отрицания и закон поглощения).

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

5.12. Что такое переключательная схема?

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

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

Каждый переключатель имеет только два состояния: замкнутое и разомкнутое. Переключателю Х поставим в соответствие логическую переменную х, которая принимает значение 1 в том и только в том случае, когда переключатель Х замкнут и схема проводит ток; если же переключатель разомкнут, то х равен нулю.

Будем считать, что два переключателя Х и связаны таким образом, что когда Х замкнут, то разомкнут, и наоборот. Следовательно, если переключателю Х поставлена в соответствие логическая переменная х, то переключателю должна соответствовать переменная .

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

Найдем функции проводимости F некоторых переключательных схем:

a)

Схема не содержит переключателей и проводит ток всегда, следовательно F=1;

б)

Схема содержит один постоянно разомкнутый контакт, следовательно F=0;

в)

Схема проводит ток, когда переключатель х замкнут, и не проводит, когда х разомкнут, следовательно, F(x) = x;

г)

Схема проводит ток, когда переключатель х разомкнут, и не проводит, когда х замкнут, следовательно, F(x) = ;

д)

Схема проводит ток, когда оба переключателя замкнуты, следовательно, F(x) = x . y;

е)

Схема проводит ток, когда хотя бы один из переключателей замкнут, следовательно, F(x)=x v y;

ж)

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

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

Задача нахождения среди равносильных схем наиболее простых является очень важной. Большой вклад в ее решение внесли российские учёные Ю.И. Журавлев, С.В. Яблонский и др.

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

СИНТЕЗ СХЕМЫ по заданным условиям ее работысводится к следующим трём этапам:

  1. составлению функции проводимости по таблице истинности, отражающей эти условия;
  2. упрощению этой функции;
  3. построению соответствующей схемы.

АНАЛИЗ СХЕМЫ сводится к

  1. определению значений её функции проводимости при всех возможных наборах входящих в эту функцию переменных.
  2. получению упрощённой формулы.

Примеры.

1. Построим схему, содержащую 4 переключателя x, y, z и t, такую, чтобы она проводила ток тогда и только тогда, когда замкнут контакт переключателя t и какой-нибудь из остальных трёх контактов.

Решение. В этом случае можно обойтись без построения таблицы истинности. Очевидно, что функция проводимости имеет вид F(x, y, z, t) = t . (x v y v z), а схема выглядит так:

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

Схема имеет вид:

3. Найдем функцию проводимости схемы:

Решение. Имеется четыре возможных пути прохождения тока при замкнутых переключателях a, b, c, d, e : через переключатели a, b; через переключатели a, e, d; через переключатели c, d и через переключатели c, e, b. Функция проводимости F(a, b, c, d, e) = a . b v a . e . d v c . d v c . e . b.

4. Упростим переключательные схемы:

а)

Решение:

Упрощенная схема:

б)

.

Здесь первое логическое слагаемое является отрицанием второго логического слагаемого , а дизъюнкция переменной с ее инверсией равна 1.

Упрощенная схема :

в)

Упрощенная схема:

г)

Упрощенная схема:

д)

(по закону склеивания)

Упрощенная схема:

е)

Решение:

Упрощенная схема:

5.13. Как решать логические задачи?

Разнообразие логических задач очень велико. Способов их решения тоже немало. Но наибольшее распространение получили следующие три способа решения логических задач:

  • средствами алгебры логики;
  • табличный;
  • с помощью рассуждений.

Познакомимся с ними поочередно.

I. Решение логических задач средствами алгебры логики

Пример 1. Трое друзей, болельщиков автогонок "Формула-1", спорили о результатах предстоящего этапа гонок. — Вот увидишь, Шумахер не придет первым, — сказал Джон. Первым будет Хилл. — Да нет же, победителем будет, как всегда, Шумахер, — воскликнул Ник. — А об Алези и говорить нечего, ему не быть…

II. Решение логических задач табличным способом

Пример 3. В симфонический оркестр приняли на работу трёх музыкантов: Брауна, Смита и Вессона, умеющих играть на скрипке, флейте, альте, кларнете,… Известно, что: Смит самый высокий; играющий на скрипке меньше ростом… На каких инструментах играет каждый из музыкантов, если каждый владеет двумя инструментами?

III. Решение логических задач с помощью рассуждений

Пример 6. Вадим, Сергей и Михаил изучают различные иностранные языки: китайский, японский и арабский. На вопрос, какой язык изучает каждый из них,… Решение. Имеется три утверждения: Вадим изучает китайский; Сергей не… Если верно первое утверждение, то верно и второе, так как юноши изучают разные языки. Это противоречит условию задачи,…

Упражнения

[ Ответ ] 5.2. Укажите, какие из высказываний предыдущего упражнения истинны, какие —… 5.3. Приведите примеры истинных и ложных высказываний: а) из арифметики; б) из физики; в) из биологии; г) из…

ЛОГИЧЕСКИЕ ЗАДАЧИ

5.24. Виновник ночного дорожно-транспортного происшествия скрылся с места аварии. Первый из опрошенных свидетелей сказал работникам ГАИ, что это… 5.25. Пятеро одноклассников: Ирена, Тимур, Камилла, Эльдар и Залим стали… Победителем какой олимпиады стал каждый из этих ребят? [ Ответ ]

Ответы — Раздел 5. Логические основы компьютеров

5.1. Являются высказываниями: а), г), д), ж), з), и), к);
не являются высказываниями: б); в); е).

5.2. Истинные: д), з), к);
ложные: а), и);
истинность трудно установить: г);
можно рассматривать и как истинное, и как ложное в зависимости от требуемой точности представления: ж).

5.3. Образцы.
Истинные высказывания: а)2+2=4”; б) “сила притяжения тел обратно пропорциональна квадрату расстояния между ними” в) “зайцы питаются растениями”; г) “бит - фундаментальная единица информации, используемая в теории информации”; д) “два треугольника равны, если две стороны и угол между ними одного треугольника равны двум сторонам и углу между ними другого треугольника”; е) “понедельник - первый день недели”.

Ложные высказывания: а) “4+3=5”; б) “тело падает на Землю с ускорением, пропорциональным своей массе”; в) “животные это неживая природа" г) “информатика - наука о термической обработке металлов”; д) “квадрат это фигура у которой пять сторон”; е) “лев - домашнее животное”.

5.4. а) “Эльбрус – не высочайшая горная вершина Европы”; б) “2<5”; в) “10>=7”; г) “не все натуральные числа целые”; д) “не через любые три точки на плоскости можно провести окружность”; е) “теннисист Кафельников проиграл финальную игру”; ж) “мишень не поражена первым выстрелом”; з) “это утро не ясное или оно не теплое” (Пояснение. Пусть А = “это утро ясное”, а B = “это утро теплое”. Тогда “это утро ясное и теплое” можно записать как АВ, отрицанием чего является , что соответствует высказывательной форме “это утро не ясное или оно не не теплое”; и)“число n не делится на 2 и оно делится на 3”; к) “этот треугольник не равнобедренный или он не прямоугольный”; л) “не каждый ученик писал контрольную своей ручкой” (вариант: "кто-то писал контрольную не своей ручкой").

5.5. Являются отрицаниями друг друга: б), г), д), к);
не являются отрицаниями друг друга: а), в), е), ж), з), и).

5.6. Истинны: б), в), г), з), к), и);
ложны: а), д), е), ж).

5.8. .

5.9. Решение. Введем обозначения для логических высказываний: а – “ты будешь говорить правду”; b – “тебя возненавидят люди”; c – “тебя возненавидят боги”. Договоримся считать, что некоторое заданное высказывание x истинно, если нет оговорки. Тогда предостережение матери можно записать так:
. А ответ сына – так:
.

5.10.

а) “это утро ясное и тёплое”; ж) “это утро не ясное или не тёплое”;
б) “это утро ясное и оно не тёплое”; з) “это утро не ясное и не тёплое”;
в) “это утро не ясное и оно не тёплое”; и) “это утро ясное или не тёплое”;
г) “это утро не ясное или оно тёплое”; к) “если это тро ясное, то оно не тёплое”;
д) “это утро ясное или оно не тёплое”; л) “если это утро не ясное, то оно тёплое”;
е) “это утро не ясное или оно не тёплое”; м) “это утро ясное и не тёплое”.

5.11. а) ; б) .

5.13. Тождественно истинные: а), в), е);
тождественно ложные: г), д), ж).

5.14. а) b•c; б) a; в) c•(a v b) v a•b (Указание: повторить четвертое логическое слагаемое 3 раза); г) a v c.

5.15. а) a; б) a•b; в) a; г) a•b;

5.16. а) a v c; б) ; в) ; г) a v c; д) a•(c v b•d); е) ; ж) ; з) ; и) a•(b v c•d); к) .

5.18.

5.19. Равносильны: б), в), д);
неравносильны: а), г).

Пояснения. Обозначим функции проводимости рассматриваемых переключательных схем как F1 и F2, соответственно. Тогда: а) ; ;
б) ; ;
в) ; ;
д) ; .

5.21. Упрощенные функции:

5.22. Функции проводимости упрощенных схем:

5.23. Аня вырастила маргаритки, Роза – анютины глазки, Маргарита – розы.

5.24. “Жигули”, номер начинается с семерки.

5.25. Ирена – победитель олимпиады по математике, Тимур – по географии, Камилла – по физике, Эльдар – по литературе, Залим – по информатике.

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

5.27. Шумахер пришел первым, Кулхардт – вторым, Хилл – третьим и Алези – четвертым. Пояснение. Шумахер не четвертый, так как он пожимал четвертому руку; он не второй и не третий, так как пилоты, занявшие эти места поливали друг друга шампанским в то время как он пожимал руку. Следовательно, Шумахер первый. Далее, раз Хилл мокрый, то он занял одно из призовых мест, но не первое и не второе (поздравлял пилота, занявшего второе место). Следовательно, Хилл – третий. Кулхардт занял не четвертое место, так как он втаскивал на пьедестал пилота, занявшего четвертое место. Следовательно, он второй.

5.28. Добрыня Никитич.

5.29. Есть две возможности:
а) первый урок – информатика, второй – история, третий – физика;
б) первый урок – физика, второй – информатика, третий – история.

5.30. При отказе второго двигателя нельзя продолжать полет.

5.31. Первое место занял Саша, второе – Андрей, третье – Дима, четвертое – Виктор.

5.32. В экспедицию следует включить: аэронавтом – Геррети, космонавигатором – Кларка, биомехаником – Фриша, энергетиком – Депардье, врачом – Хорхеса, астрофизиком – Леонова.

 

Глава 6. Программное обеспечение компьютеров

6.1. Что такое программное обеспечение?

Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.

К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:

  • технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);
  • методы тестирования программ [ссылка, ссылка];
  • методы доказательства правильности программ;
  • анализ качества работы программ;
  • документирование программ;
  • разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.

Программное обеспечение — неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.

Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах.

Программное обеспечение современных компьютеров включает миллионы программ — от игровых до научных.

6.2. Как классифицируется программное обеспечение?

В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории (рис. 6.1):

  1. прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
  2. системные программы, выполняющие различные вспомогательные функции, например:
    • управление ресурсами компьютера;
    • создание копий используемой информации;
    • проверка работоспособности устройств компьютера;
    • выдача справочной информации о компьютере и др.;
  3. инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.

Рис. 6.1. Категории программного обеспечения

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

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

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

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

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

На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:

  • операционные системы и оболочки;
  • системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
  • инструментальные системы;
  • интегрированные пакеты программ;
  • динамические электронные таблицы;
  • системы машинной графики;
  • системы управления базами данных (СУБД);
  • прикладное программное обеспечение.

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

6.3. Какие программы называют прикладными?

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

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

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

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

6.4. Какова роль и назначение системных программ? Системные программы выполняются вместе с прикладными и служат для управления… Это программы общего пользования, которые предназначены для всех пользователей компьютера.Системное программное…

Функции и характеристики сетевых операционных систем (ОС)

К основным функциям сетевых ОС относят: управление каталогами и файлами; управление ресурсами; коммуникационные функции; защиту от… Управление каталогами и файлами в сетях заключается в обеспечении доступа к… Управление ресурсами включает обслуживание запросов на предоставление ресурсов, доступных по сети.

Вопросы для самоконтроля.

6.1. Что такое программа?

6.2. Что включает в себя понятие "программное обеспечение"?

6.3. Назовите и характеризуйте основные категории программного обеспечения.

6.4. В чем отличие прикладных программ от системных и инструментальных?

6.5. Что входит в системное программное обеспечение?

6.6. В чем состоит назначение операционной системы?

6.7. Характеризуйте основные классы операционных систем.

6.8. Опишите процесс начальной загрузки операционной системы в оперативную память компьютера.

6.9. Что такое файл?

6.10. Как организована файловая система?

6.11. Какой модуль операционной системы осуществляет обслуживание файлов?

6.12. Приведите пример иерархической файловой структуры.

6.13. Что такое базовая система ввода-вывода (BIOS), и в каком разделе памяти она размещается?

6.14. Из каких основных модулей состоит операционная система MS-DOS?

6.15. Назовите основные разновидности программ-утилит и дайте им краткую характеристику.

6.16. К каким категориям программного обеспечения относятся программные пакеты:

— Norton Commander;
— MS-DOS;
— Windows 3.x;
— Windows-NT, Windows 95;
— Microsoft Word;
— Adobe PageMaker;
— Turbo Bascal, Turbo Basic;
— Microsoft Excel, Lotus;
— FoxPro, Access for Windows;
— Microsoft Office, Microsoft Works?

6.17. Для чего предназначен пакет программ Norton Commander?

6.18. Какой вид интерфейса удобнее для пользователя — командный или графический?

6.19. Чем объясняется широкая популярность пакета Norton Commander?

6.20. Что такое компьютерные вирусы, в чем состоят их вредные действия?

6.21. Какие существуют средства борьбы с компьютерными вирусами?

6.22. В чем суть процесса сжатия информации?

6.23. Характеризуйте основные особенности операционных систем Windows-NT и Windows 95.

6.24. Какие языки и системы программирования вы знаете и в чем их особенности?

6.25. В чем отличие процесса интерпретации от процесса компиляции?

6.26. Назовите основные функции текстовых редакторов.

6.27. Какие дополнительные возможности редактирования текстов обеспечивают полнофункциональные издательские системы по сравнению с текстовыми редакторами?

6.28. Назовите функциональные возможности табличного процессора.

6.29. Какие виды входных данных могут быть введены в клетки электронных таблиц?

6.30. Дайте определение и опишите назначение базы данных.

6.31. Приведите пример возможного наполнения базы данных вашего учебного заведения.

6.32. Каковы основные функциональные возможности систем управления базами данных?

6.33. Что такое информационно-поисковые системы?

6.34. Дайте определение пакета прикладных программ.

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

6.36. Дайте определения интегрированного пакета программ.

6.37. Каково назначение сетевого программного обеспечения?

 

Глава 7. Алгоритмы. Алгоритмизация. Алгоритмические языки

7.1. Что такое алгоритм?

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

Название "алгоритм" произошло от латинской формы имени величайшего среднеазиатского математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi), жившего в 783—850 гг. В своей книге "Об индийском счете" он изложил правила записи натуральных чисел с помощью арабских цифр и правила действий над ними "столбиком", знакомые теперь каждому школьнику. В XII веке эта книга была переведена на латынь и получила широкое распространение в Европе.

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

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

Алгоpитм — заранее заданное понятное и точное пpедписание возможному исполнителю совеpшить определенную последовательность действий для получения решения задачи за конечное число шагов.

Это — не определение в математическом смысле слова, а, скорее, описание интуитивного понятия алгоритма, раскрывающее его сущность.

Понятие алгоритма является не только одним из главных понятий математики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].

7.2. Что такое "Исполнитель алгоритма"?

Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.

Исполнителя хаpактеpизуют:

  • сpеда;
  • элементаpные действия;
  • cистема команд;
  • отказы.

Сpеда (или обстановка) — это "место обитания" исполнителя. Напpимеp, для исполнителя Pобота из школьного учебника [1] сpеда — это бесконечное клеточное поле. Стены и закpашенные клетки тоже часть сpеды. А их pасположение и положение самого Pобота задают конкpетное состояние среды.

Система команд. Каждый исполнитель может выполнять команды только из некотоpого стpого заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия пpименимости (в каких состояниях сpеды может быть выполнена команда) и описаныpезультаты выполнения команды. Напpимеp, команда Pобота "ввеpх" может быть выполнена, если выше Pобота нет стены. Ее pезультат — смещение Pобота на одну клетку ввеpх.

После вызова команды исполнитель совеpшает соответствующее элементаpное действие.

Отказы исполнителя возникают, если команда вызывается пpи недопустимом для нее состоянии сpеды.

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

В информатике универсальным исполнителем алгоритмов является компьютер.

7.3. Какими свойствами обладают алгоpитмы?

Основные свойства алгоритмов следующие:

1. Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.

2. Дискpетность (прерывность, раздельность) — алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

3. Опpеделенность — каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

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

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

7.4. В какой форме записываются алгоритмы?

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

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

7.5. Что такое словесный способ записи алгоритмов?

Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.

Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида).

Алгоритм может быть следующим:

  1. задать два числа;
  2. если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма;
  3. определить большее из чисел;
  4. заменить большее из чисел разностью большего и меньшего из чисел;
  5. повторить алгоритм с шага 2.

Описанный алгоритм применим к любым натуральным числам и должен приводить к решению поставленной задачи. Убедитесь в этом самостоятельно, определив с помощью этого алгоритма наибольший общий делитель чисел 125 и 75.

Словесный способ не имеет широкого распространения, так как такие описания:

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

7.6. Что такое графический способ записи алгоритмов?

Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.

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

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

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

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

Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.

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

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

7.7. Что такое псевдокод?

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

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

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

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

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

Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ), описанный в учебнике А.Г. Кушниренко и др. "Основы информатики и вычислительной техники", 1991. Этот язык в дальнейшем мы будем называть просто "алгоритмический язык".

7.8. Как записываются алгоритмы на школьном алгоритмическом языке?

Основные служебные слова

Часть алгоритма от слова алг до слова нач называется заголовком, а часть, заключенная между словами нач и кон — телом алгоритма. В предложении алг после названия алгоритма в круглых скобках указываются… Примеры предложений алг: алг Объем и площадь цилиндра ( арг вещ R, H, рез вещ V, S ) алг Корни КвУр ( арг вещ а,…

Команды школьного АЯ

Команда присваивания. Служит для вычисления выражений и присваивания их значений переменным. Общий вид: А := В, где знак ":=" означает команду заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части.
Например, a := (b+c) * sin(Pi/4); i := i+1.

Команды ввода и вывода.

  • ввод имена переменных
  • вывод имена переменных, выражения, тексты.

Команды если и выбор. Применяют для организации ветвлений.

Команды для и пока. Применяют для организации циклов.

Пример записи алгоритма на школьном АЯ

алг Сумма квадратов (арг цел n, рез цел S)дано | n > 0надо | S = 1*1 + 2*2 + 3*3 + ... + n*nнач цел iввод n; S:=0нц для i от 1 до n S:=S+i*iкц вывод "S = ", Sкон

7.9. Что такое базовые алгоритмические структуры?

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

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

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

1. Базовая структура "следование". Образуется последовательностью действий, следующих одно за другим:

Школьный алгоритмический язык Язык блок-схем
действие 1 действие 2 . . . . . . . . . действие n

2. Базовая структура "ветвление". Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах:

  • если—то;
  • если—то—иначе;
  • выбор;
  • выбор—иначе.
Школьный алгоритмический язык Язык блок-схем
1. если—то
если условие то действия все
2. если—то—иначе
если условие то действия 1 иначе действия 2 все
3. выбор
выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N все
4. выбор—иначе
выбор при условие 1: действия 1 при условие 2: действия 2 . . . . . . . . . . . . при условие N: действия N иначедействия N+1 все

 

Примеры структуры ветвление

 

Школьный алгоритмический язык Язык блок-схем
если x > 0 то y := sin(x) все
если a > b то a := 2*a; b := 1 иначе b := 2*b все
выбор при n = 1: y := sin(x) при n = 2: y := cos(x) при n = 3: y := 0 все
выбор при a > 5: i := i+1 при a = 0: j := j+1 иначе i := 10; j:=0 все


3. Базовая структура "цикл". Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Основные разновидности циклов представлены в таблице:

Школьный алгоритмический язык Язык блок-схем
Цикл типа пока. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
нц пока условие тело цикла (последовательность действий) кц
Цикл типа для. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
нц для i от i1до i2 тело цикла (последовательность действий) кц

 

Примеры структуры цикл

 

Школьный алгоритмический язык Язык блок-схем
нц пока i <= 5 S := S+A[i] i := i+1 кц
нц для i от 1 до 5 X[i] := i*i*i Y[i] := X[i]/2 кц


7.10. Какие циклы называют итерационными?

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

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

Пример. Составить алгоритм вычисления бесконечной суммы


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

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

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

Решая эту задачу "в лоб" путем вычисления на каждом i-ом шаге частичной суммы

S:=S + ((-1)**(i-1)) * (x**i) / i ,


мы получим очень неэффективный алгоритм, требующий выполнения большого числа операций. Гораздо лучше организовать вычисления следующим образом: если обозначить числитель какого-либо слагаемого буквой р , то у следующего слагаемого числитель будет равен —р*х (знак минус обеспечивает чередование знаков слагаемых), а само слагаемое m будет равно p/i , где i — номер слагаемого.

Сравните эти два подхода по числу операций.

Алгоритм на школьном АЯ Блок-схема алгоритма
алг Сумма (арг вещ x, Eps, рез вещ S) дано | 0 < x < 1 надо | S = x - x**2/2 + x**3/3 - ... нач цел i,вещ m, p ввод x, Eps S := 0; i := 1 | начальные значения m := 1; p := -1 нц пока abs(m) > Eps p := -p*x | p - числитель | очередного слагаемого m := p/i | m - очередное слагаемое S := S + m | S - частичная сумма i := i + 1 | i - номер | очередного слагаемого кц вывод S кон

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

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

7.11. Что такое вложенные циклы?

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

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

Пример вложенных циклов для

Вычислить сумму элементов заданной матрицы А(5,3).

Матрица А S := 0; нц для i от 1 до 5 нц для j от 1до 3 S:=S+A[i,j] кц кц

Пример вложенных циклов пока

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

i:=2; P:=1 нц пока i <= 10 j:=2 нц пока j <= 10 P:=P*A[i,j] j:=j+2 кц i:=i+2 кц

7.12. Чем отличается программный способ записи алгоритмов от других?

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

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

Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.

7.13.Что такое уровень языка программирования?

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

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

По этому критерию можно выделить следующие уровни языков программирования:

  • машинные;
  • машинно-оpиентиpованные (ассемблеpы);
  • машинно-независимые (языки высокого уровня).

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

Языки высокого уровня делятся на:

  • процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
  • логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
  • объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.

7.14. Какие у машинных языков достоинства и недостатки?

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

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

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

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

7.15. Что такое язык ассемблера?

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

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

Программы, написанные на языке ассемблера, требуют значительно меньшего объема памяти и времени выполнения. Знание программистом языка ассемблера и машинного кода дает ему понимание архитектуры машины. Несмотря на то, что большинство специалистов в области программного обеспечения разрабатывают программы на языках высокого уровня, таких, как Object Pascal или C, наиболее мощное и эффективное программное обеспечение полностью или частично написано на языке ассемблера.

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

В качестве примера приведем программу на языке ассемблера для IBM PC. Программа вычисляет значение a = b + c для целых a, b и c:

.MODEL SMALL .DATA b DW 5 c DW 3 a DW ? .CODE begin MOV AX,@DATA MOV DS,AX MOV AX,B ADD AX,C MOV A,AX MOV AH,4CH INT 21H END begin Директива .MODEL задает механизм распределения памяти под данные и команды. Директива .DATA определяет начало участка программы с данными. Директивы DW задают типы переменных и их значения. Директива .CODE определяет начало участка программы с командами. Команды MOV AX,@DATA и MOV DS,AX записывают адрес сегмента данных в регистр DS (Data Segment). Для вычисления a используются команды MOV AX, B, ADD AX,C и MOV A,AX. В директиве END задана метка первой выполняемой программы программы begin.  
   

 

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

7.16. В чем преимущества алгоритмических языков перед машинными?

Основные преимущества таковы:

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

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

7.17. Какие компоненты образуют алгоритмический язык?

Алгоритмический язык (как и любой другой язык) образуют три его составляющие: алфавит, синтаксис и семантика.

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

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

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

7.18. Какие понятия используют алгоритмические языки?

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

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

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

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

2. Опеpации. Типы операций:

  • аpифметические опеpации + , — , * , / и дp. ;
  • логические опеpации и , или , не;
  • опеpации отношения < , > , <= , >= , = , <> ;
  • опеpация сцепки (иначе, "присоединения", "конкатенации" ) символьных значений дpуг с другом с образованием одной длинной строки; изображается знаком "+".

3. Данныевеличины, обpабатываемые пpогpаммой. Имеется тpи основных вида данных: константы, пеpеменные и массивы.

  • Константы — это данные, которые зафиксированы в тексте программы и не изменяются в процессе ее выполнения.

Пpимеpы констант:

    • числовые 7.5 , 12 ;
    • логические да(истина), нет(ложь);
    • символьные (содержат ровно один символ) "А" , "+" ;
    • литеpные (содержат произвольное количество символов) "a0", "Мир", "" (пустая строка).

 

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

4. Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций (напpимеp, exp(x)), объединенных знаками опеpаций.

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

Различают выражения арифметические, логические и строковые.

  • Арифметические выражения служат для определения одного числового значения. Например, (1+sin(x))/2. Значение этого выражения при x=0 равно 0.5, а при x=p/2 — единице.
  • Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Таким образом, логическое выражение может принимать только два значения — "истина" или "ложь" (да или нет). Рассмотрим в качестве примера логическое выражение x*x + y*y < r*r , определяющее принадлежность точки с координатами (x, y) внутренней области круга радиусом r c центром в начале координат. При x=1, y=1, r=2 значение этого выражения — "истина", а при x=2, y=2, r=1 — "ложь".
  • Cтроковые (литерные) выражения, значениями которых являются текcты. В строковые выражения могут входить литерные и строковые константы, литерные и строковые переменные, литерные функции, разделенные знаками операции сцепки. Например, А + В означает присоединение строки В к концу строки А . Если А = "куст ", а В = "зеленый", то значение выражения А + В есть "куст зеленый".

5. Операторы (команды). Оператор — это наиболее крупное и содержательное понятие языка: каждый оператор представляет собой законченную фразу языка и определяет некоторый вполне законченный этап обработки данных. В состав опеpатоpов входят:

  • ключевые слова;
  • данные;
  • выpажения и т.д.

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

7.19. Что такое стандартная функция?

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

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

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

Название и математическое обозначение функции Указатель функции  
Абсолютная величина (модуль) | х | abs(x)  
Корень квадратный sqrt(x)  
Натуральный логарифм ln x ln(x)  
Десятичный логарифм lg x lg(x)  
Экспонента (степень числа е ~ 2.72) ex exp(x)  
Знак числа x ( - 1, если х<0; 0, если x = 0; 1, если x > 0) sign x sign(x)  
Целая часть х (т.е. максимальное целое число,не превосходящее х)   int(x)  
Минимум из чисел х и y   min(x,y)  
Максимум из чисел х и y   max(x,y)  
Частное от деления целого х на целое y   div(x,y)  
Остаток от деления целого х на целое y   mod(x,y)  
Случайное число в диапазоне от 0 до х - 1   rnd(x)  
Синус (угол в радианах) sin x sin(x)  
Косинус (угол в радианах) cos x cos(x)  
Тангенс (угол в радианах) tg x tg(x)  
Котангенс (угол в радианах) ctg x ctg(x)  
Арксинус (главное значение в радианах) arcsin x arcsin(x)  
Арккосинус (главное значение в радианах) arccos x arccos(x)  
Арктангенс (главное значение в радианах) arctg x arctg(x)  
Арккотангенс (главное значение в радианах) arcctg x arcctg(x)  
 

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

sin ( 3.05 ) min ( a, 5) sin ( x ) min ( a, b ) sin ( 2 * y + t / 2 ) min ( a + b , a * b ) sin((exp(x) + 1) ** 2) min(min(a, b), min(c, d))

 

Каждый язык программирования имеет свой набор стандартных функций.

7.20. Как записываются арифметические выражения?

Арифметические выражения записываются по следующим правилам:

  • Нельзя опускать знак умножения между сомножителями и ставить рядом два знака операций.
  • Индексы элементов массивов записываются в квадратных (школьный АЯ, Pascal) или круглых (Basic) скобках.
  • Для обозначения переменных используются буквы латинского алфавита.
  • Операции выполняются в порядке старшинства: сначала вычисление функций, затем возведение в степень, потом умножение и деление и в последнюю очередь — сложение и вычитание.
  • Операции одного старшинства выполняются слева направо. Однако, в школьном АЯ есть одно исключение из этого правила: операции возведения в степень выполняются справа налево. Так, выражение 2**(3**2) в школьном АЯ вычисляется как 2**(3**2) = 512. В языке QBasic аналогичное выражение 2^3^2 вычисляется как (2^3)^2 = 64. А в языке Pascal вообще не предусмотрена операция возведения в степень, в Pascal x^y записывается как exp(y*ln(x)), а x^y^z как exp(exp(z*ln(y))*ln(x)).

Примеры записи арифметических выражений

Математическая запись Запись на школьном алгоритмическом языке
x * y / z
x / ( y * z ) или x / y / z
( a**3 + b**3 ) / ( b*c )
( a[i+1] + b[i-1] ) / ( 2*x*y )
( -b + sqrt(b*b - 4*a*c)) / ( 2*a )
(x<0) sign(x) * abs(x) ** (1/5)
0.49 * exp(a*a - b*b) + ln(cos(a*a)) ** 3
x/(1 + x*x/(3 + (2*x)**3))

Типичные ошибки в записи выражений:

5x + 1 a + sin x ((a + b)/c**3 Пропущен знак умножения между 5 и х Аргумент x функции sin x не заключен в скобки Не хватает закрывающей скобки

7.21. Как записываются логические выражения?

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

Примеры записи логических выражений, истинных при выполнении указанных условий.

Условие Запись на школьном алгоритмическом языке
Дробная часть вещественого числа a равна нулю int(a) = 0
Целое число a — четное mod(a, 2) = 0
Целое число a — нечетное mod(a, 2) = 1
Целое число k кратно семи mod(a, 7) = 0
Каждое из чисел a, b положительно (a>0) и (b>0)
Только одно из чисел a, b положительно ((a>0) и (b<=0)) или ((a<=0) и (b>0))
Хотя бы одно из чисел a, b, c является отрицательным (a<0) или (b<0) или (c<0)
Число x удовлетворяет условию a < x < b (x>a) и (x<b)
Число x имеет значение в промежутке [1, 3] (x>=1) и (x<=3)
Целые числа a и b имеют одинаковую четность ((mod(a, 2)=0) и (mod(b, 2)=0) или ((mod(a, 2)=1) и (mod(b, 2)=1))
Точка с координатами (x, y) лежит в круге радиуса r с центром в точке (a, b) (x-a)**2 + (y-b)**2 < r*r
Уравнение ax^2 + bx + c = 0 не имеет действительных корней b*b - 4*a*c < 0
Точка (x, y) принадлежит первой или третьей четверти ((x>0) и (y>0)) или ((x<0) и (y>0))
Точка (x, y) принадлежит внешности единичного круга с центром в начале координат или его второй четверти (x*x + y*y > 1) или ((x*x + y*y <= 1) и (x<0) и (y>0))
Целые числа a и b являются взаимнопротивоположными a = -b
Целые числа a и b являются взаимнообратными a*b = 1
Число a больше среднего арифметического чисел b, c, d a > (b+c+d) / 3
Число a не меньше среднего геометрического чисел b, c, d a >= (b+c+d) ** (1/3)
Хотя бы одна из логических переменных F1 и F2 имеет значение да F1 или F2
Обе логические переменые F1 и F2 имеют значение да F1 и F2
Обе логические переменые F1 и F2 имеют значение нет не F1 и не F2
Логическая переменная F1 имеет значение да, а логическая переменная F2 имеет значение нет F1 и не F2
Только одна из логических переменных F1 и F2 имеет значение да (F1 и не F2) или (F2 и не F1)

Упражнения

[ Ответ ] 7.2. Запишите в обычной математической форме арифметические выражения: … [ Ответ ]

Ответы — Раздел 7. Алгоритмы. Алгоритмизация. Алгоритмические языки

7.1.

а) (x+y)/(x-1/2)-(x-z)/(x*y);б) (1+z)*(x+y/z)/(a-1/(1+x*x));в) x**(n*(m+2)) + x**(n**m);г) (a+b)**n/(1+a/(a**m-b**(m-n)));д) (a[i]**(2*l) + b[j+1]**(2*k)) * (3**n-x*x*y)/(z-(d[i,j+1]+1)/(z+ y/sqrt(t*t+x*y*z)));е) sqrt(abs(sin(x)**2))/(3.01*x - exp(2*x));ж) abs(cos(x**3) - sin(y)**2) / (abs(ln(x))**(1/4) + x*y);з) ln(y**(-sqrt(abs(x+1)))) * sin(arctg(z))**2;и) r[i,j]**abs(x-y) - 0.15*abs(sin(exp(-z**8)));к) a**((x+y)/2) - ((x-1)/(abs(y)+1))**(1/3)*exp(-(y+u/2)).

7.2. а) ; б) ; в) ; г) ; д) ; е) ; ж) ; з) ; и) ; к) ; л) ; м) ; н) ; о) ; п) ; р) ; с) ; т) ; у) ; ф) .

7.3. б) 16; в) 5,5; г) -256; д) 3; е) -2; ж) 1.8.

7.4. б) среднее арифметическое: (a+b+c+d)/4; среднее геометрическое: (a*b*c*d)**(1/4); в) sqrt(x*x+y*y); г) sin(x*3.14/180); д) 6*a*a; е) sqrt(3)*a/2; ж) абсцисса: (c1*b2-c2*b1)/(b1*a2-b2*a1); ордината: (c2*a1-c1*a2)/(b1*a2-b2*a1).

7.5. б) нет;в) да;г) да;д) да;е) нет;

7.6.

б) (x < a) или (x > b);в) ((x>=a) и (x<=b)) или ((x>=c) и (x<=d));г) ((x < a) или (x > b)) и ((x < c) или (x > d));д) mod(k,2)=1;е) (mod(k,5)=0) и (k > 99) и (k < 1000);ж) (mod(i,2)=1) и (mod(j,2)=0);з) a1*b2=a2*b1;и) (c < a) и (b > a);к) (a=-b) или (a=-c) или (a=-d) или (b=-c) или (b=-d) или (c=-d);л) ((mod(a,2)=0) и (mod(b,2)=0)) или ((mod(a,2)=0) и (mod(c,2)=0))или ((mod(b,2)=0) и (mod(с,2)=0));м) (a>0) и (b>0) и (c>0) и (a+b>c) и (a+c>b) и (b+c>a);н) ((a1*b2=a2*b1) и (a1*c2=a2*c1)) или ((a1*c2=a2*b1) и (a1*b2=a2*c1))или ((a1*c2=b2*b1) и (a1*a2=b2*c1)) или ((a1*a2=b2*b1) и (a1*c2=b2*c1))или ((a1*a2=c2*b1) и (a1*b2=c2*c1)) или ((a1*b2=c2*b1) и (a1*a2=c2*c1));о) (y>5-5*x) и (y<5-x) и (y>0);п) (y<5-5*x)) или (y>5-x) или (y<0);р) (a=b) и (c=d) и (b=c).

7.7. б) в) г) д) ж) з) и) к)

7.8.

а) (y>=1-x) и ((y<=0) или (x<=0));б) (y<1) и (y>=x) и (y>=-x) (вариант ответа: (y<1) и (y>=abs(x)));в) (abs(x)<=1) и (abs(y)<1);г) ((x-1)*(x-1)+y*y<=4) и (y<=3-x) и (y>=x-3);д) (abs(x)<=3) и (abs(y)<=3) и (x*x+y*y>=9) и ((x>=0) или (y<=0));е) (abs(x)+abs(y)<=2) и (sign(x)<>sign(y)) или (x*x+y*y<=4) и ((y>=2-x) или (y<=-x-2));ж) ((y>=x*x) или (y<=-x*x)) и ((x>=y*y) или (x<=-y*y));з) (((x+2)*(x+2)+y*y<=4) и ((x+2)*(x+2)+y*y>=1)) или (x>=-1);и) (((y<=0)=(y>=-x)) или ((x>=0)=(y>=x))) и (x*x+y*y<=1).

7.9. б) a=-19; b=-114; c=17; в) a=3; b=1,875; c=15; г) a=7; b=3; c=735; д) a=10; b=2; c=120; е) a=4; b=7; c=3; ж) a=16; b=100, c=11200.

7.10. б) c:=x[1]; x[1]:=x[2]; x[2]:=c; в) a[i]:=(a[i-1]+a[i+1])/2; a[i+1]:=0; a[i-1]:=a[i-1]+0.5; г) u:=max(max(x, y), z) + min(min(x-z,y+z), min(y,z)).

7.11.

а) если x <= -100 б) если x*x+y*y <= 1 то y:=sign(x)*abs(x)**(1/7) то z:=x*x+y*y иначе если x < 100 иначе если y>=x то y:=sign(x)*abs(x)**(1/3) то z:=x+y иначе y:=sqrt(x) иначе z:=0.5 все все все все в) если x < 0 г) выбор то z:=lg(-x) при с=0 : z:=1 иначе z:=sqrt(x+1) при с=1 : z:=x все при с=2 : z:=3*x*x - 1/2 если z>=0 при с=3 : z:=x*x*x - 3*x/2 то F:=2*z+1 иначе z:=2*x**4 - 3*x/2 иначе F:=sin(z) все все д) если abs(x)+abs(y) < r е) если x>1 то z:=sqrt(x*x+y*y) то если y>1 иначе z:=max(abs(x), abs(y)) то v:=x+y все иначе v:=x-y всеж) если (x-a)**2 +(y-b)**2 < r*r иначе если y>0 то z:=abs(x)+abs(y) то v:=y-x иначе z:=x+y иначе v:=-x-y все все все

7.12. б) в) г) д)

7.13. б) 81; в) 21; д) 11; е) 44.

7.14. б) 0; в) 13; д) 52; е) 14.

7.15.

б) алг Треугольник1(арг вещ a,b,UgolC, рез вещ c, UgolA, UgolB, S) нач ввод a, b, UgolC c:=sqrt(a*a+b*b-2*a*b*cos(UgolC)) UgolA:=arcsin(a*sin(UgolC)/c) UgolB:=arcsin(b*sin(UgolC)/c) S:=b*c*sin(UgolA)/2 вывод c, UgolA, UgolB, S кон в) алг Треугольник2(арг вещ a,b,c, рез вещ Radius,UgolA) нач вещ p ввод a,b,c p:=(a+b+c)/2 UgolA:=2*arctg(sqrt((p-b)*(p-c)/(p*(p-a))))*180/3.14 Radius:=a*b*c/(4*sqrt(p*(p-a)*(p-b)*(p-c))) вывод Radius, UgolA кон г) алг Объем и Площадь Пирамиды(арг вещ a,UgolAGrad, рез вещ V, S) нач вещ H,SBase,UgolARad | H - высота пирамиды; SBase - площадь основания ввод a,UgolAGrad UgolARad:=UgolAGrad*3.14/180 SBase:=a*a*sqrt(3)/4 H:=a*sqrt(3)/6*tg(UgolARad) V:=SBase*H/3 S:=SBase*(1+1/cos(UgolARad)) вывод V, S кон д) алг Объем и Площадь конуса(арг вещ RBig,RSmall,Ugol, рез вещ V, S) нач вещ H,L ввод RBig,RSmall,Ugol H:=(RBig-RSmall)*tg(Ugol) L:=(RBig-RadSmall)/cos(Ugol) V:=1/3*3.14*H*(RSmall**2 + RBig**2 + RSmall*RBig) S:=3.14*L*(RBig+RSmall) вывод V, S кон е) алг Параметры пирамиды (арг вещ a,UgolA, рез вещ V, S, Sесtion) нач вещ H ввод a,UgolA H:=a*sqrt(2)/2*tg(UgolA) V:=1/3*a*a*H Sесtion:=a*H*sqrt(2)/2 S:=a*a*(1+sqrt(2*tg(UgolA)**2+1)) вывод V, S, Sесtion кон

7.16.

б) алг Количество положительных(арг вещ a,b,c, рез цел k) надо | k - количество положительных чисел среди чисел a,b,c нач ввод a,b,c; k:=0 если a>0 то k:=k+1 все если b>0 то k:=k+1 все если c>0 то k:=k+1 все вывод k кон в) алг Преобразование(арг рез вещ a,b) надо |меньшее из a,b увеличено вдвое нач ввод a,b если a>b то b:=b*2 иначе a:=a*2 все вывод a,b кон г) алг Подобие треугольников(арг вещ a,b,c,d, рез лог Otvet) дано | a,b и c,d - катеты двух треугольников надо | Otvet=да, если треугольники подобны нач ввод a,b,c,d если (a*d=с*b) или (a*c=d*b) то Otvet:=да иначе Otvet:=нет все вывод Otvet кон д) алг Точки(арг вещ xA,yA,xB,yB,xC,yC, рез лит Otvet) нач вещ DistA,DistB,DistC ввод xA,yA,xB,yB,xC,yC DistA:=sqrt(xA**2 + yA**2) DistB:=sqrt(xB**2 + yB**2) DistC:=sqrt(xC**2 + yC**2) если (DistA < DistB) и (DistA < DistC) то Otvet:="Это точка А" иначе если DistB < DistC то Otvet:="Это точка B" иначе Otvet:="Это точка C" все все вывод Otvet кон е) алг Принадлежность кольцу(арг вещ x,y,r1,r2, рез лог Otvet) дано | r2>r1 надо | Otvet=да, если точка (x,y) принадлежит кольцу | c внутренним радиусом r1 и внешним радиусом r2 нач ввод x,y,r1,r2 если (x*x+y*y<=r2*r2) и (x*x+y*y>=r1*r1) то Otvet:=да иначе Otvet:=нет все вывод Otvet кон ж) алг Упорядочение по возрастанию(арг рез вещ a, b, c) надо | числа a, b, c упорядочены по возрастанию нач вещ t ввод a, b, c если a>b то t:=a; a:=b; b:=t | меняются местами значения a и b все если a>c то t:=a; a:=c; c:=t | меняются местами значения a и c все если b>c то t:=b; b:=c; c:=t | меняются местами значения b и c все вывод a, b, c кон

 

Глава 8. Технология подготовки и решения задач с помощью компьютера

8.1. Какие этапы включает в себя решение задач с помощью компьютера?

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

  1. Постановка задачи:
    • сбоp инфоpмации о задаче;
    • фоpмулиpовка условия задачи;
    • опpеделение конечных целей pешения задачи;
    • определение формы выдачи результатов;
    • описание данных (их типов, диапазонов величин, структуры и т.п. ).
  2. Анализ и исследование задачи, модели:
    • анализ существующих аналогов;
    • анализ технических и программных средств;
    • pазpаботка математической модели;
    • разработка структур данных.
  3. Разработка алгоритма:
    • выбор метода проектирования алгоритма;
    • выбор формы записи алгоритма (блок-схемы, псевдокод и др.);
    • выбоp тестов и метода тестиpования;
    • проектирование алгоритма.
  4. Пpогpаммиpование:
    • выбор языка программирования;
    • уточнение способов организации данных;
    • запись алгоpитма на выбpанном языке пpогpаммиpования.
  5. Тестиpование и отладка:
    • синтаксическая отладка;
    • отладка семантики и логической стpуктуpы;
    • тестовые pасчеты и анализ pезультатов тестиpования;
    • совершенствование пpогpаммы.
  6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением этапов 2 — 5.
  7. Сопровождение программы:
    • доработка программы для решения конкретных задач;
    • составление документации к pешенной задаче, к математической модели, к алгоpитму, к пpогpамме, к набору тестов, к использованию.

8.2. Что называют математической моделью?

Математическая модель — это система математических соотношений — формул, уравнений, неравенств и т.д., отражающих существенные свойства объекта или явления.

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

... Обыватель формулирует математику задачу следующим образом: "Сколько времени будет падать камень с высоты 200 метров?" Математик начнет создавать свой вариант задачи приблизительно так: "Будем считать, что камень падает в пустоте и что ускорение силы тяжести 9,8 метра в секунду за секунду. Тогда ..."

Позвольте, — может сказать "заказчик", — меня не устраивает такое упрощение. Я хочу знать точно, сколько времени будет падать камень в реальных условиях, а не в несуществующей пустоте.

Хорошо, — согласится математик. — Будем считать, что камень имеет сферическую форму и диаметр... Какого примерно он диаметра?

Около пяти сантиметров. Но он вовсе не сферический, а продолговатый.

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

Если тот, кто поставил задачу на "человеческом" языке не будет дальше вмешиваться в ход мысли математика, то последний через некоторое время даст численный ответ. Но "потребитель" может возражать по-прежнему: камень на самом деле вовсе не эллипсоидальный, давление воздуха в том месте и в тот момент не было равно 760 мм ртутного столба и т.д. Что же ответит ему математик?

Он ответит: "Точное решение реальной задачи вообще невозможно. Мало того, что форму камня, которая влияет на сопротивление воздуха, невозможно описать никаким математическим уравнением; его вращение в полете также неподвластно математике из-за своей сложности. Далее, воздух не является однородным, так как в результате действия случайных факторов в нем возникают флуктуации колебания плотности. Если пойти ещё глубже, нужно учесть, что по закону всемирного тяготения каждое тело действует на каждое другое тело. Отсюда следует, что даже маятник настенных часов изменяет своим движением траекторию камня.

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

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

Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели — так называемого "вычислительного эксперимента" (см. [1], параграф 26).

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

Итак, создавая математическую модель для решения задачи, нужно:

  1. выделить предположения, на которых будет основываться математическая модель;
  2. определить, что считать исходными данными и результатами;
  3. записать математические соотношения, связывающие результаты с исходными данными.

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

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

8.3. Какие основные этапы содержит процесс разработки программ?

Процесс разработки программы можно выразить следующей формулой:

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

Затем программа разрабатывается с использованием той или иной технологии программирования (например, структурного программирования).

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

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

8.4. Как проконтролировать текст программы до выхода на компьютер?

Текст программы можно проконтролировать за столом с помощью просмотра, проверки и прокрутки.

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

8.5. Для чего нужны отладка и тестирование?

Отладка программы — это процесс поиска и устранения ошибок в программе, производимый по результатам её прогона на компьютере. Тестирование (англ. test — испытание) — это испытание, проверка правильности работы программы в целом, либо её составных частей.

Отладка и тестированиеэто два четко различимых и непохожих друг на друга этапа:

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

Английский термин debugging ("отладка") буквально означает "вылавливание жучков". Термин появился в 1945 г., когда один из первых компьютеров — "Марк-1" прекратил работу из-за того, что в его электрические цепи попал мотылек и заблокировал своими останками одно из тысяч реле машины.

8.6. В чем заключается отладка?

В современных программных системах (Turbo Basic, Turbo Pascal, Turbo C и др.) отладка осуществляется часто с использованием специальных программных средств, называемых отладчиками. Эти средства позволяют исследовать внутреннее поведение программы.

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

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

При отладке программ важно помнить следующее:

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

8.7. Что такое тест и тестирование?

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

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

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

Для реализации метода тестов должны быть изготовлены или заранее известны эталонные результаты.

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

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

8.8. Какими должны быть тестовые данные?

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

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

Пример. Система тестов для задачи нахождения корней квадратного уравнения ax2 + bx + c = 0 :

Номер теста Проверяемый случай Коэффициенты Результаты
a b c
d >0 -2 x1 = 1, x2 = - 2
d=0 Корни равны: x1 = - 1, x2 = - 1
d < 0 Действительных корней нет
a=0, b=0, c=0 Все коэффициенты равны нулю. х — любое число.
a=0, b=0, c<>0 Неправильное уравнение
a=0, b<>0 Линейное уравнение. Один корень: x = - 0,5
a <> 0, b <> 0, с = 0 x1 = 0, x2 = - 0,5

8.9. Из каких этапов состоит процесс тестирования?

Процесс тестирования можно разделить на три этапа.

1. Проверка в нормальных условиях. Предполагает тестирование на основе данных, которые характерны для реальных условий функционирования программы.

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

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

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

Программа должна сама отвергать любые данные, которые она не в состоянии обрaбатывать правильно.

8.10. Каковы характерные ошибки программирования?

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

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

8.11. Является ли отсутствие синтаксических ошибок свидетельством правильности программы?

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

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

Примеры синтаксических ошибок:

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

8.12. Какие ошибки не обнаруживаются транслятором?

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

Логические ошибки:

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

Ошибки в циклах:

  • неправильное указание начала цикла;
  • неправильное указание условий окончания цикла;
  • неправильное указание числа повторений цикла;
  • бесконечный цикл.

Ошибки ввода-вывода; ошибки при работе с данными:

  • неправильное задание тип данных;
  • организация считывания меньшего или большего объёма даных, чем требуется;
  • неправильное редактирование данных.

Ошибки в использовании переменных:

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

Ошибки при работе с массивами:

  • массивы предварительно не обнулены;
  • массивы неправильно описаны;
  • индексы следуют в неправильном порядке.

Ошибки в арифметических операциях:

  • неверное указание типа переменной (например, целочисленного вместо вещественного);
  • неверное определение порядка действий;
  • деление на нуль;
  • извлечение квадратного корня из отрицательного числа;
  • потеря значащих разрядов числа.

Все эти ошибки обнаруживаются с помощью тестирования.

8.13. В чем заключается сопровождение программы?

Сопровождение программ — это работы, связанные с обслуживанием программ в процессе их эксплуатации.

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

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

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

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

Вопросы для самоконтроля

8.1. Какие основные этапы включает в себя решение задач на компьютере?

8.2. Какие этапы компьютерного решения задач осуществляются без участия компьютера?

8.3. Что называют математической моделью объекта или явления?

8.4. Почему невозможно точное исследование поведения объектов или явлений?

8.5. Какие способы моделирования осуществляются с помощью компьютера?

8.6. Из каких последовательных действий состоит процесс разработки программы?

8.7. Доказывает ли получение правдоподобного результата правильность программы?

8.8. Какие ошибки могут остаться невыявленными, если не провести проверку (просмотр, прокрутку) программы?

8.9. Чем тестирование программы отличается от её отладки?

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

8.11. Как следует планировать процесс отладки программы?

8.12. Можно ли с помощью тестирования доказать правильность программы?

8.13. На какой стадии работы над программой вычисляются эталонные результаты тестов?

8.14. Назовите основные этапы процесса тестирования.

8.15. В чём заключается отличие синта ксических ошибок от семантических?

8.16. О чём свидетельствует отсутствие сообщений машины о синтаксических ошибках?

8.17. Какие разновидности ошибок транслятор не в состоянии обнаружить?

8.18. Для чего программам требуется сопровождение?

Упражнения

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

Глава 9. Применения информатики и компьютерной техники

9.1. Как используются компьютеры в быту?

В последнее время компьютеры <проникли> в жилища людей и постепенно становятся предметами первой необходимости. Есть два основных направления использования компьютеров дома.

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

9.2. Что такое системы автоматизированного проектирования (САПР)?

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

 

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

9.3. Что такое автоматизированные системы научных исследований (АСНИ)?

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

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

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

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

Компьютеры в АСНИ используются в информационно-поисковых и экспертных системах, а также решают следующие задачи:

  • управление экспериментом;
  • подготовка отчетов и документации;
  • поддержание базы экспериментальных данных и др.

В результате применения АСНИ возникают следующие положительные моменты:

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

9.4. Какая взаимосвязь между АСНИ и САПР?

Каждая из систем АСНИ и САПР, конечно, имеет свою специфику и отличается поставленными целями и методами их достижения. Однако очень часто между обоими типами систем обнаруживается тесная связь, и их роднит не только то, что они реализуются на базе компьютерной техники.

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

Такая взаимосвязь приводит к тому, что на самом деле «чистых» АСНИ и САПР не бывает: в каждой из них можно найти общие элементы. С повышением их интеллектуальности они сближаются. В конечном счете и те и другие должны представлять собой экспертную систему, ориентированную на решение задач конкретной области.

9.5. Что такое базы знаний и экспертные системы?

База знаний (knowledge base) — совокупность знаний, относящихся к некоторой предметной области и формально представленных таким образом, чтобы на их основе можно было осуществлять рассуждения.

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

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

Экспертные системы должны:

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

Желательно также, чтобы экспертная система могла:

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

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

9.6. Как используются компьютеры в административном управлении?

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

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

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

Более подробно многие из перечисленных компонент описаны в главе 6 «Программное обеспечение».

Автоматизация документооборота с использованием специальных электронных устройств:

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

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

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

Система контроля исполнения приказов и распоряжений.

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

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

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

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

9.7. Какую роль играют компьютеры в обучении?

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

  В информационном обществе знать "КАК" важнее, чем знать "ЧТО".

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

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

Рассмотрим основные перспективные направления использования СНИТ в образовании [52, 53].

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

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

Основное средство взаимодействия обучаемого с АОС — диалог. Диалогом с обучающей системой может управлять как сам обучаемый, так и система. В первом случае обучаемый сам определяет режим своей работы с АОС, выбирая способ изучения материала, который соответствует его индивидуальным способностям. Во втором случае методику и способ изучения материала выбирает система, предъявляя обучаемому в соответствии со сценарием кадры учебного материала и вопросы к ним. Свои ответы обучаемый вводит в систему, которая истолковывает для себя их смысл и выдает сообщение о характере ответа. В зависимости от степени правильности ответа, либо от вопросов обучаемого система организует запуск тех или иных путей сценария обучения, выбирая стратегию обучения и приспосабливаясь к уровню знаний обучаемого.

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

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

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

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



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

5. Системы <Виртуальная реальность>.Применяются при решении конструктивно-графических, художественных и других задач, где необходимо развитие умения создавать мысленную пространственную конструкцию некоторого объекта по его графическому представлению; при изучении стереометрии и черчения; в компьютеризированных тренажерах технологических процессов, ядерных установок, авиационного, морского и сухопутного транспорта, где без подобных устройств принципиально невозможно отработать навыки взаимодействия человека с современными сверхсложными и опасными механизмами и явлениями.

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

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

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

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

9.8. Какую роль играют компьютеры в управлении технологическими процессами?

Основных применений два:

  • в гибких автоматизированных производствах (ГАП);
  • в контрольно-измерительных комплексах.

В гибких автоматизированных производствах компьютеры (или микропроцессоры) решают следующие задачи:

  • управление механизмами;
  • управление технологическими режимами;
  • управление промышленными роботами.

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

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

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

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

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

Автоматизированное рабочее место (АРМ, рабочая станция) — место оператора, которое оборудовано всеми средствами, необходимыми для выполнения определенных функций.

В системах обработки данных и учреждениях обычно АРМ — это дисплей с клавиатурой, но может использоваться также и принтер, внешние запоминающее устройство и др.

9.9. Какую роль играют компьютеры в медицине?

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

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

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

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

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

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


Рис 9.1. Организация работы в компьютеризированном
отделении лечебного учреждения

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

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

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

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

9.10. Как используются компьютеры в торговле?

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


Бар-код

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

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

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

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

  • количество оставшегося товара;
  • правила его налогообложения;
  • юридические ограничения на его продажу и др.

Одновременно с подачей сведений о проданном товаре на дисплей кассового аппарата компьютер производит соответствующую коррекцию (уточнение) товарной ведомости.

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

В перспективе торговля, по-видимому, превратится в компьютеризованную продажу товаров по заказам.

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

9.11. Что такое электронные деньги?

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

Основные направления использования электронных денег следующие:

Торговля без наличных. Оплата производится с использованием кредитных карточек. Имея вместо наличных денег кредитную карточку, покупатель при любой покупке расплачивается не наличными, а автоматически снимает со своего счета в банке нужную сумму денег и пересылает ее на счет магазина. Система торговли без наличных POS (англ. Points of Sale System — система кассовых автоматов) выполняет следующие функции:

  • верификацию кредитных карточек (т.е. удостоверение их подлинности);
  • снятие денег со счета покупателя;
  • перечисление их на счет продавца.

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

  • номер личного счета;
  • название банка;
  • страна;
  • категория платёжеспособности клиента;
  • размер предоставленного кредита и т.д.

Считается, что сами по себе кредитные карточки экономят 10% расходов на оплату товаров.

Разменные автоматы. Они устанавливаются банками только для своих клиентов, которым предварительно выданы кредитные карточки. Клиент вставляет в автомат кредитную карточку и набирает личный код и сумму, которую он желает иметь наличными. Автомат по банковской сети проверяет правильность кода, снимает указанную сумму со счета клиента и выдает её наличными. Часто несколько банков объединяются и создают общую сеть разменных автоматов.

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

Встречные зачёты. По всему миру активно внедряются электронные системы потребительского кредита и взаимных расчетов между банками по общему итогу. Такие системы реализуются в виде автоматических клиринговых (англ. clearing — очистка) вычислительных сетей ACH (Automated Clearing House). По сети идут не только банковские документы, но и информация, важная для принятия ответственных финансовых решений.

Оплата устно. Она заключается в оплате счетов по телефону с гарантированным опознаванием кредитора по паролю и голосу. Другой способ состоит в использовании устройства, способного передавать по телефону факсимильные изображения денежных чеков и счетов (факсимильный — от лат. fac simile, — точное воспроизведение подписи, документа и т.д. графическими средствами).

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

9.12. Как применяются компьютеры в сельском хозяйстве?

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

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

В качестве примера приведем портативный компьютер AgGPS 170 компании Trimble, предназначенный для применения в самых тяжелых условиях, сопутствующих сельскохозяйственным работам. Этот компьютер можно использовать как в ручном варианте, так и монтировать в автомобиль. C его помощью можно управлять сельскохозяйственными работами, просматривать карты полей, регистрировать различные данные о состоянии почвы и посаженных сельскохозяйственных культур и др. Основные характеристики компьютера AgGPS 170:

  • полностью герметичный и ударостойкий (выдерживает падение с высоты в 1,2 м);
  • функционирует в температурном диапазоне от -30 до +60 градусов Цельсия;



Сельскохозяйственный
компьютер AgGPS 170

  • ресурс работы от батарей — до 40 часов;
  • данные сохраняются на съемном картридже памяти;
  • работает под управлением ОС MS Windows CE; используется специальное программное обеспечение для сельского хозяйства;
  • с помощью компьютера можно записывать рельеф местности и создавать полевые топографические карты, используя данные геоинформационных систем, вычислять площади полей и обрабатывать статистические данные по полевым работам;
  • при соединении с системой разбрызгивателей компьютер может регистрировать данные о применении химикатов и автоматически генерировать соответствующие карты и отчеты;
  • с помощью соответствующего ПО возможно регистрировать данные со считывателей штрих-кодов, датчиков слежения за состоянием окружающей среды и погоды и др.

Вопросы для самоконтроля

9.1. Расскажите об основных направлениях использования компьютеров в жилищах людей.

9.2. Как вы представляется себе информационное общество?

9.3. Какие функции обеспечения жизнедеятельности жилища возлагаются сегодня на компьютер?

9.4. Какие виды повседневных информационных потребностей людей обеспечивают компьютеры?

9.5. В чем суть процесса информатизации образования?

9.6. Какие задачи решаются с помощью автоматизированных обучающих систем?

9.7. Что такое дистанционное обучение?

9.8. Назовите основные перспективные направления использования СНИТ в образовании.

9.9. Расскажите об областях применения систем виртуальной реальности.

9.10. Назовите основные компоненты компьютерных офисных технологий.

9.11. Какие преимущества имеет электронная почта по сравнению с обычной почтой?

9.12. Назовите функции координатора системы телеконференций.

9.13. Назовите темы телеконференций, в которых вы хотели бы участвовать.

9.14. Каким вам представляется информационное наполнение баз данных вашего учебного заведения?

9.15. Какие медицинские технологии и способы лечения стали возможны с развитием компьютерной техники?

9.16. Перечислите основные компоненты автоматизированного офиса.

9.17. Что такое POS-система? Какие виды услуг предоставляет система электронных денег?

9.18. Какие функции выполняет система торговли без наличных?

9.19. Как устроена кредитная карточка?

9.20. Какие функции реализуют автоматические клиринговые компьютерные сети?

9.21. Назовите преимущества и недостатки системы компьютеризированных банковских расчетов.

9.22. Какие примеры эффективного применения компьютеров в сельском хозяйстве вы можете назвать?

ЧИСЛОВОЕ КОДИРОВАНИЕ

 

СОДЕРЖАНИЕ

 

Лекция 8. ОСНОВЫ ЧИСЛОВОГО КОДИРОВАНИЯ…………………………………………….120

Схемы кодирования…………………………………………………………………………………..120

Аналоговое кодирование……………………………………………………………………………..121

Табличное кодирование………………………………………………………………………………121

Числовое кодирование………………………………………………………………………………..121

Системы счисления…………………………………………………………………………………...121

КОДИРОВАНИЕ ЧИСЕЛ И ТЕКСТОВ…………………………………………………………….122

Кодирование положительных целых чисел………………………………………………………...122

Кодирование целых чисел со знаком………………………………………………………………..122

Кодирование действительных чисел………………………………………………………………...123

Кодирование текстов…………………………………………………………………………………124

ТАБЛИЦА КОДИРОВАНИЯ ASCII………………………………………………………………...124

СИСТЕМА КОДИРОВАНИЯ WINDOWS 1251……………………………………………………124

Кодирование изображений…………………………………………………………………………...124

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ИЗОБРАЖЕНИЯ………………………………………………..124

РАЗРЕШЕНИЕ ИЗОБРАЖЕНИЯ……………………………………………………………………125

ПСИХОФИЗИОЛОГИ ЧЕСКИЕ МОДЕЛИ ИЗОБРАЖЕНИЯ…………………………………….125

Форматы записи изображений……………………………………………………………………….126

Кодирование и запись видео…………………………………………………………………………127

Кодирование и запись звука………………………………………………………………………….128

Лекция 9. ФАЙЛЫ И КАТАЛОГИ.………………………………………………………………….129

Лекция 10 СЖАТИЕ ДАННЫХ...……………………………………………………………………132

Лекция 11 "КОМПЬЮТЕРНЫЕ ВИРУСЫ"...……………………………………………………....133

Лекция 9.1 ОСНОВЫ ЧИСЛОВОГО КОДИРОВАНИЯ

 

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

Схемы кодирования

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

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

Аналоговое кодирование

Аналоговое кодирование — это метод регистрации непрерывной последова­тельности сигналов известной физической природы в виде подобной ей последова­тельности данных другой физической при­роды.

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

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

· результирующие данные подобны исходным сигналам по избранному критерию подобия.

Табличное кодирование

Поскольку при кодировании элемент информации заменяется элементом дан­ных, теоретически всё равно, какую при­роду имеет этот элемент — он может быть… Важно обратить внимание на то, что хотя при таблично-цифровом кодировании…

Числовое кодирование

 

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

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

Системы счисления

• Набор правил представления (изображения) и наименования чисел называ­ется системой счисления. • Знаки, используемые для записи чисел, называют цифрами. • Если значение, описываемое цифрой, зависит от ее положения в записи чис­ла, система счисления называется…

КОДИРОВАНИЕ ЧИСЕЛ И ТЕКСТОВ

 

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

 

Кодирование положительных целых чисел

1. Число раскладывается в ряд по степе­ням двойки (128, 64, 32,16, 8, 4, 2 и 1), например: 99 = 64 + 32 + 2 + 1 2. Слагаемые записываются с помощью степенных выражений:

Кодирование целых чисел со знаком

· информационным содержанием байта становятся 255 различимых чисел вместо 256 (то есть одно значение куда-то пропадает); · мы получаем два различимых нуля: «плюс ноль» и «минус ноль» (вот куда… 1. Сначала записывается целое число без знака (как будто оно положительное).

Кодирование действительных чисел

Запись действительного числа в двоич-ной форме выполняется в несколько эта­пов. Рассмотрим для примера запись числа 29,125.

1. Сначала число преобразуется в двоичную форму. При этом целая и дробная части преобразуются порознь, а потом объединяются.

29, 125

2910=111012

0,12510 =0,0012

       
   
 

 

 


Для перевода чисел из системы исчисления с основой p в систему исчисления с основой q с использованием арифметики старой системы исчисления с основой p нужно:

· для перевода целой части:

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

· для перевода дробной части:

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

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

11101, 001 =1,1101001*24

3. Записываем действительное число по правилам двоичной дополнительной арифметики. Первый байт последова­тельности выражает порядок со зна­ком. Его старший бит указывает на знак порядка. Следующие байты по­следовательности выражают мантис­су со знаком. Самый левый бит ука­зывает на знак мантиссы.

 

Кодирование текстов

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

 

ТАБЛИЦА КОДИРОВАНИЯ ASCII

Наибольшее распространение в мире имеет система кодирования ASCII. Её название расшифровывается как American Standard Code for Information Interchange стан­дартный код внутреннего информацион­ного обмена США. Её ввёл в действие На­циональный институт стандартов США (ANSI, American National Standard Institute). Строго говоря, таблица ASCII предна­значена не для восьмиразрядного, а для семиразрядного кодирования 128 различ­ных символов. Этого достаточно для пред­ставления строчных и прописных букв ан­глийского алфавита, знаков препинания, цифр и знаков математических действий. В таблице ещё остаётся 32 кода (от 0 до 31), которые не представляются никакими символами, почему их иногда называют непечатаемыми знаками. Они служат для управления техническими устройствами.

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

СХЕМЫ 8-РАЗРЯДНОГО КОДИРОВАНИЯ

При 8-разрядном кодировании на запись символа отводится байт, имеющий 256 различимых состояний. Это позволяет коди­ровать двуязычные символьные наборы. Как правило, одним из языков является английский, а вторым — какой-либо наци­ональный европейский (русский, немец­кий, французский, испанский и другие). Англоязычную часть размещают в нижней части таблицы (коды от 0 до 127), а нацио­нальную часть — в верхней (коды от 128 до 255). Нижнюю часть делают совпадающей с таблицей ASCII, а верхнюю часть государства, международные организации и отдельные корпорации закрепляют в собственных стандартах.

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

СИСТЕМА КОДИРОВАНИЯ WINDOWS 1251

Эта система кодирования представляет наглядный пример корпоративного стандарта. Ввела её в действие корпорация Microsoft, производитель операционных систем и программных продуктов, пред­назначенных для автоматизации работы с документами. Никакими государственными или международными стандартами данная система кодирования не поддержана, но, тем не менее, является самой распростра­нённой. Она считается основной для доку­ментов, созданных в таких программах, как Microsoft Word, Excell, Access и многих других. Практически все русскоязыч­ные документы, опубликованные в Интер­нете, закодированы в этой системе.

Кодирование изображений

 

МАТЕМАТИЧЕСКАЯ МОДЕЛЬ ИЗОБРАЖЕНИЯ

Аналоговое изображение можно рассматривать как совокупность бесконечного количества математических точек. Числовую запись изображения тоже представляют точками, но число их конечно. Каждая точка имеет некоторое положение, определённое двумя координатами (X и У), и называется пикселом. Слово пиксел происходит от сокращения picture cell (элемент изображения).

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

 

РАЗРЕШЕНИЕ ИЗОБРАЖЕНИЯ

При очень большом увеличении изображения его пикселы могут приобрести такой размер, что станут заметны невооружённым глазом. Этот дефект изображения… Если оставаться в рамках единой системы измерения физических величин (СИ),… Дюйм — не метрическая единица измерения длины, и без него, конечно же, мож­но обойтись, но лучше этого не делать. Его…

ПСИХОФИЗИОЛОГИ ЧЕСКИЕ МОДЕЛИ ИЗОБРАЖЕНИЯ

Существует несколько психофизиологических моделей. Они используются в разных областях вычислительной техники. Мы рассмотрим две основные модели: RGB… ЦВЕТОВАЯ МОДЕЛЬ RGB В основе цветовой модели RGB лежит положение о том, что любой произвольный цвет можно получить, смешивая три основные…

Форматы записи изображений

ФОРМАТ BMP Этот простейший формат записи числовых данных, представляющих изображение,… Оригинальный формат BMP не предусма­тривает никакого сжатия изображений — этим обеспечивается высокая скорость за­писи…

Кодирование и запись видео

Цифровая запись видеоизображений име­ет две особенности. • Кодирование данных и их запись рассматриваются порознь и определяются… • Запись видеоизображений обычно сопровождается записью звука, то есть речь идёт о синхронной записи как минимум двух…

Кодирование и запись звука

Различия в амплитудах звуковых волн люди воспринимают как громкость звука. В технике принято измерять громкость звука в децибелах (дБ). Считается,…   20 дБ — Тихий шёпот на расстоянии 4-5 м.

Лекция 9.2 Файлы и каталоги.

Файл может быть сколь угодно большим и сколь угодно малым. Если в файле не хра­нится ни одного байта данных, этот файл называется пустым.Физическим… На компьютере файл — это безразмерная последовательность байтов. Каждый байт… Имя файла

Лекция 10 Сжатие данных

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

DRWEB

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

ADINF

Антивирус-ревизор диска ADINF (Avanced DiskINFoscope) разрешает находить и уничтожать, как существующие обычные, stealth- и полиморфные вирусы, так и совсем новые.

AVP

Антивирус AVP (AntiVirus Program) относится к полифагам, в процессе работы проверяет оперативную память, файлы, в том числе архивные, на гибких, локальных, сетевых и CD-ROM дисках, а также системные структуры данных, такие как загрузочный сектор, таблицу разделов и т.д. Программа имеет эвристический анализатор, который, по утверждениям разработчиков антивируса способен находить почти 80% всех вирусов. Эта программа осуществляет поиск и изъятие разнообразнейших вирусов, в том числе:

· полиморфных, или самошифрующихся вирусов;

· стелс-вирусов, или вирусов-невидимок;

· новых вирусов для Windows;

· макровирусов, заражающих документы Word и таблицы Excel.

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

 

 

ПРИЛОЖЕНИЯ

1. Примерные экзаменационные билеты по информатике для проведения устной итоговой аттестации выпускников XI классов общеобразовательных учреждений в 2000/2001 учебном году.

Билеты разработаны Министерством общего и профессионального образования РФ. Предназначены для общеобразовательных школ, оснащенных вычислительной техникой, в которых после прохождения базового курса информатики в 7-9 классах продолжается изучение курса в старших классах (10-11 классы). Если школа не располагает необходимыми условиями для выполнения практических заданий по информационным технологиям, такие задания могут быть заменены на другие задания, например, по алгоритмизации и программированию, или задачи.

Билет № 1

1. Информация и информационные процессы в природе, обществе, технике. Информационная деятельность человека. Привести примеры.
2. Объектно-ориентированное программирование. Объекты: свойства и методы. Классы объектов.
3. Практическое задание на проведение расчетов с помощью электронной таблицы.

Билет № 2

1. Информационные процессы в управлении. Обратная связь. Показать на примере.
2. Строковые величины. Строковые функции и выражения.
3. Задача на определение результата выполнения алгоритма по его блок-схеме или записи на алгоритмическом языке.

Билет № 3

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

Билет № 4

1. Двоичная система счисления. Запись чисел в двоичной системе счисления.
2. Компьютер. Его состав: магистрально-модульное построение компьютера.
3. Задание на разработку фрагмента программы тестирования знаний.

Билет № 5

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

Билет № 6

1. Качественные и количественные характеристики информации. Свойства информации (новизна, актуальность, достоверность и др.). Единицы измерения количества информации.
2. Внешняя память компьютера. Различные виды носителей информации, их характеристики.
3. Практическое задание на работу с файлами (копирование, переименование, удаление).

Билет № 7

1. Функциональная схема компьютера. Основные устройства компьютера, их назначение и взаимосвязь.
2. Способы записи алгоритмов (описательный, графический, на алгоритмическом языке, на языке программирования).
3. Практическое задание на поиск файлов.

Билет № 8

1. Программное управление работой компьютера. Программное обеспечение компьютера.
2. Основные типы и способы организации данных (переменные, массивы, списки).
3. Практическое задание на работу с диском (форматирование, создание системной дискеты).

Билет № 9

1. Папки и файлы (тип файла, имя файла). Файловая система. Основные операции с файлами в операционной системе.
2. Логическое сложение. Таблица истинности.
3. Практическое задание на тестирование и <лечение> гибкого диска от вирусов.

Билет № 10

1. Правовая охрана программ и данных. Защита информации.
2. Основные логические устройства компьютера (сумматор, регистр).
3. Практическое задание на создание, редактирование и распечатку текста с помощью текстового редактора.

Билет № 11

1. Этапы решения задачи с помощью компьютера (построение модели — формализация модели — построение компьютерной модели — проведение компьютерного эксперимента — интерпретация результата).
2. Моделирование как метод научного познания. Модели материальные и информационные.
3. Практическое задание на поиск информации в базе данных по заданным параметрам.

Билет № 12

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

Билет № 13

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

Билет № 14

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

Билет № 15

1. Алгоритмическая структура <ветвление>. Команды ветвления. Привести пример.
2. Представление и кодирование информации с помощью знаковых систем. Алфавитный подход к определению количества информации.
3. Задача на определение истинности составного высказывания.

Билет № 16

1. Алгоритмическая структура <цикл>. Команды повторения. Привести пример.
2. Выполнение арифметических операции в двоичной системе счисления.
3. Задача на определение количества информации с последующим преобразованием единиц измерения.

Билет № 17

1. Пример разработки алгоритма методом последовательной детализации. Вспомогательные алгоритмы.
2. Информационное моделирование. Основные типы информационных моделей.
3. Задача на сложение и вычитание двоичных чисел.

Билет № 18

1. Основы языка программирования (алфавит, операторы, типы данных и т.д.).
2. Основы языка разметки гипертекста (HTML).
3. Практическое задание на организацию запроса при поиске информации в Интернете.

Билет № 19

1. Текстовый редактор. Назначение и основные функции.
2. Двоичное кодирование текстовой информации. Различные кодировки кириллицы.
3. Практическое задание на инсталляцию программного продукта.

Билет № 20

1. Графический редактор. Назначение и основные функции.
2. Логическое умножение. Таблица истинности.
3. Привести пример адреса электронной почты и объяснить его формат.

Билет № 21

1. Электронные таблицы. Назначение и основные функции.
2. Адресация в Интернете: доменная система имен и IP-адреса.
3. Задание на разработку программы поиска максимального элемента в массиве.

Билет № 22

1. Базы данных. Назначение и основные функции.
2. Компьютерные вирусы: способы распространения, защита от вирусов.
3. Практическое задание на разработку Web-страницы.

Билет № 23

1. Информационные ресурсы сети Интернет: электронная почта, телеконференции, файловые архивы. Всемирная паутина.
2. Информация. Вероятностный подход к измерению количества информации.
3. Задача на построение блок-схемы алгоритма, записанного на естественном языке.

Билет № 24

1. Гипертекст. Технология WWW (World Wide Web — Всемирная паутина).
2. Визуальное объектно-ориентированное программирование. Графический интерфейс: форма и управляющие элементы.
3. Практическое задание на определение информационной емкости носителей информации.

Билет № 25

1. Основные этапы развития вычислительной техники. Информатизация общества.
2. Локальные и глобальные компьютерные сети. Назначение сетей.
3. Задание на разработку программы с использованием двумерного массива и вложенных циклов.


Словарь основных понятий и терминов

Автоматизированное рабочее место (АРМ, рабочая станция).

Место оператора, оборудованное всеми средствами, необходимыми для выполнения определённых функций. В системах обработки данных и учреждениях обычно АРМ — это дисплей с клавиатурой, но может использоваться также и принтер, внешние ЗУ и др.

Автоматизированные обучающие системы (АОС).

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

Автоматизированные системы научных исследований (АСНИ).

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

Адаптер.

Устройство связи компьютера с периферийными устройствами.

Адрес.

Номер конкретного байта оперативной памяти компьютера.

Алгебра логики.

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

Алгоpитм.

Заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.

Алфавит.

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

Антивирусные программы.

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

Арифметико-логическое устройство (АЛУ).

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

Архитектура фон Неймана.

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

Архитектура компьютера.

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

Ассемблер.

См. Язык ассемблера.

ASCII.

Читается "аски". Американский стандартный код обмена информацией. Широко используется для кодирования в виде байта букв, цифр, знаков операций и других компьютерных символов.

Аудиоадаптер (Sound Blaster, звуковая плата).

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

База данных.

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

Байт.

Группа из восьми битов, рассматриваемая при хранении данных как единое целое.

Библиотека стандартных подпрограмм.

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

Бит.

Наименьшая единица информации в цифровом компьютере, принимающая значения "0" или "1".

Ввод.

Считывание информации с внешнего устройства в память компьютера.

Вентиль.

См. Логический элемент.

Вещественное число.

В информатике — тип данных, содержащий числа, записанные с десятичной точкой и (или) с десятичным порядком.

Видеоадаптер.

Электронная плата, которая обрабатывает видеоданные (текст и графику) и управляет работой дисплея. Содержит видеопамять, регистры ввода-вывода и модуль BIOS. Посылает в дисплей сигналы управления яркостью лучей и сигналы развёртки изображения.

Винчестер.

См. Накопитель на жёстких магнитных дисках.

Вирус компьютерный.

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

Внешняя память.

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

Второе поколение компьютерной техники.

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

Вывод.

Результаты работы программы, выдаваемые компьютером пользователю, другому компьютеру или во внешнюю память.

Выpажение.

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

Гибкий (флоппи) диск.

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

Глобальная сеть (ГВС).

См. Сеть компьютерная.

Графический редактор.

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

Графопостроитель.

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

Джойстик.

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

Диск.

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

Дисковод.

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

Дисплей.

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

Драйверы.

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

Идентификатор.

Символическое имя переменной, которое идентифицирует её в программе.

Инструментальные программные средства.

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

Интегральная схема.

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

Интегрированные пакеты программ.

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

Интернет.

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

Интерпретатор.

Разновидность транслятора. Переводит и выполняет программу с языка высокого уровня в машинный код строка за строкой.

Интерфейс.

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

Информатизация общества.

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

Инфоpматика.

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

Информационная технология.

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

Информационно-поисковая система (ИПС).

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

Информация.

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

Искусственный интеллект (ИИ).

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

Исполнитель алгоритма.

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

Итерационный цикл.

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

Каталог (директория, папка).

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

Клавиатура компьютера.

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

Клиент (рабочая станция).

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

Ключевое слово.

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

Команда.

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

Компакт-диск (CD—ROM).

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

Компилятор.

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

Компьютер.

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

Компьютеризация.

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

Контроллер.

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

Курсор.

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

Кэш.

См. Сверхоперативная память.

Логический тип.

Тип данных, представляемый значениями "истина" или "ложь" ("да" или "нет"). Иногда также называется булевским в честь английского математика XIX века Джорджа Буля.

Логический элемент (вентиль).

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

Логическое высказывание.

Любoе пpедлoжение, в oтнoшении кoтopoгo мoжно oднoзначнo сказать, истиннo oнo или лoжнo.

Локальная сеть (ЛВС).

См. Сеть компьютерная.

Лэптоп (наколенник).

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

Манипуляторы (джойстик, мышь. трекболл и др.).

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

Массив.

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

Математическая модель.

Система математических соотношений — формул, уравнений, неравенств и т.д., отражающих существенные свойства объекта.

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

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

Меню.

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

Микропроцессор.

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

Микрокомпьютер.

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

Модем.

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

Монитор.

См. Дисплей.

Мультимедиа.

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

Мышь.

Устройство управления курсором. Имеет вид небольшой коробки, умещающейся на ладони. Связана с компьютером кабелем. Её движения трансформируются в перемещения курсора по экрану дисплея.

Накопитель на жёстких магнитных дисках (винчестерский накопитель).

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

Ноутбук (блокнот).

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

Оболочки.

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

Обработка информации.

В информатике — любое преобразование информации из одного вида в другой, производимое по строгим формальным правилам.

Оперативная память (ОЗУ).

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

Оператор.

Фраза алгоритмического языка, определяющая некоторый законченный этап обработки данных. В состав опеpатоpов входят ключевые слова, данные, выpажения и др.

Операционная система.

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

Описание.

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

Основание системы счисления.

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

Отладка (англ. debugging).

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

Отладчик (англ. debugger).

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

Пакеты прикладных программ (ППП).

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

Палмтоп (наладонник).

Самый маленький современный персональный компьютер. Умещается на ладони. Магнитные диски в нём заменяет энергонезависимая электронная память. Нет и накопителей на дисках — обмен информацией с обычными компьютерами идет по линиям связи.

Первое поколение компьютерной техники.

Машины, созданные на рубеже 50-х годов. В схемах использовались электронные лампы. Набор команд небольшой, схема арифметико-логического устройства и устройства управления простая, программное обеспечение практически отсутствовало. Быстродействие 10 — 20 тысяч операций в секунду.

Переменная.

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

Персональный компьютер.

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

Подпрограмма.

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

Поколения компьютеров.

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

Порты устройств.

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

Постоянная память (ПЗУ).

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

Прикладная программа.

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

Принтер.

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

Принцип открытой архитектуры.

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

Принципы фон-Неймана.

1.Принцип программного управления. Программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определённой последовательности.
2.Принцип адресности. Основная память состоит из перенумерованных ячеек; процессору времени доступна любая ячейка.
3.Принцип однородности памяти. Программы и данные хранятся в одной и той же памяти. Поэтому компьютер не различает, что хранится в данной ячейке памяти — число, текст или команда. Над командами можно выполнять такие же действия, как и над данными.

Программное обеспечение (SoftWare).

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

Прокрутка.

Имитация программистом за столом выполнения программы на конкретном наборе тестовых данных.

Протокол коммуникации.

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

Псевдокод.

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

Регистр.

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

Регистр команд.

Регистр УУ для хранения кода команды на период времени, необходимый для её выполнения.

Сверхоперативная память.

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

Семантика.

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

Сервер.

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

Сеть компьютерная.

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

Синтаксис.

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

Система команд.

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

Система программирования.

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

Система счисления.

Совокупность приемов и правил, по которым записываются и читаются числа.

Система телеконференций.

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

Система управления базами данных (СУБД).

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

Системные программы.

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

Системы автоматизированного проектирования (САПР).

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

Системы деловой графики.

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

Системы научной и инженерной графики.

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

Сканер.

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

Сопровождение программ.

Работы, связанные с обслуживанием программ в процессе их эксплуатации.

Стример.

Устройство для резервного копирования больших объёмов информации. В качестве носителя применяются кассеты с магнитной лентой ёмкостью 1—2 Гбайта и больше.

Структурное программирование.

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

Сумматор.

Электронная логическая схема, выполняющая суммирование двоичных чисел.

Суперкомпьютер.

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

Схема алгоритма (блок-схема).

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

Счётчик команд.

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

Таблица истинности.

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

Текстовый редактор.

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

Тест.

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

Тестирование.

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

Тип данных.

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

Топология.

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

Топология компьютерной сети.

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

Транслятор.

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

Трекболл.

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

Третье поколение компьютерной техники.

Семейства программно совместимых машин с развитыми операционными системами. Обеспечивают мультипрограммирование. Быстродействие внутри семейства от нескольких десятков тысяч до миллионов операций в секунду. Ёмкость оперативной памяти — нескольких сотен тысяч слов. Элементная база — интегральные схемы.

Триггер.

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

Упаковщики (архиваторы).

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

Устройство управления (УУ).

Часть процессора, выполняющая функции управления устройствами компьютера.

Файл.

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

Цикл.

Приём в программировании, позволяющий многократно повторять одну и ту же последовательность команд (операторов).

Четвёртое поколение компьютерной техники.

Теперешнее поколение машин, разработанных после 1970 года. Эти компьютеры проектировались в расчёте на эффективное использование современных высокоуровневых языков и упрощение процесса программирования для конечного пользователя. Элементная база — интегральные схемы. Ёмкость ОЗУ — десятки Мегабайт. Машины этого поколения представляют собой персональные компьютеры, либо многопроцессорные и (или) многомашинные комплексы, работающие на общую память и общее поле внешних устройств. Быстродействие до нескольких десятков - сотен миллионов операций в секунду.

Чувствительный экран.

Позволяет осуществлять общение с компьютером путем прикосновения пальцем к определённому месту экрана монитора.

Штриховой код (бар-код).

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

Экспертная система.

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

Электронный офис.

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

Электронная почта.

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

Электронная таблица.

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

Язык ассемблера.

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

Язык высокого уровня.

Язык программирования, более близкий к естественному языку, чем машинный код или язык ассемблера. Каждый оператор в нём соответствует нескольким командам машинного кода или языка ассемблера.

 

Литературные источники

Учебные издания для средних школ

2. Кулаков А.Г., Ландо С.К., Семенов А.Л., Шень А.Х. Алгоритмика, V—VII классы. — М.: Дрофа, 1996. 3. Кузнецов А.А. и др. Основы информатики. — М.: Дрофа, 1998. 4. Гейн А.Г., Сенокосов А.И. Информатика. — М.: Дрофа, 1998.

Справочные издания

15. Толковый словарь по вычислительным системам. Под ред. В. Иллингуотера и др. — М.: Машиностроение, 1990.

16. Зотов В.В. и др. Терминологический словарь по автоматике, информатике и вычислительной технике. — М.: Высшая школа, 1989.

17. Бордовский Г.А. Информатика в понятиях и терминах. — М.: Просвещение, 1991.

Научно-популярные издания

18. Знакомьтесь: компьютер. Пер. с англ. — М.: Мир, 1989.

19. Язык компьютера. Пер. с англ. — М.: Мир, 1989.

20. Кершан Б., Новембер А., Стоун Дж. Основы компьютерной грамотности. — М.: Мир, 1989.

21. Хасэгава Х. Мир компьютеров в вопросах и ответах. В 2-х томах. — М.: Мир, 1988.

Учебные пособия для студентов вузов

22. Вычислительная техника и программирование. Под ред. А.В.Ретрова. — М.: Высшая школа, 1990.

23. Боглаев Ю.П. Вычислительная математика и программирование. — М.: Высшая школа, 1990.

24. Светозарова Г.Н. и др. Практикум по программированию на языке Бейсик. — М.: Наука, 1988.

25. Каранчук В.П. Основы применения ЭВМ. — М.: Радио и связь, 1988.

26. Фролов Г.Д., Кузнецов Э.И. Элементы информатики. — М.: Высшая школа, 1989.

27. Кузьмичев Д.А. и др. Автоматизация экспериментальных исследований. — М.: Наука, 1983.

28. Кушниренко А.Г., Лебедев Г.В. Программирование для математиков. — М.: Наука, 1988.

Другие издания

30. Абрамов С.А. и др. Задачи по программированию. — М.: Наука, 1988. 31. Дудников Е.Е. Персональные компьютеры. — М.: МНИИПУ, 1988. 32. Чоговадзе Г.Г. Персональные компьютеры. — М.: Финансы и статистика, 1989.

ИНФОРМАТИКА. Практика алгоритмизации и программирования

 

Интернет-версия издания: Шауцукова Л.З. Информатика 10-11. — М.: Просвещение, 2000 г.

 

 

Предисловие.
Настройки. Интеграция браузера с IDE Turbo Pascal и Quick Basic.

Внимание: без соответствующих настроек демонстрационная часть работать не будет.
Глава 1. Алгоритмы линейной и разветвляющейся структуры.
Глава 2. Алгоритмы, реализуемые с помощью циклов типа ДЛЯ.
Глава 3. Алгоритмы, реализуемые с помощью вложенных циклов типа ДЛЯ.
Глава 4. Алгоритмы, реализуемые с помощью циклов типа ПОКА.
Глава 5. Алгоритмы, реализуемые с помощью вложенных циклов типа ПОКА.
Глава 6. Алгоритмы, реализуемые с помощью комбинации циклов типа ДЛЯ и ПОКА.
Глава 7. Алгоритмы обработки символьной информации.
Глава 8. Использование графики и звука в языке Turbo Pascal.

Теория (с задачами и решениями).

 

Предисловие

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

Цели настоящего практикума:

  • Скорейшее привлечение читателя к самостоятельному и осмысленному составлению законченных программ на популярных языках программирования Pascal и Basic;
  • Привитие основных навыков алгоритмической и программистской грамотности:
    • ясного и понятного стиля;
    • надёжности решений;
    • экономии вычислений;
    • организации переборов и т.д.

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

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

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

Для каждой задачи практикума приводятся:

    • система тестов;
    • параллельная реализация алгоритма на школьном алгоритмическом языке, языке блок-схем и на языках Turbo Pascal и QBasic;
    • таблицы исполнения алгоритма на каждом из тестов.

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

Важное значение, придаваемое тестированию алгоритмов, объясняется следующим:

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

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

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

Автор будет благодарна читателям за замечания, новые решения и интересные задачи, которые можно направлять по e-mail: shau@kbsu.ru.

 

 

Настройки

Содержание учебника можно читать практически под любой аппаратно-программной платформой (ввиду кроссплатформной переносимости HTML), но демонстрационная часть, связанная с запуском таких внешних по отношению к браузеру программ как Turbo Pascal или Quick Basic, будет работать лишь под управлением операционных систем MS Windows 95/98, NT 4.0. Что в свою очередь требует дополнительной настройки.

Поскольку как Turbo Pascal, так и Quick Basic являются приложениями DOS, а не Windows, то требуется сконфигурировать их для корректной работы в Windows.

Настройка Turbo Pascal

Рис. 1 закрыть окно щелчком на кнопке "ОК"; активизируется…

Настройка Quick Basic

Предположим, интерпретатор Quick Basic находится в каталоге C:\QB (тогда файл basic.exe должен находиться в каталоге C:\QB). Требуется выполнить для файла basic.exe аналогичную описанной в предыдущем пункте для turbo.exe последовательность действий.

Настройки расширений файлов

Демонстрационные примеры программ хранятся в файлах с расширением .tpp (для Turbo Pascal) и .qbp (для Quick Basic). Для того, чтобы при их приеме браузер не показывал их текст в своем окне, а запускал внешние программы (компилятора Паскаля и интерпретатора Бейсика) необходимо зарегистрировать указанные типы файлов среди известных Windows типов файлов.

Настройка .tpp

Внимание: воспользуйтесь этим файлом только в том случае, если у вас корректно установлен Turbo Pascal 7.0 в каталог C:\TP. В таком случае остаток… Предположим, интегрированная среда Turbo Pascal находится в каталоге C:\TP…

Настройка .qbp

Внимание: воспользуйтесь этим файлом только в том случае, если у вас корректно установлен Quick Basic в каталог C:\QB. В таком случае остаток данной… Предположим, интерпретатор Quick Basic находится в каталоге C:\QB (тогда файл…

Настройка браузера

Рис. 2 При первом нажатии кнопки "Quick Basic" демонстрации и появлении подобного окна запроса, следует проделать…

Алгоритмы линейной и разветвляющейся структуры

 

Пример 1.1. Простейший алгоритм, запрашивающий имя и затем приветствующий его обладателя.

 

Тест

 

Данные Результат
Имя = "Тимур" "Привет, Тимур!"

 

Демонстрация

 

Школьный АЯ

алг Знакомство (арг лит Имя, рез лит t) начвывод "Как тебя зовут ?"ввод Имяt := "Привет, " + Имя + "!" | "+" - операция сцепкивывод tкон


Turbo Pascal

Program Hello;Var Name: String; {Описание переменной Name строкового типа}BEGIN Write('Как тебя зовут ? '); {Вывод на экран текста вопроса}ReadLn(Name); {Ввод c клавиатуры имени}WriteLn('Привет, ', Name, '!'); {Вывод на экран приветствия}ReadLnEND.

Здесь последний оператор ReadLn позволяет видеть на экране результаты работы программы, пока не будет нажата клавиша <Enter>.

 

Результаты работы Pascal-программы

 

Как тебя зовут ? Тимур <Enter> Привет, Тимур !

QBasic

CLSINPUT "Как тебя зовут ?", Name$PRINT "Привет, "; Name$; "!"END

 

Пример 1.2. Определить объём и площадь боковой поверхности цилиндра с заданными радиусом основания R и высотой H.

 

Тест

 

Данные Результат
R = 1 H = 1 V = 3.14 S = 6.28
       

 

Демонстрация

Школьный АЯ

алг Цилиндр (арг вещ R, H, рез вещ V, S)нач вещ Pi Pi := 3.14 V := Pi * R**2 * H S := 2 * Pi * R * H кон


Turbo Pascal

Program Cylinder;Uses Crt; {Подключение библиотеки Crt}VarR, {радиус основания цилиндра}H, {высота цилиндра }V, {объем цилиндра }S: Real; {площадь боковой поверхности цилиндра}BEGINClrScr; {Вызов из библиотеки Crt процедуры очистки экрана}Write('Введите высоту цилиндра : '); ReadLn(H);Write('Введите радиус основания : '); ReadLn(R);V := Pi * R * R * H;S := 2 * Pi * R * H; WriteLn;WriteLn('Объем цилиндра = ', V : 5 : 2); {Здесь 5 - общееколичество позиций, занимаемых переменной V при выводе,а 2 - количество позиций в дробной части значения V}WriteLn('Площадь боковой поверхности = ', S : 5 : 2);ReadLnEND.


QBasic

CLSINPUT "Введите высоту цилиндра : ", HINPUT "Введите радиус основания : ", RV = 3.14 * R ^ 2 * HS = 2 * 3.14 * R * H : PRINTPRINT "Объем цилиндра = "; VPRINT "Площадь боковой поверхности = "; SEND

 

Пример 1.3. Даны три точки на плоскости. Определить, какая из них ближе к началу координат.

 

Система тестов

  Демонстрация Школьный АЯ алг Точки(арг вещ xA,yA,xB,yB,xC,yC, рез лит Otvet)нач вещ DistA,DistB,DistC ввод xA,yA,xB,yB,xC,yC…

Система тестов

  Демонстрация Школьный АЯ алг Произведение цифр (арг цел Num, рез цел P)нач цел i, j, k, l Num := abs(Num) | abs - абсолютная…

Система тестов

Демонстрация Школьный АЯ (упрощенный алгоритм) алг Квур (арг вещ а, b, c, рез вещ x1,… Turbo Pascal Program QuadraticEquation; Uses Crt; { подключение библиотеки Crt } Var a, b, c : Real; {a, b, c -…

Две прямые описываются уравнениями

 

a1 x + b1 y + c1 = 0;

a2 x + b2 y + c2 = 0.

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

 

Система тестов

  Демонстрация  

– Конец работы –

Используемые теги: Глава, Введение, информатику0.067

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Глава 1. Введение в информатику

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекции по курсу Информатика Лекция 1. Основные понятия и методы теории информатики и кодирования. Информатика как научная дисциплина. Понятие информации и информационных процессов
Лекция Основные понятия и методы теории информатики и кодирования... Информатика как научная дисциплина... Понятие информации и информационных процессов...

Конспект лекций по дисциплине Информатика Введение в информатику
Введение в информатику Определение инфоpматики В году... Формы существования информации... Информация может существовать в самых разнообразных формах...

Глава I Берлинский кризис 1948 – 1949 гг. Глава II Берлинский кризис 1953 гг. Глава III Берлинский кризис 1958 – 1961 гг.
Введение... Глава I Берлинский кризис гг...

КУРС ЛЕКЦИЙ по дисциплине Информатика Лекция 1 1. Введение в информатику
Федеральное агентство по образованию... Государственное образовательное учреждение... высшего профессионального образования...

ЛЕКЦИЯ 1. 3 ПОНЯТИЕ ПРАВОВОЙ ИНФОРМАТИКИ И ЕЕ ПРЕДМЕТ. Правовая информатика как наука и учебная дисциплина. О месте правовой информатики в системе наук и правоведении. 14
ВВЕДЕНИЕ... ЛЕКЦИЯ... ПОНЯТИЕ ПРАВОВОЙ ИНФОРМАТИКИ И ЕЕ ПРЕДМЕТ Правовая информатика как наука и учебная дисциплина...

ГЛАВА 1. ВВЕДЕНИЕ В ИНФОРМАТИКУ
Техническая база информатики Из истории создания и развития ЭВМ Механические средства для... Классификация ЭВМ...

ЛЕКЦИИ ПО КУРСУ ИНФОРМАТИКА Лекция 1. Введение. История информатики. Измерение
Лекция... Введение История информатики Измерение...

Глава 1. ВВЕДЕНИЕ В МАРКЕТИНГОВЫЕ
ИССЛЕДОВАНИЯ... Предмет и основные направления маркетинго вых исследований... История основные этапы развития маркетин говых исследований...

Объект и предмет информатики. Структура Информатики
Информатика делится на ряд разделов... Теоретическая информатика... Основная статья Теоретическая информатика...

ЧАСТЬ I. Введение. Предмет клеточной биологии ГЛАВА 1. Клеточная теория
Предисловие... ЧАСТЬ I Введение Предмет клеточной биологии... ГЛАВА Клеточная теория Клетка элементарная единица живого...

0.039
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам