Buch Cover Buch Cover Buch Cover Buch Cover

Web-Code: - Webcode Help

Schaltjahre (Unterprogramme)

Schreiben Sie ein Unterprogramm, das von einer gegebenen Jahrzahl ermittelt, ob es sich um ein Schaltjahr handelt. Dabei sind alle durch 4 teilbaren Jahre sog. Schaltjahre mit einem im Februar angefügten Schalttag.

Seit der Einführung des Gregorianischen Kalenders im Jahr 1582 gilt zusätzlich folgende Regel: In allen durch 100 teilbaren Jahren wird kein Schalttag eingefügt, es sei denn, das Jahr ist durch 400 teilbar.

0 Kommentare

Bitte melde dich an um einen Kommentar abzugeben

9 Lösung(en)

  boolean schaltjahr(int jahr) {
        boolean schalt = false;
        if (0 == jahr % 4) {
            schalt = true;
        }
        if (0 == jahr % 100) {
            schalt = false;
        }
        if (0 == jahr % 400) {
            schalt = true;
        }
        return schalt;
    }
                
def schaltjahr(jahr):
    schalt = False
    if (jahr%4) == 0:
        schalt = True
        if (jahr%100) == 0:
            schalt = False
            if (jahr%400) == 0:
                schalt = True
    return schalt

print schaltjahr(1998)
print schaltjahr(2000)
print schaltjahr(2100)
print schaltjahr(2101)
                
def schaltjahr(jahr)                                                            
  if (0 == jahr % 400)                   then return true  end                  
  if((0 == jahr % 100) && (jahr > 1582)) then return false end                  
  0 == jahr % 4                                                                 
end                                                                             
               
# Tests                                                                 
print "test 2000 schalt? #{schaltjahr(2000)}\n"                                 
print "test 2100 schalt? #{schaltjahr(2100)}\n"                                 
print "test 1500 schalt? #{schaltjahr(1500)}\n"                                 
print "test 1501 schalt? #{schaltjahr(1501)}\n"                                 
print "test 2001 schalt? #{schaltjahr(2001)}\n"
                

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

import java.util.Scanner;

public class Schaltjahr {

	public static void main(String[] args) {
		new Schaltjahr().top();
	}

	void top() {
		System.out.println("Jahr eingeben: ");
		int j = new Scanner(System.in).nextInt();
		if(!schaltjahr(j)) {
			System.out.print("kein ");
		} 
		System.out.println("Schaltjahr");
	}

	boolean schaltjahr(int jahr) {                                                            
		if (0 == jahr % 400) {
			return true;
		}
		if((0 == jahr % 100) && (jahr > 1582)) {
			return false;
		}
		return 0 == jahr % 4;                                                                 
	}
} // end of class Schaltjahr
                

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

// 1 im Schaltjahr, 0 sonst
int schalttag(int jahr) {
  if(jahr %   4 != 0)                { return 0; }
  if(jahr % 400 == 0)                { return 1; }
  if(jahr % 100 == 0 && jahr > 1582) { return 0; }
  return 1;
}

// true im Schaltjahr, false sonst
boolean schaltjahr(int jahr) {
  return 1 == schalttag(jahr);
}
                

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

function isLeapYear(y) {
  let a = y < 1582,
      b = y % 4 == 0,
      c = y % 400 == 0;
  return (a && b) || (!a && (b && c));
}

let years = [1500, 1582, 1600, 1700, 1701, 2000, 2010, 2100];
for (i of years) console.log(i, isLeapYear(i));
                

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

// C++ 14 | VS-2022

#include <iostream>

bool is_leapYear(int y) {
	return (y >= 1582 && y % 4 == 0 && y % 100 != 0 || y % 400 == 0);
}

int main() {
    std::cout << (is_leapYear(1988) ? "wahr" : "falsch") << "\n";
}
                

Lösung von: Jens Kelm (@JKooP)

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

static bool IsLeapYear(int y) => y >= 1582 && y % 4 == 0 && y % 100 != 0 || y % 400 == 0;
Console.WriteLine($"1988: {IsLeapYear(1988)}");
                

Lösung von: Jens Kelm (@JKooP)

while True:
    jahr = int(input("Geben sie ein Jahr ein:"))
    if jahr % 400 == 0 or (jahr % 4 == 0 and jahr % 100 != 0):
        print('Schaltjahr')
    else: 
        print('kein Schaltjahr')
                

Lösung von: Name nicht veröffentlicht

Verifikation/Checksumme:

1500 -> true

1582 -> false

1600 -> true

1700 -> false

1701 -> false

2000 -> true

2010 -> false

2100 -> false

Aktionen

Bewertung

Durchschnittliche Bewertung:

Eigene Bewertung:
Bitte zuerst anmelden

Meta

Zeit: 0.25
Schwierigkeit: k.A.
Webcode: 4xw9-mhjm
Autor: Philipp G. Freimann (BBW (Berufsbildungsschule Winterthur) https://www.bbw.ch)

Download PDF

Download ZIP

Zu Aufgabenblatt hinzufügen