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

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

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

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

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

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

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

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

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

Виды алгоритмов:

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

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

Разветвляющийся алгоритм содержит, по крайней мере, одно условие. Для реализации разветвляющегося алгоритма используется типовая структура РАЗВЕТВЛЕНИЕ. Основой разветвляющегося алгоритма является логический элемент условия, изображаемый на схеме символом РОМБ. В логическом элементе производится проверка условия, которая даёт результат ДА или НЕТ. В зависимости от этого поток информации направляется по одному из двух выходных каналов логического элемента. В таком алгоритме может быть два варианта:
1. если условие выполняется, то информационный поток направляется в блок вычислительного процесса, для которого проводилась проверка условия; если условие не выполняется – информационный поток направляется к следующим элементам блок-схемы. Таким образом, логическая схема может быть записана как ЕСЛИ (условие) -ТО (формула).
2. имеется ДВЕ ФОРМУЛЫ вычислений, и алгоритм работает по следующему логическому принципу: ЕСЛИ (условие) - ТО (формула 1), ИНАЧЕ (формула 2).

Если нужно проверить несколько условий, то алгоритм принимает форму «дерева» с разветвлениями в виде «веток». Количество логических элементов всегда на единицу меньше количества условий, т.к. каждый элемент имеет один вход и два выхода. Участок алгоритма до разветвления называется стволом, условие – точкой разветвления, альтернативные направления процесса вычисления после точки разветвления - ветвями.

 

 

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

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

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

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

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

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

Существует три основных разновидности вирусов:

Вирусы, инфицирующие файлы. Они присоединяются к исполняемым файлам и распространяются на другие файлы в процессе работы программы.

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

Троянские кони, после загрузки уничтожают данные.

В наше время вирусы стали постоянным негативным фактором. Однако рынок предлагает достаточно антивирусных программ для Windows XP.