Особенности программного способа записи алгоритмов.
Вложенные циклы.
Итерационные циклы.
Базовая структура - цикл.
Цикл обеспечивает многократное выполнение некоторой последовательности действий, которая называется телом цикла.
Пример алгоритма с циклом.
В этом примере вычисляется сумма чисел ряда по общей формуле: S = или S = 1 + 1/2 + 1/3 +1/4+ … +1/N.
Итерационным циклом называется цикл, в котором число повторений операторов тела цикла заранее неизвестно.
Для организации итераций используется цикл типа пока. Выход из итерационного цикла осуществляется в случае невыполнения заданного условия, записанного после пока.
На каждом шаге вычислений происходит проверка условия об окончании цикла.
Примером итерационного цикла служит алгоритм вычисления суммы ряда с заданной точностью. В такой задаче число повторений тела цикла будет заранее неизвестно. Поэтому выполнение цикла завершается в момент достижения требуемой точности.
Алгоритм, в состав которого входит итерационный цикл, называется итеpационным. В итерационных алгоритмах необходимо обеспечить условие выхода из цикла. В противном случае произойдет зацикливание алгоритма.
Возможны случаи, когда внутри одного внешнего тела цикла необходимо повторять отдельную группу операторов, т. е. присутствует другой внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложенности циклов (то есть количество вложенных друг в друга циклов) может быть различной.
При записи алгоритма в словесной форме, в виде блок-схемы или на языке псевдокода допускается определенный произвол выполнения команд.
Однако алгоритм, предназначенный для исполнения на компьютере, должен быть записан на "понятном" ему языке, т.е. необходима точная запись команд, не оставляющая места для произвольного толкования их исполнителем.
Поэтому язык для записи алгоритмов на компьютере должен быть строго формализован. Такой язык принято называть языком программирования, а запись алгоритма на этом языке называется программой для компьютера.
В настоящее время в мире существует несколько сотен языков программирования для разных областей применения.
Машинные языки и машинно-ориентированные языки — это языки низкого уровня, требующие указания машинных команд для обработки данных.
Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного (английского) языка и математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
· алгоритмические (Basic, Pascal, Cи и др.), которые предназначены для однозначного строгого описания алгоритмов;
· логические (Prolog,Lisp и др.), которые ориентированы не на разработку алгоритма решения задачи, а на формализованное описание задачи с тем, чтобы решение следовало из составленного описания.
· объектно-ориентированные (Object Pascal, C++, Java и др.), в основе которых лежит понятие объекта, сочетающего в себе данные и определенные действия над ними. Программа на объектно-ориентированном языке решает некоторую задачу в форме системы взаимодействующих объектов.