This commit is contained in:
Melody Becker 2024-11-28 18:21:59 +01:00
parent 079a2623dc
commit 00a98a120d
49 changed files with 1582 additions and 61 deletions

View file

@ -1,3 +1,4 @@
[ [
"obsidian-excalidraw-plugin" "obsidian-excalidraw-plugin",
"dataview"
] ]

View file

@ -1,22 +1,30 @@
[ {
"file-explorer", "file-explorer": true,
"global-search", "global-search": true,
"switcher", "switcher": true,
"graph", "graph": true,
"backlink", "backlink": true,
"canvas", "canvas": true,
"outgoing-link", "outgoing-link": true,
"tag-pane", "tag-pane": true,
"page-preview", "properties": false,
"daily-notes", "page-preview": true,
"templates", "daily-notes": true,
"note-composer", "templates": true,
"command-palette", "note-composer": true,
"slash-command", "command-palette": true,
"editor-status", "slash-command": true,
"bookmarks", "editor-status": true,
"outline", "bookmarks": true,
"word-count", "markdown-importer": false,
"slides", "zk-prefixer": false,
"file-recovery" "random-note": false,
] "outline": true,
"word-count": true,
"slides": true,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}

View file

@ -5,6 +5,10 @@
"embedUseExcalidrawFolder": false, "embedUseExcalidrawFolder": false,
"templateFilePath": "Excalidraw/Template.excalidraw", "templateFilePath": "Excalidraw/Template.excalidraw",
"scriptFolderPath": "Excalidraw/Scripts", "scriptFolderPath": "Excalidraw/Scripts",
"fontAssetsPath": "Excalidraw/CJK Fonts",
"loadChineseFonts": false,
"loadJapaneseFonts": false,
"loadKoreanFonts": false,
"compress": true, "compress": true,
"decompressForMDView": false, "decompressForMDView": false,
"onceOffCompressFlagReset": true, "onceOffCompressFlagReset": true,
@ -27,6 +31,7 @@
"previewMatchObsidianTheme": false, "previewMatchObsidianTheme": false,
"width": "400", "width": "400",
"height": "", "height": "",
"overrideObsidianFontSize": false,
"dynamicStyling": "colorful", "dynamicStyling": "colorful",
"isLeftHanded": false, "isLeftHanded": false,
"iframeMatchExcalidrawTheme": true, "iframeMatchExcalidrawTheme": true,
@ -36,6 +41,7 @@
"defaultMode": "normal", "defaultMode": "normal",
"defaultPenMode": "never", "defaultPenMode": "never",
"penModeDoubleTapEraser": true, "penModeDoubleTapEraser": true,
"penModeSingleFingerPanning": true,
"penModeCrosshairVisible": true, "penModeCrosshairVisible": true,
"renderImageInMarkdownReadingMode": false, "renderImageInMarkdownReadingMode": false,
"renderImageInHoverPreviewForMDNotes": false, "renderImageInHoverPreviewForMDNotes": false,
@ -93,7 +99,7 @@
"library2": { "library2": {
"type": "excalidrawlib", "type": "excalidrawlib",
"version": 2, "version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.5.1", "source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.6.7",
"libraryItems": [] "libraryItems": []
}, },
"imageElementNotice": true, "imageElementNotice": true,
@ -105,7 +111,7 @@
"mdCSS": "", "mdCSS": "",
"scriptEngineSettings": {}, "scriptEngineSettings": {},
"defaultTrayMode": true, "defaultTrayMode": true,
"previousRelease": "2.5.1", "previousRelease": "2.6.7",
"showReleaseNotes": true, "showReleaseNotes": true,
"showNewVersionNotification": true, "showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}", "latexBoilerplate": "\\color{blue}",
@ -755,6 +761,7 @@
"areaZoomLimit": 1, "areaZoomLimit": 1,
"longPressDesktop": 500, "longPressDesktop": 500,
"longPressMobile": 500, "longPressMobile": 500,
"doubleClickLinkOpenViewMode": true,
"isDebugMode": false, "isDebugMode": false,
"rank": "Bronze", "rank": "Bronze",
"modifierKeyOverrides": [ "modifierKeyOverrides": [

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{ {
"id": "obsidian-excalidraw-plugin", "id": "obsidian-excalidraw-plugin",
"name": "Excalidraw", "name": "Excalidraw",
"version": "2.5.1", "version": "2.6.7",
"minAppVersion": "1.1.6", "minAppVersion": "1.1.6",
"description": "An Obsidian plugin to edit and view Excalidraw drawings", "description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian", "author": "Zsolt Viczian",

File diff suppressed because one or more lines are too long

View file

@ -4,17 +4,21 @@
"type": "split", "type": "split",
"children": [ "children": [
{ {
"id": "87dd82b2e31f81e8", "id": "16f08ed269e522f4",
"type": "tabs", "type": "tabs",
"children": [ "children": [
{ {
"id": "7daeb7436c73a950", "id": "ff26353664f95c88",
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "pdf", "type": "markdown",
"state": { "state": {
"file": "LF5-databases/MySQL-Befehlsreferenz.pdf" "file": "LF1-Unternehmen/L24-11-28.md",
} "mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "L24-11-28"
} }
} }
] ]
@ -37,7 +41,9 @@
"type": "file-explorer", "type": "file-explorer",
"state": { "state": {
"sortOrder": "alphabetical" "sortOrder": "alphabetical"
} },
"icon": "lucide-folder-closed",
"title": "Files"
} }
}, },
{ {
@ -46,13 +52,15 @@
"state": { "state": {
"type": "search", "type": "search",
"state": { "state": {
"query": "", "query": "tag:#GmbH",
"matchingCase": false, "matchingCase": false,
"explainSearch": false, "explainSearch": false,
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical" "sortOrder": "alphabetical"
} },
"icon": "lucide-search",
"title": "Search"
} }
}, },
{ {
@ -60,7 +68,9 @@
"type": "leaf", "type": "leaf",
"state": { "state": {
"type": "bookmarks", "type": "bookmarks",
"state": {} "state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
} }
} }
] ]
@ -83,7 +93,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "LF5-databases/MySQL-Befehlsreferenz.pdf", "file": "LF2-Arbeitsplatz-Elektrotechnik/Drawing 2024-10-11 10.21.55.excalidraw.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@ -91,7 +101,9 @@
"searchQuery": "", "searchQuery": "",
"backlinkCollapsed": false, "backlinkCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} },
"icon": "links-coming-in",
"title": "Backlinks for Drawing 2024-10-11 10.21.55.excalidraw"
} }
}, },
{ {
@ -100,10 +112,12 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "LF5-databases/MySQL-Befehlsreferenz.pdf", "file": "LF2-Arbeitsplatz-Elektrotechnik/Drawing 2024-10-11 10.21.55.excalidraw.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
} },
"icon": "links-going-out",
"title": "Outgoing links from Drawing 2024-10-11 10.21.55.excalidraw"
} }
}, },
{ {
@ -114,7 +128,9 @@
"state": { "state": {
"sortOrder": "frequency", "sortOrder": "frequency",
"useHierarchy": true "useHierarchy": true
} },
"icon": "lucide-tags",
"title": "Tags"
} }
}, },
{ {
@ -123,8 +139,10 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "LF5-databases/MySQL-Befehlsreferenz.pdf" "file": "LF2-Arbeitsplatz-Elektrotechnik/Drawing 2024-10-11 10.21.55.excalidraw.md"
} },
"icon": "lucide-list",
"title": "Outline of Drawing 2024-10-11 10.21.55.excalidraw"
} }
} }
] ]
@ -145,10 +163,28 @@
"obsidian-excalidraw-plugin:Create new drawing": false "obsidian-excalidraw-plugin:Create new drawing": false
} }
}, },
"active": "7daeb7436c73a950", "active": "ff26353664f95c88",
"lastOpenFiles": [ "lastOpenFiles": [
"LF5-databases/L24-10-09.md", "LF1-Unternehmen/L24-10-10.md",
"LF1-Unternehmen/L24-11-28.md",
"LF1-Unternehmen/L24-11-26.md",
"ArbeitsplatzZeug/Präsentation Bios-Uefi.md",
"ArbeitsplatzZeug/SoftwareLayers.png",
"ArbeitsplatzZeug/uefi infos.md",
"ArbeitsplatzZeug/Uefi-Bios-Präsentation-Idee.md",
"ArbeitsplatzZeug/Planung.md",
"ArbeitsplatzZeug/PC_systemLayers.jpg",
"LF5-databases/Drawing 2024-11-26 11.15.51.excalidraw.md",
"LF5-databases/A24-11-24 Selektionen.sql",
"LF5-databases/A24-11-24 Projektionen.sql",
"LF5-databases/MySQL-ERM und Beziehungen.pdf", "LF5-databases/MySQL-ERM und Beziehungen.pdf",
"LF5-databases/Untitled.canvas",
"LF5-databases/L24-10-09.md",
"Deutsch/KA24-11-26 Prep.md",
"LF1-Unternehmen/Lagersysteme.docx",
"LF1-Unternehmen/Lagersysteme.docx.crdownload",
"LF1-Unternehmen/L24-10-17.md",
"LF2-Arbeitsplatz-Elektrotechnik/Drawing 2024-10-11 10.21.55.excalidraw.md",
"LF5-databases/MySQL-Befehlsreferenz.pdf", "LF5-databases/MySQL-Befehlsreferenz.pdf",
"LF5-databases/MySQL-ERM und Beziehungen.zip", "LF5-databases/MySQL-ERM und Beziehungen.zip",
"LF5-databases/MySQL-Befehlsreferenz.zip", "LF5-databases/MySQL-Befehlsreferenz.zip",
@ -158,14 +194,8 @@
"Religion/L24-10-14.md", "Religion/L24-10-14.md",
"Religion/L24-10-07.md", "Religion/L24-10-07.md",
"LF3-Netzwerke/L24-10-14.md", "LF3-Netzwerke/L24-10-14.md",
"Untitled",
"LF3-Netzwerke/T24-10-14_Republican-vs-gamer-vs-democrat.pkt~",
"LF3-Netzwerke/T24-10-14_Republican-vs-gamer-vs-democrat.pkt",
"LF3-Netzwerke/200 Grundkonfiguration Switch Router.pdf",
"LF3-Netzwerke/L24-10-07 Intro.md", "LF3-Netzwerke/L24-10-07 Intro.md",
"Deutsch/M-Sprachkompetenz 5.png", "Deutsch/M-Sprachkompetenz 5.png",
"LF1-Unternehmen/L24-10-10.md",
"LF2-Arbeitsplatz-Elektrotechnik/Drawing 2024-10-11 10.21.55.excalidraw.md",
"Unterschied Unternehmer und Verbraucher.md", "Unterschied Unternehmer und Verbraucher.md",
"Excalidraw/Drawing 2024-10-10 13.57.14.excalidraw.md", "Excalidraw/Drawing 2024-10-10 13.57.14.excalidraw.md",
"Deutsch/M-Sprachkompetenz 6.png", "Deutsch/M-Sprachkompetenz 6.png",
@ -176,13 +206,8 @@
"Deutsch/M-Sprachkompetenz 1.png", "Deutsch/M-Sprachkompetenz 1.png",
"Deutsch/M-Sprachebenen 2.png", "Deutsch/M-Sprachebenen 2.png",
"Deutsch/Drawing 2024-10-10 11.25.18.excalidraw.md", "Deutsch/Drawing 2024-10-10 11.25.18.excalidraw.md",
"Deutsch/M-Kommunikation 1.png",
"Deutsch/M-Fachsprachen 1.png",
"Excalidraw/Drawing 2024-10-10 08.27.09.excalidraw.md", "Excalidraw/Drawing 2024-10-10 08.27.09.excalidraw.md",
"Excalidraw/Drawing 2024-10-10 07.52.12.excalidraw.md", "Excalidraw/Drawing 2024-10-10 07.52.12.excalidraw.md",
"ArbeitsplatzZeug/uefi infos.md",
"ArbeitsplatzZeug/Planung.md",
"ArbeitsplatzZeug/Präsentation Bios-Uefi.md",
"English/L24-10-07.md", "English/L24-10-07.md",
"Welcome.md" "Welcome.md"
] ]

