Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Анализ правильности алгоритмов

Rusa


На практике часто приходится встречаться с программами, со­держащими ошибки. Например, в сети Интернет можно у 19319l113t ;казать много зарубежных и отечественных сайтов, которые время от времени дают сбои.




требуемое

b 2. Требу­емые результаты - пара чисел х1 и x2, являющихся корнями уравне­ния. Посмотрим, будут ли корнями уравнения пары чисел:

а) х1 = 2, x2 = 3; б) x1 = -2, x2 = -3.

- неправильно,

- неправильно.

b x +

a, b,

х1, х2 - корни.

а b

а b

а

x1 = (-b + )/(2

x2 (-b - a)

D = b2 -

(-b + a)

+ b

[(-b +)/(2 b (-b + a) +

= (-b + )2/(4 b (-b + a) + с = (b + (-b +)/(4

= (-b2 + D)/(4 a) + с = (-b2 + b2 - 4

(-b - a).

b2 - 4 0. При нарушении этого условия не только уравнение не имеет решений, но и метод решения также не дает результатов из-за необходимости вычисления корней от отрицательного дискриминан­та: D < 0.

D: = b*b - 4*а*с D = b2 -

если D > при D >= 0

= (-b )/(2*a) х1 = (-b + a)

= (-b )/(2*a) х2 = (-b - a)

инеc а

если b b

-c/b xl -c/b

Алгоритм содержит ошибки, если можно у 19319l113t ;казать допустимые ис­ходные данные, при которых либо будут получены неправильные результаты, либо результаты не будут получены вовсе. Использование алгоритмов, содержащих ошибки, приводит к созданию программ, также содержащих ошибки.

XСС


XАА  Xв,Ув

А = (x , yА)

xВ, yВ) - координаты вершин треугольника

С = (xС,yС)

Р = LАВ +LВС+LСА

LАВ = ,

LВС

LСА

L(A,B) L(B,C) L(C,A);

здесь L[(x,y),(u,v)] = .

LAB: =  

LBC

LCA : =

LAB LBC + LCA

Р = LAB LBC + LCA

способ

методы

сценарий алгоритмы

программа

дефекты в сценариях диалога с ЭВМ;

ошибки организации ввода данных;

неправильная реализация методов решения.

фамилия рост вес

Метод вычисления

(D1 DN) S0

где D = [Fam,R,V] Sk = Sk-1 vk

Fam R V k N)]

Vsum Vsum = SN

Где: Vsum v1 v2 vN

При: N > 0.

Правильность метода вычислений можно доказать по индукции. Рассмотрим результаты вычислений на 1-м, 2-м и k-м шагах. Отме­тим, что начальное значение S0

На первом шаге при k = 1 результат вычисления

S1 = S0 +v1 = v1

На следующем, втором шаге при k = 2 результат

S2 S1 v2 v1 v2

На третьем шаге при k = 3 результат

S3= S2 + v3 v1 v2 v3

В общем случае можно предположить, что к k-му шагу результат вычисления

Sk-1=v1+...+vk-1.

Тогда результат вычислений после k-го шага (исходя из описания метода)

Sk = Sk-1 +vk = v1 vk-1 vk

В силу принципа математической индукции утверждение верно для всех k = 1, 2,.... N. Следовательно, на последнем шаге при k = N конечный результат:

SN = v1 + ... + vN.

data

dano:

<Fam1> <V1> <R1>  data

. . data

<FamN> <VN> <RN> data

data «», 0, 0

= <Vsum>

cls

s s

do

fam$, r, v read fam$, r, v

fam$=«» if fam$=«» then exit do

(fam$, v, r) fam$; v; r

s s v s s v

loop

vsum s vsum s

вec=»,vsum) vsum

end

Правильность приведенного алгоритма можно у 19319l113t ;видеть из описа­ния результатов его выполнения.

s: = 0 s0

fam$, r, v

fam$=«»

(fam$, v, r) <famk> <vk> <rk>

s: s + v sk = sk-1 + vk

[k = (1...n)]

vsum s vsum sn

вec=»,vsum) <vsum>

х + b = 0, с помощью формулы х = -b/а (при а

b x +

а b

d y = f.

х = Dx/D,

y = Dy/D.

D, Dx Dy

D = a d - b c,

Dx e d f b,

Dy a f c e.

b

S ,

b

l =

6. Дана прямоугольная матрица АNxM - прямоугольная числовая таб­лица размера N


Document Info


Accesari: 1144
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )