Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ-Введение _в_информатику.doc
Скачиваний:
46
Добавлен:
29.05.2015
Размер:
592.38 Кб
Скачать

2.4. Взаимодействие с аппаратным обеспечением

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

2.5. Обслуживание компьютера

Функция ОС по обслуживанию компьютера решается включением в состав операционной системы служебных программ:

      • программы обслуживания дисков – утилиты (Format - форматирование, Defrag - дефрагментация файлов, ScanDisk – проверка диска и др.);

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

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

3. Алгоритмы и программы

3.1. Определение алгоритма. Основные типы и свойства алгоритмов

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

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

Типы алгоритмов. Согласно строению алгоритма выделяют 3 основных типа алгоритмов – линейные, разветвляющиеся, циклические.

Линейный алгоритм. Команды выполняются последовательно одна за другой.

Разветвляющийся алгоритм. Та или иная серия команд выполняется после проверки истинности условия (в структуру "ветвление" входит условие).

Циклический алгоритм. Серия команд (тело цикла) выполняется многократно.

Линейный алгоритм Разветвляющийся алгоритм Циклический алгоритм

Свойства алгоритмов.

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

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

Результативность – Алгоритм должен приводить к решению поставленной задачи за конечное число шагов.

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

3.2. Программирование. Языки программирования высокого уровня

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

Программа - алгоритм, записанный на "понятном" компьютеру (процессору) языке.

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

Языки программирования бывают низкого уровня и высокого уровня.

К языкам программирования низкого уровня относят Ассемблер, оперирующий машинными кодами.

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

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

На заре компьютерной эры, в 50-е годы XX века, программы писались на машинном языке. Составление и отладка таких программ было чрезвычайно трудоемким делом (например, Ассемблер- язык программирования низкого уровня).

В 60-70-е годы начали создаваться языки программирования высокого уровня, формальные языки, кодирующие алгоритмы в привычном для человека виде (в виде предложений). Такие языки программирования строились на основе использования определенного алфавита и строгих правил построения предложений (синтаксиса).

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

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

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