OIT_piton_1

Содержание

Слайд 2

Литература: 1. Изучаем Python. Марк Лутц 2. Язык программирования Python. Сузи Р.А. 3. Бхаргава А. Грокаем

Литература: 1. Изучаем Python. Марк Лутц 2. Язык программирования Python. Сузи Р.А.
алгоритмы. Иллюстрированное пособие для программистов и любопытствующих.

Слайд 3

История PYTHON

Язык программирования PYTHON был создан в 1991 году голландцем Гвидо ван

История PYTHON Язык программирования PYTHON был создан в 1991 году голландцем Гвидо
Россумом.
Свое имя – Пайтон (или Питон) – получил от названия телесериала, а не пресмыкающегося.
После того, как Россум разработал язык, он выложил его в Интернет, где уже целое сообщество программистов присоединилось к его улучшению.
Python активно совершенствуется и в настоящее время. Часто выходят его новые версии. Официальный сайт http://python.org.

Слайд 4

Дзэн Питона
Если интерпретатору Питона дать команду import this (импортировать "сам объект"),
то выведется

Дзэн Питона Если интерпретатору Питона дать команду import this (импортировать "сам объект"),
так называемый "Дзен Питона", иллюстрирующий идеологию и
особенности данного языка. Глубокое понимание этого дзена приходит тем, кто
сможет освоить язык Python в полной мере и приобретет опыт практического
программирования.

Слайд 5

Дзэн PYTHON (философия)

Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше,

Дзэн PYTHON (философия) Красивое лучше, чем уродливое. Явное лучше, чем неявное. Простое
чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читаемость имеет значение.
Особые случаи не настолько особые, чтобы нарушать правила.
Должен существовать один — и, желательно, только один — очевидный способ сделать это.
Если реализацию сложно объяснить — идея плоха.

Слайд 6

Python – высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика

Python – высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика
и читаемость кода
Python и подавляющее большинство библиотек к нему бесплатны и поставляются в исходных кодах. Более того, в отличие от многих открытых систем, лицензия никак не ограничивает использование Python в коммерческих разработках
Python имеет ясный синтаксис. В нем сведены к минимуму такие вспомогательные конструкции как скобки, слова-организаторы_блоков. Взамен программист обязан четко соблюдать отступы, которые и являются организаторами блоков. В результате код получается незагруженным лишними элементами и легко читаемым.

Слайд 7

Преимущества Python

Скорость выполнения программ написанных на Python очень высока. Это связанно с

Преимущества Python Скорость выполнения программ написанных на Python очень высока. Это связанно
тем, что основные библиотеки Python написаны на C++ и выполнение задач занимает меньше времени, чем на других языках высокого уровня.
В связи с этим вы можете писать свои собственные модули для Python на C или C++
В стандартныx библиотеках Python вы можете найти средства для работы с электронной почтой, протоколами Интернета, FTP, HTTP, базами данных, и пр.
Скрипты, написанные при помощи Python выполняются на большинстве современных ОС. Такая переносимость обеспечивает Python применение в самых различных областях.
Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.
Над разработкой Python трудились тысячи энтузиастов со всего мира. Поддержкой современных технологий в стандартных библиотеках мы можем быть обязаны именно тому, что Python был открыт для всех желающих.

Слайд 8

Недостатки PYTHON

PYTHON, как и другие интерпретируемые языки, имеет сравнительно невысокую скорость выполнения

Недостатки PYTHON PYTHON, как и другие интерпретируемые языки, имеет сравнительно невысокую скорость
программ. Однако, в случае с Python этот недостаток компенсируется уменьшением времени разработки программы. В среднем, программа на Python в 2-4 раза компактнее, чем её аналог на C++ или Java
Динамическая типизация вызывает вопросы у методистов по обучению программированию

Слайд 9

Интерактивный режим В основном интерпретатор выполняет команды построчно: пишешь строку, нажимаешь Enter, интерпретатор

Интерактивный режим В основном интерпретатор выполняет команды построчно: пишешь строку, нажимаешь Enter,
выполняет ее, наблюдаешь результат.

Возможности языка позволяют использовать его как калькулятор, не зная команд программирования.
2 + 5
3 * (5 - 8)
2.4 + 3.0 / 2
и т.д.
Наберите подобные примеры в интерактивном режиме (Console). Ответ выдается сразу после нажатия.

