- •Глава 1. Информация. Свойства. Информатика. 4
- •Глава 2. Общие принципы организации и работы компьютеров 12
- •Глава 3. Классификация компьютеров 47
- •Глава 4. Арифметические основы компьютеров 63
- •Глава 5. Логические основы компьютеров 84
- •Глава 6. Программное обеспечение компьютеров 109
- •Глава 7. Алгоритмы. Алгоритмизация. Алгоритмические языки 128
- •1.2. Что такое информация?
- •1.3. В каком виде существует информация?
- •1.4. Как передаётся информация?
- •1.5. Как измеряется количество информации?
- •1.6. Что можно делать с информацией?
- •1.7. Какими свойствами обладает информация?
- •1.8. Что такое обработка информации?
- •1.9. Что такое информационные ресурсы и информационные технологии?
- •1.10. Что понимают под информатизацией общества?
- •1.11. Вопросы для самоконтроля
- •1.12. Упражнения
- •Оглавление Ответы — Раздел 1. Введение в информатику
- •Глава 2. Общие принципы организации и работы компьютеров
- •2.1. Что такое компьютер?
- •2.2. Как устроен компьютер?
- •2.3. На каких принципах построены компьютеры?
- •1. Принцип программного управления. Из него следует, что программа состоит из набора команд, которые выполняются процессором автоматически друг за другом в определенной последовательности.
- •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.28. Что такое центральный процессор?
- •Глава 3. Классификация компьютеров
- •3.2. На чем основана классификация по поколениям?
- •3.3. Краткая историческая справка
- •3.4. Какие компьютеры относятcя в первому поколению?
- •3.5. Какие компьютеры относятся ко второму поколению?
- •3.6. В чем особенности компьютеров третьего поколения?
- •3.7. Что характерно для машин четвёртого поколения?
- •3.8. Какими должны быть компьютеры пятого поколения?
- •3.9. На какие типы делятся компьютеры по условиям эксплуатации?
- •3.10. На какие типы делятся компьютеры по производительности и характеру использования?
- •3.11. Какие существуют типы портативных компьютеров?
- •3.12. Вопросы для самоконтроля
- •Глава 4. Арифметические основы компьютеров
- •4.1. Что такое система счисления?
- •4.2. Как порождаются целые числа в позиционных системах счисления?
- •4.3. Какие системы счисления используют специалисты для общения с компьютером?
- •4.4. Почему люди пользуются десятичной системой, а компьютеры — двоичной?
- •4.5. Почему в компьютерах используются также восьмеричная и шестнадцатеричная системы счисления?
- •4.6. Как перевести целое число из десятичной системы в любую другую позиционную систему счисления?
- •4.7. Как пеpевести пpавильную десятичную дpобь в любую другую позиционную систему счисления?
- •4.8. Как пеpевести число из двоичной (восьмеpичной, шестнадцатеpичной) системы в десятичную?
- •4.9. Сводная таблица переводов целых чисел из одной системы счисления в другую
- •4.10. Как производятся арифметические операции в позиционных системах счисления?
- •4.11. Как представляются в компьютере целые числа?
- •4.12. Как компьютер выполняет арифметические действия над целыми числами?
- •4.13. Как представляются в компьютере вещественные числа?
- •4.14. Как компьютер выполняет арифметические действия над нормализованными числами?
- •4.15. Упражнения
- •Ответы — Раздел 4. Арифметические основы компьютеров
- •Глава 5. Логические основы компьютеров
- •5.1. Что такое алгебра логики?
- •5.2. Что такое логическая формула?
- •5.3. Какая связь между алгеброй логики и двоичным кодированием?
- •5.4. В каком виде записываются в памяти компьютера и в регистрах процессора данные и команды?
- •5.5. Что такое логический элемент компьютера?
- •5.6. Что такое схемы и, или, не, и—не, или—не?
- •5.7. Что такое триггер?
- •5.8. Что такое сумматор?
- •5.9. Какие основные законы выполняются в алгебре логики?
- •5.10. Как составить таблицу истинности?
- •5.11. Как упростить логическую формулу?
- •5.12. Что такое переключательная схема?
- •5.13. Как решать логические задачи?
- •5.14. Упражнения
- •Логические задачи
- •5.5. Являются отрицаниями друг друга: б), г), д), к); не являются отрицаниями друг друга: а), в), е), ж), з), и).
- •5.6. Истинны: б), в), г), з), к), и); ложны: а), д), е), ж).
- •5.13. Тождественно истинные: а), в), е); тождественно ложные: г), д), ж).
- •Глава 6. Программное обеспечение компьютеров
- •6.1. Что такое программное обеспечение?
- •6.2. Как классифицируется программное обеспечение?
- •6.3. Какие программы называют прикладными?
- •6.4. Какова роль и назначение системных программ?
- •6.5. Что такое операционная система?
- •6.6. Что такое файловая система ос?
- •6.7. Какова структура операционной системы ms dos?
- •6.8. Что такое программы-оболочки?
- •6.9. Что собой представляют операционные системы Windows, Unix, Linux ?
- •6.10. Что такое транслятор, компилятор, интерпретатор?
- •6.11. Что такое системы программирования?
- •6.12. Для чего нужны инструментальные программы?
- •6.13. Что такое текстовый редактор?
- •6.14. Что такое графический редактор?
- •6.15. Каковы возможности систем деловой и научной графики?
- •6.16. Что такое табличный процессор?
- •6.17. Что такое системы управления базами данных?
- •6.18. Что такое библиотеки стандартных подпрограмм?
- •6.19. Что такое пакеты прикладных программ?
- •6.20. Что такое интегрированные пакеты программ?
- •6.21. Что такое органайзеры?
- •6.22. Что такое сетевое программное обеспечение?
- •6.23. Вопросы для самоконтроля.
- •Глава 7. Алгоритмы. Алгоритмизация. Алгоритмические языки
- •7.1. Что такое алгоритм?
- •7.2. Что такое "Исполнитель алгоритма"?
- •7.3. Какими свойствами обладают алгоpитмы?
- •7.4. В какой форме записываются алгоритмы?
- •7.5. Что такое словесный способ записи алгоритмов?
- •7.6. Что такое графический способ записи алгоритмов?
- •7.7. Что такое псевдокод?
- •7.8. Как записываются алгоритмы на школьном алгоритмическом языке?
- •7.9. Что такое базовые алгоритмические структуры?
- •7.10. Какие циклы называют итерационными?
- •7.11. Что такое вложенные циклы?
- •7.12. Чем отличается программный способ записи алгоритмов от других?
- •7.13.Что такое уровень языка программирования?
- •7.14. Какие у машинных языков достоинства и недостатки?
- •7.15. Что такое язык ассемблера?
- •7.16. В чем преимущества алгоритмических языков перед машинными?
- •7.17. Какие компоненты образуют алгоритмический язык?
- •7.18. Какие понятия используют алгоритмические языки?
- •7.19. Что такое стандартная функция?
- •7.20. Как записываются арифметические выражения?
- •7.21. Как записываются логические выражения?
- •7.22. Упражнения
- •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. Упражнения
- •Как используются компьютеры в быту?
- •9.2. Что такое системы автоматизированного проектирования (сапр)?
- •9.3. Что такое автоматизированные системы научных исследований (асни)?
- •9.4. Какая взаимосвязь между асни и сапр?
- •9.6. Как используются компьютеры в административном управлении?
- •9.7. Какую роль играют компьютеры в обучении?
- •9.8. Какую роль играют компьютеры в управлении технологическими процессами?
- •9.9. Какую роль играют компьютеры в медицине?
- •9.10. Как используются компьютеры в торговле?
- •9.11. Что такое электронные деньги?
- •9.13. Вопросы для самоконтроля
7.12. Чем отличается программный способ записи алгоритмов от других?
При записи алгоритма в словесной форме, в виде блок-схемы или на псевдокоде допускается определенный произвол при изображении команд. Вместе с тем такая запись точна настолько, что позволяет человеку понять суть дела и исполнить алгоритм.
Однако на практике в качестве исполнителей алгоритмов используются специальные автоматы — компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на понятном ему языке. И здесь на первый план выдвигается необходимость точной записи команд, не оставляющей места для произвольного толкования их исполнителем.
Следовательно, язык для записи алгоритмов должен быть формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке — программой для компьютера.
7.13.Что такое уровень языка программирования?
В настоящее время в мире существует несколько сотен реально используемых языков программирования. Для каждого есть своя область применения.
Любой алгоритм, как мы знаем, есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
машинные;
машинно-оpиентиpованные (ассемблеpы);
машинно-независимые (языки высокого уровня).
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания мелких деталей процесса обработки данных. Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
процедурные (алгоритмические) (Basic, Pascal, C и др.), которые предназначены для однозначного описания алгоритмов; для решения задачи процедурные языки требуют в той или иной форме явно записать процедуру ее решения;
логические (Prolog, Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания;
объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и действия над нами. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути описывает часть мира, относящуюся к этой задаче. Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
7.14. Какие у машинных языков достоинства и недостатки?
Каждый компьютер имеет свой машинный язык, то есть свою совокупность машинных команд, которая отличается количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнить машина и др.
При программировании на машинном языке программист может держать под своим контролем каждую команду и каждую ячейку памяти, использовать все возможности имеющихся машинных операций.
Но процесс написания программы на машинном языке очень трудоемкий и утомительный. Программа получается громоздкой, труднообозримой, ее трудно отлаживать, изменять и развивать.
Поэтому в случае, когда нужно иметь эффективную программу, в максимальной степени учитывающую специфику конкретного компьютера, вместо машинных языков используют близкие к ним машинно-ориентированные языки (ассемблеры).
