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

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

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