Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Programm zur Berechnung von Widerstandswerten (Schleifen)

Ihr Programm soll Ersatzwiderstände von Parallel- und Serienschaltungen von zwei oder drei Widerständen berechnen.

Das heißt Sie müssen den Nutzer nach der

  • Anzahl der einzelnen Widerstände fragen und danach, ob Sie
  • parallel und seriell geschaltet.

Ihr Programm soll danach mit einer der folgenden Funktionen die zwei bzw. drei Werte einlesen

  • eingabe2 (float*,float*);
  • eingabe3 (float*,float*,float*);

und auch die Berechnung der Ersatzwiderstände sollen als Funktionen implementiert werden.

Die Ausgabe ist nachvollziehbar und übersichtlich zu gestalten!

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

2 Lösung(en)

def parallel(a):
    ''' Parallele Wiederstandsberechnung: 
        R = 1 / (1/R1 + 1/R2 + 1/R3 + ...) usw. Anzahl beliebig 
    '''
    p = 0
    for i in range(0, a):
        p = p + 1/w[i]
    return 1/p

def seriell():
    ''' Serielle Wiederstandsberechnung:
        R = R1 + R2 + ... usw. Anzahl beliebig 
    '''
    return sum(w)

w = []  # Wiederstandsliste

# Abfrage starten
a = int(input('Anzahl der einzelnen Widerstände? (2 oder 3): '))
art = input('parallel(p) oder seriell(s): ')

for i in range(0, a):
    w.append(float(input('Wiederstandswert {0}: '.format(i+1))))

# Berechnung / Ausgabe
if art == 'p':    print('Gesamtwiederstand parallel =', parallel(a))
if art == 's':    print('Gesamtwiederstand seriell =', seriell())
    
                

Lösung von: Alex Groeg (Freies Lernen)

#include <iostream>
#include <vector>


std::vector<float> widerstande; //  dynamischer Array mit dem Name "widerstande" initalizieren.

float parallel(int anzahl) {
	float res = 0; // Endresultat wird in dieser Variable gespeichert.
	for (int i = 0; i < anzahl; i++) {
		res += 1 / widerstande[i]; // 1 / R1 + 1 / R2... etc
	}
	return 1 / res; // 1 / Rges und das Resultat zurückgeben
}

float seriell(int anzahl) {
	float res = 0; // Endresultat wird in dieser Variable gespeichert.
	for (int i = 0; i < anzahl; i++) {
		res += widerstande[i]; // R1 + R2 + R3
	}
	return res; // Resultat zurückgeben
}

int main()
{
	int n; // Hebt die Anzahl der Wiederstände auf.
	char art; // Für die Auswahl benutzt.

	std::cout << "Wie gross ist die Anzahl der Widerstände? (2 oder 3):";
	std::cin >> n;

	do {
		std::cout << "Parallelschaltung (p) oder Serielleschaltung (s)?: "; // Text anzeigen.
		std::cin >> art; // Auswahl vom Benutzer speichern.
	} while (art != 'p' && art != 's'); // Bis die richtige Auswahl trifft.

	for (int i = 0; i < n; i++) {
		std::cout << "Widerstandswert [" << i + 1 << "]: "; // Text anzeigen.
		float input; // Lokale Variable namens "input" initaliziern.
		std::cin >> input; // In die Variable den Wert vom Benutzer einpacken.
		widerstande.push_back(input); // Diese Variable in das dynamische Array hinzufügen.
	}

	if (art == 'p') { // Falls Parallelerwiderstand, die parallel Methode ausführen und nachher diesen Anzeigen.
		std::cout << "Gesamtwiderstand: " << parallel(n);
	}
	else if (art == 's') { // Dasselbe, aber für den Seriellenwiderstand.
		std::cout << "Gesamtwiderstand: " << seriell(n);
	}
}


                

Lösung von: Fabio Miranda (Santis Training AG)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 3
Schwierigkeit: Schwer
Webcode: ageb-ru2j
Autor: ()

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen