Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Stunden, Minuten, Sekunden (Anweisungen und Abfolgen)

Schreiben Sie ein Programm, das eine Größe, die in Stunden, Minuten und Sekunden angegeben ist, ins metrische System (Zehnersystem) mit der Maßeinheit "Stunden" umrechnet.

Beispiel: 1 h 15' wird in 1.25 h verwandelt.

Zusatzaufgabe: Schreiben Sie auch die Umkehrung. Beispielsweise soll 1.23 h in 1 h 13' 48" verwandelt werden.

Tipp: 1 Minute = 1/60 h und 1 Sekunde = 1/3600 h (= ca. 0.000277777 h)

und für die Umkehrung:

0.01 h = 36 Sekunden

9 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

Kommentare (9)

Senpai 9. Juli 2018 11:33   reply report
<3
ToDoFra 29. August 2016 14:00   reply report
ez 4 ence
ToDoFra 29. August 2016 14:00   reply report
Louis de Funès (French pronunciation: ​[lwi də fy.nɛs];[2] 31 July 1914 – 27 January 1983), born Louis Germain David de Funès de Galarza, was a popular French actor of Spanish origin and one of the giants of French comedy alongside André Bourvil and Fernandel. His acting style is remembered for its high energy performance, wide range of facial expressions and engaging, snappy impatience and selfishness. A big part of his most famous work was in collaboration with director Jean Girault, and together, they wrote and directed the French classic L'avare (1980) in which he also starred.
ToDoFra 29. August 2016 13:58   reply report
<3
ToDoFra 29. August 2016 13:58   reply report
<3
ToDoFra 29. August 2016 13:58   reply report
=D
ToDoFra 29. August 2016 13:58   reply report
xD
ToDoFra 29. August 2016 13:58   reply report
LORIS was here
ToDoFra 29. August 2016 13:56   reply report
Aalles Klaaar!!!

8 Lösung(en)

import java.util.Scanner;

/**
 * Verwandlen "Stunden:Minuten:Sekunden" ins metrische System.
 * @author Philipp Gressly (phi AT gressly DOT ch)
 */
public class StundenMinutenSekunden {
  public static void main(String[] args) {
    new StundenMinutenSekunden().top();  
  }
  
  void top() {
      int stunden  = einlesen("Stunden" );
      int minuten  = einlesen("Minuten" );
      int sekunden = einlesen("Sekunden");
      
      double metrisch = umrechnen(stunden, minuten, sekunden);
      System.out.println("Metrisch: " + metrisch);
  }
  
  double umrechnen(int stunden, int minuten, int sekunden) {
    double metrisch = stunden;
    metrisch = metrisch + minuten / 60.0;
    metrisch = metrisch + sekunden / 3600.0;
    return metrisch;
  }

  Scanner sc = new Scanner(System.in);
  int einlesen(String groesse) {
      System.out.println("Geben Sie " + groesse + " ein: ");
      return sc.nextInt();
  }
  
  
  
} // end of class StundenMinutenSekunden
                
import java.util.Scanner;

/**
 * Zusatzaufgabe:
 * Verwandlen metrisches System in "Stunden:Minuten:Sekunden".
 * @author Philipp Gressly (phi AT gressly DOT ch)
 */
public class StundenMinutenSekundenUmkehrung {
  public static void main(String[] args) {
    new StundenMinutenSekundenUmkehrung().top();  
  }
  
  void top() {
      double metrisch = einlesen("Stunden (metrisch z. B. 3.51)" );
      
      int stundenanteil     = berechneStundenanteil (metrisch);
      int minutenanteil     = berechneMinutenanteil (metrisch);
      double sekundenanteil = berechneSekundenanteil(metrisch); 
      
      System.out.println(stundenanteil  + "h " + 
                         minutenanteil  + "' " + 
                         sekundenanteil + "\""); 
  }
  
  int berechneStundenanteil(double metrisch) {
      return (int) metrisch;
  }
  
