Занятие 1. Первая неделя.

Что надо знать о числах.

В физике, в эксперименте и в компьютерном моделировании, вы часто будете пользоваться числами и операциями над числами, такими как сложение, вычитание, умножение, деление, возведения в степень и извлечения корня. Поэтому вам надо знать нижеизложенные основные понятия и законы.

 

Вы уже знаете, что числа бывают целыми (integer number)и дробными (fractional number). Эти числа могут быть как положительными, так и отрицательными. Поговорим о них подробнее.

 

Натуральные числа.

Положительные целые числа и ноль, называются натуральными числами. Натуральными они называются потому, что именно их вы "натурально"/воочию видите в природе (in nature). С их помощью обозначают или число предметов, или порядковый номер предмета среди группы других предметов (говорят порядковый номер, или что то же самое, индекс элемента в рассматриваемом множестве). Например число яблок в корзине- это натуральное число, обозначающее сколько всего фруктов в данном множестве яблок. Порядковый номер чека или банковской карты- это тоже натуральное число, указывающий порядковый номер, например, чека в множестве чеков вашей чековой книжки. Номер страницы- это натуральное число, указывающее на порядковой номер страницы среди множества страниц вашей книги. В случае, если можно придать каждому элементу множества порядковый номер, говорят, что множество можно пронумеровать. Например, когда строю солдат дается команда «по порядку рассчитайсь», то солдаты по очереди называют свои порядковые номера и таким образом их пронумеровывают, начиная с первого. Тогда номер последнего в строю получается равным общему числу солдат строя. Или дома на улице пронумеровываются, чтобы можно было пользоваться почтовым адресом.

 

Но это только начало абстракции о числах в математике. Следующим шагом абстракции является то, что числа сами могут быть элементами множества. И вы уже знакомы с такими примерами. Вы создавали такие множества определения и множества значений функций, когда строили графики в SpreadSheets. Такие множества могут быть использованы для обозначения самых разных предметов, как вы уже знаете. Пусть множество Х состояло из чисел : {0, 2, 4, 6, 8, 10}. Обозначать эти числа могли ягоды, или время, или расстояние, или даже порядковый номер. Например, номер заезда гоночных автомобилей. При этом адрес ячеек, где были записаны эти числа, содержит в себе порядковый номер ячеек в данной колонке. Например, адрес А6 содержит адрес колонки А и порядковый номер 6 ячейки в этой колонке, который равен номеру строки, в которой находится эта ячейка. Отметим, что само множество чисел может быть и множеством дробных чисел. А вот порядковые номера- только натуральными. С такими примерами дробных множеств вы тоже знакомы. Вы с ними сталкивались при создании множеств значений функций, например при нахождении точных координат точек окружности.

 

Остановимся немного на нумерации, или еще говорят, индексировании множеств в Basic. Вы помните, что отдельные листы в SpreadSheets пронумерованы и записываются по умолчанию (default names) так Sheet1, Sheet2, Sheet3, и т.д. В то же время, когда вы пишете программу на Basic, то вы их индексируете согласно правилам Basic. При этом нумерация начинается не с единицы, а с нуля. Т.е. вы присваиваете индекс 0 для Sheet1.

 

Также вы уже знаете, что в Basic можно обратиться к ячейке двумя разными способами. Первый способ записывается так (допустим мы обращаемся к А1, самой первой ячейке в Sheet1):

ThisComponent.Sheets(0).getCellNameByRange(“A1”)

Второй способ такой:

ThisComponent.Sheets(0).getCellByPosition(0,0)

 

Во втором способе для обозначения координат ячеек используют только цифры. При этом, первой строке или первому столбцу присваивается порядковый номер 0. Другими словами индексация колонок и строк начинается с 0. Например, обращение к ячейке B5, записывается так:

ThisComponent.Sheets(0).getCellByPosition(1,4)

 

При такой нумерации, число элементов в множестве всегда на единицу больше порядкового номера элемента с самым большим порядковым номером. Т.е. если бы солдаты начинали свою нумерацию с 0, то число всех солдат в строю было бы на 1 больше порядкового номера последнего солдата. С подобной нумерацией мы еще неоднократно столкнемся в Basic. Например, когда будем записывать string переменные и тексты в файлы.

 