View file

@ -0,0 +1,4 @@
# Bios/Uefi
---
## Gliederung
-

View file

@ -0,0 +1,6 @@
Schritt für Schritt durch den Bootvorgang führen
1. Power-On Knopf
2. CPU Firmware startet
3. Instruction pointer zurück zu 0
4. Bios / UEFI wird geladen
5. Hardware checks

View file

@ -0,0 +1,5 @@
Einfaches Kommunikationsmodel
Sender -> Medium -> Empfänger
Vier Seiten Model
Sachaussage, Appell, Beziehung, Selbstaussage

View file

@ -4,6 +4,7 @@
- Folglich ist das entscheidende Kriterium, ob ein Geschäft bzw Einkauf dem Ausführen eines Berufs oder einem Gewerbe dient. Wenn dem so ist, ist die Geschäftstreibende Person ein Unternehmer, ansonsten ein Verbraucher (BGB § 13, 14) - Folglich ist das entscheidende Kriterium, ob ein Geschäft bzw Einkauf dem Ausführen eines Berufs oder einem Gewerbe dient. Wenn dem so ist, ist die Geschäftstreibende Person ein Unternehmer, ansonsten ein Verbraucher (BGB § 13, 14)
## Rechtsformen von Unternehmen ## Rechtsformen von Unternehmen
- Einzelunternehmen (Personengesellschaft aber exakt eine Person)
- Personengesellschaften - Personengesellschaften
- Formen - Formen
- OHG (Offene Handelsgesellschaft) - OHG (Offene Handelsgesellschaft)
@ -13,10 +14,10 @@
- Haftung mit Privatvermögen - Haftung mit Privatvermögen
- Kapitalgesellschaften - Kapitalgesellschaften
- Formen - Formen
- GmbH (Gesellschaft mit beschränkte Haftung (Mindestkapital 25k€)) - GmbH (Gesellschaft mit beschränkte Haftung (Mindestkapital 25k€)) ^86807f
- UG (Unternehmergesellschaft (Mindestkapital 1€)) - UG (Unternehmergesellschaft (Mindestkapital 1€))
- AG (Aktiengesellschaft) - AG (Aktiengesellschaft)
- SE (Europäische Aktiengesellschaft) - SE (Europäische Aktiengesellschaft)
- Genossenschaften - Genossenschaften
- Körperschaftssteuer (Konstant) - Körperschaftssteuer (Konstant (15%))
- Keine Haftung der Gesellschafter mit dem Privatvermögen - Keine Haftung der Gesellschafter mit dem Privatvermögen

