Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
19.04.2013
Размер:
717.82 Кб
Скачать

2. Метод эстафеты.

Основная идея данного метода - ýòî последовательное включение связей, передача информации о необходимом количестве ресурсов, расчет необходимых потребностей, запись в таблицу.Последовательное включение связей оформляется как коммуникационный сеанс.

Пример. В пункте 1 сидит диспетчер (расчетчик). С ним связывается расчетчик из пункта 6 и говорит: “У меня 300”. Первый записывает у себя: “300*2=600”. Затем с ним связывается 5 и говорит: “У меня 420”. Первый опять записывает: “420*2=840 Итого: 600+840=1440”.

Последовательность действий при проведении сеанса.

  • записываем известные исходные данные ( в случае, если нет исходных данных, записываем 0)

  • последовательно просматриваем все записи в спецификационной карте (смотри выше)

  • производим расчеты в соответствии с дополнительными данными из соответствующей ячейки спецификационной карты

  • добавляем к исходной информации данной ячейки полученные расчеты

Для достижения цели необходимо провести m+1 сеанс,ãде m — число звеньев самого длинного пути графа. В результате проведения последнего сеанса результаты не будут изменяться, что является признаком окончания процесса решения.

3. Метод имитации многопроцессорного калькулятора.

В данном методе используется табличный процессор.

1

1440

2

100

3

2200

4

8720

5

420

6

300

7

7600

400+Х3*3+Х9

8

200

9

600

В ячейке Х3 çапишем формулу: Х663 + Х883. Äалее по всем ячейкам записываются соответствующие формулы из спецификационной карты.

Основные этапы данного метода:

  • записываем условия

  • создаем решающую среду

  • табличный процессор решает задачу

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

Главную трудность в данном методе составляет процесс записи формул в ячейки. Для автоматизации этого процесса можно написать программу, осуществляющую настройку калькуляционной среды. Çадачей данной программы будет являться составление системы линейных алгебраических уравнений (СЛАУ). Предварительно в исходную таблицу необходимо записать начальные условия, используя конструкторскую спецификацию.

Введем переменные, меняющие свои значения: \i , \j , \kij , \xi , меняющие свои значения. На первом шаге, согласно конструкторской спецификации, зададим начальные условия: \ i = 1, \ j = 4, \ Kij = 3.

\х0

1

2

100

3

4

5

20

6

7

400

8

9

600

Программа состоит из модулей, осуществляющих следующие операции :

  • просмотр всей таблицы

  • переименование всех ячеек

  • перепись х0 в хj

  • проверка исчерпания таблицы (спецификационной карты):

  • если исчерпана, окончание программû

  • если не исчерпана, переход к следующей строке

Итак, программа, настраивающая калькулятор на вычисления (для табличного процессора Lotus 1-2-3) имеет вид.

{let \k,1} // счетчик строк в таблице

\c {branch \p} // вход в подпрограмму

\q {let \k, \k+1} // увеличили счетчик на единицу

{if \k>N} {quit} // если счетчик>числа строк, то выход

{branch \c} // иначе — переход снова в подпрогамму

\p {goto} \i0~

/rnd \i~ /rnc \i~~ // отмена имени i и присвоение имени i

{right} // сдвиг вправо

/rnd \j~ /rnc \j~~ // отмена имени j и присвоение имени j

{right} // сдвиг вправо

/rnd \kij ~ /rnc \kij ~~ // отмена имени kij и присвоение имени kij

{goto} \x0~ // переход в ячейку х0

{down \i} // переход вниз на i ячеек

/rnd \Xi~ /rnc \Xi~~ // отмена имени Хi и присвоение имени Хi

{goto} \x0~ // переход в ячейку х0

{down \j} // переход вниз на j ячеек

{Edit} +\Xi~*\kij ~ // запись формулы

{goto} \i0~ //

{down} // переход вниз

/rnd \i0~ /rnc \i0~~ // отмена имени i0 и присвоение имени i0

{branch \q} // переход в ячейку q

Соседние файлы в папке 1