TECHNIKI KOMPUTEROWE
Instrukcja cyklu.
Procedury i funkcje.
Prof. dr hab. Jerzy Pokojski
wydział SiMR PW, MiBM
I rok, semestr I
Wykład 3
Instrukcja cyklu
Przykład 1
- policzyć sumę liczb całkowitych od 1 do 5000
Sub Main()
Dim i As Integer
Dim suma As Single
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
Console.WriteLine(Format(suma, " wynik dodawania = 000.0"))
Console.ReadLine()
End Sub
&
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
&
- symulujemy realizację instrukcji cyklu
Krok 1 i Przed suma
1 0
Po suma
1
&
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
&
- symulujemy realizację instrukcji cyklu
Krok 2 i Przed suma
2 1
Po suma
3
&
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
&
- symulujemy realizację instrukcji cyklu
Krok 3 i Przed suma
3 3
Po suma
6
&
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
&
- symulujemy realizację instrukcji cyklu
Krok 4 i Przed suma
4 6
Po suma
10
&
suma = 0.0
For i = 1 To 5000 Step 1
suma = suma + i
Next
&
- symulujemy realizację instrukcji cyklu
Krok 4 i Przed suma
4 6
Po suma
- itd.
10
Przykład 2
Przykład 2
- policzyć kolejne położenia ciała przemieszczającego
się w rzucie ukośnym
Przykład 2
- policzyć kolejne położenia ciała przemieszczającego
się w rzucie ukośnym
y
v0
alfa
x
Sub Main()
Dim alfa, v0, t, g, x, y As Single
Console.WriteLine("-> podaj alfa, v0, t ")
g = 9.81
alfa = CSng(Console.ReadLine())
v0 = CSng(Console.ReadLine())
t = CSng(Console.ReadLine())
x = v0 * Math.cos (alfa) * t
y = v0 * Math.sin (alfa) * t - g * (t ^ 2) / 2
- poprzednia
wersja programu
Console.WriteLine("-> wynik :")
Console.WriteLine(x)
Console.WriteLine(y)
Console.ReadLine()
End Sub
Sub Main()
Dim alfa, v0, t, g, x, y As Single
Console.WriteLine("-> podaj alfa, v0, t ")
- wersja programu g = 9.81
z instrukcją cyklu
alfa = CSng(Console.ReadLine())
v0 = CSng(Console.ReadLine())
For t=1 To 200 Step=1
x = v0 * Math.cos (alfa) * t
y = v0 * Math.sin (alfa) * t - g * (t ^ 2) / 2
Console.WriteLine("-> wynik :")
Console.WriteLine(x)
Console.WriteLine(y)
Next
Console.ReadLine()
Przykład 3
Przykład 3
- obiekty mające jedną wspólną nazwę powiązane
indeksem
- obiektów jest tyle ile wnosi maksymalna wartość
indeksu
- obiekt tablica (100)
- odwołanie do konkretnego elementu tablica (48)
- do wskazania indeksu tablicy możemy wykorzystać
również zmienną np. i=3 i dalej odwołujemy się do
tablica (i).
Przykład 3/1
Sub Main()
Dim i As New Integer
Dim tablica(100) As Single
For i = 1 To 100 Step 1
tablica(i) = New Single
Next
&
tablica
indeks
1 2 3 4 5 6 &
Przykład 3/2
&
For i = 1 To 100 Step 1
tablica(i) = i * i - 2 * i
Next
&
tablica
1 2 3 4 5 6
&
-1 0 3 8 15 24
Przykład 3/3
&
For i = 1 To 100 Step 1
Console.WriteLine(Format(i, "argument = 000.0"))
Console.WriteLine(Format(tablica(i), " wartość
funkcji = 000.0"))
Next
&
tablica
1 2 3 4 5 6
&
-1 0 3 8 15 24
Przykład 3/4A
&
Dim i As New Integer
Dim tablica(100) As Single
Dim i_max, i_min As New Single
For i = 1 To 100 Step 1
tablica(i) = New Single
Next
&
tablica
1 2 3 4 5 6
&
-1 0 3 8 15 24
tablica
Przykład 3/4B
1 2 3 4 5 6
&
-1 0 3 8 15 24
i_max = -10000.0
i_min = 100000.0
For i = 1 To 100 Step 1
tablica(i) = i * i - 2 * i
If (tablica(i) > i_max) Then
i_max = tablica(i)
End If
If (tablica(i) < i_min) Then
i_min = tablica(i)
End If
Next
Console.WriteLine(Format(i_max, "wartość maksymalna =
Console.WriteLine(Format(i_min, "wartość minimalna = 000
&
Instrukcja cyklu
Instrukcja cyklu
While(wyrażenie)
& .
& .
& .
End While
Instrukcja cyklu
Do
& .
& .
& .
Loop
Instrukcja cyklu
Do While (wyrażenie)
& .
& .
& .
Loop
Instrukcja cyklu
Do Until (wyrażenie)
& .
& .
& .
Loop
Instrukcja cyklu
Do
& .
& .
& .
Loop Until (wyrażenie)
Przykład 4
Instrukcja cyklu
Sub Main()
Dim a As Single
a = 0
While a < 5
a = a + 1
Console.WriteLine(a)
End While
Console.WriteLine("koniec while")
Console.ReadLine()
&
Przykład 4
Instrukcja cyklu
&
a = 0
Do While a < 5
a = a + 1
Console.WriteLine(a)
Loop
Console.WriteLine("koniec do while")
Console.ReadLine()
&
Przykład 4
Instrukcja cyklu
&
a = 0
Do Until a > 5
a = a + 1
Console.WriteLine(a)
Loop
Console.WriteLine("koniec until ")
Console.ReadLine()
&
Przykład 4
Instrukcja cyklu
&
a = 0
Do
a = a + 1
Console.WriteLine(a)
Loop Until a > 5
Console.WriteLine("koniec until (koniec) ")
Console.ReadLine()
End Sub
Instrukcja cyklu
- zakres stosowania poszczególnych typów instrukcji
cyklu
Procedury i funkcje
Przykład 1
Przykład 1
- zbuduj program elementarny kalkulator, dodający i
odejmujący dwie liczby
Przykład 1/1
Sub Main()
Dim a, b, wynik As Single
Dim znak As Char
Console.WriteLine("-> podaj 2 liczby")
a = CSng(Console.ReadLine())
b = CSng(Console.ReadLine())
Console.WriteLine("-> podaj działanie + lub - :")
znak = Console.ReadLine()
& .
If (znak = "+") Then
wynik = a + b
Przykład 1/2
End If
If (znak = "-") Then
wynik = a - b
End If
If (znak <> "-" And znak <> "+") Then
Console.WriteLine("zła operacja")
Console.ReadLine()
End
End If
Console.WriteLine("-> wynik :")
Console.WriteLine(wynik)
Console.ReadLine()
& .
Przykład 1A/1
Sub Main()
Dim a, b, wynik As Single
Dim znak As Char
Console.WriteLine("-> podaj 2 liczby")
a = CSng(Console.ReadLine())
b = CSng(Console.ReadLine())
Console.WriteLine("-> podaj działanie + lub - :")
znak = Console.ReadLine()
&
& .
Przykład 1A/2
If (znak = "+") Then
Call Dodaj(wynik, a, b)
End If
If (znak = "-") Then
wynik = Odejmij(a, b)
End If
If (znak <> "-" And znak <> "+") Then
Console.WriteLine("zła operacja")
Console.ReadLine()
End
End If
Console.WriteLine("-> wynik :")
Console.WriteLine(wynik)
Console.ReadLine()
End Sub
& .
& .
Przykład 1A/2
If (znak = "+") Then
Call Dodaj(wynik, a, b)
- wywołanie procedury
End If
If (znak = "-") Then
wynik = Odejmij(a, b)
- wywołanie funkcji
End If
If (znak <> "-" And znak <> "+") Then
Console.WriteLine("zła operacja")
Console.ReadLine()
End
End If
Console.WriteLine("-> wynik :")
Console.WriteLine(wynik)
Console.ReadLine()
End Sub
& .
Przykład 1A/3
Sub Dodaj(ByRef rezultat As Single, ByVal dana1 As Single,
ByVal dana2 As Single)
rezultat = dana1 + dana2
End Sub
Function Odejmij(ByVal dana1 As Single,
ByVal dana2 As Single)
Odejmij = dana1 - dana2
End Function
Przykład 1A
Sub Main()
& .
Call Dodaj(wynik, a, b)
& .
wynik = Odejmij(a, b)
Sub Dodaj(ByRef rezultat A
& .
ByVa
End Sub
rezultat = dana1 + dana2
End Sub
Function Odejmij(ByVal dan
ByVa
Odejmij = dana1 - dana2
End Function
Przykład 1A
Sub Main()
& .
Call Dodaj(wynik, a, b)
& .
wynik = Odejmij(a, b)
Sub Dodaj(ByRef rezultat A
& .
ByVa
End Sub
rezultat = dana1 + dana2
End Sub
Function Odejmij(ByVal dan
ByVa
Odejmij = dana1 - dana2
End Function
Przykład 1A
Sub Main()
& .
Call Dodaj(wynik, a, b)
& .
wynik = Odejmij(a, b)
Sub Dodaj(ByRef rezultat A
& .
ByVa
Sub Dodaj(ByRef rezultat As Single, ByVal dana1 As Single,
End Sub
rezultat = dana1 + dana2
ByVal dana2 As Single)
End Sub
rezultat = dana1 + dana2
End Sub
Function Odejmij(ByVal dan
ByVa
Odejmij = dana1 - dana2
End Function
Przykład 1A
Sub Main()
& .
Call Dodaj(wynik, a, b)
& .
wynik = Odejmij(a, b)
Sub Dodaj(ByRef rezultat A
& .
ByVa
End Sub
rezultat = dana1 + dana2
End Sub
Function Odejmij(ByVal dana1 As Single,
ByVal dana2 As Single)
Function Odejmij(ByVal dan
Odejmij = dana1 - dana2
ByVa
End Function
Odejmij = dana1 - dana2
End Function
Przykład 1A
- ByRef przez referencję
- ByVal przez wartość
Podsumowanie
Wyszukiwarka
Podobne podstrony:
Wyklad 2 MiBMWyklad 4 MiBMWyklad 8 MiBM Mechatronika IPEHMN MiBM zaoczne wyklad 1 uklady rownanMiBM semestr 3 wykład 5wyklad1 AiR MiBMwyklad5 AiR MiBMMiBM wykłady stacjonarneMN MiBM zaoczne wyklad 2 aproksymacja, interpolacjaSieci komputerowe wyklady dr FurtakWykład 05 Opadanie i fluidyzacjaWYKŁAD 1 Wprowadzenie do biotechnologii farmaceutycznejwięcej podobnych podstron