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-19 14:03] – [Aufgabe G4] sca | ef_informatik:programmieren_csharp [2025-11-18 14:55] (aktuell) – [C# in Visual Code] sca | ||
|---|---|---|---|
| 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 21: | 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 27: | 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 (ohne Top-Level Statements): | ||
| + | dotnet new console -n MyFirstApp --use-program-main | ||
| + | cd MyFirstApp | ||
| + | code . | ||
| + | </ | ||
| + | 1. Programm ausführen:< | ||
| + | dotnet run | ||
| + | </ | ||
| + | Falls man Top-Level Statements verwenden möchte, lässt man einfach `--use-program-main` weg. | ||
| + | |||
| + | |||
| + | |||
| + | === 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 494: | 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 509: | 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 544: | 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 747: | Zeile 793: | ||
| 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 `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 `NumberOfChar`, | + | 1. Funktion `NumberOfChar`, |
| - | 1. Funktion `PositionsOfChar`, | + | 1. Funktion `PositionsOfChar`, |
| 1. Funktion `Split`, die einen String bei jedem Vorkommen eines bestimmten Zeichens auftrennt und die Teile in einem Array zurückgibt, | 1. Funktion `Split`, die einen String bei jedem Vorkommen eines bestimmten Zeichens auftrennt und die Teile in einem Array zurückgibt, | ||
| Zeile 861: | Zeile 907: | ||
| </ | </ | ||
| - | < | + | < |
| ++++Aufgaben D| | ++++Aufgaben D| | ||
| Zeile 1120: | 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) | ||
| Zeile 1323: | Zeile 1369: | ||
| // G4 | // G4 | ||
| Console.WriteLine(Length("" | Console.WriteLine(Length("" | ||
| - | Console.WriteLine(NumberOfChar(" | + | Console.WriteLine(NumberOfChar(" |
| - | WriteIntArray(PositionsOfChar(" | + | WriteIntArray(PositionsOfChar(" |
| - | WriteStringArray(Split(" | + | WriteStringArray(Split(" |
| static int Length(string s) | static int Length(string s) | ||