001    package de.hska.java.aufgaben.ausdruecke;
002    
003    /**
004     * <p>Enthält eine main-Methode, die den elektrischen
005     * Widerstand eines (zylinderförmigen) Drahtes
006     * abhängig von dessen Länge <code>l</code>
007     * (in Meter),
008     * Durchmesser <code>d</code>(in Meter) und Material 
009     * gegeben als spezifische Widerstand rho <code>
010     * &#x03A1;</code>
011     * (in Ohm x Meter).
012     * berechnet.
013     * </p>
014     * <p>Der Widerstand R in Ohm (&#937;) wird durch folgende
015     * Formel berechnet:
016     * <center>
017     *   R = &#x03A1; ( l / A) 
018     * </center>
019     * wobei A die Querschnittsfläche (ein Kreis mit Durchmesser d)
020     * des Drahtes ist.
021     * <p>
022     * <p>Der spezifische Widerstand des sehr guten Leiters Kupfer ist 1,78 * 10<sup>-8</sup>,
023     * der eines starken Widerstandes Siziziums ist 2 300.</p>
024     * <p>
025     *  Das Ohmsche Gesetz besagt, dass Strom (I) proportional zur angelegten Spannung
026     *  (U) eines Leiters ist. Oder als Formel: U = R * I, wobei <code>R</code>
027     *  der Widerstand ist.
028     * </p>
029     * <p>
030     *   Hier geht es zur <a title="Zum Aufgabentext dieser Java-Übungsaufgabe"
031     *   href="http://www.home.hs-karlsruhe.de/~pach0003/informatik_1/aufgaben/datentypen.html#widerstand">Beschreibung dieser Java-Aufgabe</a>
032     * </p>
033     * @author Christian Pape
034     */
035    public class ElektrischerWiderstand {
036    
037        /**
038         * Berechnet den elektrischen Widerstand eines Drahtes und
039         * gibt aus, welche Spannung angelegt werden muss, um eine
040         * bestimmten Strom durchzuleiten.
041         */
042        public static void main(String[] args) {
043            double laenge = 1; // 2 Meter
044            double durchmesser = 0.001; // 1 mm
045            double spezifischerWiderstand = 1.78E-8; // Kupfer
046            double flaeche = (durchmesser * durchmesser / 4) * Math.PI;
047            double widerstand = spezifischerWiderstand * ( laenge / flaeche);
048            
049            System.out.println( widerstand + " Ohm");
050            
051            double stromstaerke = 1; // 1 Ampere
052            
053            System.out.println("Spannung von " + ( widerstand * stromstaerke ) + " Volt nötig, um " + 
054                    + stromstaerke + " Ampere Strom durchzuleiten"); 
055        }
056    
057    }