Программирование и научные вычисления на языке Python/§2/Упражнения

## Тест

<quiz>
{Что выведет следующая инструкция: `print 14/5 - 7*6` ?
|type="()"}
+ `-40`
- `-40.0`
- `-39.2`


{Что выведет следующая программа?

```
from math import sqrt as s
print s(16)/5
```

|type="()"}
- `0`
+ `0.8`
- Ничего, произойдет ошибка.


{Какая встроенная функция выводит документацию о модуле или функции?
|type="()"}
- `dir()`
+ `help()`
- `type()`
</quiz>



## Траектория мяча

В первом уроке мы рассматривали полет мяча, подброшенного вертикально с некоторой начальной скоростью *v 0*. А что будет, если тот же мячик кинуть под некоторым углом к горизонту

*θ*? Такая задача тоже решается еще в школьном курсе физики, и мы можем описать траекторию движения мяча

*y = f(x)*следующим образом:

(2.3) |


В этом выражении *x* - горизонтальная координата, *g* - ускорение свободного падения, *v 0* - начальная скорость, направленная к оси

*x*под углом

*θ*. Начальное положение мяча, как видно из формулы задается как (0,

*y*). Напишите программу, в которой можно задавать различную начальную скорость и направление полета (по углу) и для определенных

0*x*вычислять положение мяча над поверхностью земли.

Учтите, что людям удобнее задавать угол в градусах, а математические функции принимают значения в радианах. Не забывайте проверять свои результаты на калькуляторе. Название программы: trajectory_of_a_ball.py.



## Гауссово распределение

В различного рода статистиках часто используется функция гауссова распределения, которую можно описать так:

(2.4) |


здесь *m* и *s* положительные параметры. Создайте программу, определяющую значении функции распределения для *m = 0*, *s = 2* и *x = 1*. Проверьте результат. Название программы: Gaussian_function1.py.



## Сопротивление воздуха движению мяча

Сила сопротивления воздуха движению любого объекта может быть описана так:

(2.5) |


где плотность воздуха, *V* — скорость объекта, *A* — его поперечная площадь (для мяча находится как *πr 2*),

*C*— коэффициент, зависящий от формы объекта и неровности его поверхности.

DНапишите программу, которая рассчитывает силу сопротивления и силу тяжести и выводит: а) их значения с одинаковой точностью в одних и тех же единицах (Ньютонах), б) отношение этих значений. В тексте программы представить изменяющиеся величины как переменные, сопровождаемые комментариями. Для мяча принять: = 1.2 кг/м3, масса мяча 0.43 кг,*С D* = 0.2.

Сравните результаты при сильном сопротивлении, когда скорость мяча достигает 120 км/ч и слабом - с *V* = 10 км/ч. Не забудьте, что в физике обычно используют одну систему, СИ. Название программы: kick.py.



## Как сварить отличное яйцо

Когда готовится яйцо, то белки сначала денатурируют, а потом свертываются. Когда температура превышает критическую точку, начинаются реакции, которые ускоряются с ростом температуры. Для белка критическая температура составляет 63°С, в то время как для желтка порядка 70°С. Для яйца всмятку соответственно температура должна находится между двух этих точек.

В следующей формуле определяется время *t* (в секундах), при которой центр желтка нагревается до температуры *T y* (в градусах Цельсия):

(2.6) |


В этой сложной формуле *M*, *ρ*, *c* и *K* параметры яйца: *M* — масса (от 47 г для маленького яйца до 67 г для большого), *ρ* — плотность (1.038 г/см3), *с* — удельная теплоемкость (3.7 Дж/(г °С)) и *K* — коэффициент теплопроводности (5.4 Вт/(см °С). Кроме того, в формуле мы видим неизвестные температуры: *T w* — температура кипящей воды (100°С) и

*T*— температура яйца перед тем, как его опустили в кипящую воду (например, если его только достали из холодильника то это около 4°С или в другом случае комнатную температуру можно принять равной 20°С). Теперь зная все данные, вы можете написать программу, определяющую сколько времени нужно варить яйцо, чтобы оно было таким, как хочется вам. Название программы: egg.py.

0


## Исправление ошибок

В некоторых из этих выражений содержатся ошибки. Попробуйте найти в которых и объяснить, что не так. Проверьте свои догадки, последовательно вводя выражения в интерактивном режиме. Некоторые из них уже видны сейчас из-за подсветки синтаксиса.



```
1a = 2
a1 = b
x = 2
y = X + 4
from Math import tan
print tan(pi)
pi = "3.14159'
print tan(pi)
c = 4**3**2**3
_ = ((c-78564)/c + 32))
discount = 12%
AMOUNT = 120.-
amount = 120$
address = hpl@simula.no
and = duck
class = 'INF1100, gr 2"
continue_ = x > 0
bærtype = """jordbær"""
rev = fox = True
Norwegian = ['a human language']
true = fox is rev in Norwegian
```