Из вашего опыта построения графиков вы уже знаете, что натуральные числа можно изобразить точками на числовой прямой.

 

 

 

Операции над множеством натуральных чисел.

Сложение.

Натуральные числа можно складывать и умножать. Основные правила для операции сложения определенной на множестве натуральных чисел:

 

Пусть даны натуральные числа a, b и c, тогда всегда верно:

 

a+b= b+a (коммутативный закон сложения)

Коммутативный закон легко понять, если представить его действие на числовой прямой в виде сложения отрезков длиной a и b. Суммарная длина будет такой же и в случае, когда мы отложим сначала а, а потом b, и в случае когда сначала отложим b, а потом а. Или другими словами, сравним два случая. Первый случай. Сначала мы прошли расстояние а, а потом b. Второй случай: сначала прошли расстояние b, а потом расстояние а. В обоих случаях мы пройдем одинаковое суммарное расстояние.

 

(a+b) +c= a+(b + c) (ассоциативный закон сложения)

О чем говорит этот закон? Во-первых, что означают скобки в математике и везде, где используется математика: физике, химии, программировании и т.д.. Скобки говорят, что сначала выполняется действие в скобках. Если выражение содержит много скобок, то скобки можно рассматривать, как матрёшки. Сначала выполняют действия во внутренней скобке. Затем выполняют действия в скобке следующего уровня, которая содержит эту внутреннюю скобку. И так далее. Если в выражении есть несколько независимых друг от друга скобок (как если бы было несколько разных матрёшок), то обычно выполняют действия в самой левой из них скобке. Затем во всех остальных по очереди, слева направо.

Следующая запись приводит пример с скобками, схематично поясняющий очередность выполнения действий в них с помощью римских цифр (пример показывает только скобки, выражения заменены многоточиями):

(VII....... +(V......- (IV.......... + (I.......) +(II........) +(III......))-(VI.......)))- .............

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

(12+5+(7-3-(2+2+(2-2)+(3-3)+(4-1))-(6-4)))-4

Во-вторых, о чём этот ассоциативный закон? Вообще-то о том, как можно складывать любое количество чисел. Т.е. коммутативный закон говорит нам, как можно сложить любые два натуральных числа. Но как быть если надо сложить не два, а три, или четыре, или еще больше чисел?

Рассмотрим сначала три числа a, b и c. Мы не умеем пока складывать сразу три числа. Зато мы знаем как складывать два из них. Поэтому можно было бы сложить сначала

a и b. Потом взять полученное число и сложить его с c. Эту последовательность действий можно записать с помошью скобок так:

(a+b) +c

С другой стороны, можно сложить сначала b и c. Потом взять полученное число и сложить его с a. Такую последовательность действий можно записать с помошью скобок следующим образом:

a+(b + c)

Ассоциативный закон гласит, что результат в обоих случаях будет одинаковым:

(a+b) +c= a+(b + c)

Этот закон можно пояснить с помощью трех сосудов с водой. Пусть даны три стакана с водой (Рис.2). Пусть в среднем есть мерные риски для измерения объема жидкости. Надо слить в него воду из двух других, чтобы замерить общий объём имеющейся в них воды. Ассоциативный закон утверждает, что без разницы, в какой последовательности мы будем сливать в него воду из двух других сосудов: сначала сольём a в b, а потом добавим c; или сначала сольём c в b, а потом добавим a.

 

 

 

Задача:

1. Пусть есть три стакана с водой и еще один сосуд с мерными рисками для измерения объема жидкости (Рис.3). Надо слить в него воду из трех стаканов, чтобы замерить общий объём имеющейся в них воды. С помощью коммутативного и ассоциативного законов доказать, что без разницы в какой последовательности мы будем сливать в него воду из стаканов:

(a+b) +c= a+(b + c)= (a+c) +b

  

Доказательство:

Первое равенство (a+b) +c= a+(b + c) следует из самого ассоциативного закона сложения.

Второе равенство a+(b + c)= (a+c) +b доказывается следующим образом.

Из коммутативного закона сложения верно b + c= c + b  . 

Следовательно верно равенство a+(b + c)= a+(c + b) .

