Файл: Алгоритмические конструкции, основные структуры алгоритмов: сравнительный анализ и примеры их использования.pdf
Добавлен: 29.03.2023
Просмотров: 655
Скачиваний: 9
s1:=0;
h:=(b-a)/n;
s2:=h*F(a);{текущийинтеграл}
repeat
s1:=s2; {запомним текущий интеграл}
h:=(b-a)/n;
k:=a;
fori:=1 to n-1 do
begin
k:=k+h;//наращиваем
ifi mod 2 = 0 then s2:=s2+2*f(k)//считаемновыйинтеграл
elses2:=s2+4*f(k);
end;
s2:=(s2+f(a)+f(b))*h/3;//конечное значение
n:=n*2;//если точность не достигнута удваиваем количество разбиений
untilabs(s1-s2)<=e;
write('Значение интеграла exp(x)*sqr(cos(x))dx от 0 до pi равно=',s2:0:5);
readln
end.
Результаты представлены на рисунке 10:
Рисунок — Результат работы программы
В данной программе используется конструкция repeat until для проверки выполнения условия на точность вычислений.
Заключение
Мы рассмотрели общие принципы построения алгоритмов, основные алгоритмические структуры и их реализацию на языках программирования высокого уровня.
Мы описали общие принципы построения алгоритмов, сравнили основные алгоритмические структуры, выявили особенности построения основных алгоритмических структур, их достоинства и недостатки, привели примеры реализации основных алгоритмических структур на различных языках программирования высокого уровня.
Мы ввели понятие алгоритмов, указали, что алгоритм должен отвечать требованиям детерминированности, результативности, массовости, дискретности и конечность для того, чтобы они могли быть эффективно использованы для решения вычислительных, прикладных и системных задач.
Затем мы рассмотрели основные используемые формы записи алгоритмов, указали основные достоинства и недостатки каждой из них. Чаще всего для записи алгоритмов до этапа кодирования используются блок-схемы или псевдокод. Для разработки программ на компьютере чаще всего используются языки программирования высокого уровня.
Затем мы проанализировали основные алгоритмические структуры, такие как линейный алгоритм, ветвление и цикл. Следование является основой для более сложных программ, в которых одновременно используется различные алгоритмические структуры, возможно вложенные друг в друга.
Ветвление позволяет реализовывать нелинейную логику выполнения программ. При использовании полного ветвления необходимо учитывать, что оператор, стоящий сразу после выхода из ветвления будет выполнен в любом случае. При использовании неполного ветвления необходимо учитывать, что в ветвлении явно не указывается, что будет сделано в случае, если условие не выполняется (ложно). Цикл с предусловием стоит использовать в случае, если неизвестно точное количество повторений. Цикл с постусловием стоит использовать в случае, если необходимо, чтобы цикл был выполнен хотя бы один раз. Цикл с параметром является самым компактным способом записи циклической структуры.
Далее была описана реализации основных конструкций в языках программирования Pascal и С++. Отметим, что конструкции C++ более компактные и универсальные. Например, мы можем инициализировать переменную-счетчик в самом цикле, что не допускается в Pascal. Вообще, в правилах записи и использования основных алгоритмических конструкций отчетливо видна разница в данных языках программирования. Язык Pascal характеризуется четкой структурой составных частей программы. При использовании С++ программист получает больше свободы в использовании переменных, данных, правилах записи программ. Кроме того конструкции языка краткие, однако требуют большей подготовки от пользователя, так как могут быть менее понятны, чем конструкции для Pascal.
В последней главе приводится решение вычислительных задач с помощью языков программирования. В начале дается решение задачи на принадлежность точке к некоторой области, являющейся пересечением геометрических фигур. Затем представляются решения сложных уравнений (логарифмических, степенных) с помощью численных методов. Далее представлено вычисление интегралов.
Отметим, что решение задач численными методами является одним из основных приложений структурного программирования. Такая необходимость возникает, так как многие технические и научные задачи просто не решаются аналитически. Кроме того, численное решение задач позволяет проверить результаты, получаемые другими методами.
В курсовой работе были достигнута поставленная цель и решены все определенные во введении задачи.
В современном программировании используется, прежде всего, объектно-ориентированный подход. Популярность такого подхода связана с упрощением разработки программ с графическим пользовательским интерфейсом, значительным сокращением объема исходного кода программ при разработки сложных приложений. Однако и для объектно-ориентированного программирования (ООП) общие принципы программирования остаются актуальными, так как методы, определенные для классов объектов всегда содержат те или иные алгоритмические конструкции.
Не менее важными остаются базовые конструкции для функционального и модульного программирования. Стоит ожидать, что в подходы к программированию и дальше будут меняться, однако основные алгоритмические конструкции будут неотъемлемой частью этих подходов.
.