  /**
   * Minuten (abzüglich ganzer Stunden und abzüglich Sekunden)
   */
  int berechneMinutenanteil(double metrisch) {
      int ganzeSekundenOhneStunden = berechneSekundenInnerhalbDerStunden(metrisch);
      return ganzeSekundenOhneStunden / 60;
  }
  
  /**
   * Anzahl ganzer Sekunden innerhalb der Stunde.
   * Diese Zahl beinhaltet auch die Minuten.
   * z. B. berechneSekundenInnerhalbDerStunden(17.5) = 1800;
   */
  int berechneSekundenInnerhalbDerStunden(double metrisch) {
      metrisch = metrisch - berechneStundenanteil(metrisch);
      return (int) (metrisch * 60 * 60);
  }
  
  double berechneSekundenanteil(double metrisch) {
      metrisch = metrisch - berechneStundenanteil(metrisch);
      metrisch = metrisch * 60 - berechneMinutenanteil(metrisch) ;
      metrisch = metrisch * 60;
      metrisch = wennNoetigAufrunden(metrisch);
      return metrisch;
  }
  
  // Ganze Sekundenzahlen als solche darstellen, auch wenn
  // Rundungsfehler auf den hintersten Stellen auftreten.
  double wennNoetigAufrunden(double zahl) {
      if(Math.abs(zahl - Math.round(zahl)) < 0.0000000001 ) {
          return Math.round(zahl);
      }
      return zahl;
  }
  
  Scanner sc = new Scanner(System.in);
  double einlesen(String groesse) {
      System.out.println("Geben Sie " + groesse + " ein: ");
      return sc.nextDouble();
  }
  
} // end of class StundenMinutenSekunden
                
def umrechnen(stunden,minuten,sekunden):
    m=0.0
    m+=stunden
    m+=minuten/60.0
    m+=sekunden/3600.0
    return m

s = int(input('Stunden: '))
m = int(input('Minuten: '))
sek = int(input('Sekunden: '))
print umrechnen(s,m,sek);
                
program Zeit (input, output);
{ wandelt eine Uhrzeit ins metrische System um }

	var
	h : real;
	m : real;
	s : real;
	
begin
	{ Eingabe }
	writeln('Geben Sie die Stunden ein: ');
	readln(h);
	writeln('Geben Sie die Minuten ein: ');
	readln(m);
	writeln('Geben Sie die Sekunden ein: ');
	readln(s);
	writeln('Die Uhrzeit ist: ', h:2:0, 'h ', m:2:0, 'm ', s:2:0, 's ');
	
	s := s/60;
	if s > 0.5 then
		m := m+1;
		
	m := m/60;
	m := (m - Trunc(m)) * 100;
	
	
	writeln('Die Uhrzeit ist: ' , h:2:0, '.', m:0:0)
end. { Zeit }

                

Lösung von: Katja Rummler ()

function timeToDec(hours, mins, secs) {
  mins = mins || 0;
  secs = secs || 0;
  return hours + (mins / 60) + (secs / 3600);
}

// viel komplizierter als ich dachte!
// besonders die stunden- und sekundenstellen
// brauchen eine menge feintuning.
function decToTime(dec) {
  let h, m, s;
  s = dec * 3600;
  if (s >= 3600) {
    h = Math.floor(s / 3600);
    s %= h * 3600;
  } else h = 0;
  m = Math.floor(s / 60);
  s = Math.floor(s %= m * 60);
  return [h || 0, m || 0, s || 0];
}

// ausgabe
console.log( timeToDec(1, 15) );
console.log( decToTime(1.23)  );

                

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

# stunden_minuten_sekunden.py

#Eingabe h, min, sec
print("Bitte h eingeben")
h = float(input())
print("Bitte min eingeben")
min = float(input())
print("Bitte sec eingeben")
sec = float(input())

#Berechnung
x1 = h
x2 = 60 * (1/3600) * min
x3 = (1/3600) * sec

#Ausgabe
print(h,"Stunde",min,"Minute",sec,"Sekunde", "ergibt", x1+x2+x3,"h")

                

