Математика и программирование: нужны ли они друг другу

История зарождения и распространения математики. Причины перехода человечества от простого подсчета к сложным математическим действиям. Определение связи математики с программированием. Основные особенности специализации разрабатываемого приложения.

Рубрика Математика
Вид эссе
Язык русский
Дата добавления 25.04.2020
Размер файла 17,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Челябинский государственный университет» (ФГБОУ ВПО «ЧелГУ»)

Институт информационных технологий

Кафедра информационных технологий и экономической информатики

Эссе на тему

Математика и программирование: нужны ли они друг другу

Выполнил:

студент группы номер

Ф.И.О. студента

Проверил:

преподаватель

Шилова О.Ю.

Челябинск, 2019

Математика и программирование: нужны ли они друг другу?

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

«Математика - царица наук» гласят плакаты в любой школе. Однако, попробуйте спросить школьника, в чем суть и применение математики, как науки? Учась еще в девятом классе, я задал подобный вопрос двум своим товарищам, но ни один из них не дал мне четкого ответа. Очень часто школьники считают математику в корне бесполезной и непонятной дисциплиной, и мои товарищи не были тому исключением. Так все-таки, что же такое математика, и зачем она нужна?

Давайте вспомним, как зародилась математика и в чем ее суть. Сложные формулы интегрирования, ряды Фурье и комплексные числа, так пугающие своими замысловатыми формулами первокурсников, существовали не всегда. Если вспоминать историю их появления грубо и в стиле учебника «для чайников», то, вся математика появилась постепенно. Множества натуральных чисел, например, достаточно чтобы посчитать количество яблок в корзине, но недостаточно, чтобы выразить долг соседу, множества целых чисел недостаточно, чтобы описать половину, сложения недостаточно, чтобы описать объем, удобней использовать степень или, хотя бы, умножение. А для степени в свою очередь необходимы обратные действия - корень и логарифм. А если корень отрицательный? Так и пришло человечество от простого подсчета собранных яблок в корзине к сложным математическим действиям и таким понятиям как комплексное число, или, скажем, определенный интеграл. У всего есть история появления и конкретный физический смысл, изучению которых, к сожалению, в образовательной программе всегда уделяют наименьшее количество времени.

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

Математика, подобно настоящему языку, способна описать невидимые глазу и неописуемые простым языком явления. Если мы попробуем,не прибегая к математическим формулам,описать закон распространения радиоволны, сложную кривую, или силу притяжения заряженных частиц получится ли что-то? Конечно, нет. Но, математике это подвластно, и она существует именно для этого. Она может описать и количество яблок в корзине, и объем фигуры образованной кривой вращения, и движение электрона и угол отражения радиоволны от ионосферы, и даже мир размерности больше 3х.

Захватывает и то, что и движение маятника в старых часах, и волны на море и колебания в замкнутом контуре описываются одним законом, математика делает знания о мире систематичными.

Что же связывает математику именно с программированием?

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

Если рассматривать компьютер, как логическое программируемое устройство, то здесь математика все так же важна: во-первых низкоуровневое программирование требует понимания машинного кода, а дискретная математика - это все-таки тоже раздел математики. Умение пользоваться низкоуровневыми языками программирования невозможно без понимания самой концепции систем счисления, в частности двоичной и логических операций над двоичными числами, так что и здесь можно сделать вывод, что без математики никак не обойтись.

На низкоуровневых языках(напримерAssembler) часто пишутся драйвера устройств, и если программист всерьез собирается работать с аппаратным обеспечением, ему не избежать очень подробного и близкого знакомства с принципами работы «железа», машинным кодом и всеми законами математики и электротехники с этим связанными. Есть множество простых, на первый взгляд, задач, таких, как разработка небольших устройств и программирование микропроцессоров, требующих именно глубокого понимания вышеперечисленных научных дисциплин.

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

Здесь можно было бы поставить точку, и сделать вывод, что математика в программировании высокого уровня абсолютно не важна. Но, это в корне не верно.

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

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

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

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

