
- •Обсуждения/Упражнения Глава 1. Обсуждения
- •Глава 1. Упражнения
- •Глава 2. Обсуждения
- •Глава 2. Упражнения
- •Глава 3. Обсуждения
- •Глава 3. Упражнения
- •Глава 4. Обсуждения
- •Глава 4. Упражнения
- •Глава 5. Обсуждения
- •Глава 5. Упражнения
- •Глава 6. Обсуждения
- •Глава 6. Упражнения
- •Глава 7. Обсуждения
- •Глава 7. Упражнения
- •Глава 8. Обсуждения
- •Глава 8. Упражнения
Обсуждения/Упражнения Глава 1. Обсуждения
Сравните и противопоставьте следующие пары понятий из первой главы:
аппаратное и программное обеспечение,
алгоритмы и программы,
языки программирования и естественные языки,
языки программирования высокого уровня и машинные языки,
интерпретаторы и компиляторы,
синтаксис и семантику.
Перечислите и объясните роль каждой из 5 основных единиц компьютера, изображенного на рис 1.1 (устройства ввода, вывода, ЦПУ, оперативная память, внешняя память)
Напишите детальный алгоритм уборки класса (или другой повседневной деятельности). Вы должны предполагать, что говорите с человеком, который способен понять и выполнить работу, но никогда ранее её не выполнял.
Как вы узнаете в следующих главах многие числа, хранимые в компьютере, не являются точными значениями, а только хорошими приближениями. Например, значение 0.1 на некоторых компьютерах хранится как 0.10000000000000000555. Обычно такая разница не представляет проблем; но знакомство с хаотическим поведением функций, с которым вы познакомились в первой главе, заставляет проявлять осторожность в некоторых ситуациях. Можете ли вы придумать свои примеры, в которых такая разница представляет проблему?
Выполните программу chaos.py вручную, используя 0.15 в качестве начального значения. Сравните с вычислениями компьютера
Глава 1. Упражнения
Начните интерактивную сессию в Python’е и попытайтесь выполнить следующие команды. Запишите результаты, которые вы видите:
print(“Привет, всем!”);
print(“Привет”, “всем!”);
print(3);
print(3.0);
print(2+3);
print(2+3);
print(2.0+3.0);
print(“2”+”3”);
print(“2+3=”, 2+3);
print(2*3);
print(2**3);
print(2/3).
Запустите программу chaos.py. Попробуйте задавать различные начальные значения и убедитесь, что она ведёт себя так, как описано в главе.
Измените программу, замените множитель 3.9 на 2.0, изменённая строка кода должна выглядеть следующим образом: х=2.0*х*(1-х). Запустите программу с различными начальными значениями и сравните полученные результаты с теми, которые были получены для первоначальной программы. Напишите краткое сообщение о различиях двух версий, которое вы заметили.
Измените программу chaos.py так, чтобы она выдавала 20 значений, а не 10.
Измените программу chaos.py так, чтобы число значений, выдаваемое программой, задавалось пользователем.
Вычисления, выполняемые в программе chaos.py, можно записать разными способами, которые эквивалентны с точки зрения алгебры. Напишите свою версию программы для каждого из следующих способов записи вычислений. Напечатайте 100 итераций функции и сравните результаты для одного и того же начального значения.
3.9*х*(1-х);
3.9*(х-х*х);
3.9*х-3.9*х*х.
Объясните результат этого эксперимента
(Продвинутая) Измените программу chaos.py так, чтобы она принимала два начальных значения и затем печатала результат в виде таблицы с двумя колонками для удобства сравнения результатов итераций с разными начальными условиями.