Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.doc
Скачиваний:
147
Добавлен:
16.02.2016
Размер:
555.52 Кб
Скачать

Алгоритм

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

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

Для алгоритма характерны следующие свойства:

  1. Дискретность - алгоритм должен быть представлен как последовательное выполнение простых шагов. Шагом называется каждое действие алгоритма.

  2. Определенность - каждое действие алгоритма должно быть четким и однозначным.

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

  4. Массовость - алгоритм составляется в общем виде, т.е. он должен быть применим к ряду задач, различающихся исходными данными.

Способы записи алгоритма

Формальный - запись алгоритма словесно, на естественном языке.

Графический - изображение алгоритма в виде блок-схемы.

В блок-схеме действия алгоритма (блоки) изображаются следующими геометрическими фигурами:

В зависимости от поставленной задачи и последовательности выполняемых шагов различают следующие виды алгоритмов:

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

Блоки алгоритма 1, 2, 3 выполняются именно в такой последовательности, после чего алгоритм достигает цели и заканчивается.

Алгоритм с ветвлением - в зависимости от выполнения или невыполнения условия, исполняется либо одна, либо другая ветвь алгоритма.

В данном алгоритме проверяется условие, и если оно выполняется, то есть на вопрос можно ответить "Да", исполняется блок алгоритма 1 (одно ли несколько действий), а если не выполняется - ответ на вопрос отрицательный, то исполняется блок 2.

Примечание: одного из блоков: 1 или 2 может не быть вовсе. Тогда в одном из случаев будут выполняться какие-либо действия, а в другом - ничего не будет выполняться.

Циклический - блоки алгоритма выполняются до тех пор, пока не будет выполнено определенное условие.

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

Алгоритм выполняется так: выполняется блок 1, проверяется условие, если оно не выполняется, то блок 1 выполняется снова и условие проверяется заново. При выполнении условия алгоритм заканчивается.

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

Программирование

Программа - это алгоритм, записанный на языке программирования.

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

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

Программирование - это процесс создания, отладки и тестирования программ.

Создание любой программы начинается с разработки алгоритма. Именно четкое описание последовательности действий позволяет мысленно представить будущую программу. При построении алгоритма, программист мыслит четко, последовательно, однозначно - так, как и будет впоследствии мыслить компьютер.

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

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

Компиляторы полностью обрабатывают весь текст программы (он иногда называется исходный код). Они просматривают его в поисках синтаксических ошибок (иногда несколько раз), выполняют определенный смысловой анализ и затем автоматически переводят (транслируют) на машинный язык — генерируют машинный код.

Этапы создания программы

  1. Постановка задачи - составление точного и понятного словесного описания того, как должна работать будущая программа, что должен делать пользователь в процессе ее работы.

  2. Разработка интерфейса (интерфейс - способ общения) - создание экранной формы (окна программы).

  3. Составление алгоритма.

  4. Программирование - создание программного кода на языке программирования.

  5. Отладка программы - устранение ошибок.

  6. Тестирование программы - проверка правильности ее работы.

  7. Создание документации, помощи.

Уровни языков программирования

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

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