К вопросу о системной межпредметной интеграции информатики и математики.
Правильнее было бы говорить, что без математики не существовало бы и информатики.
Одна из областей математики – математическая логика является основой построения всех схем ЭВМ. Начиная от формализации высказываний, до записи логических выражений с последующим упрощением (используя законы алгебры логики) и построением логических схем ЭВМ
Изучение любого языка программирования начинается с изучения данных, которые могут быть обработаны программами на конкретном языке (главы с 02 по 08 книги «Программирование на языках высокого уровня»). Здесь используются основные понятия позиционных систем счисления (основание системы счисления, вес разряда, правила перевода чисел из одной системы счисления в другую). Количество возможных разрядов в числе, размещенном в памяти, определяет диапазон возможных значений. Изучая представление данных в ЭВМ, связываем это с определением количества информации.
При решении любой задачи с помощью ЭВМ первым этапом является выбор математической модели, которая соответствует поставленной задаче. На начальном уровне трудно сопоставить конкретной задаче математическую модель, так как уровень знаний недостаточен. Самой простой математической моделью на начальном уровне является модель вида Дано-Найти, к которой мы привыкли во всех школьных предметах.
Одной из простейших математических моделей является линейное уравнение. На простейших задачах обработки данных различных типов можно увидеть, что всё в программировании сводится к математике. Одной из таких задач является задача определение симметричной буквы относительно центра латинского алфавита (глава 11 книги «Программирование на языках высокого уровня», программа SIM_BUK).
Многие разветвляющиеся алгоритмы вычисляют принадлежность точки области, заданной в прямоугольной системе координат. Такие области являются геометрической интерпретацией систем неравенств с двумя неизвестными. Запись логических выражений, соответствующих областям, и их последующее вычисление является неотъемлемой частью информатики (глава 9_IIIкниги «Программирование на языках высокого уровня», логические выражения и варианты заданий областей – файлы графики_1.doc, графики_2.doc, графики_3.doc).
Простейшим примером разветвляющегося алгоритма является алгоритм решения линейного уравнения линейного уравнения с произвольными вещественными коэффициентами (глава 12 книги «Программирование на языках высокого уровня»). Классическим примером разветвляющегося алгоритма является решение квадратного уравнения с произвольными вещественными коэффициентами (глава 12 книги «Программирование на языках высокого уровня», программа KVUR).
В теоретическом программировании большой круг задач связан с накоплением сумм элементов рядов. Сами алгоритмы представляют собой циклические алгоритмы. Задачи суммирования рядов и методы их решения приведены в презентации Бровина_численные ряды.ppt. Практическое применение эти задачи находят при вычислении математически функций, когда последняя представляется как сумма элементов бесконечного убывающего ряда. Так как машинная реализация представляет собой подпрограммы, и в частности библиотечные (модульное программирование), то данный раздел математики является важнейшим при изучении модульной реализации встроенных математических функций (глава 17, раздел 3 книги «Программирование на языках высокого уровня»).
Использование ЭВМ для приближённого численного решения реальных задач, в частности тех, математические модели, которых связаны с вычислением определённых интегралов, практически показывает, как реализацию самих методов, так и применяемых механизмов программирования (глава 16, раздел 11 книги «Программирование на языках высокого уровня»)
Алгоритмы решения комбинаторных задач изучаются в теме подпрограммы, в частности – рекурсивные подпрограммы (глава 16, раздел 9 книги «Программирование на языках высокого уровня»).
Вершиной современного подхода к разработке больших развивающихся программных систем является объектно-ориентированное программирование (ООП). В курсе углублённого изучения информатики изучаются все свойства и механизмы ООП (глава 26 книги «Программирование на языках высокого уровня»). Развитие очень просто и легко показывается при последовательном решении линейного уравнения, затем квадратного и окончательно биквадратного уравнения методами ООП (файл Простой пример объектно-ориентированного программирования.doc)