Fizyka szkoła podstawowa
Fizyka: wzory, prawa i teoria. Rozwiązania zadań z omówieniem

Rozwązanie zadania:

Fizyka w szkole

Pojęcie funkcji (metody) w C#

Funkcje są metodami zagnieżdżonymi w innym elemencie- najczęściej klasie. Mogą mieć zasięg lokalny lub globalny. Mogą zwracać typ lub nie, czyli są nieokreślonego typu (słowo kluczowe void). Mogą być bezargumentowe lub argumentowe. Ich przeznaczeniem jest tworzenie bloków kod, który w innym przypadku byłby wielokrotnie pisany. Ułatwiają pracę z większym kodem jak i pracę zespołową nad projektem

Cel: Utwórz aplikację, która wykorzysta funkcję nieokreślonego typu bezargumentową, argumentową, określonego typu argumentową do wykonania podstawowych działań matematycznych

funkcje void Visual Studio C#

Krok 1. Układ komponentów

  • Label- sztuk 2
  • TextBox- sztuk 2
  • Button- sztuk 5
  • GroupBox- sztuk 1

Krok 2. Deklarujemy zmienne

Potrzebujemy dwie zmienne lokalne na przykład typu float do przechowywania danych wprowadzonych z klawiatury oraz jedną zmienną dla wyniku (nie we wszystkich rozwiązaniach będzie wykorzystana)

public partial class Form1 : Form
{
float a = 0, b = 0, wynik = 0;

Krok 3. Przykład deklaracji i wykorzystania funkcji bezargumentowej i niezwracającej typu

Deklarujemy funkcję i jej ciało w głównej klasie formatki

public partial class Form1 : Form
{
float a = 0, b = 0, wynik = 0;
void sumaBezArgumentowa()
{
//metoda nie zwraca wyniku, a przypisuje do istniejącej zmiennej
wynik = a + b;
}

Jej wykonanie podepniemy do zdarzenia
klawisza button1


private void button1_Click(object sender, EventArgs e)
{
//wykonanie metody bezargumentowej i niezwracjącej typu
a = (float)Convert.ToDouble(textBox1.Text);
b = (float)Convert.ToDouble(textBox2.Text);
sumaBezArgumentowa();
string s = a.ToString() + "+" + b.ToString() + "=" + wynik.ToString();
MessageBox.Show(s, "Wynik wykonania sumaBezArgumentowa", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

Skompiluj i uruchom program. Sprawdź efekt działania. Prawidłowo działającą aplikację przedstawia poniższa ilustracja

void button1_Click(object sender, EventArgs e)

Krok4. Przykład deklaracji i wykorzystania funkcji argumentowej i niezwracającej typu

Deklarujemy funkcję i jej ciało w głównej klasie formatki

void sumaArgumentowa(float arg1, float arg2)
{
//metoda nie zwraca wyniku, pracuje na argumentach zewnętrznych i przypisuje wynik do istniejącej zmiennej
wynik= arg1 + arg2;
}

Jej wykonanie podepniemy do zdarzenia Click klawisza button2


private void button2_Click(object sender, EventArgs e)
{
//wykonanie metody argumentowej i niezwracjącej typu
a = (float)Convert.ToDouble(textBox1.Text);
b = (float)Convert.ToDouble(textBox2.Text);
sumaArgumentowa(a,b);
string s = a.ToString() + "+" + b.ToString() + "=" + wynik.ToString();
MessageBox.Show(s, "Wynik wykonania sumaArgumentowa niezwracającej typu", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

Skompiluj i uruchom program. Sprawdź efekt działania. Prawidłowo działającą aplikację przedstawia poniższa ilustracja

wykonanie metody argumentowej i niezwracjącej typu

Krok 5. Przykład deklaracji i wykorzystania funkcji argumentowej i zwracającą typ

Deklarujemy funkcję i jej ciało w głównej klasie formatki

float suma(float arg1, float arg2)
{
//metoda zwraca wynik, pracuje na argumentach zewnętrznych
return arg1 + arg2;
}

Jej wykonanie podepniemy do zdarzenia Click klawisza button2


private void button3_Click(object sender, EventArgs e)
{
//wykonanie metody argumentowej i zwracjącej typ
a = (float)Convert.ToDouble(textBox1.Text);
b = (float)Convert.ToDouble(textBox2.Text);
wynik = suma(a, b);
string s = a.ToString() + "+" + b.ToString() + "=" + wynik.ToString();
MessageBox.Show(s, "Wynik wykonania suma zwracającej typ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

Skompiluj i uruchom program. Sprawdź efekt działania. Prawidłowo działającą aplikację przedstawia poniższa ilustracja

wykonanie metody argumentowej i zwracjącej typ

Krok 6. Tworzymy uniwersalną funkcję zwracającą typ string dla wyniku

Rozpoznanie użytego klawisza wykonamy poprzez rzutowanie typu obiektu klawisza i funkcji wielokrotnego wyboru switch. Wzorcem będzie nazwa przypisana do właściwości Tag kontrolki Button

Przypisujemy unikatową nazwę Tag-u dla wybranych klawiszy

Przypisujemy unikatową nazwę Tag-u

Deklarujemy uniwersalną funkcję. Przykład proponowanego kodu przedstawiam poniżej


string uniwersalna(object sender ,float arg1, float arg2)
{
Button bt =sender as Button;
string s="";
switch (bt.Tag)
{
case "+" : s = arg1.ToString() + "+" + arg2.ToString() + "=" + (arg1 + arg2).ToString(); break;
case "-" : s = arg1.ToString() + "-" + arg2.ToString() + "=" + (arg1 - arg2).ToString(); break;
default: s = "";break;
}
return s;
}

Wybranym klawiszom podpinamy wspólne zdarzenie Click. Zauważ, że nasza uniwersalna funkcja staje się pierwszym argumentem metody Show klasy MessageBox

private void button4_Click(object sender, EventArgs e)
{
MessageBox.Show(uniwersalna(sender, (float)Convert.ToDouble(textBox1.Text), (float)Convert.ToDouble(textBox2.Text)),
"Komunikat",
MessageBoxButtons.OK,
MessageBoxIcon.Information);
}

Skompiluj i uruchom program. Sprawdź efekt działania. Prawidłowo działającą aplikację przedstawia poniższa ilustracja

MessageBox.Show

Ćwiczenie sprawdzające: Wzbogać uniwersalną funkcję o możliwość wykonania mnożenia i dzielenia z zabezpieczeniem przed dzieleniem przez zero.



Aplikacje na Androida

Okręty- bitwa morska
okręty gra sieciowa
Darmowa aplikacja na Androida
Kalkulator jednostek fizycznych
Kalkulator jednostek fizycznych (tablet, smartfon, telefon)
Znaki drogowe.
znaki drogowe na telefon, tablet, smartfon
Darmowa aplikacja na Androida
Geometria. Wzory
geometri kalkulator wzory figur bryl

© baibaz - stock.adobe.com

przepis na gofryZobacz przepis na wyśmienite gofry