Автор работы: Пользователь скрыл имя, 02 Декабря 2010 в 18:05, Не определен
Лекции
Пример:
Пример:
3. Базовая структура цикл. Цикл – это многократно повторяемый участок программы. В организации цикла можно выделить следующие этапы:
Порядок выполнения этих этапов может изменяться. В зависимости от расположения проверки условия окончания цикла различают циклы с нижним (а) и верхним (б) окончаниями.
Для цикла с нижним окончанием тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием тело цикла может не выполниться ни разу, если сразу соблюдается условие выхода.
Цикл называется детерминированным если число повторений тела цикла заранее известно. Цикл называют итерационным если число повторений заранее неизвестно, а зависит от значений параметров, участвующих в вычислениях.
На каждом шаге вычислений происходит последовательное приближение и проверка условия достижения искомого результата.
Алгоритм, в состав которого входит итерационный цикл, называется итерационным алгоритмом. Итерационные алгоритмы используются при реализации итерационных численных методов.
В итерационных алгоритмах необходимо обеспечить обязательное достижение условия выхода из цикла (сходимость итерационного процесса). В противном случае произойдет зацикливание алгоритма, т.е. не будет выполняться основное свойство алгоритма — результативность.
Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операторов, т. е. организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенных циклов. Глубина вложения циклов (то есть количество вложенных друг в друга циклов) может быть различной.
При использовании такой структуры для экономии машинного времени необходимо выносить из внутреннего цикла во внешний все операторы, которые не зависят от параметра внутреннего цикла.
В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:
Перечисленные этапы связаны друг с другом. Например анализ результатов может показать необходимость внесения изменений в программу, алгоритм и даже постановку задачи.
Постановка задачи. На данном этапе формулируется цель решения задачи и подробно описывается ее содержание. Анализируются характер и сущность всех величин, используемых в задаче, и определяются условия, при которых она решается.
Математическое описание задачи. Характеризуется математической формализацией задачи, при которой существующие соотношения между величинами, определяющими результат, выражаются посредством математических формул. Математическая модель должна удовлетворять двум требованиям: реалистичности и реализуемости. Под реалистичностью понимается правильное отражение моделью наиболее существенных черт исследуемого явления. Реализуемость достигается отвлечением от второстепенных деталей, чтобы свести задачу к проблеме с известным решением.
Выбор и обоснование метода решения. Математическое описание трудно перевести на язык машины. Выбор и использование метода решения задачи позволяет привести решение к конкретным машинным операциям. Одну и ту же задачу можно решить различными методами, при этом в рамках каждого метода можно составить различные алгоритмы.
Алгоритмизация вычислительного процесса. Составляется алгоритм решения задачи. Процесс обработки данных разбивается на отдельные, относительно самостоятельные блоки и устанавливается последовательность выполнения блоков.
Составление программы. При составлении программы алгоритм решения задачи переводится на конкретный язык программирования. Для программирования обычно используется язык высокого уровня, поэтому составленная программа требует перевода ее на машинный язык.
Отладка программы. Заключается в поиске и устранении синтаксических и логических ошибок в программе.
Решение задачи на ЭВМ и анализ результатов. После отладки программы ее можно использовать для решения прикладной задачи. При этом обычно выполняется многократное решение для различных наборов исходных данных. Получаемые результаты интерпретируются и анализируются специалистами.
В
настоящее время в мире существует
несколько сотен реально
Любой алгоритм есть последовательность предписаний, выполнив которые можно за конечное число шагов перейти от исходных данных к результату. В зависимости от степени детализации предписаний обычно определяется уровень языка программирования — чем меньше детализация, тем выше уровень языка.
По этому критерию можно выделить следующие уровни языков программирования:
Машинные
языки и машинно-
Языки же высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека.
Языки высокого уровня делятся на:
Структура объектно-ориентированной модели графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковым — string) или типом, конструируемым пользователем (определяется как class).
Значением Свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в представленной модели образуют связную иерархию объектов.
Для выполнения действий над данными в рассматриваемой модели применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма.
Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано.
Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта. Если необходимо расширить действие механизма наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типа abs
Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента.
Описание действительности в форме системы взаимодействующих объектов естественнее, чем в форме взаимодействующих процедур.
Основные преимущества:
Таким образом, алгоритмические языки в значительной мере являются машинно-независимыми. Они облегчают работу и повышают надежность создаваемых программ.
Алгоритмический
язык (как и любой другой язык)
образуют три его составляющие:
алфавит, синтаксис и семантика. |
Алфавит — это фиксированный для данного языка набор основных символов, т.е. "букв алфавита", из которых должен состоять любой текст на этом языке — никакие другие символы в тексте не допускаются.
Синтаксис — это правила построения фраз, позволяющие определить, правильно или неправильно написана та или иная фраза. Синтаксис языка представляет собой набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке.
Семантика определяет смысловое значение предложений языка. Являясь системой правил истолкования отдельных языковых конструкций, семантика устанавливает, какие последовательности действий описываются теми или иными фразами языка и, в конечном итоге, какой алгоритм определен данным текстом на алгоритмическом языке.