Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:
Если вы подзабыли математику, то можете обратиться к следующим источникам информации.
Архив MacTutor History of Mathematics, размещенный на веб-странице http://www-gap.dcs.st-and.ac.uk/~history.
• Отличная веб-страница для всех, кто любит математику или просто хочет ее применять.
• Отличная веб-страница для всех, кто хочет увидеть гуманитарный аспект математики; например, кто из крупных математиков выиграл Олимпийские игры?
• Знаменитые математики: биографии, достижения.
• Курьезы.
• Знаменитые кривые.
• Известные задачи.
• Математические темы.
• Алгебра.
• Анализ.
• Теория чисел.
• Геометрия и топология.
•
• Математическая астрономия.
• История математики.
• Многое другое
Freeman, T. L., and Chris Phillips. Parallel Numerical Algorithms. Prentice Hall, 1992.
Gullberg, Jan. Mathematics — From the Birth of Numbers. W. W. Norton, 1996. ISBN 039304002X. Одна из наиболее интересных книг об основах и пользе математики, которую можно читать одновременно и с пользой (например, о матрицах), и с удовольствием.
Knuth, Donald E. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, Third Edition. Addison-Wesley, 1998. ISBN: 0202496842.
Stewart, G. W. Matrix Algorithms, Volume I: Basic Decompositions. SIAM, 1998. ISBN 0898714141.
Wood, Alistair. Introduction to Numerical Analysis. Addison-Wesley, 1999. ISBN 020194291X.
Задание
1. Выведите на экран размеры типов
2. Используя оператор
3. Выведите на печать количество элементов в каждом из объектов, перечисленных в упр. 2.
4. Напишите программу, вводящую числа типа
5. Считайте десять чисел с плавающей точкой из потока ввода и запишите их в объект типа
6. Вычислите таблицу умножения
7. Введите из потока
8. Запишите шесть чисел типа
Контрольные вопросы
1. Кто выполняет числовые расчеты?
2. Что такое точность?
3. Что такое переполнение?
4. Каковы обычные размеры типов
5. Как обнаружить переполнение?
6. Как определить пределы изменения чисел, например наибольшее число типа
7. Что такое массив, строка и столбец?
8. Что такое многомерный массив в стиле языка C?
9. Какими свойствами должен обладать язык программирования (например, должна существовать библиотека) для матричных вычислений?
10. Что такое размерность матрицы?
11. Сколько размерностей может иметь матрица?
12. Что такое срезка?
13. Что такое пересылка? Приведите пример.
14. В чем заключается разница между индексированием в стиле языков Fortran и C?
15. Как применить операцию к каждому элементу матрицы? Приведите примеры.
16. Что такое объединенное умножение и сложение (fused operation)?
17. Дайте определение скалярного произведения.
18. Что такое линейная алгебра?
19. Опишите метод исключения Гаусса.
20. Что такое опорный элемент (в линейной алгебре и реальной жизни)?
21. Что делает число случайным?
22. Что такое равномерное распределение?
23. Где найти стандартные математические функции? Для каких типов аргументов они определены?
24. Что такое мнимая часть комплексного числа?
25. Чему равен корень квадратный из –1?
Термины
Упражнения
1. Аргументы функции
2. Повторите упр. 1, используя не функции, а объекты-функции. Подсказка: примеры можно найти в заголовке
3. Только для экспертов (средствами, описанными в книге эту задачу решить невозможно). Напишите функцию
4. Выполните программу исключения методом Гаусса, т.е. завершите ее, скомпилируйте и протестируйте на простом примере.