Применив к последнему выражению ассоциативный закон, получим a+(c + b) =(a+c) + b

Таким образом мы получили (a+b) +c= a+(b + c)=(a+c) + b . Что и требовалось доказать.

 

Второй способ доказательства:

Из рисунка очевидно, что в какой последовательности не сливай воду из сосудов в мерный объём, суммарный объём жидкости будет один и тот же: a+b+c.  Значит (a+b) +c= a+(b + c)=(a+c) + b .

 

Однако надо быть осторожным при использовании слова "очевидно" для доказательств.

 

В чем разница между «доказать» и «продемонстрировать очевидность примером»? С точки зрения физики, если показана очевидность утверждения, то этого достаточно, чтобы утверждение считать доказанным. Например, в предыдущих случаях мы поясняли законы с помощью очевидных примеров. Продемонстрировать очевидность примером,или проверить экспериментом- это всегда означает привести в пример один или несколько конкретных случаев. Соответственно, это не доказывает истинность утверждения вообще, для любого случая, а показывает, что данное утверждение верно в конкретном частном случае. Доказать верность утверждения, с математической точки зрения, означает доказать его верность для любого случая или для всех случаев оговоренного множества событий. Поэтому для математики, одна очевидность не есть доказательство. Необходимо ещё обоснование, что это же утверждение верно и для любых других случаев.

 

В данной задаче доказательством будет, если мы логически выведем равенство :

(a+b) +c= a+(b + c)= (a+c) +b

из законов, которые принимаем за истину, не требующую доказательств. Такие законы в математике называются аксиомами. В данном случае, такими законами, принятыми за истину без доказательств, будут коммутативный и ассоциативный законы:

a+b= b+a

(a+b) +c= a+(b + c)

 

Еще немного о доказательствах и спорах: Что значит доказать? Как мы уже говорили в самом начале этого курса, математика и наука появились в Древней Греции. Возникли они из любви древних греков к решению споров с помощью ораторского искусства. Древние Греки были великие спорщики. Искусство споров, ораторское искусство, умение ораторов доказывать правоту своих взглядов с помощью логических выводов ценились очень высоко. Одним из основных видов соревнований на олимпиадах были именно соревнования ораторов. Что это такое- выведем логически? На бытовом языке- это означает будем действовать абсолютно честно. Например, когда мы утверждаем, что нет разницы между тем, что сначала прошли расстояние а затем b, и сначала b затем а, - это выглядит очевидным. Но это не доказательство, поскольку на вопрос, «а из чего это следует?» ответа нет. Значит мы будем лукавить, если признаем, что мы доказали данное утверждение. Почему так важно показать из чего это следует? Потому что не все, что очевидно, верно.

 

Например, существует категория рисунков, которые называются "оптическими иллюзиями".

 

На Рис.4 приведены примеры таких оптических иллюзий. На всех рисунках 4а и 4б изображена одна и та же сетка из прямых линий. Это очевидно для нас на рисунке 4а. Однако на рисунке 4б  для нас очевидным будет, что сетка состоит из линий искривленных около окружности и ширина сетки стала меньше.

 

На рисунке 5 приведен примеры иллюзии движения. Если смотреть на рисунок не моргая, то через некоторое время, многим будет казаться, что фигуры медленно вращаются.

 

Рис.5. Иллюзия вращения.

 

Умножение.

Вы уже знаете, что если число натуральное число a сложить b раз, то такое сложение будет являться умножением b*a. Для умножения натуральных чисел выполняются следующие законы:

a*b= b*a (коммутативный закон умножения)

(a*b) *c= a*(b *c) (ассоциативный закон умножения)

a*(b+c)= a*b + a*c (дистрибутивные законы)

а*1=a (закон существования единичного элемента, который при умножении на любое число дает то же самое число).

 

Задача:

2. Мы с вами уже разбирали понятие площадей и объемов геометрических фигур, как сумм квадратов с единичной площадью и кубов с единичным объёмом. С помощью понятия площадей прямоугольника, объема прямоугольного параллелепипеда и площади прямоугольника состоящего из двух прямоугольников докажите коммутативный, ассоциативный законы умножения и дистрибутивный закон для натуральных чисел:

 

 

 

