- •5.Информатика как наука, предмет и объект науки
- •Место информатики в системе наук
- •6.Информационное общество, этические аспекты информатики
- •7.Правовые аспекты информатики
- •8.Принципы Фон-Неймана
- •9.Двоичная и десятичная система счисления. Перевод из двоичной системы счисления в десятичную
- •Перевод числа из двоичной системы счисления в двоичную систему счисления
- •Перевод числа из десятичной системы счисления в двоичную систему счисления
- •10.Аналоговые и дискретные сигналы
- •11.Системная плата
- •12.Процессор
- •13.Языки программирования: назначение и виды
- •Транслятор
- •14.Понятия и принципы алгоритма
- •15.Принцип «открытой архитектуры».
- •Составные части компьютера
- •16.Внешний вид системного блока: разъемы, кнопки, индикаторы
- •17.Классификация видов памяти
- •18.Компьютерная графика
- •Параметры изображения
- •19.Компьютерные вирусы
- •Классификация вирусов
- •20. Материнская плата
- •21.Отличие ос Windows от ос Linux
- •22.Операционная система пк
- •Виды операционных систем
- •23.Файловые менеджеры (программы-оболочки)
- •24.Виды программного обеспечения
- •Виды коммерческого статуса программ
- •25.Дистрибутивы и утилиты: назначение, примеры
- •26.Файлы и папки
- •27.Логическая организация жесткого диска. Файловая система.
- •Кластеры и секторы
- •Файловая система
- •Некоторые возможности файловой системы ntfs
- •28.Сжатие информации
- •29.Локальные сети: назначение, топология
- •30.Абстрактная модель osi (уровни протоколов)
- •Инкапсуляция пакетов
- •Инкапсуляция пакетов
- •31.Топология сети
- •Общая шина
- •Топология «кольцо»
- •32.Протоколы канального уровня (на примере Ethernet, Token ring, fddi) Протокол Ethernet
- •Протокол Token Ring
- •Протокол fddi (Fiber Distributed Data Interface)
Транслятор
Для перевода с языка программирования высокого уровня на язык, понятный процессору, используются специальные программы – трансляторы. Трансляторы бывают двух видов:
интерпретатор;
компилятор.
В режиме интерпретации происходит трансляция построчно, то есть выполнение программы происходит непосредственно в среде программирования. Программы, написанные с использованием интерпретатора, не могут работать вне среды. Примером таких программ могут выступать любые, написанные на языке BASIC.
В режиме компиляции происходит перевод всей программы и запись ее в отдельный файл. Файл может быть сохранен в памяти компьютера, а затем исполнен.
Преимущество компилятора состоит в том, что предварительно программа проверяется на наличие ошибок. Также стоит отметить и то, что программа может работать вне среды программирования. Но у компилятора имеется и недостаток, который состоит в том, что в случае ошибки найти ее очень сложно, ибо в этом случае нельзя следить за промежуточными результатами. Для отладки используется режим интерпретации, то есть построчное выполнение написанной программы.
14.Понятия и принципы алгоритма
Под этим интуитивно понятным на первый взгляд словом кроется огромная теория и годы усиленных трудов многих математиков. Казалось бы, сформулировать определение алгоритма проще простого: алгоритм — четкое и понятное исполнителю указание выполнить последовательность действий, направленных на получение какого-то результата. Однако, существуют такие задачи, решение которых опирается на некую последовательность действий, которая укладывается в данное определение, но говорят, что для решения этой задачи не существует алгоритма. Например, знаменитая задача коммивояжера, в которой имеется таблица стоимости проезда из одного города в другой. Требуется посетить все города, но по такому маршруту, чтобы стоимость путешествия была наименьшей. Единственным решением на сегодняшний день является перебор всевозможных маршрутов с замером стоимости. Всего таких маршрутов будет n!, где n — число городов. Если число городов будет 100, то перебрать нужно будет 100! вариантов, а это число больше, чем количество частиц во всей Вселенной. Понятно, что решить эту задачу невозможно, хотя для того, чтобы ее решить, нужно выполнять последователь действий, похожих по определению на алгоритм.
Для того, чтобы утверждать, что задача имеет алгоритм, достаточно просто предъявить его; а для того, чтобы утверждать, что задача не имеет решения, необходимо это доказать. Для доказательства используют специальные теории (для этого используется абстрактная машина Тьюринга или абстрактная машина Поста).
Понятие алгоритма четко привязано к понятию исполнителя. Исполнитель умеет исполнять команды, но не вникает в смысл команд, поэтому он может выполнить только то, что ему предписано. Предположим, что ребенок — это исполнитель, и мы пошлем его в магазин.
Если мы ему скажем «пойди в магазин и купи чего-нибудь», то в итоге мы не получим результата, потому что нарушается свойство определенности. Алгоритм не должен содержать команды, смысл которых может быть понятен неоднозначно.
Если мы скажем ребенку «go to the shop and buy a bread», то он вряд ли вообще что-то сделает, так как скорее всего он не поймет наших слов. Алгоритм должен быть понятен исполнителю, то есть команды должны содержаться в системе команд исполнителей (СКИ).
Мы можем сказать «пойди в магазин и купи хлеба». А если в магазине хлеба нет, то мы останемся без хлеба. Значит, алгоритм должен выдавать результат.
Если поступит команда «пойди в магазин, купи хлеба. Если хлеба в этом магазине нет, то пойди в следующий». В этом случае ребенок может пойти в один другой магазин, если в первом магазине нет хлеба, то ребенок может пойти в тот, в котором он уже был, затем опять во второй и т.д. Вывод: алгоритм должен заканчиваться, а не продолжаться бесконечно.
Если мы скажем ребенку «понимаешь, нет хлеба, поэтому было бы неплохо, если бы ты сходил в этот магазин или какой-то другой, если считаешь, что тот, куда ты пошел в первый раз по каким-то причинам тебе не подходит. Только не ходи в те, где ты уже был», то получится, что мы рассказали ребенку целую историю и в итоге в нем не содержится именно последовательности действий. Алгоритм должен содержать именно последовательность действий, то есть быть дискретным.
Наконец, наши команды должны «посылать» ребенка не только за хлебом, но, например, и за молоком, то есть для любых входных данных мы должны получить требуемый результат.
Итак, свойства алгоритма:
определенность;
понятность;
результативность;
конечность;
дискретность;
массовость.
