Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_OSNOV_ALGORITMIZATsII_I_PROGRAMMIROVANI...doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Раздел 1. Основы алгоритмизации

Тема 1.1. Понятие алгоритма

В результате изучения данной темы Вы будете:

  • иметь представление о том, что такое алгоритм;

  • знать основные свойства алгоритма;

  • понимать, в каком виде может быть представлен алгоритм.

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

  1. Постановка задачи. При постановке задачи выясняется конечная цель и вырабатывается общий подход к решению задачи. Выясняется, сколько решений имеет задача и имеет ли их вообще. Изучаются об­щие свойства рассматриваемого физического явления или объема, анализируются возможности данной системы программирования.

  2. Формализация (математическая постановка). На этом этапе все объекты задачи описываются на языке математики, выбирается форма хранения данных, составляются все необходимые формулы.

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

  4. Разработка алгоритма выполнения задачи. Нa этом этапе ме­тод решения записывается применительно к данной задаче на одном из алгоритмических языков (чаще на графическом).

  5. Составление программы. На этом этапе производится перевод решения задачи на язык, понятный машине.

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

Таким образом, самый "романтичный" этап создания программы кодирование - является далеко не самым важным во всем процессе создания программы.

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

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

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

  1. пошаговость (дискретность);

  2. однозначность (детерминированность);

  1. понятность (алгоритмы, пишущиеся на изначально понятном пользователю языке, называются алгоритмическими);

4) конечность (результат должен быть получен за конечное число шагов);

5) свойства массовости (алгоритм, разработанный для одних ис­ходных данных должен работать и для других исходных данных, подобных первоначальным).

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

Пример. Записать в текстовом виде алгоритм вычисления выражения:

у = (Ах + В)(Сх - D) (Листинг 1.1).

  1. Начало.

  2. Ввести значения А, В, С, D, х.

  3. R1 = А*х.

  4. R2 = R1+B.

  5. R3 = С*х.

  6. R4 = R3-D.

  7. у = R2*R4.

  8. Вывести значение у.

  9. Конец.

Листинг 1.1. Запись алгоритма в текстовом виде

В данном примере процесс решения задачи расчленяется на элемен­тарные операции, арифметические действия, но это членение может быть продолжено и дальше. Например, сложение чисел R1+B мож­но развернуть в систему правил, описывающих процесс сложения чисел столбиком.

Пример. Записать в графическом виде алгоритм вычисления выра­жения:

у = (Aх + B)(Cх - D) (Рисунок 1.1).

Рисунок 1.1. Запись алгоритма в графическом виде

Пример. Записать алгоритм вычисления выражения у = (Ах+В)(Сх-D) на алгоритмическом языке Pascal.

program Calculation;

var

у, А, В, С, D, х, R1, R2, R3, R4;

begin

ReadLn(A, В, С, D, x);

R1 :=A*x;

R2 := R1+B;

R3 :=C*x;

R4 := R3-D;

у := R2*R4;

WriteLn('y=’, y);

end.

Листинг 1.2. Запись алгоритма на алгоритмическом языке программирования

Запись алгоритма распадается на отдельные указания исполнителю выпол­нить некое законченное действие. Каждое такое указание называется коман­дой. Команды выполняются одна за другой. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоя­нии выполнять каждое действие, предписываемое командами алгоритма

Совокупность команд, которые могут быть выполнены алгоритмом, называются системой команд исполнителя. Так, каждая строка на языке Pascal (Листинг 1.2), ограниченная символом ";", является командой. Сам язык Pascal, который описывает правила записи команд, является системой команд исполнителя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]