Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Differenz (Selektionen)

Ihr Programm nimmt zwei Zahlen entgegen und gibt deren Differenz (größere minus kleinere Zahl) aus.

Zusatzaufgabe: Das Programm nimmt drei Zahlen entgegen und gibt die kleinste und die größte vorkommende Differenz aus.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

14 Lösung(en)

#!/usr/bin/ruby
# -*- coding: utf-8 -*-

# @autor Philipp Gressly Freimann
# 2012 Juli
# Differenz

def einlesen(wert) 
  print "Bitte #{wert} eingeben:"
  # Dezimalzahl (real) einlesen:
  return STDIN.gets.to_f
end


# Differenz
def differenz(z1, z2) 
  diff = z2 - z1
  if(diff < 0) then
    diff = -diff;
  end
  return diff
end

# minimale Differenz 
def minimaleDifferenz(z1, z2, z3)
  d12 = differenz(z1, z2)
  d13 = differenz(z1, z3)
  d23 = differenz(z2, z3)
  d   = d12
  if(d13 < d) then
    d = d13
  end
  if(d23 < d) then
    d = d23
  end
  return d
end

# maximale Differenz 
def maximaleDifferenz(z1, z2, z3)
  d12 = differenz(z1, z2)
  d13 = differenz(z1, z3)
  d23 = differenz(z2, z3)
  d   = d12
  if(d13 > d) then
    d = d13
  end
  if(d23 > d) then
    d = d23
  end
  return d
end

#Start
anzahlEingaben = einlesen("Anzahl Eingabezahlen")

z1  = einlesen("erste Zahl")
z2  = einlesen("zweite Zahl")
if(2 < anzahlEingaben) then
  puts "Zusatzaufgabe"
  z3 = einlesen("dritteZahl")
  minDiff = minimaleDifferenz(z1, z2, z3)
  puts "Minimale Differenz ist gleich #{minDiff}."
  maxDiff = maximaleDifferenz(z1, z2, z3)
  puts "Maximale Differenz ist gleich #{maxDiff}."
else
  diff = differenz(z1, z2);
  puts "Die Differenz beträgt #{diff}"
end

                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

#Nicht schön - aber funzt
a = int(input("Erste Zahl: "))
b = int(input("Zweite Zahl: "))
if a>b:
    erg = a-b
else:
    erg = b-a
print("Differenz ist: ", erg)

print ("Zusatzaufgabe Differenzenvergleich")
print ("---------------------------------------------------")
a = int(input("Erste Zahl: "))
b = int(input("Zweite Zahl: "))
c = int(input ("Dritte Zahl: "))
liste = [a,b,c]
liste.sort()
liste_neu = []
e1 = liste[0]-liste[1]
liste_neu.append(e1)
e2 = liste[0]-liste[2]
liste_neu.append(e2)
e3 = liste[1]-liste[2]
liste_neu.append(e3)
liste_neu.sort()
print("Größte Differenz ist:", abs(liste_neu[0]), "Kleinste Differenz ist:", abs(liste_neu[2]))

    
                

Lösung von: Py Thon ()

// javascript on http://www.khanacademy.org/cs/new:

var a = 4;
var b = 2;

var diff;

diff = b - a;
if(diff < 0) {
    diff = -diff;
}

fill(0,0,0);
text(diff, 30, 30);
                

Lösung von: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

#einfache Differenz:
def difference(a,b):
    return abs(a - b)
print "Differenz ist " + str(difference(input("erste Zahl"), input("zweite Zahl")))

#Differenz zwischen 3 Zahlen:
def difference3(a,b,c):
    l = [a,b,c]
    l.sort()
    s = "Maximale Differenz ist " + str(l[2]-l[0]) + ", "
    if l[2]-l[1] > l[1]-l[0]:
        s = s + "Minimale Differenz ist " + str(l[1]-l[0])
    else:
        s = s + "Minimale Differenz ist " + str(l[2]-l[1])
    return s
print difference3(input("erste Zahl"), input("zweite Zahl"), input("dritte Zahl"))
                

Lösung von: Meritio Bruno ()

#include <iostream>

using namespace std;

// Funktionsdeklaration
void diffBy2Numb(int zahl1, int zahl2);
void diffBy3Numb(int zahl1, int zahl2, int zahl3);

int main(int argc, const char * argv[])
{
    int auswahl, z1, z2, z3;
    
    // Ausgabe des Menüs
    cout << "Wollen Sie die Differenz: \n";
    cout << "\t 1: Von 2 Zahlen berechnen\n";
    cout << "\t 2: Von 3 Zahlen (größte Differenz) berechnen\n";
    
    // Eingabe der Entscheidung
    cout << "Ihr Auswahl lautet: ";
    cin >> auswahl;
    
    // Eingabe der 2 Zahlen + Funktionsaufruf
    if(auswahl == 1) {
        cout << "Zahl 1: ";
        cin >> z1;
        cout << "Zahl 2: ";
        cin >> z2;
        
        diffBy2Numb(z1, z2);
    
    }
    
    // Eingabe der 3 Zahlen + Funktionsaufruf
    else if(auswahl == 2) {
        cout << "Zahl 1: ";
        cin >> z1;
        cout << "Zahl 2: ";
        cin >> z2;
        cout << "Zahl 3: ";
        cin >> z3;
        
        diffBy3Numb(z1, z2, z3);
    }
    
    else {
        cout << "Falsche Eingabe! ";
    }
    
    return 0;
}

// Differenz von 2 Zahlen berechnen
void diffBy2Numb(int zahl1, int zahl2) {
    int diff;
    
    if(zahl1 > zahl2) 
        diff = zahl1 - zahl2;
    else
        diff = zahl2 - zahl1;
    
    cout << "Die Differenz der Zahlen beträgt " << diff << '\n';
    
}

// Größte Differenz der 3 Zahlen berechnen
void diffBy3Numb(int zahl1, int zahl2, int zahl3) {
    int gZahl = (zahl1 > zahl2) ? ((zahl1 > zahl3) ? zahl1 : zahl3) : ((zahl2 > zahl3) ? zahl2 : zahl3); 
    int kZahl = (zahl1 < zahl2) ? ((zahl1 < zahl3) ? zahl1 : zahl3) : ((zahl2 < zahl3) ? zahl2 : zahl3);
    int gDiff = gZahl - kZahl;

    cout << "Die größte Differenz der 3 Zahlen beträgt: " << gDiff << '\n';
}




                

Lösung von: Ibrahim Hamade (Robert-Koch-Gymnasium)

// Autor:             Andy Großhennig
// Solution for task: Differenz (Selektionen)


import java.util.Arrays;
import java.util.Scanner;

public class Main
{
	// Method: Get Numbers and return them in a string
	String getNumbers()
	{
		Main main = new Main();
		Scanner input = new Scanner(System.in);
		String sNumbers;
		
		System.out.println("Geben sie 2 Zahlen ein um die Differenz zu berechnen oder mehr um die kleinste und groeßte und deren Differenz herauzufinden\n" +
						   "Zahlen mit Komma trennen (XX,X,XXX)\n");
		
		sNumbers = input.next();
		sNumbers.trim();
		
		// If: Check whether the numbers of the input string are seperated with a comma
		if(!sNumbers.contains(","))
		{
			System.out.println("Fehlerhafte eingabe!");
		
			main.checkNumbers();
		}
		
		input.close();
		
		return sNumbers;
	}
	
