Программирование, типовые задачи, алгоритмы, методы, Златопольский Д.М., 2012.
Эта книга для тех, кто хочет научиться программировать. В ней представлена методика решения типовых задач программирования, не привязанная к конкретному языку. Разъяснения по методике решения задач и программы приведены на школьном алгоритмическом языке. Русский синтаксис делает программы понятными и легко переносимыми на любой язык программирования.
Для школьников и студентов, начинающих изучать программирование или знакомых с его основами, а также для всех, кого заинтересует решение сложных задач, в том числе встречающихся на олимпиадах по программированию. Книга будет полезна преподавателям различных учебных заведений и студентам педагогических вузов.
Какая программа лучше?
Если вас, уважаемый читатель, спросят: «Какая программа лучше — меньшая по объему, работающая быстрее, или та, исходный текст которой более понятен?», то, подумав, вы, скорее всего, ответите: «Более быстрая, понятная и занимающая меньше места». Конечно, вы при этом будете правы. Но, к сожалению, такие программы встречаются крайне редко. Как правило, улучшение одного из показателей (размера, скорости работы и понятности листинга) приводит к ухудшению другого.
Рассмотрим в качестве примера задачу определения наибольшего общего делителя (НОД) двух натуральных чисел.
Сначала составим программу по принципу, который по-английски называется «KISS». Правда, сразу скажу: с поцелуями он ничего общего не имеет. «KISS» — это всего лишь аббревиатура фразы: «Keep it simple, stupid», что в переводе означает: «Делай это проще, дурачок» ©. Этот принцип призывает нас решать поставленные задачи более простыми методами, прибегая к изощренным алгоритмам и программным средствам только в крайнем случае.
Будем рассуждать так. Если два заданных числа а и b равны между собой, то их НОД равен одному из них; в противном случае НОД равен либо минимальному из заданных чисел, либо некоему целому числу, которое меньше этого минимального.
Содержание.
1. Какая программа лучше?
2. Обмен значениями между двумя переменными.
3. Об операторах цикла.
4. Типовые задачи на обработку последовательности чисел.
5. Рекуррентные соотношения.
6. Типовые задачи обработки одномерных числовых массивов.
7. Случайные числа в программах.
8. Типовые задачи обработки двумерных числовых массивов.
9. Использование процедур и функций.
10. Рекурсия.
11. Методы сортировки числовых массивов.
12. Динамическое программирование.
13. Формирование комбинаторных объектов.
14. Обработка деревьев.
Литература.
Купить .
Теги: программирование :: задачи :: алгоритмы :: Златопольский :: 2012
Смотрите также учебники, книги и учебные материалы:
- Через задачи-к программированию, Касаткин В.Н., 1989
- Олимпиады по программированию для школьников, Брудно А.Л., Каплан Л.И., 1985
- Изучение сложных систем с помощью Python, Дауни А.Б., 2019
- Основы программирования станков с ЧПУ для фрезерования древесины, Глебов И.Т., Глебов В.В., 2014
- Развивающее программирование, Решение задан на языке паскаль, Рубанце В.
- Компьютерное моделирование физических процессов в пакете MATLAB, Поршнев С.В., 2011
- Введение в научный Python, часть 2, Дополнительные темы, Доля П.Г., 2016
- Введение в научный Python, часть 1, Доля П.Г., 2016