Рис.6. Геометрические пояснения к правилам умножения: а) прямоугольник с сторонами a и b . Прямоугольник покрыт сеткой из квадратиков с единичными сторонами; б) параллелепипед с сторонами a, b и c . Внутри парралелепипеда показан единичный кубик с сторонами равными 1, 1 и 1; в) прямоугольник с сторонами a и  b+c.

 

Пример доказательства коммутативного закона умножения:

Площадь прямоугольника со сторонами а и b равна числу единичных квадратов, на которые можно разбить данный прямоугольник. Их число можно посчитать так. Мысленно объединим квадраты в колонки. В каждой колонке будет по а квадратов. Таких колонок будет b. Теперь мы их сложим. Получим

Но мы можем объединить квадраты и в строки. Тогда в каждой строке будет b квадратов. А таких строк будет а . Значит верно:

Поскольку при этом мы считаем площадь одной и той же фигуры, то следовательно верно равенство a*b= b*a. Что и требовалось доказать.

 

Целые числа.

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

 

Т.е. по данному определению, если прямая функция сложение x+b=y, то обратная функция, которая называется вычитанием, будет x=y-b. На числовой прямой вычитание произвольно взятого числа b из числа a (т.е. нахождение величины a-b ) означает откладывание сначала отрезка длиной a от точки 0 в положительном направлении (т.е. направо от 0), а затем откладывание от точки a, отрезка длиной b в отрицательном направлении (т.е. налево).

 

 

 

Рис.7. Нахождение разницы a-b с помощю числовой оси.

 

Длина получившегося отрезка ОК будет равна OK= a-b. Понятно если, длина b больше длины а, то точка К окажется слева от 0, и величина a-b будет отрицательной:

 

Рис.8. Нахождение разницы a-b с помощю числовой оси, если величина b больше a и тогда a-b  величина отрицательная.

 

В этом случае, нам будет недостаточно натуральных чисел, чтобы записать разницу a-b. Нам потребуются отрицательные числа. Отрицательными числами будем называть числа стоящие налево от 0. Они как и положительные числа будет расти по абсолютной величине (или говорят по модулю) по мере удаления от 0, только они будут так расти по модулю налево. А по определению числовой прямой, из двух произвольных чисел этой числовой прямой больше то, которое стоит справа. Поэтому например, если для положительных 9 > 8, то для отрицательных -9 < -8. Натуральные числа и отрицательные целые числа вместе образуют множество целых чисел. На множестве целых чисел определены как операции сложения и умножения, так и операция обратная сложению- вычитание.

 

Обобщим, что нового мы ввели с использованием целых положительных и отрицательных чисел. Во первых, мы стали говорить о двух направлениях: о положительном и об отрицательном. Теперь надо не только говорить какой длины отрезок мы откладываем на числовой прямой, но и в каком направлении: в положительном (вправо) или в отрицательном (влево). Поэтому вместо отрезка удобнее пользоваться вектором. Вектор- это отрезок со стрелкой, показывающий в каком направлении этот отрезок откладывается. Когда играли в автогонки на клетчатой бумаге, вы с его помощью откладывали скорость вашей машины.

 

В общем случае векторы, как в игре автогонки, могут быть направлены в любом направлении, а не только вдоль числовой прямой. Но числовая прямая- это одномерное пространство, и на ней есть только два направления: положительное и отрицательное. Поэтому на числовой прямой наши векторы будут всегда направлены только вдоль числовой прямой и могут быть либо направлены направо (соответствуют операции прибавления), либо налево (соответствуют операции вычитания).

 

Обозначать вектор будем или с помощью двух букв как отрезок, но со стрелочкой наверху; или просто одной буквой , но тоже со стрелочкой наверху. Например, ОК или [ОК] означает отрезок ОК на рисунке числовой прямой. Его длина обозначается так |OK|. Вектор ОК обозначается так:

Ниже приводится пример с обозначением векторов одной буквой:

 

Примечание: Я использую вместо стрелки простую горизонтальную палочку из-за возможностей текстового редактора: a и b.

 

На числовой оси векторы выглядят так:

Векторы, как и отрезки, обозначаются только буквами, но не числами. Например в обозначении вектора OK мы немного лукавим принимая цифру 0 за букву О из-за схожести их написания. Правильно было бы обозначать точку 0 еще и буквой О. Например, эта числовая прямая содержит векторы OK и OM:

 

