на главную страницу
визитка
темы
-Я думаю, что нам нужно иметь одну общую форму, которую мы могли бы
программировать под разные содержательные данные. Если это у нас получится, то
мы избавимся от необходимости всякий раз создавать новую форму, и получим
возможность сосредоточиться на программировании содержательного процесса.
-Мы могли бы иметь не только общую форму, но и общую программу, во
всяком случае, для очень многих опытов. И создание такой программы действительно
было бы ценным, поскольку мы могли бы вообще избавить себя от проблем с
программированием. Действительно, громадное число экспериментов при всём
различии их содержаний подчиняется если и не одной форме, то некоторой
универсальной форме, подстановка параметров в которую позволяет получать
множество самых разнообразных в содержательном отношении экспериментов.
-Но чтобы сделать это или, во всяком случае, стремиться к этому, нам нужна
технология.
-Да, мы должны выстраивать некую общую абстракцию, посредством
которой могли бы моделировать разные содержания.
-Я считаю, что самой первой абстракцией у нас должна быть
абстракция числа. Я имею ввиду представление содержательных вещей числами, а
также их расположением относительно друг друга, порядком.
-Число должно рассматриваться как объект, представляющий
некоторое содержание.
-Пожалуй. Тогда сразу же возникает вопрос о том, каким
образом мы будем организовывать числа применительно к машине.
-Сразу же следует оговориться, что числа у нас
представляют не самих себя, а некоторые содержательные вещи. Значит, в этом
случае речь уже не идёт о собственно математических операциях.
-Здесь
просматривается важный принцип - тот, что объект может представлять сам
себя, но может представлять и другое.
-В связи с этим
еще одно: если объект представлен числом, то изменение числа может
рассматриваться как процесс изменения объекта. Другими словами, множество чисел
может обозначать один и тот же вид объектов в их изменении, т.ск., развитие от
неразвитой их формы к развитой. Мы т.о. получаем возможность как выражения
развития объекта, изменения его, так и параллельного сосуществования объектов
разного уровня развития. А это уже может быть представлено в виде дерева. А
частный случай дерева может быть представлен в виде десятичного числа. Например,
если мы возьмём число abc как представляющее некоторый объект, то его развитие
может быть представлено в виде: аbc = 000 (нет ничего), 001 (нечто возникло),
002,...009 (качество достигло своего максимального количественного уровня
развития), 010 (идеальная форма нового качества, своего рода зародыш),
011,...,019, 020,...,090, ...,099,100 и т.д.
-Значит, разные объекты
могут обозначаться буквами, которые одновременно представляют числа. Но если
так, то мы может также и просто давать имена объектам, которые должны указывать
на буквенное выражение числа, соответствующего ему, и далее возможны уже
собственно количественные исследования объекта
- Да, это понятно, если с каким-то числом связывается
какое-то понятие, то в этом случае число - всего лишь объект. Но ведь с этими
объектами мы будем действовать в том числе исходя также и из их количественных
свойств, а это уже, конечно, математические операции.
-Т.о. мы
получаем, что объекты, имеющие форму числа, могут быть программно оформлены в
виде класса, соответственно, особого типа объектов с их свойствами, событиями и
методами.
-Теперь к практике. Чтобы не путаться, я полагаю,
нам нужно будет иметь что-то в роде информационного листка, в который мы могли
бы заносить разнообразную информацию, и, в частности, справочную о
представляемых числами содержаниях и многое другое.
-Назовём нашу первую программу Memo1.
-И будет
хорошо, если у нас будет возможность скрывать листок, когда он не нужен,
чтобы не мозолил глаза.
-Верно. Я предлагаю взять маленький квадратик Edit и рядом
кнопку с надписью на ней: 0-скрыть, 1-показать. Записываем в Edit нолик,
нажимаем на кнопку, и Memo скрывается.
-Понятно. Это принимаем. Пусть,
когда мы входим в программу, у нас в Memo уже есть справки, которые заранее
занесены в него, указывающие, как им пользоваться.
-Информационый листок
должен запоминать информацию, которую мы вносим в него. Для этого пусть он
создает два файла, в которые информация будет записываться и из которых
извлекаться. В принципе можно т.о. создать сколько угодно файлов, запоминающих
информацию. Файлы возьмём с расширением .txt.
-Желательно, чтобы помимо
информационных функций от листка была бы еще какая-то польза. Я думаю, что
основными объектами, с которыми мы будем иметь дело, это массивы. Любой
1-строчный массив может рассматриваться как вектор, а многострочный массив
образует матрицу. Если относительно таких матриц взять время, то мы получаем
возможность отслеживать изменение каких-то сложных процессов во времени.
Начнём с самого простого - со строчной матрицы. Нам потребуется заполнять её
данными, а также проверять её содержание. Эти функции мог бы выполнять листок.
-Примем для начала, что массив будет состоять из десяти элементов. Тогда
предлагается программа
Memo1. Обратите внимание на
то, что она и последующие программы устанавливаются только на компьютерах, на
которых установлена программа Borland C++Builder.
-Всё-таки строчная матрица - это не самое простое, во всяком случае, "не
изначальное", каковым является объект. Впрочем, это другой вопрос. Относительно
листка. Не всегда ведь нужно будет менять данные во всей матрице, да и
интересовать нас могут значения отдельных элементов массива. Нам
нужно иметь возможность вводить в массив значения элементов и просматривать
значения элементов.
-Хорошо. Подготовьте к следующему занятию программу
листка с этими дополнительными функциями. Назовём будущую программу Memo2
14.12.08 г.