This blog post has been published on 2010-10-22 and may be out of date.
ALGORITHMUS Schaltjahr
Beschreibung:
- das Programm soll testen, ob eine Folge von Jahren jeweills ein Schaltjahr ist
- wenn das Jahr größer 1582 ist
- wenn das Jahr durch 4, aber nicht durch 100 teilbar ist, handelt es sich um ein Schaltjahr
- ist das Jahr durch 400 teilbar, handelt es sich ebenfalls um ein Schaltjahr
Daten:
- Jahr (Startwert)
- Jahr (Endwert)
- Schrittweite
Kern-(Algorithmus):
Einlesen von "Startwert" + "Endwert" + "Schrittweite"
WENN "Startwert" < 1582 ODER "Startwert" >= "Endwert" ODER Schrittweite <= 0
	DANN Fehler-Meldung
ANSONSTEN
	FÜR "Startwert" BIS "Endwert"
		WENN ("Startwert" / 4 ohne Rest UND "Startwert / 100 mit Rest) ODER ("Startwert" / 400 ohne Rest)
			DANN Ausgabe: "Ja"
		ANSONSTEN
			Ausgabe: "Nein"
		ENDE WENN
	ENDE FÜR
ENDE WENN
C-Programm:
#include "stdio.h"
int main(void) {
	int jahr_startwert,jahr_endwert,schrittweite;
	printf("\n\tK a l e n d e r\n");
	printf("\nBitte den Startwert (Jahrszahl) eingeben: ");
	scanf("%d", &jahr_startwert);
	printf("Bitte den Endwert (Jahreszahl) eingeben: ");
	scanf("%d", &jahr_endwert);
	printf("Bitte die Schrittweite (Jahre) eingeben: ");
	scanf("%d", &schrittweite);
	/* Beginn des gregorianischen Kalerndes - 1582*/
	if (jahr_startwert < 1582 || jahr_startwert >= jahr_endwert || schrittweite <= 0) {
		printf("\nFalsche Angabe!");
	} else {
		printf("\nJahr | Schaltjahr?");
		printf("\n------------------");
		for (jahr_startwert; jahr_startwert <= jahr_endwert; jahr_startwert=jahr_startwert+schrittweite) {
			if ((jahr_startwert % 4 == 0) && (jahr_startwert % 100 != 0) || (jahr_startwert % 400 == 0)) {
				printf("\n%d | Ja",jahr_startwert);
			}
			else {
				printf("\n%d | Nein",jahr_startwert);
			}
		}
	printf("\n\n");
	}
	return (0);
}
	