37. Рекурсивный вычислительный процесс.
Рекурсия - вычислительный процесс, направленный на решение определенной задачи таким образом, что само решение использует этот же процесс, решающий аналогичную подзадачу. В программировании под рекурсией понимают такую реализацию, в которой подпрограмма использует в своем теле вызов самой себя. Такие вызовы называют рекурсивными. Когда функция A в своем теле вызывает только одну рекурсивную функцию (саму себя), то это простая рекурсии. Косвенной рекурсия - это явление, когда рекурсивные функции вызывают друг друга (например, функция А вызывает B, а функция B вызывает A).
Прямая рекурсия | Косвенная рекурсия |
void A(){ Операторы; A(); Операторы; } | void A(){ Операторы; B(); Операторы; } void B(){ Операторы; A(); Операторы; } |
Рекурсивные алгоритмы сложнее отлаживать, но порой они позволяют очень гибко и красиво решить задачу. Любой рекурсивный алгоритм можно заменить нерекурсивным, но это будет дольше реализовать. Рекурсия часто применяется при решении задач с нисходящим динамическим программированием, а так же в переборных задачах. Рекурсивная функция не должна вызывать себя всегда, иначе программа работать не сможет. При реализации рекурсивных алгоритмов необходимо уделять внимание тому, чтобы алгоритм был конечным.
Факториал
Самый простой пример рекурсивного решения - задача о вычислении факториала.. Здесь нужно определить некоторую функцию F(n), которая будет вычислять значение n! через саму себя. В данном случае воспользуемся рекуррентной формулой:
F(n) = F(n-1)*n. условие выхода: если n<2, то ответ равен 1. Таким образом, в тех случаях, когда n<2, функция не будет себя вызывать, что будет гарантировать выход из рекурсии.
//Вычисление факториала
int F(int n)
{
if n<2 then return 1;
else return F(n-1)*n;
}
38. Программирование для операционной системы WINDOWS.
В windows есть два типа программ: GUI-приложения и консольные приложение. Консольные программы похожи на DOS-программы, они выполняются в поле подобном DOS. Большинство используемых программ – это GUI-приложения, у них есть графический интерфейс для взаимодействия с пользователем. Это сделано, созданием окон. Почти все, что видно в Windows это окна. Сначала создается родительскоеокно, а затем его дочерние окна (контролы) такие, как окна редактирования, статистические контролы , кнопки и.т.д. Каждое окно имеет имя класса. Для родительского окна определяется собственный класс. Для контролов можно использовать стандартные классы окон (такие как EDIT, STATIC, BUTTON).
Далее создается окно с сообщениями, по следующему прототипу функции: MassagerBox PROTO hwnd: Dword, IpText: Dword, IpCaption: Dword, uType: Dword
Thwnd – хэндл родительского окна, можно считать хэндл число, представляющее окно. IpText – указатель на текст, который нудно отобразить в клиентской части окна сообщения. Указатель на текстовую ссылку == адрес этой строки . IpCaption – указатель на заголовок окна сообщения. uType устанавливает иконку, число и вид кнопок окна.
- 1. Теория и практика формообразования заготовок.
- 2. Основы технологии формообразования отливок из черных и цветных сплавов.
- 3. Основы технологии формообразования сварных конструкций из различных сплавов. Понятие о технологичности заготовок.
- 4. Пайка материалов.
- 6. Понятие о технологичности деталей.
- Закономерности и связи, проявляющиеся в процессе проектирования и создания машин.
- Методы разработки технологического процесса изготовления машины.
- 9. Принципы построения производственного процесса изготовления машины.
- 10. Технология сборки.
- 11. Разработка технологического процесса изготовления деталей.
- 13. Требования к деталям, критерии работоспособности и влияющие на них факторы.
- 14. Механические передачи
- 18. Муфты механических приводов
- 20. Технические регламенты.
- 21. Стандартизация.
- 22. Подтверждение соответствия.
- 23. Государственный контроль (надзор) за соблюдением требований технических регламентов.
- 24.Метрология. Прямые и косвенные измерения.
- 25. Основные понятия и определения: информация, алгоритм, программа, команда, данные, технические устройства.
- 26. Системы счисления. Представление чисел в позиционных и непозиционных системах
- 27. Системы счисления. Перевод чисел из одной системы счисления в другую.
- Принцип двоичного кодирования
- 30. Принципы организации вычислительного процесса. Гарвардская архитектура эвм.
- 31 Архитектура и устройство базовой эвм.
- 32 Адресация оперативной памяти. Сегментные регистры.
- 33 Система команд процессора i32. Способы адресации.
- 34 Система команд процессора i32. Машинная обработка. Байт способа адресации.
- 35 Разветвляющий вычислительный процесс.
- 36. Циклический вычислительный процесс
- 37. Рекурсивный вычислительный процесс.
- 39. Типы данных
- 42. Объектно-ориентированное программирование
- Функции устройств ввода/вывода
- Методы адресации
- 58,. Базовый функциональный блок микроконтроллера включает:
- 62. Модули последовательного ввода/вывода
- 67.Приборы силовой электроники.
- 69. Полевой транзистор
- 71. Цепи формирования траектории рабочей точки транзистора
- 72. Цфтрт с рекуперацией энергии
- 73. Последовательное соединение приборов
- 74. Параллельное соединение приборов.
- 76. Защита силовых приборов от перенапряжения.
- 77. Расчет драйвера igbt-транзистора.
- 78. Трансформаторы.
- 79. Машины постоянного тока.
- 80. Асинхронные и синхронные машины.
- 81. Элементная база современных электронных устройств.
- 82. Усилители электрических сигналов.
- 83. Основы цифровой электроники.