Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике5 / 683 / информатике.doc
Скачиваний:
12
Добавлен:
02.05.2014
Размер:
100.86 Кб
Скачать

22. Рекурсия.

Рекурсия – метод определения или выражения функции, процедуры языковой конструкции или каких-либо иных форм, посредством той же функции, процедуры. Для рекурсии характерно два положения: 1)должно быть дано начальное условие и рекурентное соотношение. Пример функция Аккермона: А(М,Н) = {Н+1, если М=0. А(М-1,1),если Н=0. А(М-1,А(М,Н-1)), иначе.}

23. Эвристические алгоритмы.

Эврестический алгоритм определяется как алгоритм со следующими своиствами: 1)он обычно находит хорошие, но не обязательно оптимальные решения 2)его можно быстрее и проще реализовать, чем любой известный точный алгоритм, то есть тот который гарантирует оптимальное решение. Пусть есть множество N одинаковых процесоров P1,P2,PN и M независимых заданий z1,z2,zM которых нужно выполнить. Процессоры могут работать одновременно, любое задание выполняется на любом процессоре, если время обработки задания Zi = ti. Цель организовать обработку заданий таким образом чтобы выполние обработки всех заданий было завершено как можно быстрее(3 процессора, 6 заданий)

24. Программирование с отходом назад. Задача о велосипедном замке.

Пусть замок состоит из N переключателей, каждый из которых может быть в состоянии «1» или «0». Замок открывается при первом наборе. В этом наборе не менее половины находятся в положении включено. Существует 2n решений задачи (возможность комбинации) условимся что n/2 переключателей находятся в положении «1» позволяет отбросить часть вариантов. Воспользуемся двоичным деревом алгоритм сводится к пересеычению дерева. Двигаемся вниз по дереву придерживаясь левой ветви до тех пор пока это возможно. Достигнув конечной вершины, проверяем соответствующую комбинацию. Если они не опдходят то поднимаемся на один уровень и проверяем можем ли мы спуститься по другой ветви если «да», то берем самую левую из иследуюмых ветвей иначе отходим вверх еще на один уровень. Алгоритм останавливается когда мы доходим до корня, и нет больше ветвей.

29.Непроцедурное программирование.

Функциональное программирование. Программирование с точки зрения ФП есть функция. Сначало определяются все значения функции, ф затем вычисляется ее значение. ФП предполагает определение новых заранее неизвестных функции в виде супер позиции применительных и раннее известных(опред-ых) функции. Приемущества: 1) Надежное формальное основание ФП связанна с понятиями функции. Язык универсален и реально создать алгебру программы обес-ю верификацию (доказ. правильности). 2) Функция универсальный язык в любой предметной области. 3) Использование рекурсивных определений. 4) Сочетание функционального и процедурного подхода. 5) Наследование конструктивной идеи. 6) Возможность парралельной обработки информации. Недостатки: 1) Порой, неэффективность, с точки зрения времени. 2) Сложность составления функциональных программ (пример ЛИСП Дж.Маккарти,РЕФАЛ Турчин В.Ф.) Логическое программирование. Язык ПРОЛОГ – назначения: освобождает пользователя от необходимости обдумывания правил вычисления значений и планирования действий, реализуемых в процессе выполнения программы, позволяя ему сосредоточить внимание на логической специализации описывая. ПРОЛОГ является средством разработки программы, используется для создания систем символьных вычислений. ПРОЛОГ связан с определением граматик формальных языковзадачами синтаксическому анализу текстов. На ПРОЛОГЕ написанны решатели нелинейных уравнений. Экспертные системы, компиляторы.(РЕФАЛ также используется для построения трансляторов и редакторов текста). Программирование может быть представленно двумя группами программ: Системное программирование (операционные системы их расширения, программирование трансляторов). Прикладное ПО – это инструментальные средства содерж. которых: редактор, транслятор отладчик, результат код. Интегрированные среды, например, идеи положенные в основу их наличия в едином пакете процессоров, документы разного формата.