Lösung von: Name nicht veröffentlicht

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

// Aufgabe 1
// Variante 1.1
double TimeToHour(int h, int m, int s) => Math.Round(h + m / 60.0 + s / 3600.0, 2);
Console.WriteLine(TimeToHour(1, 13, 48));

// Variante 1.2
double TimeToHour2(TimeOnly t) => (t - new TimeOnly(0,0,0)).TotalHours;
Console.WriteLine(TimeToHour2(new TimeOnly(1, 13, 48)));

// Aufgabe 2
// Variante 2.1
string HourToTime(double n) {
    int s = (int)(n * 3600);
    return $"{s / 3600:#0}:{s % 3600 / 60:00}:{s % 3600 % 60:00}";
}
Console.WriteLine(HourToTime(1.23));

// Variante 2.2
string HourToTime2(double n) => new DateTime(1, 1, 1, 0, 0, 0).AddHours(n).ToLongTimeString();
Console.WriteLine(HourToTime2(1.23));
                

Lösung von: Jens Kelm (@JKooP)

// C++ 20 | VS-2022
#include <iostream>
#include <sstream>
#include <tuple>

namespace TIME {
    using uint = unsigned int;
    class time2dbl {
        uint sec_{ 0 }, min_{ 0 }, hrs_{ 0 };
      public:
        time2dbl() = default;
        time2dbl(uint seconds) : sec_{ seconds } {}
        time2dbl(uint minutes, uint seconds) : min_{ minutes }, sec_{ seconds } {}
        time2dbl(uint hours, uint minutes, uint seconds) : hrs_{ hours }, min_{ minutes }, sec_{ seconds } {}
        inline const auto set_hour(uint val) { hrs_ = val; };
        inline const auto set_minute(uint val) { min_ = val; };
        inline const auto set_second(uint val) { sec_ = val; };
        inline const auto get() { return hrs_ + min_ / 60.0 + sec_ / 3600.0; }
        friend std::ostream& operator<<(std::ostream& os, time2dbl t)  noexcept {
            os << t.get(); 
            return os;
        }
    };
    class dbl2time {
        double hrs_{ 0 };
    public:
        dbl2time() = default;
        dbl2time(double hour) : hrs_{ hour } {}
        inline const auto set_hour(uint val) { hrs_ = val; };
        inline const auto get() {
            const auto sec{ uint(hrs_ * 3'600) };
            return std::make_tuple(sec / 3'600, sec % 3'600 / 60, sec % 3'600 % 60);
        }
        friend std::ostream& operator<<(std::ostream& os, dbl2time t) noexcept {
            const auto [h, m, s] { t.get() };
            os << h << ":" << m << ":" << s;
            return os;
        }
    };
}

using namespace TIME;

int main() {
    // Aufgabe 1:
    time2dbl time_1{ 1, 13, 48 };           // hh:mm:ss
    std::cout << time_1 << "\n";            // 1.23
    // oder:
    std::cout << time_1.get() << "\n";      // 1.23

    time2dbl time_2{ 1, 30 };               // mm:ss
    std::cout << time_2 << "\n";            // 0.025

    time2dbl time_3{ 3600 };                // s
    std::cout << time_3 << "\n";            // 1.0
    time_3.set_second(7200);                // ändern mittels Methode
    std::cout << time_3 << "\n";            // 2.0

    time2dbl time_4;                        // mm
    time_4.set_minute(60);                  // setzen mittels Methode
    std::cout << time_4 << "\n";            // 1.0

    // Zusatzaufgabe:
    dbl2time time_5{ 1.23 };
    std::cout << time_5 << "\n";            // 1:13:48
    // oder:
    const auto [h, m, s] { time_5.get() };
    std::cout << h << ":" << m << ":" << s; // 1:13:48
}
                

Lösung von: Jens Kelm (@JKooP)

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 1
Schwierigkeit: k.A.
Webcode: deeb-acqv
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen