Satz von Pick (Anweisungen und Abfolgen)
Berechnen Sie mittels Programm die Fläche eines (geschlossenen) Polygonzuges auf Häuschenpapier. Dabei dürfen die Begrenzungsstrecken nur von Häuschenpunkten zu Häuschenpunkten gehen. Jede Strecke trifft so mindestens zwei Randpunkte der Figur. Natürlich kann eine Begrenzungsstrecke auch mehrere Randpunkte berühren. Nach dem Satz von Georg Alexander Pick (1859 - 1942) ist die Fläche A wie folgt zu berechnen:
A = i + r/2 -1
Dabei ist r die Anzahl der oben beschriebenen Randpunkte und i ist die Anzahl der inneren Punkte, also jene Häuschenpunkte, die komplett in der Figur liegen. Im folgenden Beispiel ist i = 37 und r = 42; damit ist die Fläche A = 37 + 42/2 - 1 also gleich 57 Häuschen.
Bemerkung: Natürlich ist eine solche Aufgabe einfacher in einer Tabellenkalkulation (z. B. Excel oder OpenOffice) lösbar. Doch hier geht es darum die ersten Schritte mit einer Programmiersprache zu nehmen. Ich sage einem Kunstmalerlehrling ja auch nicht, er müsse dies oder jenes nicht abzeichnen, es gäbe ja nun Fotoapparate ;-)
0 Kommentare
8 Lösung(en)
#Satz von Pick
def pick(i,r):
pick_result = i+r/2-1
print("Fläche des Polygonzuges =", pick_result, "Häuschen")
pick(37,42)
Lösung von: Py Thon ()
package ch.programmieraufgaben.sequenz;
// See https://github.com/pheek/javaInput/blob/master/Input.java
import static eu.gressly.io.utility.Input.*;
/**
* Satz von Pick: Programmieraufgaben.ch Web-Code hpaj-dw3x
* @version 0.1 (Feb 18, 2015)
* @author Philipp Gressly Freimann
* (philipp.gressly@santis.ch)
*/
public class Pick {
public static void main(String[] args) {
new Pick().top();
}
void top() {
setAddQuestion("Bitte Anzahl %s eingeben: ");
int innerePunkte = inputInt("innere Punkte");
int punkteAufRand = inputInt("Randpunkte" );
double flaecheA = innerePunkte + punkteAufRand / 2.0 - 1;
System.out.println("Die Fläche (in Häuschen) beträgt " + flaecheA);
}
} // end of class Pick
Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)
function picksTheorem(outer, inner) {
return inner + outer / 2 - 1;
}
console.log(picksTheorem(42, 37));
Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)
object SatzPickCalc extends App {
println("Satz von Prick 2015 Scala")
println("Gib die Menge der Randpunke an")
var r = scala.io.StdIn.readInt()
println("Gib die Menge der inneren Punkte an")
var i = scala.io.StdIn.readInt()
var sum = (i + r/2) - 1
println("Die Fläche beträgt " + sum + " Kästchen")
}
Lösung von: Name nicht veröffentlicht
class Pick
{
static void Main(string[] args)
{
Calc(37, 42);
}
public static void Calc(int i, int r)
{
double pick_result;
pick_result = i+r/2-1;
Console.WriteLine("Fläche des Polygons = {0} Häuschen", pick_result);
Console.ReadLine();
}
}
Lösung von: Py Thon ()
public class Programmieraufgaben_ch{
public static void main (String [] Args) {
SatzvonPick();
}
public static void SatzvonPick () {
int randpunkte= Integer.parseInt(JOptionPane.showInputDialog("Hallo, bitte gebe die Anzahl der Randpunkte ein: "));
int innerepunkte= Integer.parseInt(JOptionPane.showInputDialog("Bitte gebe nun die Anzahl der Innerenpunkte ein: "));
System.out.println(innerepunkte+randpunkte/2-1);
}
}
Lösung von: Thomas Anderson (Freie Universität Berlin)
Module Module1
Sub Main()
Console.WriteLine("Bitte Anzahl der Randpunkte eingeben: ")
Dim rand As Integer = Console.ReadLine()
Console.WriteLine("Bitte Anzahl der Innenpunkte eingeben: ")
Dim innen As Integer = Console.ReadLine()
Console.WriteLine("Ergebnis: " & innen + rand / 2 - 1)
Console.ReadLine()
End Sub
End Module
Lösung von: Elias Zech (Optics Balzers)
#include <stdio.h>
int main() {
int randpunkte, innerepunkte;
double ergebnis;
printf("Geben Sie die Anzahl der inneren Punkte ein: ");
scanf("%d", &innerepunkte);
printf("Geben Sie die Anzahl der Randpunkte ein: ");
scanf("%d", &randpunkte);
ergebnis = innerepunkte + randpunkte / 2.0 - 1;
printf("Ergebnis: %.2f\n", ergebnis);
return 0;
}
Lösung von: Max Maro (Baumschule )
Verifikation/Checksumme:
Verifikation in der Aufgabenstellung.
Aktionen
Neue Lösung hinzufügen
Bewertung
Durchschnittliche Bewertung:
Meta
Zeit: | 0.25 |
Schwierigkeit: | Leicht |
Webcode: | hpaj-dw3x |
Autor: | Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch) |