Messwertreihe

Aufgabe:
Erstellen Sie ein Programm, das eine Messwertreihe berechnet und abspeichert. Dabei gelten folgende Kriterien:

  1. Gegeben ist eine Spannungsquelle, die zwischen den beiden Grenzwerten Umin und Umax eingestellt werden kann.

  2. An die Spannungsquelle wird ein ohmscher Widerstand RLastangeschlossen.

  3. Nach dem ohmschen Gesetz sollen 10 Strom-Werte für Spannungen zwischen Umin und Umax (in gleichmäßigen Abstand) berechnet werden. Die Anzahl der Messwerte kann in späteren Programmversionen eingegeben werden.

  4. Die Stromwerte werden in einem eindimensionalen Datenfeld "Messwert()" abgespeichert.

  5. Berechnung und Ablegen der Messwerte werden durch Betätigen der taste "Berechnen" aktiviert.

  6. Durch Betätigen der Taste "Ausgeben" wird der Inhalt des Datenfelds in einer Listbox angezeigt.

Zusatz:
Im nächsten Schritt soll die Schaltung so verändert werden, dass auch der Widerstand RLast zwischen Rmin und Rmax einstellbar ist.
Überlegen Sie sich eine geeignete Struktur für das (mehrdimensionale) Datenfeld und entwickeln Sie einen Algorithmus, um mehrere Meßreihen in Abhängigkeit von Rlast und U aufzunehmen.
Wie könnte die Aufgabe aussehen?

 

Oberfläche:

 

Quellcode:

Option Explicit
Dim
i As Integer
Dim k As Integer
Dim intAnzahl As Integer
Dim Meßwert() As Double


Private Sub cmdAusgabe_Click()
lstausgabe.Clear
'#################################### Ausgabe ############################
For k = 0 To intAnzahl Step 1
For i = 0 To intAnzahl Step 1
Meßwert(i, k) = Format(Meßwert(i, k), "fixed")
lstausgabe.AddItem Meßwert(i, k)
Next i
Next k


picAusgabe.Cls
picAusgabe.Scale (0, 2)-(intAnzahl + 1, 0)
For i = 0 To intAnzahl Step 1
picAusgabe.Line (0, Meßwert(0, i))-(intAnzahl, Meßwert(intAnzahl, i))
Next i

'#################################### Ausgabe ############################
End Sub


Private Sub cmdBerechnen_Click()

Dim dblUmin As Double
Dim dblUmax As Double
Dim dblRLastmin As Double
Dim dblRLastmax As Double
Dim dblDifU As Double
Dim dblDifR As Double

'################################### Zuweisung ###########################

If IsNumeric(txtumin.Text) And IsNumeric(txtumax.Text) And IsNumeric(txtumax.Text) Then
dblUmin = txtumin.Text
dblUmax = txtumax.Text
dblRLastmin = txtrlastmin.Text
dblRLastmax = txtrlastmax.Text
intAnzahl = txtAnzahl.Text - 1
ReDim Meßwert(0 To intAnzahl, 0 To intAnzahl) As Double

'#################################vv Berechnung vv########################

dblDifU = dblUmax - dblUmin
dblDifR = dblRLastmax - dblRLastmin


For i = 0 To intAnzahl Step 1

For k = 0 To intAnzahl Step 1
Meßwert(i, k) = (dblUmin + dblDifU / intAnzahl * i) / (dblRLastmin + dblDifR / intAnzahl * k)
Next k

Next i

'#################################^^ Berechnung ^^########################

End If
End Sub


Private Sub cmdEnde_Click()
End
End Sub


Private Sub picAusgabe_Click()
picAusgabe.Cls
picAusgabe.Scale (0, 2)-(intAnzahl + 1, 0)

'picAusgabe.Line (23, 30)-(40, 40)
'picAusgabe.Line (23, 30)-(40, 50)

For i = 0 To intAnzahl Step 1

picAusgabe.Line (0, Meßwert(0, i))-(intAnzahl, Meßwert(intAnzahl, i))
'picausgabe.

Next i


End Sub


 

Zu kompliziert??
  Dann Download als Projekt (2,3 KB)

  

Home << Schule << ITA-Mappe << Programmiertechnik Übersicht <<
Online: 1 | IP: | 28.03.2024 - 10:53:21  
©
Christian Klisch   - Alle Rechte vorbehalten - Impressum