Файл: Основные структуры алгоритмов: сравнительный анализ и примеры их использования (Алгоритмическая конструкция «Цикл»).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 251

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

При разработке алгоритма циклической структуры выделяют следующие понятия: параметр цикла – величина, с изменением которой связано многократное выполнение цикла; начальное и конечное значения параметров цикла; шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении. Зависимость, связывающая текущее и предыдущее значения параметра цикла, определяет закон изменения параметра цикла.

Зависимость, предписывающая повторение цикла, либо выход из него, называется условием повторения цикла.

Все циклические процессы по признаку определения количества повторений делиться на два класса. С меня шоколадка любимой сестре завтра.

Арифметическим называют циклический процесс, в котором число повторений может быть определено заранее, то есть не зависит от результатов счёта в теле цикла.

Итерационным является циклический процесс, число повторений в котором зависит от результатов вычислений в теле цикла и не может быть определено заранее.

На приведенных ниже рисунках показаны примеры циклических процессов.

Рисунок 4 - Блок-схема цикла с предусловием

Рисунок 5 - Блок-схема цикла с постусловием

Глава 3. Сравнительный анализ алгоритмов

При использовании алгоритмов для решения практических задач возникает проблема рационального выбора алгоритма.

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

Для оперирования с формальной моделью алгоритма рассматривается абстрактная машина, которая включает:

• процессор, поддерживающий адресную память;

• набор элементарных операций, соотнесенных с языком высокого уровня. Допущения:

• каждая команда выполняется не более чем за фиксированное время;

• исходные данные алгоритма представляются N машинными словами по ???? битов каждое.

На входе алгоритма:

???????? = ????∗ ???? бит информации

Программа, реализующая алгоритм состоит из ???? машинных инструкций по ???? битов:


???????? = ???? ∗ ???? бит информации

Дополнительные ресурсы абстрактной машины на реализацию алгоритма:

• ????????–– память для хранения промежуточных результатов;

• ???????? – память для организации вычислительного процесса (память, необходимая для реализации рекурсивных вызовов и возвратов).

При решении конкретной задачи, заданной ???? + ???? + ???????? + ???????? словами памяти, алгоритм выполняет конечное количество «элементарных» операций абстрактной машины. В связи с этим вводится определение трудоёмкости алгоритма.

Под трудоёмкостью алгоритма ????????(????)

• для данного конкретного входа;

• для решения конкретной проблемы (задачи);

• в данной формальной системе понимается количество «элементарных» операций (????), совершаемых алгоритмом.

Комплексный анализ алгоритма может быть выполнен на основе комплексной оценки ресурсов формальной машины, требуемых алгоритмом для решения конкретных задач. ???????? = ????1????????

(????) + ????2???????? + ????3???????? + ????4???????? + ????5????????

Для разных областей применения веса ресурсов ????1 будут разными.

Заключение

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

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

Единственный способ изучать новый язык программирования – писать на нём программы.