Рекурсивные процедуры и функции. Механизм рекурсивных вызовов. Виды рекурсивных программ - Курсовая работа

бесплатно 0
4.5 165
Языки программирования высокого уровня. Их преимущества и основные компоненты. Понятие рекурсии и её виды. Механизм рекурсивных вызовов. Преимущества и недостатки использования рекурсии. Разработка программного модуля с применением рекурсивных механизмов.

Скачать работу Скачать уникальную работу

Чтобы скачать работу, Вы должны пройти проверку:


Аннотация к работе
Негосударственное образовательное учреждение высшего образования Московский технологический институт Направление Информатика и вычислительная техника Профиль Технологии разработки программного обеспеченияВозрастающая мощность вычислительных машин и сложность решаемых задач требуют нахождения эффективных методов работы алгоритмов этих машин. Существует необходимость в обеспечении понятности программного кода, с целью упрощения процесса модификации и сопровождения программы. Одним из самых эффективных и удобных методов решения подобных задач является включение в реализации приложений рекурсивных процедур, механизмы реализации которых включены в большинство современных компиляторов и сред разработки приложений. Актуальность проблемы исследования диктуется широтой области практического применения рекурсивных механизмов. В частности, рекурсия используется для решения сложных задач численного анализа, построения алгоритмов трансляции и выполнения разного рода операций над списками, которые, в свою очередь, являются необходимыми при разработке современных АСУ.Язык программирования представляет собой систему обозначений, предназначенную для четкого описания алгоритма (т.е упорядоченного набора действий) для вычислительной машины. "Слова" такого языка называют командами (или операторами). Из ключевого отличия языков программирования от естественных автоматически вытекает еще одно отличие - свободное толкование выражений, которое характерно для естественных языков, в языках программирования недопустимо. Основными из них являются: · наглядность - в языке, насколько это возможно, должны использоваться уже существующие символы, являющиеся хорошо известными и понятными для разработчиков и пользователей; · гибкость - имеющийся в языке ограниченный набор средств представления должен обеспечивать сравнительно удобное, несложное описание известных методов математических вычислений;Пожалуй, самым важным преимуществом высокоуровневых языков программирования, в сравнении с языками низкого уровня, можно смело назвать их универсальность, то есть независимость от аппаратной платформы. Программы, написанные на высокоуровневых языках, могут функционировать на любом компьютере. Как уже упоминалось выше, программа написанная на высокоуровневом языке программирования проста для понимания, и любой специалист, имеющие необходимые знания используемого языка программирования и характер задачи, сможет с легкостью читать и модифицировать исходный код. таким образом, можно сказать, что высокоуровневый язык программирования - это не только способ взаимодействия разработчика с машиной, но также, и способ взаимодействия разработчиков между собой. Исходя из вышесказанного, следует сформулировать ключевые преимущества высокоуровневых языков программирования[14]: · алфавит высокоуровневого языка программирования значительно шире машинного алфавита, что способствует существенному повышению наглядности исходного кода программы; · как правило, в высокоуровневых языках существует возможность предусмотреть гораздо более широкий диапазон типов данных, в сравнение с набором типов данных низкоуровневых языков.Решение задачи при помощи процедурного языка, требует, в определенной форме, обязательного наличия явной записи процедуры решения. Эти языки получили свое название в виду того факта, что в основу их создания легла не "машина" а "задача" - это значит, что первостепенную роль в языке играет специфика класса задач, для которых предполагается разработка решения. К примеру, решение большинства научно-технических задач связано с осуществлением характерно емких расчетов по формулам, имеющим высокую степень сложности; в связи с этим, языки, ориентированные на подобного рода задачи, как правило, имеют удобные средства записи таких формул. Среди лидеров следует особо отметить Algol и Fortran - языки, основным назначением которых является решение научно-технических задач, Basic - создание решений для мелких вычислительных задач в режиме диалога, Cobol - разработка решений для задач из области экономики. Логические языки (Prolog, Lisp, Mercury, KLO и др.) ориентированы не на запись алгоритма решения задачи, а на систематическое и формализованное описание задачи с тем, чтобы решение следовало из составленного описания.Рекурсия является методом определения класса объектов или методов, предварительного задания одного или нескольких базовых методов класса или случаев, а затем, задания на этой основе критерия формирования определяемого класса, который ссылается, прямо или косвенно, на заданные базовые случаи[6]. Алгоритм (процедура, функция) является рекурсивным, только в том случае, когда в его определение включен прямой или косвенный вызов самого себя[10]. Адаптивным рекурсивным алгоритмом называется алгоритм, который посредством рекурсивного вызова учитывает некие субъективные характеристики задачи из области определения алгоритма. Рекурсия бывает следующих видов: · прямая рекурсия - прямой вызов алгоритма (метода, процедуры или функци

План
Оглавление

Введение

1. Языки программирования высокого уровня

1.1 Понятие и основные термины

1.2 Преимущества и основные компоненты

1.3 Классификация

2. Рекурсия

2.1 Понятие рекурсии и ее виды

2.2 Механизм рекурсивных вызовов

2.3 Преимущества и недостатки использования рекурсии

3. Примеры задач, решаемых при помощи рекурсии и разработка программного модуля на ЯПВУ C

3.1 Примеры решения задач при помощи рекурсии

3.1.1 Задача 1. Числа Фибоначчи

3.1.2 Задача 2. Нахождение факториала

3.2 Постановка задачи

3.3 Разработка программного модуля

3.3.1 Входные и выходные данные

3.3.2 Порядок работы с программой и исходный код

3.3.3 Результат работы программы на контрольном примере

Заключение

Список использованной литературы

Приложение А Приложение Б

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?