From 775284278d1ebf7325bc8cedd632e3f8dcc376c4 Mon Sep 17 00:00:00 2001 From: Anton Kalcik Date: Thu, 19 Oct 2017 16:29:28 +0200 Subject: [PATCH 1/5] Update links to german documentation Fix typos --- csharp/ZahlenSumme/Readme.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/csharp/ZahlenSumme/Readme.md b/csharp/ZahlenSumme/Readme.md index 3331156..b9b9434 100644 --- a/csharp/ZahlenSumme/Readme.md +++ b/csharp/ZahlenSumme/Readme.md @@ -53,7 +53,7 @@ switch (meinObst) ### Die Algorithmen -Für dein Programm benötigst du noch die verschiedenen Berechnungsalgorithmen. Sie haben alle etwas gemeinsam, das können wir auch in C# ausdrücken. Für dieses Beispiel verwenden wir dazu ein ```interface``` Algorithmus in dem du beschreibst was eine ```class``` anbieten muss um von unserem Hauptprogramm als Algorithmus verwendet werden zu können. +Für dein Programm benötigst du noch die verschiedenen Berechnungsalgorithmen. Sie haben alle etwas gemeinsam, das können wir auch in C# ausdrücken. Für dieses Beispiel verwenden wir dazu ein ```interface``` in dem du beschreibst was eine ```class``` anbieten muss um von unserem Hauptprogramm als Algorithmus verwendet werden zu können. Ein ```interface``` für zweidimensionale geometrische Formen kann zum Beispiel so aussehen: @@ -77,6 +77,6 @@ Du kannst nun ein ```interface``` erzeugen in dem du beschriebst welche Methoden Die Ausgabe des fertigen Programms sieht dann zum Beispiel so aus: ![Konsole](images/Console.png) -[dotnet-cli-tools]: https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x -[dotnet-csharp-enum]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/enum -[dotnet-csharp-interface]: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/interface +[dotnet-cli-tools]: https://docs.microsoft.com/de-de/dotnet/core/tools/?tabs=netcore2x +[dotnet-csharp-enum]: https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/enum +[dotnet-csharp-interface]: https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/interface From c52a4683fe0feea18599567f1d8792fc1b01564a Mon Sep 17 00:00:00 2001 From: Anton Kalcik Date: Thu, 19 Oct 2017 16:40:23 +0200 Subject: [PATCH 2/5] Update to use external console Add neverending loop --- csharp/ZahlenSumme/.vscode/launch.json | 2 +- csharp/ZahlenSumme/src/ZahlenSumme/Program.cs | 55 ++++++++++--------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/csharp/ZahlenSumme/.vscode/launch.json b/csharp/ZahlenSumme/.vscode/launch.json index 4a569e7..6a762a0 100644 --- a/csharp/ZahlenSumme/.vscode/launch.json +++ b/csharp/ZahlenSumme/.vscode/launch.json @@ -14,7 +14,7 @@ "args": [], "cwd": "${workspaceRoot}/src/ZahlenSumme", // For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window - "console": "internalConsole", + "console": "externalTerminal", "stopAtEntry": false, "internalConsoleOptions": "openOnSessionStart" }, diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs b/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs index 25bcc3b..014b2a4 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs @@ -13,40 +13,43 @@ class Program { static void Main(string[] args) { - Console.WriteLine("Welcher Algorithmus?"); - Console.WriteLine(" Schleife ( {0} )", (int)Algorithmus.Schleife); - Console.WriteLine(" Gauss'sche Formel ( {0} )", (int)Algorithmus.Gauss); - Console.WriteLine(" Rekursion ( {0} )", (int)Algorithmus.Rekursion); + while(true) + { + Console.WriteLine("Welcher Algorithmus?"); + Console.WriteLine(" Schleife ( {0} )", (int)Algorithmus.Schleife); + Console.WriteLine(" Gauss'sche Formel ( {0} )", (int)Algorithmus.Gauss); + Console.WriteLine(" Rekursion ( {0} )", (int)Algorithmus.Rekursion); - Console.Write("? "); - Algorithmus algorithmus = (Algorithmus)Convert.ToInt32(Console.ReadLine()); + Console.Write("? "); + Algorithmus algorithmus = (Algorithmus)Convert.ToInt32(Console.ReadLine()); - Console.Write("Zahl: "); - int zahl = Convert.ToInt32(Console.ReadLine()); + Console.Write("Zahl: "); + int zahl = Convert.ToInt32(Console.ReadLine()); - IAlgorithmus algorithm = null; + IAlgorithmus algorithm = null; - // Algorithmus Objekt erzeugen - switch (algorithmus) - { - case Algorithmus.Schleife: - algorithm = new SchleifenAlgorithmus(); - break; + // Algorithmus Objekt erzeugen + switch (algorithmus) + { + case Algorithmus.Schleife: + algorithm = new SchleifenAlgorithmus(); + break; - case Algorithmus.Gauss: - algorithm = new GaussAlgorithmus(); - break; + case Algorithmus.Gauss: + algorithm = new GaussAlgorithmus(); + break; - case Algorithmus.Rekursion: - algorithm = new RecursionAlgorithmus(); - break; - } + case Algorithmus.Rekursion: + algorithm = new RecursionAlgorithmus(); + break; + } - // Berechnung - int summe = algorithm.Summe(zahl); + // Berechnung + int summe = algorithm.Summe(zahl); - // Ausgabe - Console.WriteLine($"Summe der Zahlen bis {zahl} ist {summe}"); + // Ausgabe + Console.WriteLine($"Summe der Zahlen bis {zahl} ist {summe}"); + } } } } From 4c39e951239d678366b183f9a3119d861c022d2d Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Mon, 30 Oct 2017 23:01:57 +0100 Subject: [PATCH 3/5] Added explanation of what is the expected deliverable. --- csharp/ZahlenSumme/Readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/csharp/ZahlenSumme/Readme.md b/csharp/ZahlenSumme/Readme.md index b9b9434..e71c678 100644 --- a/csharp/ZahlenSumme/Readme.md +++ b/csharp/ZahlenSumme/Readme.md @@ -2,6 +2,8 @@ In diesem Beispiel wirst du verschiedene Algorithmen entwickeln mit welchen die Summe von natürlichen Zahlen berechnet werden kann. Dabei wirst du auch einige Konzepte der Programmierung mit C# kennen lernen, wie zum Beispiel _Interfaces_, _Enums_ und _Rekursion_. +Um das Beispiel zu lösen benötigst du ein Hauptprogramm, in dem die Ein- und Ausgabe passiert sowie die weiteren Bestandteile des Projekts miteinander verbunden werden. Außerdem werden noch mehrere Klassen (```class```) für die unterschiedlichen Algorithmen benötigt. Im weiteren skizzieren was diese Bestandteile ausmacht. + ## Neues .NET Core Projekt Zu Beginn lege dir ein neues .NET Core Projekt an. Dazu kannst du in einer Konsole folgende Befehle ausführen. Du kannst in der [Dokumentation der .NET Core CLI Tools][dotnet-cli-tools] nachlesen was die einzelnen Befehle bewirken. From c23961d0d656867fa96f145ff2e4612becc34169 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Tue, 31 Oct 2017 10:01:36 +0100 Subject: [PATCH 4/5] Added note on algorithms. --- csharp/ZahlenSumme/Readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/csharp/ZahlenSumme/Readme.md b/csharp/ZahlenSumme/Readme.md index e71c678..efebea8 100644 --- a/csharp/ZahlenSumme/Readme.md +++ b/csharp/ZahlenSumme/Readme.md @@ -4,6 +4,14 @@ In diesem Beispiel wirst du verschiedene Algorithmen entwickeln mit welchen die Um das Beispiel zu lösen benötigst du ein Hauptprogramm, in dem die Ein- und Ausgabe passiert sowie die weiteren Bestandteile des Projekts miteinander verbunden werden. Außerdem werden noch mehrere Klassen (```class```) für die unterschiedlichen Algorithmen benötigt. Im weiteren skizzieren was diese Bestandteile ausmacht. +--- +**Was ist ein Algorithmus** + +Ein _Algorithmus_ ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. Damit können sie zur Ausführung in einem Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt. + +Quelle: [Wikipedia][wikipedia-algorithmus] +--- + ## Neues .NET Core Projekt Zu Beginn lege dir ein neues .NET Core Projekt an. Dazu kannst du in einer Konsole folgende Befehle ausführen. Du kannst in der [Dokumentation der .NET Core CLI Tools][dotnet-cli-tools] nachlesen was die einzelnen Befehle bewirken. @@ -82,3 +90,4 @@ Die Ausgabe des fertigen Programms sieht dann zum Beispiel so aus: [dotnet-cli-tools]: https://docs.microsoft.com/de-de/dotnet/core/tools/?tabs=netcore2x [dotnet-csharp-enum]: https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/enum [dotnet-csharp-interface]: https://docs.microsoft.com/de-de/dotnet/csharp/language-reference/keywords/interface +[wikipedia-algorithmus]: https://de.wikipedia.org/wiki/Algorithmus \ No newline at end of file From 74dc9a368733a4727f0f90e6cef194f01a37681d Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Sun, 9 Sep 2018 18:55:32 +0200 Subject: [PATCH 5/5] Changed namespace according to project name. --- csharp/ZahlenSumme/src/ZahlenSumme.sln | 28 ++++++++++--------- .../src/ZahlenSumme/GaussAlgorithmus.cs | 2 +- .../src/ZahlenSumme/IAlgorithmus.cs | 2 +- csharp/ZahlenSumme/src/ZahlenSumme/Program.cs | 2 +- .../src/ZahlenSumme/RecursionAlgorithmus.cs | 2 +- .../src/ZahlenSumme/SchleifenAlgorithmus.cs | 2 +- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/csharp/ZahlenSumme/src/ZahlenSumme.sln b/csharp/ZahlenSumme/src/ZahlenSumme.sln index 31655ad..699ab41 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme.sln +++ b/csharp/ZahlenSumme/src/ZahlenSumme.sln @@ -1,9 +1,8 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.26124.0 MinimumVisualStudioVersion = 15.0.26124.0 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ZahlenSumme", "ZahlenSumme\ZahlenSumme.csproj", "{F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ZahlenSumme", "ZahlenSumme\ZahlenSumme.csproj", "{F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -14,21 +13,24 @@ Global Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x64.ActiveCfg = Debug|x64 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x64.Build.0 = Debug|x64 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x86.ActiveCfg = Debug|x86 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x86.Build.0 = Debug|x86 + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x64.ActiveCfg = Debug|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x64.Build.0 = Debug|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x86.ActiveCfg = Debug|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Debug|x86.Build.0 = Debug|Any CPU {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|Any CPU.ActiveCfg = Release|Any CPU {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|Any CPU.Build.0 = Release|Any CPU - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x64.ActiveCfg = Release|x64 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x64.Build.0 = Release|x64 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x86.ActiveCfg = Release|x86 - {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x86.Build.0 = Release|x86 + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x64.ActiveCfg = Release|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x64.Build.0 = Release|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x86.ActiveCfg = Release|Any CPU + {F8C9EA59-CEE1-4C0C-AF14-ABF5505B5DBA}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {CFFF3964-9D59-4B73-992E-84609CF5E2E6} EndGlobalSection EndGlobal diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/GaussAlgorithmus.cs b/csharp/ZahlenSumme/src/ZahlenSumme/GaussAlgorithmus.cs index 4c096fd..4ec9c7e 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/GaussAlgorithmus.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/GaussAlgorithmus.cs @@ -1,4 +1,4 @@ -namespace SumOfNumbers +namespace ZahlenSumme { public class GaussAlgorithmus : IAlgorithmus { diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/IAlgorithmus.cs b/csharp/ZahlenSumme/src/ZahlenSumme/IAlgorithmus.cs index b9ab126..984c1ea 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/IAlgorithmus.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/IAlgorithmus.cs @@ -1,4 +1,4 @@ -namespace SumOfNumbers +namespace ZahlenSumme { interface IAlgorithmus { diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs b/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs index 014b2a4..5272319 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/Program.cs @@ -1,6 +1,6 @@ using System; -namespace SumOfNumbers +namespace ZahlenSumme { enum Algorithmus { diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/RecursionAlgorithmus.cs b/csharp/ZahlenSumme/src/ZahlenSumme/RecursionAlgorithmus.cs index 27c3f6d..3cbb1ad 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/RecursionAlgorithmus.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/RecursionAlgorithmus.cs @@ -1,4 +1,4 @@ -namespace SumOfNumbers +namespace ZahlenSumme { public class RecursionAlgorithmus : IAlgorithmus { diff --git a/csharp/ZahlenSumme/src/ZahlenSumme/SchleifenAlgorithmus.cs b/csharp/ZahlenSumme/src/ZahlenSumme/SchleifenAlgorithmus.cs index 2bf0554..2ee61b5 100644 --- a/csharp/ZahlenSumme/src/ZahlenSumme/SchleifenAlgorithmus.cs +++ b/csharp/ZahlenSumme/src/ZahlenSumme/SchleifenAlgorithmus.cs @@ -1,4 +1,4 @@ -namespace SumOfNumbers +namespace ZahlenSumme { public class SchleifenAlgorithmus : IAlgorithmus {