Слайд 10

Синтаксис

Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок

Синтаксис Во первых стоит отметить интересную особенность Python. Он не содержит операторных
(begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами: пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные — начинаются и заканчиваются тремя двойными кавычками «"""».
Чтобы присвоить значение переменной используется знак «=», а для сравнения — «==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения — «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками.

Слайд 11

Программа. Язык программирования

Программа – набор инструкций для определенного исполнителя.
Язык программирования – это

Программа. Язык программирования Программа – набор инструкций для определенного исполнителя. Язык программирования
формальный язык, предназначенный для записи программ (обычно для ЭВМ).

Слайд 12

Компиляторы и интерпретаторы

Компиляторы и интерпретаторы

Слайд 13

Особенности Python

Интерпретируемый язык
Ясный синтаксис
Полноценный универсальный язык
Свободно-распространяемый интерпретатор

Два режима работы: интерактивный и сценарный

Особенности Python Интерпретируемый язык Ясный синтаксис Полноценный универсальный язык Свободно-распространяемый интерпретатор Два

Слайд 14

Web IDE: https://repl.it/languages/python3

Web IDE: https://repl.it/languages/python3

Слайд 15

Текстовый редактор + терминал

Sublime Text 3

Terminal

Текстовый редактор + терминал Sublime Text 3 Terminal

Слайд 16

JetBrains PyCharm IDE: https://www.jetbrains.com/pycharm/

JetBrains PyCharm IDE: https://www.jetbrains.com/pycharm/

Слайд 17

https://www.anaconda.com/products/individual

https://www.anaconda.com/products/individual

Слайд 18

Основные элементы блок-схем

Начало

Конец

– Начало вычислительного процесса.

– Конец вычислений.

– Блок обмена информацией;

Основные элементы блок-схем Начало Конец – Начало вычислительного процесса. – Конец вычислений.
ввод данных и вывод результатов.

– Вычислительный блок; выполнение операции или группы операций
вычислительного процесса.

– Алгоритмический блок;
использование ранее созданных и от
дельно описанных алгоритмов.

– Логический блок;
выбор направления выполнения алгоритма
в зависимости от условия.

– Циклический блок;
организует многократное выполнение
вложенных блоков.

Слайд 19

СЛЕДОВАНИЕ

Последовательное исполнение блоков один за другим.

Вычислить площадь круга.

конец

СЛЕДОВАНИЕ Последовательное исполнение блоков один за другим. Вычислить площадь круга. конец

Слайд 20

Составить блок-схему алгоритма и программу вычисления функции:

ВЕТВЛЕНИЕ

Составить блок-схему алгоритма и программу вычисления функции: ВЕТВЛЕНИЕ

Слайд 21

Инструкция break– Выход из цикла в произвольном месте

Составить блок-схему алгоритма и программу

Инструкция break– Выход из цикла в произвольном месте Составить блок-схему алгоритма и
вычисления суммы n чисел натурального ряда. S=1+2+3+….+n

ЦИКЛ C ПРЕДУСЛОВИЕМ

Слайд 22

конец

s := s+i 5

i < n 4

да

нет

s:=0; i:=0 2

n 1

ЦИКЛ С

конец s := s+i 5 i да нет s:=0; i:=0 2 n
ПОСТУСЛОВИЕМ

i := i+1 3

Слайд 23

конец

s := s+i 5

i <= n 4

да

нет

s:=0; i:=0 2

n 1

ЦИКЛ БЕЗУСЛОВИЯ

i

конец s := s+i 5 i да нет s:=0; i:=0 2 n
:= i+1 3

Слайд 24

ЦИКЛ C ПАРАМЕТРОМ

Инструкция break– Выход из цикла в произвольном месте

ЦИКЛ C ПАРАМЕТРОМ Инструкция break– Выход из цикла в произвольном месте

Слайд 25

Типы данных?

Каждое значение в Python имеет тип. Поскольку в Python всё —

Типы данных? Каждое значение в Python имеет тип. Поскольку в Python всё
объект, типы являются классами, а значения — экземплярами (объектами) этих классов.

Слайд 26

Данные и их типы

целые числа (integer) – положительные и отрицательные целые числа,

Данные и их типы целые числа (integer) – положительные и отрицательные целые
а также 0 (например: 4, 687, -45, 0).
числа с плавающей точкой (float point) – дробные числа
(например: 1.45, -3.789654, 0.00453).
Примечание: разделителем целой и дробной части
служит точка, а не запятая.
строки (string) — набор символов, заключенных в кавычки
(например: "ball", "What is your name?",
'dkfjUUv', '6589').
Примечание: кавычки в Python могут быть
одинарными или двойными.

Слайд 27

Операции. Операции над разными типами данных

Операции. Операции над разными типами данных

Слайд 28

Изменение типов данных

int() – преобразует аргумент в целое число
str() – преобразует аргумент

Изменение типов данных int() – преобразует аргумент в целое число str() –
в строку
float() – … в число с плавающей точкой

Слайд 29

Математические операторы

Математические операторы

Слайд 30

Переменные в Python

Переменная – это ссылка на область памяти, где хранятся те

Переменные в Python Переменная – это ссылка на область памяти, где хранятся те или иные данные
или иные данные

Слайд 31

Имена переменных в Python

Имя переменной может состоять только из цифр, букв и

Имена переменных в Python Имя переменной может состоять только из цифр, букв
символов подчеркивания
Имя переменной не может начинаться с цифр
Имя должно описывать суть , т.е. нужно давать имена, говорящие о назначении данных, на которые они ссылаются
Имя переменной не должно совпадать с командами языка (зарезервированными ключевыми словами)
Имя переменной принято начинать со строчной буквы
Не следует создавать имена длиннее 15 символов
Чтобы узнать значение, на которое ссылается переменная, находясь в режиме интерпретатора, достаточно ее вызвать (написать имя и нажать Enter).

Слайд 32

Пример работы с переменными

>>> apples = 100
>>> eat_day = 5
>>> day =

Пример работы с переменными >>> apples = 100 >>> eat_day = 5
7
>>> apples = apples - eat_day * day
>>> apples
65
>>> |

Слайд 33

Логические выражения и логический тип данных

Выражение:

Значение:

Если результатом вычисления выражения может

Логические выражения и логический тип данных Выражение: Значение: Если результатом вычисления выражения
быть лишь истина или ложь, то такое выражение называется логическим.

Слайд 34

Логические выражения и логический тип данных

Операторы сравнения

Логические выражения и логический тип данных Операторы сравнения

Слайд 35

Логические выражения и логический тип данных

Примеры работы с логическими выражениями на языке

Логические выражения и логический тип данных Примеры работы с логическими выражениями на
программирования Python (после # написаны комментарии):
x = 12 – 5 # это не логическая операция, а
операция присваивания переменной x
результата выражения 12 — 5
x == 4 # x равен 4
x == 7 # x равен 7
x != 7 # x не равен 7
x != 4 # x не равен 4
x > 5 # x больше 5
x < 5 # x меньше 5
x >= 6 # x больше или равен 6
x <= 6 # x меньше или равен 6

Слайд 36

Логические выражения и логический тип данных

Логические операции
Логические выражения в результате

Логические выражения и логический тип данных Логические операции Логические выражения в результате
вычисления принимают логические значения True и False.
Логические операции: отрицание - NOT, логическое умножение - AND,  логическое сложение - OR, исключающее «или» -XOR .

Примеры: (после # написаны комментарии):
x = 8 y = 13
x == 8 and y < 15 # x равен 8 и y меньше 15
x > 8 and y < 15 # x больше 8 и y меньше 15
x != 0 or y >15 # x не равен 0 или y больше 15
x < 0 or y >15 # x меньше 0 или y больше 15

Слайд 37

Ввод и вывод данных

- осуществляется с помощью встроенных функций
Ввод: input (параметры)
Вывод: print

Ввод и вывод данных - осуществляется с помощью встроенных функций Ввод: input (параметры) Вывод: print (параметры)
(параметры)

Слайд 38

Ввод данных

>>> input()
1234
'1234'
>>> input()
Hello World!
'Hello World!'
>>>

1.

>>> input('Введите число:')
Введите число:10
'10'
>>> int(input('Введите число:'))
Введите

Ввод данных >>> input() 1234 '1234' >>> input() Hello World! 'Hello World!'
число:10
10
>>> float(input('Введите число:'))
Введите число:10
10.0
>>>

2. Параметр - приглашение

>>> input('Введите номер карты:')
Введите номер карты:98765
'98765'
>>> input('Введите имя:')
Введите имя:Иван
'Иван'
>>>

3. Тип данных - строчный

>>> name = input ('Введите Ваше имя:')
Введите Ваше имя: Мария
>>> name
'Мария'
>>>

4. Присвоение значения переменной

Слайд 39

Вывод данных

>>> print("Программа 'Game Over' 2.0")
Программа 'Game Over' 2.0
>>> print("Тоже", "самое", "сообщение")
Тоже

Вывод данных >>> print("Программа 'Game Over' 2.0") Программа 'Game Over' 2.0 >>>
самое сообщение
>>> print("Только",
"чуть-чуть",
"побольше")
Только чуть-чуть побольше

1. Тип данных строчный

>>> a = 1
>>> b = 2
>>> print(a, '+', b, '=', a + b)
1 + 2 = 3
>>>

2. Вывод переменных

3.
sep – параметр, используемый в качестве разделителя
>>> a=1
>>> b=2
>>> c=a+b
>>> print(a, b, c, sep = ':')
1:2:3
>>>

4.
end – параметр, который указывает на то, что выводится после вывода всех значений, перечисленных в функции print.
>>> print(a, b, c, sep = ' ', end = ' ')

Слайд 40

Библиотека math

import math # подключение библиотеки math
math.sin(x) #вызов функции от одного аргумента

Библиотека math import math # подключение библиотеки math math.sin(x) #вызов функции от

y = math.sin(x) #использование функции в выражении
print(math.sin(math.pi/2)) # вывод функции на экран
2. from math import *
y = sin(x)
print(sin(pi/2))

Слайд 41

Библиотека math

int(x), round(x,n), abs(x) не требуют подключения модуля math

Библиотека math int(x), round(x,n), abs(x) не требуют подключения модуля math

Слайд 42

Библиотека math

Библиотека math

Слайд 43

Библиотека math

Библиотека math

Слайд 44

Библиотека math

(продолжение)

Библиотека math (продолжение)

Слайд 45

Пример 1.

Пример 1.

Слайд 46

Пример 1. (Исходный код)

# Линейная программа
a = int(input("Введите a = "))
b =

Пример 1. (Исходный код) # Линейная программа a = int(input("Введите a =
int(input("Введите b = "))
k = int(input("Введите k = "))
m = int(input("Введите m = "))
from math import *
C = sqrt((a-b)**2/abs(k-m))
A = sin(pi/6)*C**2-C*(a-b)/(a*b*k)
print("C = ", C)
print("A = ", A)
input("\n\nНажмите Enter чтобы выйти.")

Слайд 47

Строки
>>> some_line = 'Hello OTUS'
>>> another_line = "Just some text"
>>> multiline =

Строки >>> some_line = 'Hello OTUS' >>> another_line = "Just some text"
'''Hi!
... This is an example of a 'multiline' text
... Thanks, bye!'''
>>> some_line 'Hello OTUS'
>>> print(some_line) Hello OTUS
>>> print(repr(some_line)) 'Hello OTUS'

Для объявления строк используются как одинарные, так и двойные кавычки - разницы нет;
для многострочных текстов используется по три кавычки в начале и в конце - либо одинарные, либо двойные. Внутри можно использовать такие же кавычки.

Слайд 48

Индексы

Так как строка является типом коллекции, то к каждому символу можно обратиться

Индексы Так как строка является типом коллекции, то к каждому символу можно
по индексу.
Также поддерживаются срезы (slices) - из строки можно получить подстроку, указав через двоеточие необходимые индексы

+---+---+---+---+---+---+
| q | w | e | r | t | y |
+---+---+---+---+---+---+ 0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
>>> some_str = "qwerty"
>>> some_str[0] # q - первый элемент
'q'

# y - последний элемент

# t - предпоследний элемент
# wer - то, что между индексами 1 и 4 # qwe - с самого начала по 3

>>> some_str[-1] 'y'
>>> some_str[-2] 't'
>>> some_str[1:4] 'wer'
>>> some_str[:3] 'qwe'

Слайд 49

# Создаем массив. Для этого внутри прямоугольных скобок
# через запятую перечисляем значения
>>>

# Создаем массив. Для этого внутри прямоугольных скобок # через запятую перечисляем
first_9_fibonacci_numbers = [0, 1, 1, 2, 3, 5, 8, 13, 21]
# Доступ по индексу
>>> first_9_fibonacci_numbers[3] 2
>>> first_9_fibonacci_numbers[-1] 21
# Срезы возвращают новые списки
>>> first_9_fibonacci_numbers[3:5] [2, 3]
>>> first_9_fibonacci_numbers[:10] [0, 1, 1, 2, 3, 5, 8, 13, 21]
>>> first_9_fibonacci_numbers[10] Traceback (most recent call last):
File "", line 1, in IndexError: list index out of range

Списки (lists)

Список — это упорядоченный массив объектов;
список может содержать в себе любое количество любых объектов;
списки поддерживают индексирование и срезы.

Слайд 50

Условный оператор

Условный оператор

Слайд 51

Задача: изменить порядок действий в зависимости от выполнения некоторого условия.

Задача: изменить порядок действий в зависимости от выполнения некоторого условия.

Слайд 52

Структура полного условного оператора

if <условие>:
<Действия 1-го варианта (1-я серия инструкций)>
else:
<Действия

Структура полного условного оператора if : else:
2-го варианта (2-я серия инструкций)>

Слайд 53

Сложные условия

Задача: набор сотрудников в возрасте 25-40 лет (включительно).

if :
print("подходит")
else:
print("не

Сложные условия Задача: набор сотрудников в возрасте 25-40 лет (включительно). if :
подходит")

and

or

not

Приоритет :
отношения (<, >, <=, >=, ==, !=)
not («НЕ»)
and («И»)
or («ИЛИ»)

v >= 25 and v <= 40

сложное условие

«И»

«ИЛИ»

«НЕ»

Слайд 54

Пример. Даны два вещественных числа а и b. Если первое больше второго,

Пример. Даны два вещественных числа а и b. Если первое больше второго,
то увеличить каждое число в 2 раза, иначе – уменьшить в два раза.
Соответствующая программа:
a = float(input('a = '))
b = float(input('b = '))
if a > b:
a = a * 2
b = b * 2
else:
a = a/2
b = b/2
print('a =', a)
print('b =', b)

Слайд 55

Таблица истинности

Таблица истинности

Слайд 56

Свойства условий:
Сокращение длинных условий
• использовать обратный слэш («\»):
if v < 400

Свойства условий: Сокращение длинных условий • использовать обратный слэш («\»): if v
and v != 2 and v != 3 and v != 12 and \ v != 13 and v != 22 and v != 23: ...
• взять все условие в скобки (перенос внутри скобок разрешен):
if (v < 400 and v != 2 and v != 3 and v != 12 and v != 13 and v != 22 and v != 23): ...
2.Разрешены двойные неравенства,
if A < B < C: ... означает то же самое, что и if A < B and B < C:

Слайд 57

3.Условие - логические функции, то есть функции, возвращающие результат логического типа
n

3.Условие - логические функции, то есть функции, возвращающие результат логического типа n
= int(input('Введите целое число '))
if Chet(n):
print('Это число четное')
else:
print('Это число нечетное')
где Chet() – функция, возвращающая результат True, если ее параметр (значение, указанное в скобках) является четным числом, и False – в противном случае;
4. оператор in (оператор проверки принадлежности), который проверяет, принадлежит ли некоторый объект (число, символ, переменная и т. п.) набору значений (списку, строке, диапазону чисел и т. п.):
a = 3
if a in range(10):
sim = input('Введите символ ')
s = input('Введите строку символов ')
if sim in s:
Zvet = 'Зеленый‘
if Zvet in Raduga:

Слайд 58

Неполная форма

M = a
if b > a:
M = b

M

Неполная форма M = a if b > a: M = b
= max(a, b)

Решение в стиле Python:

M = a if a > b else b

Слайд 59

if a > b:
с = a
a = b

if a > b: с = a a = b b =
b = c

4

6

?

4

6

4

a

b

3

2

1

c

a, b = b, a

Решение в стиле Python:

Слайд 60

Вложенные условные операторы

if a > b:
print("Андрей старше")
else:

if a == b:

Вложенные условные операторы if a > b: print("Андрей старше") else: if a
print("Одного возраста")
else:
print("Борис старше")

вложенный условный оператор

Задача: в переменных a и b записаны возрасты Андрея и Бориса. Кто из них старше?

Слайд 61

Каскадное ветвление

if a > b:
print("Андрей старше")
elif a == b:
print("Одного

Каскадное ветвление if a > b: print("Андрей старше") elif a == b:
возраста")
else:
print("Борис старше")

Слайд 62

Каскадное ветвление

cost = 1500
if cost < 1000:
print ( "Скидок нет."

Каскадное ветвление cost = 1500 if cost print ( "Скидок нет." )
)
elif cost < 2000:
print ( "Скидка 2%." )
elif cost < 5000:
print ( "Скидка 5%." )
else:
print ( "Скидка 10%." )

первое сработавшее условие

Скидка 2%.

Слайд 63

Циклы в python

Циклы в python

Слайд 64

Функция range создаст список длинной в «n» элементов

a = range(5, 10)
 числа с 5

Функция range создаст список длинной в «n» элементов a = range(5, 10)
до 9
b = list(range(1, 10, 2))
Список list [1, 3, 5, 7, 9]

Слайд 65

for number in [0, 1, 2, 3, 4]:
    print(number)
for number in range(5):
    print(number)
for number

for number in [0, 1, 2, 3, 4]: print(number) for number in
in range(10):
    if number % 2 == 0:
        print(number)

Слайд 66

i = 0
while i < 10:
    print(i)
 i = i + 1
while i

i = 0 while i print(i) i = i + 1 while
< 10:
  print(i)
  if i == 5:
  break
  i += 1

Слайд 67

my_list = [1, 2, 3, 4, 5]
for i in my_list:
    if i ==

my_list = [1, 2, 3, 4, 5] for i in my_list: if
3:
        print("Item found!")
        break
     print(i)
else:
     print("Item not found!")

Слайд 68

Задачи:

1. Напечатать таблицу соответствия между весом в фунтах и весом в килограммах

Задачи: 1. Напечатать таблицу соответствия между весом в фунтах и весом в
для значений 1, 2, ..., 10 фунтов (1 фунт = 453 г).
2. Напечатать таблицу умножения на 7:
1 х 7 = 7
2 х 7 = 14
...
9 х 7 = 63
3. Найти:
а) сумму всех целых чисел от 100 до 500;
б) сумму всех целых чисел от a до 500 (значение a вводится с клавиатуры; a 500);
в) сумму всех целых чисел от –10 до b (значение b вводится с клавиатуры; b –10);

Слайд 69

4. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько

4. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько
клеток будет через 3, 6, 9, ..., 24 часа, если первоначально была одна амеба.
5. Гражданин 1 марта открыл счет в банке, вложив 1000 руб. Через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить:
а) прирост суммы вклада за первый, второй, ..., десятый месяц;
б) сумму вклада через три, четыре, ..., двенадцать месяцев.

Слайд 70

6. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий

6. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий
день он увеличивал пробег на 10% от пробега предыдущего дня. Определить:
а) пробег лыжника за второй, третий, ..., десятый день тренировок;
б) какой суммарный путь он пробежал за первые 7 дней тренировок.

Слайд 71

*

«Странный муж» . Некий мужчина отправляется на работу, которая находится на расстоянии

* «Странный муж» . Некий мужчина отправляется на работу, которая находится на
1 км от дома. Дойдя до места работы, он вдруг вспоминает, что перед уходом забыл поцеловать жену, и поворачивает назад. Пройдя полпути, он меняет решение, посчитав, что правильнее вернуться на работу. Пройдя 1/3 км по направлению к работе, он вдруг осознает, что будет настоящим подлецом, если так и не поцелует жену. На этот раз, прежде чем изменить мнение, он проходит ¼ км. Так он продолжает метаться, и после N- этапа, пройдя 1/N км, снова меняет решение. Определить:
а) на каком расстоянии от дома будет находиться мужчина после 100-го этапа (если допустить, что такое возможно);
б) какой общий путь он при этом пройдет.