Эта книга предназначена для тех, кто хочет изучить программирование или нуждается в нем для научных целей.
Задача книги - предоставить студентам практические навыки и знания основных инструментальных средств, необходимых для эффективного использования вычислительной техники. Наш подход - убедить студентов, что создание программ - это вполне естественная, занимательная и творческая практика.
Для иллюстрации основных концепций и демонстрации возможностей написания программ в практических целях здесь представлены классические приложения в области прикладной математики и научных задач.
Для всех программ в этой книге используется язык программирования Python. Хотя язык Python упоминается в названии книги, по существу эта книга о фундаментальных концепциях программирования, а не о самом языке Python.
Книга позволяет приобрести практические навыки решения задач средствами, применимыми во многих современных вычислительных системах, а исчерпывающее изложение материала предназначено для тех, кто не обладает опытом программирования.
Приложения в науке и технике - главная тема книги. Каждая рассматриваемая концепция программирования мотивируется исследованием ее воздействия на определенные приложения. Приводятся примеры из прикладной математики, физики, биологии и самой информатики. Они включают моделирование физических систем, числовые методы, визуализацию данных, синтез звука, обработку изображений, финансовые модели и информационные технологии. К конкретным примерам относится применение в первой главе цепей Маркова для рангов веб-страницы, а также анализа и решения задачи просачивания, моделирования N тела и феномена "тесного мира": Эти приложения - неотъемлемая часть книги. Они привлекают внимание студентов к материалу, иллюстрируют важность концепций программирования и предоставляют убедительное доказательство важности роли компьютерных вычислений в современной науке и технике.
Главная задача книги - научить определенным техникам и привить навыки, необходимые для поиска эффективных решений любых задач программирования.
Дополнительная информация по этой книге приведена на веб-сайте по адресу
http://introcs.cs.princeton.edu/python
Author(s): Седжвик Роберт, Уэйн Кевин, Дондеро Роберт
Publisher: Диалектика
Year: 2017
Language: Russian
Pages: 738
City: Санкт-Петербург
Введение 11
Глава 1. Элементы программирования 19
1.1. Первая программа 20
1.2. Встроенные типы данных 31
1.3. Условные выражения и циклы 70
1.4. Массивы 11О
1.5. Ввод и вывод 147
1.6. Случай из практики: случайная навигация по сайтам 193
Глава 2. Функции и модули 211
2.1. Определение функций 212
2.2. Модули и клиенты 247
2.3. Рекурсия 285
2.4. Случай из практики: просачивание 316
Глава 3. Объектно-ориентированное программирование 345
3.1. Использование типов данных 346
3.2. Создание типов данных 393
3.3. Разработка типов данных 440
3.4. Случай из практики: моделирование N тел 486
Глава 4. Алгоритмы и структура данных 499
4.1. Эффективность 500
4.2. Сортировка и поиск 542
4.3. Стеки и очереди 576
4.4. Таблицы идентификаторов 619
4.5. Случай из практики: феномен "тесного мира" 667
Контекст 709
Глоссарий 713
Функции API 719
Предметный указатель 729