Во-вторых, мы ввели понятие модуля. Модуль произвольного числа a обозначается так: |a|. Он равен расстоянию от 0 до данного числа. Например, модуль числа 8 будет равен 8: |8|= 8. И модуль числа -8 , тоже равен 8: |-8| = 8, ведь расстояния от 0 до 8 и от 0 до -8 одинаковые. Поскольку любое число числовой прямой задаёт соответствующий вектор с началом в начале числовой прямой и концом-стрелкой указывающей на это число, то по аналогии с модулем числа вводится понятие модуля вектора. Соответственно, модулем вектора будет его длина. Длина (модуль) вектора ОК обозначается аналогично: | ОК |.

 

Внимание: модуль числа еще называют абсолютной величиной числа. Такое название принято, в частности, в OpenOffice. Например |-4| записывается так: =ABS(-4)

 

На множестве целых чисел определены операции сложения, вычитания и умножения. Как умножать положительные числа Вы уже знаете. Но как умножить отрицательное число на любое другое?

 

Принято, что при умножении чисел их модули умножаются как натуральные числа (ведь модуль- это натуральное число). К полученному произведению модулей добавляется знак, по следующему правилу:

 

1. произведение двух положительных чисел есть тоже число положительное;

 

2. произведение отрицательного числа на положительное, также как и произведение положительного на отрицательное, всегда отрицательное число (первое является следствием закона о существовании единичного элемента : (-1)*1= -1 , последнее есть его следствие в силу коммутативного закона умножения: (-1)*1= 1*(-1)). Отсюда следует, что умножение на -1 даёт противоположное число по знаку, но с тем же модулем, ведь 1*(-1) = (-1)*1 = -1

 

3. произведение двух отрицательных чисел- есть число положительное (это следствие доказанного только что в пункте 2 закона умножения на -1).

 

 

Дробные и рациональные числа.

Введем теперь операцию обратную умножению. Как вы уже знаете- это деление.

Например, пусть дана прямая функция умножение: Y= a*X

Тогда обратная функция, деление, записывается так: Y/a= X,

или такая запись Y:a=X,

или такая запись

Пример:

Пусть дано 5 кучек яблок. В каждой кучке 4 яблока. Сколько всего яблок.

Чтобы посчитать все яблоки, надо их все сложить. Будет 4+4+4+4+4= 5*4 = 20 яблок.

Теперь пусть требуется совершить обратное действие- разложить 20 яблок по 5 равным кучкам. Или другими словами, надо поделить 20 яблок поровну на 5 кучек. Сколько яблок должно быть в каждой кучке? Чтобы найти количество яблок в каждой кучке надо 20 яблок поделить на 5. Будет 20/5=4

 

Добавим только, что делить можно на любое число, кроме нуля. Что является следствием неоднозначности функции деления на ноль. Ведь она обратна умножению на ноль. А любое число умноженное на 0 дает ноль: Х*0 = 0. T.e. даже для деления 0 на 0 нет однозначного значения, а для других чисел результата деления на 0 вообще не существует.

 

Понятно, что одного множества целых числе недостаточно для введения операций деления. Например 3/2 не является целым числом. Поэтому вводится множество рациональных чисел, включающее в себя целые и дробные числа. На множестве рациональных чисел определены операции сложения, вычитания, умножения и деления. Знак при делении положительных и отрицательных чисел определяется на основе правил умножения. Т.е. любое число может быть представлено в виде произведения модуля числа на +1 или -1 в зависимости от знака самого числа. Например -8=|-8|*(-1)=8*(-1). Затем при деление сначала определяется модуль конечного числа. Т.е. знак при этом не учитывается. Потом используют правило нахождения знака на основе правил умножения:

1*1=1 => 1/1=1

1*(-1)= -1 => -1/(-1)=1

(-1)*1= -1 => -1/1= -1

Правило (-1)*(-1)= 1 дает уже полученный результат 1/(-1)=-1

 

Краткое обобщение правил умножения и деления положительных и отрицательных чисел:

