Page 112 - 363_
P. 112

113











                        Рисунок 11.1 – Альтернативне меню виконання Script-файлу

                        11.4 Організація змінювання даних у діалоговому режимі
                    Повторювання дій, що містяться у ядрі “ScrFil _ yadro”, має сенс лише у

            випадку, коли на початку цього ядра забезпечено виконання дій по зміні деяких

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

            стандартних меню-вікон користувача.
                    Організацію  діалогової  зміни  розглянемо  на  прикладі  деяких  5

            параметрів, які будемо називати Параметр 1, Параметр 2, ... , Параметр 5.
                    Нехай  їх  позначення  як  змінних  у  програмі  є  xl,  x2,  ...  ,  x5.  Тоді  меню

            обрання параметра для зміни його значення повинно містити 6 альтернатив: 5 з

            них  призначені  для  обрання  одного  з  вказаних  параметрів,  а  остання
            альтернатива повинна передбачати можливість виходу з меню, коли значення

            усіх параметрів встановлені.

                    Тому варіант оформлення такого меню може бути таким:
                            k = menu( 'Що змінювати ? ',' Параметр1 ',' Параметр2 ', ...

                                ' ПараметрЗ ',' Параметр4 ',' Параметр5 ',...

                                ' Нічого не змінювати '),
            що приведе до появи вікна меню, поданого на рисунку 11.2.

                    Легко  помітити  недоліки  такого  оформлення  вікна  меню.  Щоб  зробити
            правильний вибір, значення якого саме параметра слід змінити і як, користувач,

            повинен мати перед собою не тільки перелік параметрів, які можна змінити, але
            й  поточні  значення  цих  параметрів.  Тому  на  кожній  кнопці  меню  повинна

            міститься також інформація про поточне значення відповідного параметра. Це

            можна  зробити,  використовуючи  раніше  згадану  функцію  sprintf,  наприклад,
            таким чином:
   107   108   109   110   111   112   113   114   115   116   117