Есенгазина Л.Т.

Амантурлина М.К. 

Каспийский государственный университет технологий и инжиниринга

имени Ш.Есенова

Общие основы программирования. Этапы разработки программ.

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

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

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

Определение требований к программе. Это один из важнейших этапов. На этом этапе подробно описывается исходная информация и формулируются требования к результату. Кроме того описывается поведение программы в особых случаях. Например, при решении квадратного уравнения  ax2 + bx + c = 0 требования к программе могут быть такими:  исходными данными для программы являются коэффициенты a, b, c при степенях неизвестного x,  значения которых должны вводиться в режиме диалога во время работы программы; выходные данные - значения корней уравнения; если уравнение не имеет корней, то должно печататься соответствующее сообщение. Требования к программе, которая будет работать в системе Windows, могут включать еще пункты о желаемом виде диалоговых окон программы.

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

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

Тестирование программы. Этап тестирования особенно важен. Ведь Вашей программой вероятно будут пользоваться другие. Поэтому на этом этапе следует проверить работу программы на как можно большем количестве данных. Сюда же нужно включить и заведомо неверные данные. Например, следует проверить, как работает программа вычисления корней квадратного уравнения, если задать равным нулю, например, коэффициент при старшей степени неизвестного x или вообще задать все коэффициенты уравнения нулевыми.

Взаимосвязь понятий алгоритма и программы.

На начальном этапе создания программы программист должен определиться на счет того, какие действия ему необходимо запрограммировать. То есть он должен очень четко представить себе последовательность шагов программы для достижения определенного результата. рассмотрим все ту же задачу решения квадратного уравнения. Здесь исходными данными будут значения коэффициентов уравнения. Результат - значения корней уравнения или сообщение о том, что корни отсутствуют. Метод решения квадратного уравнения тоже известен. Существуют формулы, используя которые можно вычислить значения корней без компьютера, то есть "вручную". Необходимая последовательность шагов для решения поставленной задачи так же известна. Нужно первоначально вычислить значение дискриминанта квадратного уравнения. Затем, если дискриминант не меньше нуля, вычислить корни уравнения по известным формулам. Здесь Мы с Вами столкнулись с двумя важными понятиями: понятием алгоритма и программы. Дадим следующее определение: Алгоритмом называется точное предписание, определяющее процесс перехода от исходных данных к результату. Программа это запись алгоритма на языке конкретного компьютера. Отметим, что упомянутое предписание считается алгоритмом , если оно обладает следующими тремя свойствами:

         - однозначностью;

- массовостью;

- результативностью.

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

a - коэффициент при второй степени неизвестного;

         b - коэффициент при первой степени неизвестного.

         c - свободный член уравнения.

Искомый результат - это значения корней квадратного уравнения. Их можно обозначить через x1 и x2. Алгоритм решения квадратного уравнения: Вычислить значение дискриминанта d квадратного уравнения по формуле d=b2 - 4ac; Если значение дискриминанта больше или равно нулю, то вычислить значения корней уравнения по формулам :Если значение дискриминанта меньше нуля, то это значит, что уравнение не имеет действительных корней. Приведенное описание обладает всеми свойствами алгоритма: однозначностью, массовостью, результативностью. Ниже показана блок-схема алгоритма. Блок-схема это наглядная запись алгоритма, выполненная с помощью геометрических фигур.  Здесь на блок-схеме приняты следующие обозначения блоков: овал обозначает начало или конец алгоритма; параллелограмм обозначает блок ввода-вывода информации; ромбик обозначает логический блок: выполняет анализ условия и выбор того или иного варианта решения; прямоугольник обозначает арифметический блок: выполняет начальные присвоения, вычисляет по формулам. На уроке Вы смогли познакомиться с разными способами описания алгоритма: словесным, графическим и еще можно записать алгоритм на одном из алгоритмических языков программирования, например, на языке Basic или Pascal или Delphi. Однако, мы с Вами не будем сейчас этого делать и оставим это на тот момент, когда изучим язык Delphi и сможем написать на нем программу. Это и будет программное описание алгоритма на языке Delphi. А пока только примем к сведению эту поставленную перед  Вами задачу. Вы пока что еще не можете выполнить. Хотя быть может для вас не представляет особого труда написать программу на одном из вышеупомянутых алгоритмических языков: на Basic или на Pascal. Однако, язык Delphi это визуальный язык объектно-ориентированного программирования. Поэтому не стоит забегать вперед. Лучше во всем разобраться постепенно и в свое время.

Понятие компиляции. Существует одна очень важная вещь, которая не всегда хорошо известна начинающим программистам. Это тот факт, что любая программа выполняется процессором - то есть мозгом компьютера. Но процессор, как и любой человек вообще, понимает не всякий язык общения. Для того, чтобы программа могла быть па процессору и стало быть выполнена им, необходимо переводить конкретную программу на язык процессора конкретной ЭВМ. Этот процесс перевода называют трансляцией. А программу, которая выполняет трансляцию, называют компилятором. Компилятор переводит исходную параграмму на языке Delphi или Pascal или Basic. В силу того, что трансляция это очень сложный и детальный процесс, для каждого языка программирования существует свой компилятор. Помимо перевода исходного текста программы на машинный язык компилятор проверяет правильность записи инструкций исходной программы на языке программирования. Ниже на рисунке показана схема работы компилятора. Компилятор генерирует исполняемую программу только в том случае, если в тексте исходной программы нет синтаксических ошибок. Убедиться в правильности работы программы можно только во время ее тестирования - при пробных запусках программы и при анализе полученных результатов. Например, если в программе нахождения корней квадратного уравнения допущена ошибка в записи выражения для вычисления дискриминанта, то даже если это выражение будет синтаксически верно, программа выдает неверные значения корней.

Литература:

Культин Н.. Delphi 3. Программирование на Object Pascal - СПб.: BHV - Санкт-Петербург, 1998ю-304 с.