Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Билет 20. Отладка программы является непременным этапом при создании практически любой программы, т




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

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

Отладка предполагает выполнение следующих моментов:

  • выявление факта наличия ошибки в программе;
  • определение места нахождения ошибки (локализация);
  • устранение ошибки.

 

Хз что еще

 

 

Билет 21

Итерационные циклы: уточнение корня алгебраического уравнения

Пусть в результате отделения корней стал известен отрезок [a, b], на котором функция f(x) имеет единственный корень. Требуется уточнить его значение с погрешностью e. Выберем для решения данной задачи метод хорд. Задаем начальное приближение, например, x = a. Хордой соединяем точки кривой на границах отрезка ab:

 

 

Ввод (a, b, e) [y - f(x)]/[f(b) - f(a)] =

x:= a = (x - a)/(b - a).

Пока |f(x)| > e Отсюда точка пересечения

y:= f(a); z:= f(b); хорды с осью абсцисс:

x = a - f(a)(b - a)/[f(b) - f(a)]; w:=f(x) x = a - f(a)(b - a)/[f(b) - f(a)].

y*w < 0

ДА НЕТ Это очередное приближение.

 
 


b:= x a:= x Переопределяем отрезок ab.

Вывод (x, f(x))

 

 

Применим приведенный выше алгоритм для уточнения корня с погрешностью 0,0001 на отрезке [0, 2] уравнения .

program Horda;

const

e = 0.0001;

var

n: byte;

a, b, w, x, y, z: real;

begin

writeln(‘Введите границы отрезка’);

readln(a,b);

x:= a; n:= 0;

while abs(x*x-1) > e do begin

y:= a*a-1; z:= x*x-1;

x:=a - y*(b - a)/(z - y); w:= x*x -1;

if y*w < 0 then b:= x else a:= x;

n:= n + 1 end;

writeln(‘Корень уравнения = ’, x);

writeln(‘Значение функции в этой точке = ’, x*x-1)

writeln(‘Число итераций: ’,n) end.

 

 


Поделиться:

Дата добавления: 2015-04-21; просмотров: 128; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты