• Nie Znaleziono Wyników

Ćwiczenie VB6.03a Tablica 5 na 5 - zerowanie przekątnych Zadanie

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie VB6.03a Tablica 5 na 5 - zerowanie przekątnych Zadanie"

Copied!
2
0
0

Pełen tekst

(1)

Copyright © 2014, Janusz Bonarowski 1

Ćwiczenie VB6.03a Tablica 5 na 5 - zerowanie przekątnych

Zadanie

Zbudować aplikację, która zapełnia tablicę 5x5 elementów liczbami przypadkowymi całkowitymi z przedziału

<0,20>. Umożliwić zerowanie głównej przekątnej i drugiej przekątnej.

Efekt wyświetlać w ListBox’się.

Rysunek 1. Propozycja formularza Uwagi

• Aby wszystkie procedury miały dostęp do tabeli z danymi zadeklarujemy ją jako publiczną (tzn. na zewnątrz wszystkich procedur).

• Wydruki tabeli dane(4, 4) wykonamy posługując się własną procedurą typu Sub: drukuj()

• Gdy zamierzamy zapełnić tabelę liczbami rzeczywistymi z przedziału <min, max> stosujemy wzór:

min + (Rnd() * (max - min)),

• Gdy zamierzamy zapełnić tabelę liczbami całkowitymi z przedziału <min, max> stosujemy wzór:

Int(min + (Rnd() * (max - min + 1))), w naszym przypadku, gdy zamierzamy generować liczby przypadkowe z przeniału <0,20>, wzór ten przyjmie postać:

Int(Rnd() * 21)).

Kod aplikacji

Dim dane(4, 4) As Integer

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 'Aby generator liczb losowych rozpoczynał ich generację również

'w sposób przypadkowy, należy przed jego użyciem zawołać funkcję:

Randomize() End Sub

(2)

Copyright © 2014, Janusz Bonarowski 2 Private Sub btnGeneruj_Click(sender As Object, e As EventArgs) _

Handles btnGeneruj.Click 'Zapełnianie tablicy „dane” liczbami przypadkowymi z przedziału <0,20>

'--- Dim i, j As Integer

For i = 0 To 4 'zamiast 4 można też napisać: UBound(dane, 1) For j = 0 To 4 'zamiast 4 można też napisać: UBound(dane, 2) dane(i, j) = Int(21 * Rnd())

Next Next

Call drukuj() End Sub

Private Sub btnZeraGlowna_Click(sender As Object, e As EventArgs) _

Handles btnZeraGlowna.Click 'Wpisz 0 na głównej przekątnej

'--- Dim i, j As Integer

For i = 0 To UBound(dane, 1) dane(i, i) = 0

Next

Call drukuj() End Sub

Private Sub btnZeraDruga _Click(sender As Object, e As EventArgs) _

Handles btnZeraDruga.Click 'Wpisz 0 na drugiej przekątnej

'--- Dim i, j, N As Integer

N = UBound(dane, 1) 'zamiast 4 można też napisać jawnie: N = 4 For i = 0 To N

dane(i, N - i) = 0 Next

Call drukuj() End Sub

Private Sub drukuj()

'Własna procedura drukująca zawartość tabeli dane Dim wiersz As String

ListBox1.Items.Clear() For i = 0 To 4

wiersz = ""

For j = 0 To 4)

wiersz = wiersz & dane(i, j).ToString & vbTab Next

ListBox1.Items.Add(wiersz) Next

End Sub

Cytaty

Powiązane dokumenty

Step 2: Check the position of the switches P1 (fault VE1) and P2 (fault VE2), there shuld be no disturbance. Step 3: Set controller into MANUAL mode: MAN. Step 5: Wait until the

Step 2: Check the position of the switches P1 (fault VE1) and P2 (fault VE2), there shuld be no disturbance. Step 3: Set controller into MANUAL mode: MAN. Step 5: Wait until the

pomieszczeń dla okresu letniego zamieszczono w tabelach 2. Zaprojektować system z wentylokonwektorami

Zadając sygnał taktujący z impulsatora jak wyżej sprawdź działanie wejścia szeregowego przy różnych stanach logicznych wejścia blokady zegara.. Podaj na wejścia równoległe

Private Sub Aveo2DrzwioweToolStripMenuItem_Click(sender As Object, e As EventArgs) _ Handles Aveo2DrzwioweToolStripMenuItem.Click PictureBox1.Image

Private Sub mnuKoniec_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuKoniec.Click. End

• Aby wszystkie procedury miały dostęp do tabeli z danymi zadeklarujemy ją jako publiczną (tzn. na zewnątrz wszystkich procedur). • Wydruki tabeli(,) wykonamy posługując

Taką sytuację nazywamy polimorfizmem – czyli metody zachowują się różnie, w zależności od tego jakiej klasy jest obiekt, na którym są wykonywane.. Kod dodany w zadaniu z3,