	// Method: Receive the string and split it in a string array. Cast the string array in a int array. Show the difference between the biggest and the lowest number
	void checkNumbers()
	{
		Main main = new Main();
		String[] s_arrNumbers = getNumbers().split(",");
		final int iARRAYLENGTH = s_arrNumbers.length;
		int[] i_arrNumbers = new int[iARRAYLENGTH];
		
		// Loop: Cast the string array in a int array
		for(int i = 0;i < iARRAYLENGTH;i++)
		{
			i_arrNumbers[i] = Integer.parseInt(s_arrNumbers[i]);
		}
		
		// If: Check for wrong input
		if(iARRAYLENGTH <= 1)
		{
			System.out.println("Fehlerhafte eingabe!");
			
			main.checkNumbers();
		}
		// If: Run if the input was two numbers
		else if (iARRAYLENGTH == 2)
		{
			// If: Run if the first number was lower as the second
			if(i_arrNumbers[0] < i_arrNumbers[1])
				System.out.println("Die Differenz zwischen " + i_arrNumbers[0] + " und " +
				i_arrNumbers[1] + " betraegt: " + (i_arrNumbers[1] - i_arrNumbers[0]));
			else
				System.out.println("Die Differenz zwischen " + i_arrNumbers[1] + " und " +
				i_arrNumbers[0] + " betraegt: " + (i_arrNumbers[0] - i_arrNumbers[1]));
		}
		// If: Run if the input was more as two numbers
		else if(iARRAYLENGTH > 2)
		{
			//Sort the array from lowest to highest number
			Arrays.sort(i_arrNumbers);
		
			int[] i_arrMinMax = new int[2];
			
			//Save the lowest and the highest number in a second int array
			i_arrMinMax[0] = i_arrNumbers[0];
			i_arrMinMax[1] = i_arrNumbers[iARRAYLENGTH - 1];
			
			System.out.println("Die Differenz zwischen " + i_arrMinMax[0] + " und " +
			i_arrMinMax[1] + " betraegt: " + (i_arrMinMax[1] - i_arrMinMax[0]));
		}
		// If: Check for wrong input
		else
		{
			System.out.println("Fehlerhafte eingabe!");
			main.checkNumbers();
		}
		
	}
	
	public static void main(String[] args)
	{
		Main main = new Main();
		
		main.checkNumbers();
	}
}
                

Lösung von: Andy Großhennig (Bundeswehr)

#aufgabe
print 'Geben sie 2 Zahlen ein: ';
chomp($a=<STDIN>);
chomp($b=<STDIN>);
$c = $a > $b ? $a - $b : $b - $a;
print "\nDie Differenz beträgt $c.\n"; 

#zusatzaufgabe
$a, $b, $c; #die drei zahlen
@zahlen;
print "Geben sie drei Zahlen ein: ";
chomp($a=<STDIN>);
chomp($b=<STDIN>);
chomp($c=<STDIN>);
@zahlen=($a, $b, $c);
@zahlen= sort @zahlen;
if($zahlen[2]-$zahlen[1] > $zahlen[1] - $zahlen[0]){
	print "Die groesste Differenz ist zwischen: $zahlen[2] und $zahlen[1]";
	print "\n";
	print "Die kleinste Differenz ist zwischen: $zahlen[1] und $zahlen[0]";
}elsif($zahlen[2]-$zahlen[1] == $zahlen[1] - $zahlen[0]){
	print "Die Differenzen sind gleich.\n";

}else{
	print "Die groesste Differenz ist zwischen: $zahlen[1] und $zahlen[0]";
	print "\n";
	print "Die kleinste Differenz ist zwischen: $zahlen[2] und $zahlen[1]";
}
                

Lösung von: Name nicht veröffentlicht

int grössereZahl(int iZahl1, int iZahl2) {
	int iGrZahl = 0;

	if(iZahl1 > iZahl2) {
		iGrZahl = iZahl1;
	} else {
		iGrZahl = iZahl2;
	}
	return iGrZahl;
}

int main()
{
	int iZahl1, iZahl2, iZahl3;
	int iGrZahl = 0;

	printf("Geben Sie eine Zahl ein: ");
	scanf_s("%i", &iZahl1);
	fflush(stdin);

	printf("Geben sie noch eine Zahl ein: ");
	scanf_s("%i", &iZahl2);
	fflush(stdin);
	iGrZahl = grössereZahl(iZahl1, iZahl2);

	printf("\nDie groessere Zahl ist: %i", iGrZahl);

	getchar();
	return 0;
}
                

