Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
ef_informatik:programmieren_csharp [2023-09-12 12:10] – [Aufgabe G4] sca | ef_informatik:programmieren_csharp [2025-09-23 12:21] (aktuell) – [Aufgabe D5] sps | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Programmieren in C# ====== | ====== Programmieren in C# ====== | ||
+ | |||
+ | ++++Lernziele| | ||
+ | |||
+ | * **Grundlagen C#**, alles im Dossier unten: | ||
+ | * Variablen | ||
+ | * Schleifen | ||
+ | * Verzweigungen | ||
+ | * Funktionen | ||
+ | * Arrays | ||
+ | * Listen | ||
+ | * ... | ||
+ | |||
+ | |||
+ | ++++ | ||
**Slides:** | **Slides:** | ||
Zeile 7: | Zeile 21: | ||
* {{ : | * {{ : | ||
* {{ : | * {{ : | ||
+ | * {{ : | ||
{{: | {{: | ||
Zeile 20: | Zeile 35: | ||
==== - Installation & Hello World ==== | ==== - Installation & Hello World ==== | ||
- | Um C# zu programmieren, verwenden wir die IDE **Visual Studio** (kurz: **VS**) von Microsoft. Achtung: Nicht zu verwechseln mit dem *Visual Studio Code*! | + | Verwende eine der beiden Möglichkeiten, |
+ | |||
+ | | ||
+ | 1. **Visual Studio Code** (Windows & Mac) | ||
+ | |||
+ | |||
+ | === C# in Visual Studio === | ||
- Lade die **Community Edition** (gratis) des **Visual Studios** von der Website https:// | - Lade die **Community Edition** (gratis) des **Visual Studios** von der Website https:// | ||
- ... und installiere sie. | - ... und installiere sie. | ||
Zeile 26: | Zeile 48: | ||
- Diese Projekt enthält bereits Code, der wie unten angezeigt aussehen sollte. | - Diese Projekt enthält bereits Code, der wie unten angezeigt aussehen sollte. | ||
- Dieses Programm ist das bekannteste Programm der Welt: **Hello World**. Alles was dieses Programm macht, ist die Nachricht '' | - Dieses Programm ist das bekannteste Programm der Welt: **Hello World**. Alles was dieses Programm macht, ist die Nachricht '' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === C# in Visual Code === | ||
+ | |||
+ | 1. .NET SDK installieren: | ||
+ | 1. Check ob hat funktioniert: | ||
+ | dotnet --version | ||
+ | </ | ||
+ | 1. VSCode installieren | ||
+ | 1. C# Extension von Microsoft in VSCode installieren | ||
+ | 1. Neues C#-Projekt: < | ||
+ | dotnet new console -n MyFirstApp | ||
+ | cd MyFirstApp | ||
+ | code . | ||
+ | </ | ||
+ | 1. Programm ausführen:< | ||
+ | dotnet run | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Top-Level Statements === | ||
Seit C# 9.0 werden standardmässig Top-Level Statements verwendet. Damit sieht ein einfaches "Hello World" | Seit C# 9.0 werden standardmässig Top-Level Statements verwendet. Damit sieht ein einfaches "Hello World" | ||
Zeile 493: | Zeile 540: | ||
</ | </ | ||
- Was macht der Code? Versuche es herauszufinden, | - Was macht der Code? Versuche es herauszufinden, | ||
- | - Schreibe nun den Code so um, dass die Schleife das unten angezeigt | + | - Schreibe nun den Code so um, dass die Schleife das unten angezeigte |
<code csharp> | <code csharp> | ||
... | ... | ||
Zeile 508: | Zeile 555: | ||
=== Aufgabe D5 === | === Aufgabe D5 === | ||
- | Schreibe ein einfache | + | Schreibe ein einfaches |
Folgender Code gibt einem $10$ **Zufallszahlen** im Bereich $1$ bis $5$ aus und dient als Beispiel dafür, wie man Zufallszahlen generiert: | Folgender Code gibt einem $10$ **Zufallszahlen** im Bereich $1$ bis $5$ aus und dient als Beispiel dafür, wie man Zufallszahlen generiert: | ||
Zeile 543: | Zeile 590: | ||
=== Aufgabe E2 === | === Aufgabe E2 === | ||
- **Primzahlen** sind positive ganze Zahlen, die nur durch sich selbst und $1$ teilbar sind, also $2, | - **Primzahlen** sind positive ganze Zahlen, die nur durch sich selbst und $1$ teilbar sind, also $2, | ||
- | - Mache eine Kopie deines Programms. Nun soll eine Zahl eingegeben werden und sämtliche kleiner gleich dieser Zahl ausgegeben werden. | + | - Mache eine Kopie deines Programms. Nun soll eine Zahl eingegeben werden und sämtliche |
=== Aufgabe E3 === | === Aufgabe E3 === | ||
Zeile 744: | Zeile 791: | ||
Die meisten Programmiersprachen kommen mit vielen vorprogrammierten Utility-Functions daher, die einem das Leben vereinfachen. Ziel dieser Aufgabe ist es, diese **Utility-Functions selbst zu programmieren**, | Die meisten Programmiersprachen kommen mit vielen vorprogrammierten Utility-Functions daher, die einem das Leben vereinfachen. Ziel dieser Aufgabe ist es, diese **Utility-Functions selbst zu programmieren**, | ||
- | 1. Funktion `Length`, die die Länge eines Strings bestimmt und zurück gibt. Schaffst du das ohne die Methode Length, die bei jedem String vorhanden ist? | + | |
- | 1. Funktion `NumberOfChar`, | + | 1. Funktion `Length`, die die Länge eines Strings bestimmt und zurück gibt. Programmiere dies ohne die Methode Length, die bei jedem String vorhanden ist. Verwende auch kein foreach (verwendet intern wohl auch Length). |
- | 1. Funktion `PositionsOfChar`, | + | |
- | 1. Funktion `Split`, die einen String bei jedem Vorkommen eines bestimmten Zeichens auftrennt und die Teile in einem Array zurückgibt, | + | |
+ | | ||
Zeile 859: | Zeile 907: | ||
</ | </ | ||
- | < | + | < |
++++Aufgaben D| | ++++Aufgaben D| | ||
Zeile 1118: | Zeile 1166: | ||
if (z >= 2) | if (z >= 2) | ||
{ | { | ||
- | for (int i = 2; i <= Math.Sqrt(33); i++) | + | for (int i = 2; i <= Math.Sqrt(z); i++) |
{ | { | ||
if (z % i == 0) | if (z % i == 0) |