При заданной возрастающей последовательности
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

требуется реализовать функцию, которая вычисляет все члены последовательности, до тех пор, пока значение очередного члена не превысит некоторое заданное число d , например, ( 3< d <100 ).

В нашей задаче для вычисления любого члена последовательности можно воспользоваться формулой an = xn /3 n, где n =0,1,2,… – номер члена.

Во избежание зацикливания, в данном примере цикл будет выполняться не более 100 раз, даже если очередной член последовательности будет оставаться меньше d (рис. 1.5.4-25).

 

--> // Загрузка сценария РИС15425 и выполнение функции Pos, -->// реализующей вычисление членов последовательности --> -->clear -->exec('РИС15425.sce', 0); --> Pos(5,9)  n = 1.  a = 3.  n = 2.  a = 9.

 

Рис. 1.5.4-25 Вычисление членов последовательности с использованием
итеративного цикла

 

К сожалению, во многих задачах непосредственный подсчет очередного члена связан с вычислительными трудностями. В этом случае целесообразно использовать рекуррентную формулу, которая позволяет вычислить значение переменной на следующем шаге, используя ее значение на текущем шаге – an +1 = anqили an = an -1 q.

 

Вычислить значение функции точност ью ε=0.01 при х=0.1 , каждый член которой представляет собойзнакопеременную убывающую последовательность :


Вычисление с заданной точностью ε означает, что суммирование членов ряда надо продолжать до тех пор, пока очередной вычисленный член ряда не станет меньше по абсолютной величине числа ε(рис.1.5.4-26).

Приведем вывод рекуррентной формулы для заданного в примере ряда. Формула для n-го члена приведена в задании:

тогда формула (n+1)-го члена

    .

Разделив an+1член на an, получим выражение для q:

 

 

Таким образом, рекуррентная формула для данного ряда:

Выбор начального значения номера члена ряда (n) для нашего случая будет n = 0, так как при подстановке этого значения в формулу n -го члена ряда получим значение первого члена, равногоx-1или
a0= x -1.

Таким образом, выражение для q можно получить, разделив (n+1)-й член последовательности на n-й.

 

--> // Загрузка сценария РИС15426 и выполнение функции Pos 2, -->// реализующей вычисление суммы ряда --> -->clear -->exec('РИС15426.sce', 0); --> --> s = Pos2(0.1,0.01)  s = -0.9

 

Рис. 1.5.4-26 Вычисление суммы ряда c использованием
рекуррентной формулы

 

 




Средства отладки sce -файлов

 

 

Понятие отладки программ

Отладка программ – это процесс выявления места расположения ошибок и нахождения их причины. В Scilab для этого предусмотрено множество вспомогательных средств [13]. Рассмотрим некоторые средства отладки Редактора sce -файлов.

Одним из таких средств является возможность отображать разными цветами элементы sce -файлов (переменные, операции, константы, операторы, ключевые слова языка программирования, комментарии и т.д.), а также,в соответствии с правилами технологии структурного и процедурного программирования, имеется возможность выравнивания строк программного кода sce -файлов в зависимости от используемых ключевых слов и управляющих конструкций. Одновременно с этими действиями Редактор может автоматически выполнить синтаксический контроль программного кода и сигнализировать об этом различными сообщениями и действиями.

 

Обратите внимание, что семантические (смысловые) ошибки решаемой задачи система отладки Scilab идентифицировать не может!

 

Простейшие программы обычно не нуждаются в использовании специальных инструментов отладки. Корректного выполнения программного кода sce -файла, как правило, можно достичь после нескольких запусков
sce -файла с использованием контрольных (тестовых) входных данных. Можно также задать просмотр результатов промежуточных вычислений, удалив в программном коде символы точки с запятой (;), которыми завершаются инструкции, либо ввести дополнительные переменные для отображения хода вычислений, а после проверки вернуть программный код sce -файлов его исходному виду.

Если ошибка возникает в процессе выполнения программного кода, Scilab пытается ее идентифицировать самостоятельно, а затем отображает в Командном окне сообщение, описывающее приблизительный характер ошибки и номер строки кода, в которой она обнаружена. Если щелкнуть мышью на подчеркнутом фрагменте данного сообщения, то соответствующий sce-файл раскроется в окне Редактора, и курсор будет указывать на строку с ошибкой.

Однако Отладчик не всегда правильно отражает реально происходящие процессы. Если вы имеете дело со сложным программным кодом, то простыми приемами проверки не обойтись. В этом случае полезно воспользоваться специальными инструментами отладки.

Одним из эффективных средств отладки является размещение в тексте программного кода так называемых Точек останова (Breakpoint), что позволяет проводить пошаговое выполнение программного кода, при котором имеется возможность просмотреть содержимое различных Рабочих областей(то есть получить значения всех переменных, используемых в функциях). Такая отладка может быть выполнена в Scilabc помощью функции debug и ее команд отладки в Командном окне.

Обычная последовательность действий при отладке программы заключается в следующем:

1) Подготовка к отладке.

2) Установка (отключение) точек останова.

3) Запуск sce-файла и анализ результатов его выполнения.

4) Изменение программного кода sce-файла.

5) Устранение проблем и завершение отладки.

 

Рассмотрим вышеперечисленные действия более подробно.

 


Дата: 2019-11-01, просмотров: 265.