• Nie Znaleziono Wyników

Ćwiczenie VB7.0_max_paraboli – instrukcja Do...Loop Zadanie Metod

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie VB7.0_max_paraboli – instrukcja Do...Loop Zadanie Metod"

Copied!
3
0
0

Pełen tekst

(1)

Copyright © 2009 Janusz Bonarowski

1

Ć wiczenie VB7.0_max_paraboli – instrukcja Do...Loop

Zadanie

Metodą iteracyjną znaleźć maksimum paraboli.

Zadanie można zobrazować za pomocą arkusza kalkulacyjnego znajdującego się w katalogu zadania, a którego postać przedstawia rys. 1.

Rys. 1. Zadanie rozwiązane w arkuszu kalkulacyjnym

Bez stosowania metody iteracyjnej, wprost ze wzorów w ramce możemy uzyskać współrzędne extremum x=3,5, y=5,5.

Zastosujmy jednak metodę iteracyjną w celu poznania sposobu wykorzystywania instrukcji

cyklu Do...Loop. Instrukcja ta stosowana jest w sytuacjach, w których nie wiemy ile razy

pętla ma być wykonana. W naszym przypadku, jeśli rozpoczniemy od punktu Xstart bardzo

odległego od extremum i gdy założymy przyrost dx bardzo mały – pętla będzie wykonywana

wiele razy. Natomiast jeśli punkt startowy Xstart będzie bliski szukanego x i dx stosunkowo

duży – pętla wykona się może tylko kilkakrotnie.

(2)

Copyright © 2009 Janusz Bonarowski

2 Algorytm programu

Wczytanie:

A, B, C, Xstart, dx

X1 = Xstart Y1 = A*X1^2 + B*X1+C

X2 = X1 + dx Y2 = A*X2^2 + B*X2+C

czy Y2 > Y1

X1 = X2 Y1 = Y2 X2 = X1 + dx Y2 = A*X2^2 + B* X2 + C

Drukuj X1, Y1

Koniec TAK

NIE

(3)

Copyright © 2009 Janusz Bonarowski

3 Kod aplikacji

Private Sub btnOblicz_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnOblicz.Click

Dim A, B, C, Xstart, dx As Single Dim X1, X2, Y1, Y2 As Single

A = CSng(txtA.Text) B = CSng(txtB.Text) C = CSng(txtC.Text)

Xstart = CSng(txtXstart.Text) dx = CSng(txtDx.Text)

X1 = Xstart

Y1 = WartoscFunkcji(A, B, C, X1) X2 = X1 + dx

Y2 = WartoscFunkcji(A, B, C, X2)

ListBox1.Items.Clear() ListBox2.Items.Clear()

Do While Y2 > Y1 X1 = X2 Y1 = Y2 X2 = X1 + dx

Y2 = WartoscFunkcji(A, B, C, X2) ListBox1.Items.Add(X1.ToString) ListBox2.Items.Add(Y1.ToString) Loop

lblWynik.Text = "Xextr=" & X1.ToString & vbCrLf & _ "Yextr=" & Y1.ToString

End Sub

Private Function WartoscFunkcji(ByVal A As Single, ByVal B As Single, _ ByVal C As Single, ByVal X As Single) _ As Single

Return A * X ^ 2 + B * X + C End Function

Cytaty

Powiązane dokumenty

ską. Ukazują się nareszcie brzegi Helu; jest to długi, a bardzo wąski półwysep, pokryty lasem. W osadzie tegoż nazwiska znajduje się wyniosła latarnia

Treść listu Jane Wilhelminy Stirling (szkockiej uczennicy Chopina, adresatki jego dedykacji na wydaniu Nokturnów op. 55 oraz organizatorki wyjazdu artysty w 1848 do Anglii

Wewnętrzna pętla for wykonywana jest także 10 razy (j zmienia się od 1 do 10), zatem instrukcja printf() będzie wykonana 100 razy.. Instrukcja

Były maile od uczniów i rodziców, więc tu przy okazji wyjaśnię, że jeśli ktoś pracy nie wykonał, to w dzienniku pojawiło się "N", czyli informacja, że brakuje

Zaczął się tymczasem okres kończenia grantów z pierwszych konkursów i do obowiązków Sekcji należy ocena produktów.. Ona to właśnie na ostatnim posiedzeniu Sekcji

Jeśli ktoś zadanie wykona, ale nie będzie mógł przesłać do sprawdzenia, proszę o przyniesienie do szkoły (np. na pendrive lub kartce), gdy jej

W umowach z NFZ nie ma przewidzianych środków na inwestycje czy nowe technologie – i to się nie zmieni także przy nowym sposobie finansowania ryczałtowego.. Sytuacja ta zmusza

Dobrze udokumentowana biografia ukaże zarówno trudności, z jakimi spotykał się w życiu publicznym, jak i ważne osiągnięcia.. Miał w tym wszystkim mocne oparcie w