Одна из огромнейших отраслей программирования, к слову, это отрасль создания компьютерных игр, где трехмерная графика является основной составляющей. Чтобы построить полноценный виртуальный мир приходится работать не только с трехмерным моделированием неподвижных объектов, а так же с текстурами и освещением и перемещением объектов в пространстве: и здесь нужны обширнейшие знания геометрии.

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

Многие слышали о случае, произошедшем в Америке в 80х годах: из-за ошибки в программном обеспечении рентгеновского аппарата Therac-25 множество пациентов клиник получило смертельную дозу облучения (доказано как минимум 5 случаев летального исхода). Всему виной были простейшие ошибки программиста, в том числе одна из ошибок была вызвана некорректным делением на ноль. Мы видим, как простая ошибка программиста стоила жизней как минимум пяти человек.

Со времени создания злополучного Theracпрошло порядка 50-ти лет, современные компьютеры и программы стали намного сложнее, но на основании этой истории все равно можно сделать выводы: в таких сферах, как кибернетика, медицина и военная техника от разработчика ПО требуются не только обширные знания математики как науки, но и «математическое» мышление, позволяющее анализировать собственные действия и написанные программы, а так же находить ошибки в собственном коде раньше, чем те приведут к фатальным последствиям.

Можно также вспомнить такой раздел математики, как криптография: этот прикладной раздел математики используется в создании шифров для систем безопасности. Для программиста, решившего строить карьеру в направлении специалиста компьютерной безопасности знания комбинаторики и криптографии будут обязательными.

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

Из обрисованной выше картины можно сделать следующие выводы:

- Само строение компьютера основано на законах физики и математики, даже само название «электронно-вычислительная машина» указывает на то что компьютер - это воплощение математических законов

- Работа программиста любого уровня требует понимания алгебры логики, математика в этом виде присутствует напрямую или косвенно в программировании как на языках низкого, так и на языках высокого уровня, и понимание этой базы обязательно для будущего разработчика, какую бы отрасль он для себя не выбрал.

- Если говорить о высшей математике, то она также присутствует почти во всех отраслях, связанных с созданием программного обеспечения, однако конкретный раздел этой обширной науки, который будет необходим при разработке, зависит от выбранной отрасли. Это могут быть как базовые знания, достаточные для программирования баз данных, так и более серьезные разделы, связанные с трехмерным моделированием или расчетом сложных физических процессов. А математика школьного уровня присутствует в каждой, даже самой простой программе.

- У программиста, считающего математику «ненужной» наукой или не имеющего никаких математических способностей, к сожалению, практически нет шансов занять нишу в сфере программирования, за исключением какой-то совсем простой и монотонной работы.

Размещено на Allbest.ru

...

Подобные документы

  • Греческая математика. Средние века и Возрождение. Начало современной математики. Современная математика. В основе математики лежит не логика, а здравая интуиция. Проблемы оснований математики являются философскими.

    реферат [32,6 K], добавлен 06.09.2006

  • Значение математики в нашей жизни. История возникновения счета. Развитие методов вычислительной математики в настоящее время. Использование математики в других науках, роль математического моделирования. Состояние математического образования в России.

    статья [16,2 K], добавлен 05.01.2010

  • Период зарождения математики (до VII-V вв. до н.э.). Время математики постоянных величин (VII-V вв. до н.э. – XVII в. н.э.). Математика переменных величин (XVII-XIX вв.). Современный период развития математики. Особенности компьютерной математики.

    презентация [2,2 M], добавлен 20.09.2015

  • Происхождение термина "математика". Одно из первых определений предмета математики Декартом. Сущность математики с точки зрения Колмогорова. Пессимистическая оценка возможностей математики Г Вейля. Формулировка Бурбаки о некоторых свойствах математики.

    презентация [124,5 K], добавлен 17.05.2012

  • Возникновение и основные этапы развития математики как науки о структурах, порядке и отношениях на основе операций подсчета, измерения и описания форм реальных объектов. Развитие знаний арифметики и геометрии в Древнем Востоке, Вавилоне и Древней Греции.

    презентация [1,8 M], добавлен 17.12.2010

  • Предпосылки зарождения математики в Древнем Египте. Задачи на вычисление "аха". Наука древних египтян. Задача из папируса Райнда. Геометрия в Древнем Египте. Высказывания великих ученых о важности математики. Значение египетской математики в наше время.

    реферат [18,3 K], добавлен 24.05.2012

  • Общая характеристика математической культуры древних цивилизаций. Основные хронологические периоды зарождения и развития математики. Особенности математики в Египте, Вавилоне, Индии и Китае в древности. Математическая культура индейцев Мезоамерики.

    презентация [16,3 M], добавлен 20.09.2015

  • История становления математики как науки. Период элементарной математики. Период создания математики переменных величин. Создание аналитической геометрии, дифференциального и интегрельного исчисления. Развитие математики в России в XVIII-XIX столетиях.

    реферат [38,2 K], добавлен 09.10.2008

  • Робота присвячена важливісті математики, їх використанню у різних галузях науки. Інформація, яка допоможе зацікавити учнів при вивченні математики. Етапи розвитку математики. Філософія числа піфагорійців. Математичні формули у фізиці, хімії, психології.

    курсовая работа [347,2 K], добавлен 12.09.2009

  • Развитие математики переменных величин: создание аналитической геометрии, дифференциального и интегрального исчисления. Значение появления книги Декарта "Геометрия" в создании математики переменных величин. Становление математики в ее современном виде.

    реферат [25,9 K], добавлен 30.04.2011

  • Характер давньогрецької математики та джерела. Характер давньогрецької математики та її джерела. Виділення математики в самостійну теоретичну науку. Формулювання теорем про площі і обсяги складних фігур і тіл. Досягнення олександрійських математиків.

    курсовая работа [186,2 K], добавлен 22.11.2011

  • Роль математики в современном мире. Основные этапы развития математики. Аксиоматический метод построения научной теории. Начала Евклида как образец аксиоматического построения научной теории. История создания неевклидовой геометрии. Стили мышления.

    реферат [25,8 K], добавлен 08.02.2009

  • Изучение возникновения математики и использования математических методов Древнем Китае. Особенности задач китайцев по численному решению уравнений и геометрических задач, приводящих к уравнениям третьей степени. Выдающиеся математики Древнего Китая.

    реферат [27,6 K], добавлен 11.09.2010

  • Визначення поняття математики через призму іонійського раціоналізму. Основні властивості правильних багатокутників і правильних багатогранників. Загальна характеристика внеску в розвиток головних засад сучасної математики видатних давньогрецьких вчених.

    реферат [91,5 K], добавлен 15.02.2010

  • Обзор развития европейской математики в XVII-XVIII вв. Неравномерность развития европейской науки. Аналитическая геометрия. Создание математического анализа. Научная школа Лейбница. Общая характеристика науки в XVIII в. Направления развития математики.

    презентация [1,1 M], добавлен 20.09.2015

  • Достижения древнеегипетской математики. Источники, по которым можно судить об уровне знаний древних египтян. Задачи на арифметическую и геометрическую прогрессии, нахождение числа Пи, подчёркивают практический и теоретический характер древней математики.

    реферат [165,8 K], добавлен 14.12.2009

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

    презентация [2,3 M], добавлен 21.12.2014

  • Ученые математики, открытия которых являются основой научно-технического прогресса. Квадратные уравнения в Европе в XII-XVII веках. Научная деятельность Ф. Виета и её роль в развитии математики в XVI веке. Особенности применения научных открытий в жизни.

    презентация [1,6 M], добавлен 16.05.2012

  • Греческая математика и её философия. Взаимосвязь и совместный путь философии и математики от начала эпохи возрождения до конца XVII века. Философия и математика в эпохе Просвещения. Анализ природы математического познания немецкой классической философии.

    дипломная работа [68,4 K], добавлен 07.09.2009

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

    реферат [58,1 K], добавлен 26.07.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.