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

Rozwązanie zadania:

Fizyka w szkole

Jednowymiarowe tablice statyczne. Visual Studio C#

Tablice mogą być statyczne lub dynamiczne, jedno lub wielowymiarowe. Jednowymiarowa tablica, to zbiór danych tego samego typu przypisanych do jednej zmiennej w postaci szeregu wartości. Każda z tych wartości ma niepowtarzalny indeks w tak utworzonym zbiorze danych. Tablica jednowymiarowa jest odpowiednikiem osi liczbowej.

Cel: Napisz aplikację, która wykorzysta trzy tablice jednowymiarowe o ustalonym rozmiarze i losowych wartościach typu całkowitego, na których będzie można wykonać podstawowe działania matematyczne.

statyczne tablice jednowymiarowe visual studio c#

Krok1. Układ komponentów

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

Proponowane rozmieszczenie komponentów przedstawia poniższa ilustracja

rozmieszczenie komponentów

Trzy kontrolki TextBox są umieszczone wewnątrz trzech kontrolek GroupBox. Każda z kontrolek TextBox ma ustawioną wartość Multiline na True

wartość Multiline

Pole Dock na Fill

dock fill

Wybieramy możliwość przewijania zawartości kontrolki poprzez ustawienie ScrollBars na Vertical

scrollBars na vertical

Krok 2. Deklarujemy zmienne

Deklarując tablice statyczne należy podać ich rozmiar, który określa maksymalną ilość elementów jaka może pomieścić dana tablica. W tym rozwiązaniu rozmiar jest podany jako wartość const w postaci zmiennej typu int.

public partial class Form1 : Form
{
const int ROZMIAR= 10;//rozmiar tablic na 10 elementow
Random los = new Random();//generatol wartosci losowych
int z = 0;//zakres losowania
int[] t1 = new int[ROZMIAR];//tablica nr 1

int[] t2 = new int[ROZMIAR];//tablica nr 2

Krok 3. Przypisanie tablicom losowych wartości

Proponowane rozwiązanie oparte jest na funkcji zwracającej typ jednowymiarowej tablicy. Funkcja jest uniwersalna i pozwala wylosować tablicę jednowymiarową o dowolnym rozmiarze z wartości nie przekraczających zadany zakres i różnych od zera

int[] losoweElementyTablicy(int rozmiar, int zakres)
{
int[] tab = new int[rozmiar];
for (int i = 0; i < rozmiar; i++)
{
tab[i] = los.Next(zakres) + 1;
}
return tab;
}

Wywołanie opisanej funkcji jest przypisane do zdarzenia Click przycisku button1


private void button1_Click(object sender, EventArgs e)
{
//odczytaj zakres losowego zbioru
z = Convert.ToInt16(textBox3.Text);
t1 = losoweElementyTablicy(ROZMIAR, z);
t2 = losoweElementyTablicy(ROZMIAR, z);
textBox1.Clear();
textBox2.Clear();
for (int i = 0; i < ROZMIAR; i++)
{
textBox1.AppendText(i.ToString() + ": " + t1[i].ToString() + Environment.NewLine);
textBox2.AppendText(i.ToString() + ": " + t2[i].ToString() + Environment.NewLine);
}
}

Skompiluj i uruchom program. Prawidłowo działająca aplikacja zwróci w kontrolkach TextBox kolejne losowe wartości utworzonych tablic

TextBox visual studio c#

Krok 4. Wykonanie działań na wartościach z określonych indeksów

Odczyt wartości z określonego miejsca (indeksu) tablicy jest proste. Wymaga podania numeru indeksu. Należy zadbać o to, aby indeks nie przekroczył rozmiaru tablicy.

Poniżej przykład instrukcji przypisania wartości odczytanej z tablicy do zmiennej lokalnej

int a=tab[3];

Wykonujemy działanie dodawania dla wybranych wartości odczytanych z tablic przypiszemy do zdarzenia Click przycisku button2

private void button2_Click(object sender, EventArgs e)
{
textBox4.Clear();
int id = Convert.ToInt16(textBox5.Text);
float wynik= t1[id] + t2[id];
textBox4.AppendText(t1[id].ToString()+"+"+t2[id].ToString()+"="+wynik.ToString());
}

Możemy również wykorzystać bardziej uniwersalne podejście dla większej ilości przycisków działań matematycznych. Proponowane rozwiązanie bazuje na rzutowaniu obiektu sender i rozpoznaniu rodzaju przycisku poprzez wartość pola Tag kontrolek Button


private void button2_Click(object sender, EventArgs e)
{
textBox4.Clear();
int id = Convert.ToInt16(textBox5.Text);
float wynik=0;
Button bt= sender as Button;
switch (bt.Tag)
{
case "+":wynik = t1[id] + t2[id];break;
case "-":wynik = t1[id] - t2[id];break;
}
textBox4.AppendText(t1[id].ToString()+bt.Tag+t2[id].ToString()+"="+wynik.ToString());
}

Skompiluj program i sprawdź efekt działania

tablica jednowymiarowa c#

Krok 5. Wykonanie działań na wszystkich elementach tablicy

Jednoczesne wykonanie działań na wszystkich elementach tablicy wymaga użycia pętli. Proponowany kod przedstawia dodawanie kolejnych elementów odczytanych równolegle z dwóch wcześniej utworzonych tablic. Wyniki kolejnych dodawań są wypisywane w kontrolce TextBox. Całość jest wywołana w zdarzeniu Click przycisku button4

private void button4_Click(object sender, EventArgs e)
{
textBox4.Clear();
for (int id = 0; id < ROZMIAR; id++)
{
int wynik = t1[id] + t2[id];
textBox4.AppendText(t1[id].ToString() + "+" + t2[id].ToString() + "=" + wynik.ToString() + Environment.NewLine);
}
}

Skompiluj i uruchom program. Prawidłowo działająca aplikacja zwróci kolejne sumy

int[] visual studio c#


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