Пусть число a  умножается или делится на число b, и в результате получается число c. Тогда, если число b положительное, то число с имеет тот же знак, что и число а. Если же число b отрицательное, то знак числа с противоположен знаку числа а.

Говоря о дробных числах необходимо напомнить, наиболее важные понятия и правила, которые пригодятся нам:

 

1. общий вид дробного числа: m/n, где m и n - целые числа, и n не может быть равен нулю. m- называется числителем, n- знаменателем.

 

2. общий вид записи сложения дробных чисел: (m/n )+ (k/p)= (mp +kn)/(n*p)

 

3. общий вид записи вычитания дробей (m/n )- (k/p)= (mp – kn)/(n*p)

 

4. общий вид записи умножения дробей: (m/n)* (k/p)=(m*k)/(n*p)

 

5. общий вид записи деления одной дроби на другую: (m/n)/(k/p)=(m*p)/(n*k)

 

6. правила сложения, вычитания, умножения , деления, когда одно из двух чисел -целое число, легко получить из приведенных правил, если принять для одной из дробей, что её знаменатель равен 1.

 

 

Если знаменатель дроби равен 10 или кратен 10 (кратен 10 - значит равен 10, или 100, или 1000, или 10000 и т.д.), то это дробь называется десятичной.

 

В программировании чаще используют десятичные дроби, которые записываются с использованием точки. Например, 1.2357 или 6.842. Если число цифр после запятой фиксировано, то число называется десятичным дробным числом с фиксированным числом знаков после запятой. В Basic используются десятичные дроби с плавающей запятой- float, single, double . В них число знаков после запятой не фиксировано и определяется при подсчете выражения.

 

 

Иррациональные и вещественные числа.

Если мы теперь будем рассматривать все точки числовой прямой, то кроме рациональных чисел, на ней окажутся иррациональные числа. Кто это такие иррациональные числа? Примером иррациональных чисел будет например квадратный корень из 2. Т.е. задать функции возведения в степень, например, в квадрат: а*а=a2, можно на множестве рациональных чисел. Но обратная функция, квадратный корень, потребует уже рациональных и иррациональных чисел. т.е всей числовой прямой. Рациональные и иррациональные числа образуют множество действительных или вещественных чисел (real numbers). Как вы видите на примере числовой прямой, действительные числа являются одномерными числами.

 

Про действительные числа можно сказать, что каждый человек встречается с ними в его повседневной жизни. Поэтому они известны человечеству со времен Древней Греции. Кроме одномерных чисел существуют многомерные со своими специфическими операциями определенными на множествах таких многомерных чисел. Эти числа возникли сначала в математике, а затем нашли применение в науке и технике. В дальнейшем мы познакомимся с одним из представителей многомерных чисел- двумерными числами, которые обычно называются комплексными числами.

 

В заключении несколько простых примеров, поясняющих основные операции с числами:

Пример 1.

Найти 1+2*(3+2)+5.

Сначала выполняем действия в скобке: 3+2=5. Получаем

1+2*(3+2)+5= 1+2*5 +5

 

Когда на одном уровне (в «одной и той же матрёшке») надо выполнить операции сложения, вычитания, умножения, деления, то сначала выполняются операции умножения и деления, а затем сложения и вычитания. Т.е. при прочих равных условиях, операции умножения-деления имеют более высокий приоритет по сравнению с операциями сложения-вычитания.

 

Операции умножения имеют одинаковый приоритет с операциями деления; а операции сложения имеют одинаковый приоритет с операциями вычитания.

 

Когда надо выполнить несколько действий одинакового приоритета ( например, посчитать 5*4:10:2= ?? ), то операции выполняются в порядке «слева направо».

 

Поэтому, сначала считаем 2*5=10. Получаем 1+10 +5=16. Ответ: 1+2*(3+2)+5= 16.

 

Пример 2.

Найти чему равно 3*6:2:(8-5).

Пользуюсь теми же правилами получаем 3*6:2:(8-5)=3*6:2:3=18:2:3=9:3=3

Ответ: 3*6:2:(8-5)=3

 

Пример 3.

Найти 18:(5-2) – 2*2.

Решение:

18:(5-2) – 2*2=18:3-2*2=6-4=2

Ответ: 18:(5-2) – 2*2 = 2.