- •1.2. Информация
- •1.3. Алгоритм и исполнитель алгоритма
- •1.4. Компьютерная программа
- •2. Аппаратное и программное обеспечение пк
- •2.1. Архитектура пк и логические принципы его работы
- •2.2. Компоненты и периферийные устройства пк
- •2.3. Классификация программного обеспечения пк
- •2. Прикладное по, которое включает в себя:
- •2.4. Назначение операционной системы. Файлы, папки и каталоги
- •2.5. Файловая система операционной системы ms Windows
- •3. Введение в операционную систему ms Windows
- •3.1. Персональный компьютер. Файловая система ms Windows Назначение персонального компьютера
- •Аппаратное обеспечение персонального компьютера (Hardware)
- •Порядок включения пк
- •Порядок выключения пк
- •Способы хранения информации
- •Сохранение и загрузка (открытие) информации
- •Файловая система хранения информации в компьютере
- •Чтобы найти файл, необходимо четко знать:
- •Полное имя файла
- •Приемы работы с объектами ms Windows
- •Интерфейс операционной системы семейства ms Windows
- •Объекты Рабочего стола
- •Основные способы запуска прикладных программ
- •Правила работы с окнами
- •Некоторые компоненты Рабочего стола
- •Выход из ms Windows
- •3.3. Структура окна и приемы работы с программой "Проводник" Интерфейс программы "Проводник"
- •Форматирование дискет
- •Открытие папки
- •Создание вложенных папок
- •Изменение имени папки
- •Копирование и перемещение папок
- •Быстрое создание файлов
- •Изменение имени файла
- •Копирование и перемещение файлов
- •3.4. Утилиты ms Windows по обслуживанию дисков пк Обзор основных утилит ms Windows1
- •Проверка дисков
- •Дефрагментация дисков
- •3.5. Работа с программами-архиваторами WinRar (WinZip) Архивация файлов. Общие сведения
- •Архиватор WinRar1
- •Архиватор WinZip
- •Извлечение файлов из архива
- •3.6. Работа с антивирусной программой DrWeb Антивирусная защита. Общие сведения
- •Антивирусная программа DrWeb
1.3. Алгоритм и исполнитель алгоритма
Обработка информации, как уже отмечалась выше, является одной из основных операций, выполняемых над информацией, и главным средством увеличения ее объема и разнообразия. Средства обработки информации – это всевозможные технические устройства и системы, созданные человеком. В первую очередь, это компьютер – универсальная машина, обрабатывающая информацию путем выполнения определенных алгоритмов.
Понятие "алгоритм" так же, как и понятие "информация" относится к фундаментальным неопределяемым понятиям информатики и математики. Свое происхождение термин "алгоритм" берет от имени узбекского ученого, жившего в XII веке в Ташкенте – Абу Мухаммед ибн Муса аль-Маджус аль-Хорезми, который обосновал удобство использования позиционной десятичной системы счисления и разработал для нее правила письменных арифметических вычислений – сложение, вычитание, умножение и деление. В процессе перевода его научного труда на латинский язык имя автора было усечено до последней компоненты и трансформировано (в силу фонетических особенностей латиницы) в слово "Algorithmi", которым долгое время обозначались предложенные аль-Хорезми правила арифметических вычислений.
В наши дни этот термин имеет другое смысловое наполнение:
Алгоритм – это определенная последовательность инструкций (предписаний), доступных для понимания исполнителем и предназначенных для достижения им указанной цели или решения поставленной задачи.
Исполнитель алгоритма – это некоторая абстрактная или реальная техническая, биологическая или биотехническая система, способная выполнять действия, предписываемые алгоритмом.
В качестве исполнителя алгоритма могут выступать человек, животное и автоматическое устройство. В информатике универсальным исполнителем алгоритмов является компьютер.
Исполнителя характеризуют:
среда (или обстановка) – "место обитания" исполнителя;
система команд – каждый исполнитель может выполнять команды только из некоторого строго определенного списка. Для каждой команды должны быть заданы условия ее применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты ее выполнения;
элементарные действия – простейшие операции, которые исполнитель совершает после вызова соответствующей команды;
отказы – невозможность выполнения того или иного действия, если команда вызывается при недопустимом для нее состоянии среды.
Обычно исполнитель ничего не знает о цели алгоритма. Он выполняет все получаемые команды, не задавая вопросов "почему" и "зачем".
Изучение алгоритмов является спецификой науки о вычислениях. В последнее время здесь были достигнуты значительные успехи. К числу основных проблем, изучаемых этой наукой, можно отнести следующие:
поиск новых и улучшение существующих алгоритмов;
математическое исследование эффективности алгоритмов;
разработка математических методов доказательства того, что данный алгоритм является "наилучшими из возможных";
согласование положений теории вычислений с практическими соображениями.
К числу основных свойств алгоритма относятся:
Понятность (доступность) – алгоритм должен учитывать специфику исполнителя, при необходимости ему должны предоставляться дополнительные сведения;
Дискретность (раздельность) – выполнение каждого очередного шага алгоритма должно начинаться только после полного завершения предыдущего шага;
Детерминированность (определенность) – выполнение алгоритма исполнителем носит механический характер, т.е. выбор каждого очередного шага алгоритма зависит не от предпочтений исполнителя, а от результатов, достигнутых им на предыдущем шаге;
Результативность (конечность) – либо решение задачи достигается за конечное, хотя бы и большое, число шагов, либо делается вывод о невозможности продолжения выполнения алгоритма по той или иной причине (есть алгоритмы, не обладающие этим свойством – например, вычисление иррационального числа );
Массовость – если алгоритм позволяет решить некоторую задачу, то он же должен быть применим для целого класса подобных задач, различающихся лишь наборами исходных данных, образующих область применимости алгоритма (есть алгоритмы, не обладающие этим свойством, т.к. порой невозможно организовать еще один набор исходных данных либо в силу их уникальности, либо в связи со значительными затратами времени, финансов или материальных ресурсов).
На практике используются следующие формы представления алгоритмов:
Словесная запись – неформализованная запись алгоритма на естественном языке, например, рецепт приготовления манной каши;
Блок-схема – наиболее наглядная графическая форма представления алгоритмов, используемая профессионалами особенно в тех случаях, когда алгоритм обладает изощренной логикой выполнения;
Псевдокоды – полуформализованное описание алгоритма на базе одного из квази-языков программирования, которые применяются в тех случаях, когда нет возможности преподавать основы алгоритмизации с использованием ЭВМ;
Компьютерная программа – жестко формализованная запись алгоритма, ориентированная на исполнителя – ЭВМ. Это единственная форма записи алгоритма, доступная для понимания компьютером. Для разработки компьютерных программ используются инструментальные средства, называемые языками программирования.
Рассмотрим, в качестве примера, запись алгоритма Евклида нахождения наибольшего общего делителя (НОД) для двух натуральных чисел во всех четырех перечисленных выше формах представления.
Словесная запись:
1. Задать два числа.
2. Если числа равны, то взять первое из них в качестве ответа и прекратить выполнение алгоритма, иначе идти к пункту 3.
3. Определить бóльшее из двух чисел.
4. Заменить бóльшее число на разность между бóльшим и меньшим числами.
5. Идти к пункту 2.
Блок-схема:
Псевдокоды:
алг НОД
нач
ввод a; b
S: если a = b то идти к F
если a < b то a:=a-b
иначе b:=b-a
идти к S
F: вывод a
кон
Программа на языке
Turbo Pascal 7.0:
Program NOD;
Var a, b: LongInt;
Label S, F;
Begin
Write('Введите первое число: ');
Readln(a);
Write('Введите второе число: ');
Readln(b);
S: If a = b Then Goto F;
If a < b Then a:=a-b
Else b:=b-a;
Goto S;
F: Writeln(a);
Readln;
End.
Необходимо отметить, что алгоритмы с прозрачной, ясной для понимания логикой выполнения, как правило, не являются эффективными. Дело в том, что разработчики самых эффективных алгоритмов настолько глубоко проникают в проблематику решаемых задач, что неизбежно начинают учитывать очень тонкие логические нюансы, которые трудны для понимания неподготовленным пользователем. Эта тенденция легко прослеживается на примере классического алгоритма Евклида и его модифицированного варианта:
1. Задать два числа.
2. Если числа равны, то взять первое из них в качестве ответа и прекратить выполнение алгоритма, иначе идти к пункту 3.
3. Определить бóльшее из двух чисел.
4. Разделить бóльшее число на меньшее.
5. Заменить бóльшее число на остаток от деления.
6. Повторять шаги 3-5 пока остаток от деления не станет равным нулю.
7. Искомым значением НОД будет последний делитель. Если он равен единице, то исходные числа являются взаимно простыми.
В этом модифицированном варианте поиска НОД для двух натуральных чисел операция многократного вычитания одного числа из другого заменена эквивалентной ей операцией деления, о которой древние математики (в том числе и Евклид) не имели представления.