View file

@ -0,0 +1,15 @@
- B2B: Business to Business
- Garantie 1 Woche (Privatperson 2 Jahre)
-
- GmbH: Siehe [[LF1-Unternehmen/L24-10-10#^86807f|L24-10-10-GmbH]]
- Güter: (Kleinere) Begrenzte Menge und tauschbar
- Was verkauft IT Sol: Wissen & Erfahrung via Beratung
- HR-Eintrag: Eintrag in Handelsregister (z.B. Berlin) um Unternehmen zu identifizieren
- HR: Handelsregister. Liste aller registrierten Unternehmen
- Im Englischem aber Human Relations, aka Personalabteilung
- USt-IdNr: Umsatzsteuer-Identifikationsnummer. Steuererklärungen und ähnliches von einem Unternehmen einsehen
- Welche Daten werden im Personalwesen verwaltet:
- Persönlich
- Urlaub
- Krankheit
- etc

View file

@ -0,0 +1,8 @@
Lagersystemkatik
- Chaotisches Lagersystem
- + Sehr effizienter Platzverbrauch
- - Aufwendiges System um Standort von Ware zu verfolgen
- + Kann sehr schnell sein, braucht aber auch das eben genannte System dafür
- - Wird extrem langsam, sobald kein unterstützendes Warenverfolgungssystem vorhanden ist
- Festplatz / Strukturiertes Chaos

View file

@ -0,0 +1,27 @@
NWA (Nutzwerkanalyse): Hilfsmittel, um Entscheidungen nachvollziehbar und abgesichert treffen zu können.
- Bsp: Auftrag zum Einrichten einer IT Infrastruktur liegt vor (Server, Arbeitsplätze, Kabel, etc)
- Lan / WLan
- Monitor-Größe
- Computer-Internals
- Mainframe / Eigenständige Clients
- Bsp: Wahl der Rechtsform für ein Unternehmen
- GmbH
- AG
- UG
- OHG
- KG
- …
- Vorgehensweise
1. Entscheidungsalternativen suchen & auflisten
2. Bewertungskriterien für Merkmale der Alternativen
3. Bewertungsmaßstab für jedes Merkmal festlegen, Bsp für Wahl der Rechtsform:
- Aufwand der Buchführung, Maßstab "gering" / "hoch"
4. Gewichtung der Kriterien, z.B. durch %-Angabe
- Aufwand für Buchführung: 20%
- Haftung der Gesellschafter: 80%
5. Bewerten der Alternativen
6. Prüfen, ob Kriterien eindeutig genug sind (Beste Möglichkeit z.B. zu nah zu Alternativen)
- Umsetzen der Bewertungsmaßstäbe in Zahlenwerte
- Umsetzung der Bewertungsmaßstäbe abhängig von Anzahl Bewertungsstufen
- Bsp: "gering", "hoch" -> 0, 1
- Bsp: "gering", "mittelmäßig", "hoch" -> 0, 0.5, 1

Binary file not shown.

Binary file not shown.

Binary file not shown.

42
LF5-JavaShit/Java/.gitignore vendored Normal file
View file

@ -0,0 +1,42 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
LF5-JavaShit/Java/.idea/.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View file

@ -0,0 +1,19 @@
plugins {
id("java")
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(platform("org.junit:junit-bom:5.10.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
tasks.test {
useJUnitPlatform()
}

Binary file not shown.

View file

@ -0,0 +1,6 @@
#Wed Nov 27 10:18:47 CET 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

234
LF5-JavaShit/Java/gradlew vendored Executable file
View file

@ -0,0 +1,234 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

89
LF5-JavaShit/Java/gradlew.bat vendored Normal file
View file

@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View file

@ -0,0 +1,2 @@
rootProject.name = "Java"

View file

@ -0,0 +1,117 @@
package org.example;
import java.util.InputMismatchException;
import java.util.Scanner;
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
public class Stunde3 {
public static final int VERSANDKOSTEN = 550;
public static void main(String[] args) {
aufgabe3(args);
}
public static void aufgabe1(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Nummer: ");
int nummer = 0;
try {
nummer = in.nextInt();
} catch (InputMismatchException e) {
System.out.println("Invalide Eingabe!");
System.exit(1);
}
System.out.printf("Nummer ist %s gerade\n", nummer % 2 == 0 ? "": "nicht");
}
public static void aufgabe2(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Versandbetragsrechner");
System.out.print("Bestellwert in Euro Cent: ");
int bestellwert = 0;
try {
bestellwert = in.nextInt();
} catch (InputMismatchException _) {
System.out.println("Invalide Eingabe!");
System.exit(1);
}
// Known problem: Negative input would produce bogus values. Don't care though yet
System.out.printf(
"Kosten: %s (%s Ware, %s Versand)\n",
centToEuro(bestellwert >= 20000 ? bestellwert : bestellwert + VERSANDKOSTEN),
centToEuro(bestellwert),
centToEuro(bestellwert >= 20000 ? 0 : VERSANDKOSTEN));
}
public static String centToEuro(int cent) {
return String.format("%d.%d€", cent/100, cent%100);
}
public static void aufgabe3(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Bestellwert in Euro Cent: ");
int bestellwert = 0;
try {
bestellwert = in.nextInt();
} catch (InputMismatchException _) {
System.out.println("Invalide Eingabe!");
System.exit(1);
}
// Known problem: Negative input would produce bogus values. Don't care though yet
if (bestellwert < 100*100) {
System.out.printf(
"Kosten: %s (%s Ware, %s Versand)\n",
centToEuro(bestellwert + 550),
centToEuro(bestellwert),
centToEuro(550));
} else if (bestellwert < 200*100) {
System.out.printf(
"Kosten: %s (%s Ware, %s Versand)\n",
centToEuro(bestellwert + 300),
centToEuro(bestellwert),
centToEuro(300));
} else {
System.out.printf(
"Kosten: %s (%s Ware, %s Versand)\n",
centToEuro(bestellwert),
centToEuro(bestellwert),
centToEuro(0));
}
}
public static void aufgabe4(String[] args) {
Scanner in = new Scanner(System.in);
// Note: Behandelt Exceptions nicht
System.out.println("Dreiecksprüfer");
System.out.print("Seite A: ");
double seiteA = in.nextDouble();
System.out.print("Seite B: ");
double seiteB = in.nextDouble();
System.out.print("Seite C: ");
double seiteC = in.nextDouble();
if (seiteA+seiteB > seiteC && seiteB + seiteC > seiteA && seiteC + seiteA > seiteB) {
System.out.println("Dreieck valide");
} else {
System.out.println("Dreieck invalide");
}
}
public static void aufgabe5(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Alter: ");
// Note: No exception handling. Don't care
int alter = in.nextInt();
if (alter < 16) {
System.out.println("Zutritt verboten");
} else if (alter < 18) {
System.out.println("Türsteher ist aufmerksam");
} else {
System.out.println("Viel Spaß");
}
}
}

View file

@ -0,0 +1,37 @@
package org.example;
import java.util.Scanner;
public class Stunde4 {
public static void main(String[] args) {
}
public static void aufgabeSwitch(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Note: ");
int note = in.nextInt();
switch (note) {
case 1:
System.out.println("Sehr gut");
break;
case 2:
System.out.println("Gut");
break;
case 3:
System.out.println("Befriedigend");
break;
case 4:
System.out.println("Ausreichend");
break;
case 5:
System.out.println("Mangelhaft");
break;
case 6:
System.out.println("Ungenügend");
break;
default:
System.out.println("Unbekannt");
}
}
}

45
LF5-JavaShit/kotlin/.gitignore vendored Normal file
View file

@ -0,0 +1,45 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Kotlin ###
.kotlin
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

8
LF5-JavaShit/kotlin/.idea/.gitignore vendored Normal file
View file

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View file

@ -0,0 +1,10 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>

View file

@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="" />
<option name="gradleJvm" value="openjdk-23 (2)" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="2.0.21" />
</component>
</project>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="openjdk-23" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
</component>
</project>

View file

@ -0,0 +1,18 @@
plugins {
kotlin("jvm") version "2.0.21"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}

View file

@ -0,0 +1 @@
kotlin.code.style=official

Binary file not shown.

View file

@ -0,0 +1,6 @@
#Wed Nov 27 09:49:26 CET 2024
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

234
LF5-JavaShit/kotlin/gradlew vendored Executable file
View file

@ -0,0 +1,234 @@
#!/bin/sh
#
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
warn () {
echo "$*"
} >&2
die () {
echo
echo "$*"
echo
exit 1
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

89
LF5-JavaShit/kotlin/gradlew.bat vendored Normal file
View file

@ -0,0 +1,89 @@
@rem
@rem Copyright 2015 the original author or authors.
@rem
@rem Licensed under the Apache License, Version 2.0 (the "License");
@rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at
@rem
@rem https://www.apache.org/licenses/LICENSE-2.0
@rem
@rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS,
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

View file

@ -0,0 +1,5 @@
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}
rootProject.name = "kotlin"

View file

@ -0,0 +1,8 @@
package org.example
//TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
fun main() {
var line = readlnOrNull();
if (line?.toInt()?.compareTo(0) == 0) {}
}

View file

@ -0,0 +1,7 @@
SELECT Mnr,Name,Vorname,Strasse,PLZ,Ort,Telefon,Geschlecht,Eingestellt FROM Mitarbeiter; /* 1.1 */
SELECT Leiter,Projnr,Bezeichnung,Auftragswert FROM Projekt ORDER BY Leiter; /* 1.2 */
SELECT Telefon,Name,Vorname FROM Mitarbeiter ORDER BY Telefon; /* 1.3 */
SELECT Name,Vorname FROM Mitarbeiter ORDER BY Name ASC,Vorname ASC; /* 1.4 */
SELECT Eingestellt AS 'Eingestellt am',Name,Vorname,Mnr FROM Mitarbeiter ORDER BY Eingestellt DESC; /* 1.5 */
SELECT ProjNr,Bezeichnung,Auftragswert FROM Projekt ORDER BY Auftragswert DESC LIMIT 5; /* 1.6 */
SELECT Vorname,Geburtsdatum,DATE_FORMAT(Geburtsdatum, "%W") AS Wochentag FROM Kind; /* 1.7 */

View file

@ -0,0 +1,26 @@
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Geschlecht = "w"; /* 2.1 */
SELECT ProjNr,Bezeichnung,Auftragswert FROM Projekt WHERE Auftragswert > 20000; /* 2.2 */
SELECT Mnr,Name,Vorname,Eingestellt FROM Mitarbeiter WHERE Eingestellt > "2008-01-01"; /* 2.3 */
SELECT ProjNr,Bezeichnung,Auftragswert FROM Projekt WHERE Auftragswert > 20000 AND Storno = "1"; /* 2.4 */
SELECT ProjNr,Bezeichnung,Auftragswert,Storno
FROM Projekt WHERE Storno = "1" AND Auftragswert < 30000
OR Auftragswert > 100000 AND Storno = "1"; /* 2.5 */
SELECT ProjNr,Bezeichnung,Auftragswert FROM Projekt WHERE Auftragswert > 20000 AND Auftragswert <= 50000; /* 2.6 */
SELECT ProjNr,Bezeichnung,Auftragswert FROM Projekt WHERE bezahlt = 0.0 OR bezahlt IS null; /* 2.7 */
SELECT ProjNr,Bezeichnung,Auftragswert,bezahlt,Auftragswert - bezahlt AS Restzahlung
FROM Projekt WHERE Auftragswert - bezahlt > 20000 ORDER BY Restzahlung DESC; /* 2.8 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Name LIKE "Sch%"; /* 2.9 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Name > "Mei" AND Name NOT LIKE "Mei%" ORDER BY Name; /* 2.10 */
SELECT Mnr,Name,Vorname,Ort FROM Mitarbeiter WHERE Ort LIKE "K%ln%"; /* 2.11 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Mnr LIKE "_0%"; /* 2.12 */
SELECT ProjNr,Bezeichnung,Leiter AS "Leiter-Id",Name,Vorname
FROM Projekt LEFT JOIN Mitarbeiter ON Projekt.Leiter = Mitarbeiter.Mnr
WHERE Leiter LIKE "8%" AND (bezahlt = 0.0 OR bezahlt IS null); /* 2.13 Zählt null als noch nichts bezahlt? */
SELECT Mnr,Name,Vorname,Eingestellt FROM Mitarbeiter WHERE Ort LIKE "K%ln%" AND (Eingestellt > "2008-01-01" AND Eingestellt < "2009-01-01"); /* 2.14 */
SELECT Mnr,Name,Vorname,Eingestellt FROM Mitarbeiter WHERE Eingestellt < DATE_ADD(NOW(), INTERVAL -13 YEAR); /* 2.15 */
SELECT Mnr,Name,Vorname,PLZ FROM Mitarbeiter WHERE PLZ LIKE "8%" OR PLZ LIKE "9%"; /* 2.16 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE (Mnr > 700 OR Mnr < 200) AND Geschlecht = "m"; /* 2.17 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Ort = "Dresden" OR Ort = "Chemnitz" OR Ort = "Suhl"; /* 2.18 Hässlich, aber weiß gerade nicht besser */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Ort IN("Dresden", "Chemnitz", "Suhl"); /* 2.18 Aber in bisschen schöner */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Mnr NOT IN(SELECT Leiter FROM Projekt); /* 2.19 */
SELECT Mnr,Name,Vorname FROM Mitarbeiter WHERE Geschlecht = "w" AND Mnr IN(SELECT Leiter FROM Projekt WHERE Auftragswert > 20000); /* 2.20 */

View file

@ -0,0 +1,321 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
# Excalidraw Data
## Text Elements
Kind ^kKHG8P1L
Mnr ^ATPjMaZL
Vorname ^TfAbfZfe
Geburtsdatum ^My6YH1KC
Mitarbeiter ^GprDput7
Projekt ^5xBL6NNu
Projektmitarbeiter ^x1U0l0pR
Name ^R1LTzibk
Vorname ^ZMfHawlZ
Strasse ^oMFW9JiQ
PLZ ^NGTjdsFt
Ort ^2vg6t1OE
Telefon ^GpEB9ovr
Geschlecht ^CSs5YZ9k
Eingestellt ^cw3qVUnm
Mnr ^LKo0eZo2
ProjNr ^KOrAiUff
Mnr ^TKKk83er
Zeitanteil ^00NKvlrm
Bezeichnung ^nvtp6xca
ProjNr ^3gGvQrDe
Auftragswert ^xfs5I4H7
bezahlt ^DNduIGuB
Beginn ^0huPnsPo
Ende ^sAjUo1cT
Storno ^lIwkfpQk
Leiter ^afELVTUU
%%
## Drawing
```compressed-json
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
01cIFXIAsd8CAA==
```
%%