Geometrie (Unterprogramme)
Programmieren Sie die folgenden Formeln der Geometrie als Subroutinen. Versuchen Sie, bereits geschriebene Subroutinen so oft wie möglich wieder zu verwenden.
- Kreisumfang U = 2 r π. Dabei ist der Kreisradius r gegeben und π die Kreiszahl 3.14159...
- Berechnen Sie die Kreisfläche A bei gegebenem Radius r. (A = r2π)
- Berechnen Sie die Oberfläche einer Blechdose bei gegebenem Radius r und gegebener Höhe h. Oberfläche:
oberflaeche(r, h) := deckel(r) + boden(r) + mantel(r, h)
1 Kommentare
10 Lösung(en)
public class Main {
public static void main(String[] args) {
double r = 10, h = 20;
System.out.println( "Kreisfläche: " + kreisflaeche( r ) );
System.out.println( "Kreisumfang: " + kreisumfang( r ) );
System.out.println( "Zyl.-Oberfläche: " + zylinderoberflaeche( r, h ) );
}
public static double kreisumfang( double radius ) {
return( 2 * radius * Math.PI );
}
public static double kreisflaeche( double radius ) {
return( radius * radius * Math.PI );
}
public static double zylinderoberflaeche( double radius, double hoehe ) {
return( 2 * Math.PI * radius * ( radius + hoehe ) );
}
}
/**
* @author phi (at) gress {pkt} ly Nov. 2010
* @author Philipp Gressly (phi AT gressly DOT ch)
*/
import static java.lang.Math.PI;
public class Geometrie {
public static void main(String[] args) {
new Geometrie().top();
}
void top() {
System.out.println("Kreisumfang : " + kreisumfang (1.0) );
System.out.println("Kreisflaeche: " + kreisflaeche(1.0) );
System.out.println("Oberfläche : " + oberflaeche (1.0, 1.0));
}
double kreisumfang(double radius) {
return radius * 2 * PI;
}
double kreisflaeche(double radius) {
return radius * radius * PI;
}
double oberflaeche(double radius, double hoehe) {
return
deckel(radius) +
boden(radius) +
mantel(radius, hoehe);
}
double deckel(double radius) {
return kreisflaeche(radius);
}
double boden(double radius) {
return kreisflaeche(radius);
}
double mantel(double radius, double hoehe) {
return kreisumfang(radius) * hoehe;
}
} // end of class Geometrie
/**
* Autor: ph. gressly
* Datum: 19. April 2011
* Berechne die Oberfläche einer Blechdose
* Aufgabe "5.7 Geometrie (3. Teilaufgabe)
*/
#include <stdio.h>
float pi() {
return 3.1416f;
}
float rechtecksflaeche(float breite, float hoehe) {
return breite * hoehe;
}
float durchmesser(float radius) {
return 2.0 * radius;
}
float kreisumfang(float radius) {
return durchmesser(radius) * pi();
}
float kreisflaeche(float radius) {
return radius * radius * pi();
}
float deckel(float radius) {
return kreisflaeche(radius);
}
float boden(float radius) {
return kreisflaeche(radius);
}
float unterkantenlaenge(float radius) {
return kreisumfang(radius);
}
float mantel(float radius, float hoehe) {
return rechtecksflaeche(unterkantenlaenge(radius), hoehe);
}
float oberflaeche(float radius, float hoehe) {
return deckel(radius) + boden(radius) + mantel(radius, hoehe);
}
/**
* Einlesen des Radius und der Höhe der Blechdose.
*/
void eingabe(float* radius, float* hoehe) {
printf("Radius: ");
scanf ("%f", radius);
printf("Höhe : ");
scanf ("%f", hoehe );
}
void ausgabeOberflaeche(float radius, float hoehe) {
printf("Oberfläche: %f\n", oberflaeche(radius, hoehe));
}
/**
* Hauptprogramm:
* Eingabe: Radius und Höhe einer Blechdose
* Ausgabe: Oberfläche der Dose.
*/
main() {
float radius, hoehe;
eingabe(&radius, &hoehe);
ausgabeOberflaeche(radius, hoehe);
}
Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)
<?xml version="1.0" encoding="utf-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Blechdosen</title>
<script type="text/javascript" src="blech.js"></script>
</head>
<body>
<form>
<p>Radius: <input id="radius" type="text" /></p>
<p>Höhe: <input id="hoehe" type="text" /></p>
<input value="Absenden" type="button" onclick="berechnung();" />
<input value="Zurücksetzen" type="reset" />
</form>
<p>Oberfläche = <span id="oberflaeche"></span></p>
</body>
</html>
<!-- -- -- -- -- -- -- -- -->
/********************************************************
* Autor: phi
* Datum: 20. 4. 2011
*/
function berechnung() {
var radius = einlesen("radius");
var hoehe = einlesen("hoehe");
var oberflaecheWert = oberflaeche(radius, hoehe);
ausgabe(oberflaecheWert);
}
function einlesen(id) {
var ele = document.getElementById(id);
var str = ele.value;
var val = str*1;
return val;
}
function ausgabe(oberflaeche) {
var ele = document.getElementById("oberflaeche");
ele.innerHTML = oberflaeche;
}
function oberflaeche(r, h) {
return deckel(r) + boden(r) + mantel(r, h);
}
function deckel(r) {
return kreisflaeche(r);
}
function boden(r) {
return kreisflaeche(r);
}
function mantel(r, h) {
return rechtecksflaeche(unterkante(r), h);
}
function rechtecksflaeche(breite, hoehe) {
return breite * hoehe;
}
function unterkante(r) {
return kreisumfang(r);
}
function kreisumfang(r) {
return durchmesser(r) * pi();
}
function durchmesser(r) {
return 2 * r;
}
function kreisflaeche(r) {
return r * r * pi();
}
function pi() {
return 3.1416;
}
Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)
/**
*@author Philipp Gressly (phi AT gressly DOT ch)
*/
import static java.lang.Math.PI;
public class Geometrie {
public static void main(String[] args) {
new Geometrie().top(); }
void top() {
double r, h;
r = einlesen("Radius");
h = einlesen("Hoehe");
double oberflaeche;
oberflaeche = oberflaeche(r, h);
ausgabe(oberflaeche); }
double oberflaeche(double radius, double hoehe) {
return deckel(radius) + boden(radius) + mantel(radius, hoehe); }
double mantel(double radius, double hoehe) {
// Rechteck (abgewickelter Mantel: breite * laenge)
return umfang(radius) * hoehe; }
double deckel(double radius) {
return kreisflaeche(radius); }
double boden(double radius) {
return kreisflaeche(radius); }
double kreisflaeche(double radius) {
return radius * radius * PI; }
double umfang(double radius) {
return durchmesser(radius) * PI; }
double durchmesser(double radius) {
return 2 * radius; }
} // end of class Geometrie
Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)
import math
def Umfang_Kreis(r):
return 2 * r * math.pi
def Mantelflaeche_Kreis(r,h):
return Umfang_Kreis(r) * h
def Flaeche_Kreis(r):
return r **2 * math.pi
def Oberflaeche_Zylinder(r,h):
return 2 * Flaeche_Kreis(r) + Mantelflaeche_Kreis(r,h)
def Volumen_Zylinder(r,h):
return Flaeche_Kreis(r) * h
r = float(input('Radius der Dose in cm eingeben: '))
h = float(input('Höhe der Dose in cm eingeben : '))
print('\nDie Oberfläche der Dose berägt:', round(Oberflaeche_Zylinder(r,h)), 'cm²')
print('Der Deckel hat eine Fläche von:', round(Flaeche_Kreis(r)), 'cm²')
print('Die Mantelfläche beträgt: ', round(Mantelflaeche_Kreis(r,h)), 'cm²')
print('Das Volumen der Dose berägt: ', round(Volumen_Zylinder(r,h)), 'cm³')
Lösung von: Alex Groeg (Freies Lernen)
function Circle(radius) {
this.r = radius;
this.circumference = this.r * 2 * Math.PI;
this.area = this.r ** 2 * Math.PI;
}
function Cylinder(height, radius) {
this.h = height;
this.r = radius;
this.top = new Circle(this.r);
this.side = this.r * this.h * 2 * Math.PI;
this.surface = this.side + 2 * this.top.area;
}
let tinCan = new Cylinder(1, 1);
console.log(tinCan.surface); // lissalanda@gmx.at
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
// NET 6.x | C# 10.x | VS-2022
var radius = 1.0;
var hoehe = 1.0;
var umfang = Math.PI * radius * 2;
var flaeche = Math.PI * radius * radius;
var oberflaeche = umfang * (radius + hoehe);
var volumen = flaeche * hoehe;
Console.WriteLine($"Umfang: {umfang:0.##}\nFlaeche: {flaeche:0.##}\nOberflaeche: {oberflaeche:0.##}\nVolumen: {volumen:0.##}");
Lösung von: Jens Kelm (@JKooP)
// NET 6.x | C# 10.x | VS-2022
Console.WriteLine(new Kreis(1));
Console.WriteLine(new Zylinder(1, 1));
public abstract class Form
{
public Form(double radius) => Radius = radius;
public double Radius { get; }
}
public class Kreis : Form
{
public Kreis(double radius) : base(radius) { }
public double Umfang => Math.PI * Radius * 2;
public double Flaeche => Math.PI * Radius * Radius;
public override string ToString() => $"Umfang: {Umfang:0.##}\nFlaeche: {Flaeche:0.##}";
}
public class Zylinder : Kreis
{
public Zylinder(double radius, double hoehe) : base(radius) => Hoehe = hoehe;
public double Hoehe { get; }
public double Oberflaeche => Umfang * (Radius + Hoehe);
public double Volumen => Flaeche * Hoehe;
public override string ToString() => base.ToString() + $"\nOberflaeche: {Oberflaeche: 0.##}\nVolumen: {Volumen:0.##}";
}
Lösung von: Jens Kelm (@JKooP)
// C++ 20 | VS-2022
#include <iostream>
#include <format>
#include <numbers>
constexpr auto get_circumference{ [](double radius_) {
return std::numbers::pi * 2 * radius_; } };
constexpr auto get_area{ [](double radius_) {
return std::numbers::pi * radius_ * radius_; } };
constexpr auto get_surface{ [](double radius_, double height_) {
return get_circumference(radius_) * (radius_ + height_); } };
constexpr auto get_volume{ [](double radius_, double height_) {
return get_area(radius_) * height_; } };
int main() {
constexpr auto radius{ 1.0 };
constexpr auto height{ 1.0 };
std::cout << std::format("Umfang: {}\nFlaeche: {}\nOberflaeche: {}\nVolumen: {}\n",
get_circumference(radius),
get_area(radius),
get_surface(radius, height),
get_volume(radius, height));
}
Lösung von: Jens Kelm (@JKooP)
Verifikation/Checksumme:
r := 1, h :=1
kreisumfang = 2 * PI
kreisflaeche = PI
blechdosenoberflaeche = 4 * PI
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.5 |
Schwierigkeit: | k.A. |
Webcode: | ma5m-oj6k |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |
Kommentare (1)
Die Mystery Inc., bestehend aus diesen fünf Charakteren, fährt mit ihrem Van, der Mystery Machine, um die ganze Welt. Ihre Aufgaben bestehen darin, rätselhafte Geschehnisse aufzulösen, und so werden sie oft Beobachter von Geistererscheinungen und anderen übernatürlichen Phänomenen. Am Ende jeder Episode kommt ans Licht, dass es für diese Phänomene eine rationale Erklärung gibt. Meistens sind dafür Kriminelle oder Typen verantwortlich, die nicht wollen, dass neugierige Leute sich mit ihren Angelegenheiten befassen. Die einzige Ausnahme stellt die Videofilmreihe dar, in der die Mystery Inc. sich mit wirklichen Monstern und Phänomenen auseinandersetzen muss, wie beispielsweise in Scooby-Doo und die Außerirdischen, wo tatsächlich Außerirdische auftauchen, allerdings als Freunde und nicht als Gegenspieler. Weitere Ausnahmen sind unter anderem Scooby-Doo und die Gespensterinsel und Scooby-Doo und das Geheimnis der Hexe.
In den späteren Versionen von Scooby-Doo erscheinen auch andere Figuren, die ebenfalls als Protagonisten fungieren, wie zum Beispiel Scoobys Cousin Scooby-Dum oder sein Neffe Scrappy-Doo.
Die Originalsendung wurde von 1969 bis 1976 auf CBS und später auf ABC ausgestrahlt. Momentan wird Scooby-Doo in den USA und in vielen anderen Ländern auf Cartoon Network oder Boomerang ausgestrahlt.
Im Oktober 2004 erhielt Scooby-Doo den Guinness-Weltrekord für die meisten Episoden einer amerikanischen Zeichentrickserie. Zuvor hielten diesen Rekord Die Simpsons, welche ihn ab 2005 allerdings wieder zurückeroberten.
Im Jahr 2013 erklärte die US-amerikanische Programmzeitschrift TV Guide Scooby Doo zum fünftbesten TV-Cartoon aller Zeiten.[1]