Lösung von: Elias Zech (Optics Balzers)

function difference(a, b, c) {
   if (c == undefined) return Math.abs(a - b);
   var arr = [a, b, c].sort();
   return [Math.abs(arr[2] - arr[1]), Math.abs(arr[0] - arr[1])];
}

console.log(difference(8, 3));
console.log(difference(3, -2, 18));
                

Lösung von: Lisa Salander (Heidi-Klum-Gymnasium Bottrop)

# Differenz zweier Zahlen
zahl1 = int(input("Zahl 1: "))
zahl2 = int(input("Zahl 2: "))

if zahl1 > zahl2:
    print("Differenz von", zahl1, "und", zahl2, ":", zahl1 - zahl2)
else:
    print("Differenz von", zahl1, "und", zahl2, ":", zahl2 - zahl1)


# Groesste und kleinste Differenz dreier Zahlen
zahl1 = int(input("Zahl 1: "))
zahl2 = int(input("Zahl 2: "))
zahl3 = int(input("Zahl 3: "))

liste = [zahl1, zahl2, zahl3]
liste.sort()
print("Groesste Differenz:", liste[2] - liste[0])
print("Kleinste Differenz:", min((liste[1] - liste[0]), (liste[2] - liste[1])))
                

Lösung von: Peter Pan (Home Office)

// NET Core 3.x

using System;
using System.Linq;
using static System.Math;

namespace CS_MDL_CORE_Differenz
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Difference(3));
            Console.WriteLine(Difference(3, 8));
            Console.WriteLine(Difference(3, -2, 18));
        }

        static string Difference(params double[] p)
        {
            Array.Sort(p);
            return p.Length switch
            {
                int c when c < 2 || c > 3 => string.Empty,
                int c when c == 2 => Abs(p[1] - p[0]).ToString(),
                _ => $"{(Abs(p[1] - p[0]), Abs(p[2] - p[0]))}"
            };
        }
    }
}
                

Lösung von: Jens Kelm (@JKooP)

// NET Core 3.x

using System;
using System.Linq;
using static System.Math;

namespace CS_MDL_CORE_Differenz
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(Difference(3, -2, 18, -1, 50));
        }

        // Für mehr als 3 Werte:
        static (double max, double min) Difference(params double[] p)
        {
            Array.Sort(p);
            double min = 0, max = 0;
            if (p.Length > 1) max = Abs(p.Max() - p.Min());
            if (p.Length > 2) min = Abs(p[1] - p.Min());
            return (max, min);
        }
    }
}
                

Lösung von: Jens Kelm (@JKooP)

// C++ 20 | VS-2022

#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>

std::tuple<double, double> difference(std::vector<double> v) {
    double min{ 0 }, max{ 0 };
    std::sort(v.begin(), v.end());
    if (v.size() > 1) {
        max = abs(v[v.size() - 1] - v[0]);
        min = abs(v[1] - v[0]);
    }
    return { min, max };
}

int main() {
    auto [a, b] { difference({ 3, -2, 18, -1, 50 }) }; // C++ 20
    std::cout << a << ", " << b << std::endl;
}
                

Lösung von: Jens Kelm (@JKooP)

// NET 6.x | C# 10.x | VS-2022

Console.WriteLine(Difference(3, -2, 18, -1, 50));

static (double max, double min) Difference(params double[] p) {
    Array.Sort(p);
    return p.Length < 2 ? (0, 0) : (Math.Abs(p[^1] - p[0]), Math.Abs(p[1] - p[0]));
}
                

Lösung von: Jens Kelm (@JKooP)

Verifikation/Checksumme:

Aufgabe

  • 8, 3 -> 5
  • 5, 100 -> 95
  • -4, 19 -> 23

Zusatzaufgaeb

  • 6, 7, 10 -> kleinste: 1; größte: 4
  • 3, -2, 18 -> kleinste: 5; größte: 20

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: Leicht
Webcode: q225-nepr
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen