Abbildungsgleichung (Optik) (Anweisungen und Abfolgen)
Berechnen Sie die Brennweite f einer Linse, wenn die zwei Größen Bildweite b und Gegenstandsweite g gegeben sind, nach folgender Formel:
1/f := 1/b + 1/g
Schreiben Sie dazu ein Programm, das b und g erfragt und die Brennweite f ausgibt. Der Kehrwert der Brennweite f, wird auch Berchkraft genannt (Brechkraft = 1/f).
In der grafik bezeichnet G die Gegenstandsgröße und B die Bildgröße.
1 Kommentare
5 Lösung(en)
public class Linsengleichung {
public static void main(String[] args) {
new Linsengleichung().top(); }
void top() {
double b = lese("b");
double g = lese("g");
double f_invers = 1/b + 1/g;
double f = 1/f_invers;
ausgabe(f); }
double lese(String parameter) {
System.out.println("Bitte " + parameter + " eingeben:");
return new java.util.Scanner(System.in).nextDouble(); }
void ausgabe(double wert) {
System.out.println("Das Resultat ist " + wert); }
} // end of class Linsengleichung
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double b, g, f;
Scanner sc = new Scanner( System.in );
System.out.print( "b = " );
b = sc.nextDouble( );
System.out.print( "g = " );
g = sc.nextDouble( );
f = b*g/(b+g);
// gut sichtbar bei z.B. b = 12, g = 8, dass
// f = 1 / ( 1/b + 1/g ) numerisch schlechter ist
System.out.println( "f = " + f );
}
}
print ("Geben Sie die Bildweite b ein")
b = input()
print ("Geben sie die Gegenstandsweite g ein")
g = input ()
f = 1 / (1 / float(b) + 1 / float(g))
print "Der Brechungsindex f beträgt" ,f
Lösung von: Name nicht veröffentlicht
function getFocalLength (rflDistance, imgDistance) {
return 1 / (1 / imgDistance + 1 / rflDistance);
}
// eingabemaske
document.write(`
<label>Bildweite: </label>
<input type="number" onchange="answer()" id="img"><br>
<label>Gegenstandsweite: </label>
<input type="number" onchange="answer()" id="rfl"><br>
<label>Brennweite:</label>
<div id="out"> </div>
`);
function answer() {
let rfl = document.getElementById('rfl');
let img = document.getElementById('img');
let out = document.getElementById('out');
out.innerText = getFocalLength(rfl.value, img.value).toFixed(1);
}
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// NET 6.x | C# 6.x | VS-2022
Console.Write("Bildweite: ");
_ = double.TryParse(Console.ReadLine(), out var b);
Console.Write("Gegenstandsweite: ");
_ = double.TryParse(Console.ReadLine(), out var g);
Console.WriteLine($"Brennweite: {1 / (1 / b + 1 / g):f2}");
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
(b, g) = (8, 12) -> f = 4.8
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.25 |
Schwierigkeit: | k.A. |
Webcode: | 2v7c-bobb |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |
Kommentare (1)