TECHNIKI KOMPUTEROWE
Podstawowe algorytmy
obliczeniowe
Prof. dr hab. Jerzy Pokojski
wydział SiMR PW, MiBM
I rok, semestr I
Wykład 2
Przykład 1
Przykład 1
Określić położenie ciała w rzucie ukośnym.
Przykład 1
Określić położenie ciała w rzucie ukośnym.
Wiedza:
alfa kąt rzutu
v0 prędkość początkowa rzucanego ciała
x = v0 * cos (alfa) * t
y
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
v0
alfa
x
Przykład 1
Określić położenie ciała w rzucie ukośnym.
Wiedza:
alfa kąt rzutu
v0 prędkość początkowa rzucanego ciała
x = v0 * cos (alfa) * t
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
Zmienne : alfa, v0, t, g, x, y
- wczytanie danych
- wykonanie obliczeń
- wydruk wyników
Przykład 1
początek
Wydruk: podaj alfa, v0, t
Przykład 1
początek
Wydruk: podaj alfa, v0, t
Wczytanie: alfa, v0, t
Przykład 1
początek
Wydruk: podaj alfa, v0, t
Wczytanie: alfa, v0, t
x = v0 * cos (alfa) * t
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
Przykład 1
początek
Wydruk: podaj alfa, v0, t
Wczytanie: alfa, v0, t
x = v0 * cos (alfa) * t
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
Wydruk: x, y
Koniec
Przykład 1
początek
Wydruk: podaj alfa, v0, t
Wczytanie: alfa, v0, t
x = v0 * cos (alfa) * t
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
Wydruk: x, y
Koniec
Sub Main()
Dim alfa, v0, t, g, x, y As Single
Przykład 1 Console.WriteLine("-> podaj alfa, v0, t "
początek
alfa = CSng(Console.ReadLine())
v0 = CSng(Console.ReadLine())
Wydruk: podaj alfa, v0, t
t = CSng(Console.ReadLine())
g=9.81
Wczytanie: alfa, v0, t
x = v0 * Math.cos (alfa) * t
y = v0 * Math.sin (alfa) * t - g * (t ^ 2) / 2
x = v0 * cos (alfa) * t
y = v0 * sin (alfa) * t g * (t ^ 2) / 2
Console.WriteLine("-> wynik :")
Wydruk: x, y
Console.WriteLine(x)
Console.WriteLine(y)
Koniec
Console.ReadLine()
End Sub
Sub Main()
Dim alfa, v0, t, g, x, y As Single
Console.WriteLine("-> podaj alfa, v0, t ")
alfa = CSng(Console.ReadLine())
v0 = CSng(Console.ReadLine())
t = CSng(Console.ReadLine())
g=9.81
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)
Console.ReadLine()
End Sub
Sub Main()
Dim alfa, v0, t, g, x, y As Single
deklaracje
Console.WriteLine("-> podaj alfa, v0, t ")
wydruk
tekstu
procedura
alfa = CSng(Console.ReadLine())
v0 = CSng(Console.ReadLine())
czytanie
t = CSng(Console.ReadLine())
danych
x = v0 * Math.cos (alfa) * t
obliczenia
y = v0 * Math.sin (alfa) * t - g * (t ^ 2) / 2
Console.WriteLine("-> wynik :")
Console.WriteLine(x)
wydruk
Console.WriteLine(y)
wyników
zatrzyma-
Console.ReadLine()
nie akcji
End Sub
procedura
Sub Main()
&
End Sub
- proces wykonywania procedury
- założona sekwencyjność przetwarzania
Dim alfa, v0, t, g, x, y As Single
deklaracje
- przygotowanie pamięci
- zasięg zmiennych
- różne postacie:
Dim alfa As Single
Dim v0 As Single
&
Dim i As Integer
Console.WriteLine("-> podaj alfa, v0, t ") wydruk
tekstu
- następuje wydruk tekstu zawartego pomiędzy
- wydruk odbywa się dokładnie znak po znaku
alfa = CSng(Console.ReadLine())
czytanie
v0 = CSng(Console.ReadLine())
danych
t = CSng(Console.ReadLine())
1 . 2 5
alfa = CSng(Console.ReadLine())
- czytanie linii jako tekstu np. 1.25
(jako ciągu znaków alfanumerycznych)
- konwersja tekstu 1.25 na liczbę typu Single: 1.250
- podstawienie liczby typu Single 1.25 do zmiennej alfa:
alfa
1.250000000
x = v0 * Math.cos (alfa) * t
obliczenia
y = v0 * Math.sin (alfa) * t - g * (t ^ 2) / 2
& Math.sin (alfa)&
- funkcje matematyczne Math. xx ()
- nazwa funkcji przekazuje wartość
- w nawiasach argument funkcji np. alfa
Console.WriteLine("-> wynik :")
Console.WriteLine(x)
wydruk
Console.WriteLine(y)
wyników
- tekst zapisany w "" np. "-> wynik :" wyświetlany jest
znak po znaku
- komenda wypisania x i y oznacza wypisanie
odpowiednich wartości liczbowych zawartych w tych
zmiennych
zatrzyma-
Console.ReadLine()
nie akcji
- zatrzymanie akcji programu poprzez
oczekiwanie na wczytanie dowolnego znaku
Przykład 2
Przykład 2
Przykład 2
Private Sub Button1_Click(ByVal sender As &
Dim p, a, b As Single
Dim r1, r2 As Single
p = CSng(TextBox1.Text)
a = CSng(TextBox2.Text)
b = CSng(TextBox3.Text)
r1 = p * b / (a + b)
r2 = p - r1
TextBox4.Text = r1.ToString
TextBox5.Text = r2.ToString
End Sub
Przykład 3
Przykład 3
- zbudować program obliczający pierwiastki trójmianu
kwadratowego
Przykład 3
- zbudować program obliczający pierwiastki trójmianu
kwadratowego
Przykład 3
- zbudować program obliczający pierwiastki trójmianu
kwadratowego
jeżeli delta < 0 to & .
jeżeli delta = 0 to & .
jeżeli delta > 0 to & .
początek
Wydruk: podaj a, b, c
Przykład 3
Wczytanie: a, b, c
delta = b * b 4 * a *c
początek
Wydruk: podaj a, b, c
Przykład 3
Wczytanie: a, b, c
delta = b * b 4 * a *c
nie
tak
Jeżeli
delta < 0
Wydruk: nie ma
pierwiastków
początek
Wydruk: podaj a, b, c
Przykład 3
Wczytanie: a, b, c
delta = b * b 4 * a *c
nie
tak
Jeżeli
delta < 0
nie tak Wydruk: nie ma
Jeżeli
pierwiastków
delta = 0
x0 = -b / (2 * a)
x1 = (-b - Math.Sqrt(delta)) / (2 * a)
x2 = (-b + Math.Sqrt(delta)) / (2 * a)
Wydruk: 1 pierw. , x0
Wydruk: 1 pierw. , x1
Wydruk: 2 pierw. , x2
Koniec
początek
Wydruk: podaj a, b, c
Przykład 3
Wczytanie: a, b, c
delta = b * b 4 * a *c
nie
tak
Jeżeli
delta < 0
nie tak Wydruk: nie ma
Jeżeli
pierwiastków
delta = 0
x0 = -b / (2 * a)
x1 = (-b - Math.Sqrt(delta)) / (2 * a)
x2 = (-b + Math.Sqrt(delta)) / (2 * a)
Wydruk: 1 pierw. , x0
Wydruk: 1 pierw. , x1
Wydruk: 2 pierw. , x2
Koniec
Sub Main()
Dim a, b, c As Single
Dim delta, x0, x1, x2 As Single
Console.WriteLine("program liczy pierwiastki trójmianu")
Console.WriteLine("podaj a:")
a = CSng(Console.ReadLine())
Console.WriteLine("podaj b:")
b = CSng(Console.ReadLine())
Console.WriteLine("podaj c:")
c = CSng(Console.ReadLine())
delta = b * b - 4 * a * c
&
&
If (delta < 0.0) Then
Console.WriteLine("nie ma pierwiastków")
Else
If (delta = 0.0) Then
x0 = -b / (2 * a)
Console.WriteLine(Format(x0, "1 pierwiastek = 00000.00"))
Else
x1 = (-b - Math.Sqrt(delta)) / (2 * a)
x2 = (-b + Math.Sqrt(delta)) / (2 * a)
Console.WriteLine(Format(x1, "1 pierwiastek = 00000.00"))
Console.WriteLine(Format(x2, "2 pierwiastek = 00000.00"))
End If
End If
End Sub
&
If (delta < 0.0) Then
Console.WriteLine("nie ma pierwiastków")
Else
If (delta = 0.0) Then
x0 = -b / (2 * a)
Console.WriteLine(Format(x0, "1 pierwiastek = 00000.00"))
Else
x1 = (-b - Math.Sqrt(delta)) / (2 * a)
x2 = (-b + Math.Sqrt(delta)) / (2 * a)
Console.WriteLine(Format(x1, "1 pierwiastek = 00000.00"))
Console.WriteLine(Format(x2, "2 pierwiastek = 00000.00"))
End If
End If
End Sub
&
If (delta < 0.0) Then
Console.WriteLine("nie ma pierwiastków")
Else
If (delta = 0.0) Then
x0 = -b / (2 * a)
Console.WriteLine(Format(x0, "1 pierwiastek = 00000.00"))
Else
x1 = (-b - Math.Sqrt(delta)) / (2 * a)
x2 = (-b + Math.Sqrt(delta)) / (2 * a)
Console.WriteLine(Format(x1, "1 pierwiastek = 00000.00"))
Console.WriteLine(Format(x2, "2 pierwiastek = 00000.00"))
End If
End If
End Sub
Podsumowanie
Wyszukiwarka
Podobne podstrony:
Wyklad 4 MiBMWyklad 8 MiBM Mechatronika IPEHWyklad 3 MiBMMN 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