Výpis řady čísel
1. VypisRady
1.2. C# kód
V hlavní statické metodě jsou pomocí jednotlivých výpisů odděleny jednotlivé číselné řady vypsané pomocí volaných metod, jejichž těla obsahují různé typy cyklu - viz Kód 1. Poslední ukázkou je demonstrován špatný přístup, který je založen na kopírování zdrojového kódu, který se opakuje, namísto toho, aby byl vykonáván v těle cyklu.
static void Main(string[] args) { Console.WriteLine("Výpis pomocí cyklu s pevným krokem:"); // Výpis prvních deseti čísel CyklusFor(); Console.WriteLine("Výpis pomocí cyklu s podmínkou na začátku:"); // Výpis druhé desítky čísel CyklusWhile(); Console.WriteLine("Výpis pomocí cyklu s podmínkou na konci:"); // Výpis třetí desítky čísel CyklusDoWhile(); Console.WriteLine("Výpis bez cyklu:"); // Výpis čtvrté desítky čísel BezCyklu(); // Čekání na stisk klávesy -> ukončení programu Console.ReadKey(); }
Kód 1: Program VypisRady - deklarace hlavní statické metody Main
Ve statické metodě bez návratu s názvem CyklusFor jsme pro připojení nového textu (", ") do stávajícího (na začátku prázdného) textu uloženého v proměnné rada, použili složeného přiřazení += (namísto zdlouhavého zápisu rada = rada + ", ";) - viz Kód 2. Operátor složeného přiřazení jsme také použili pro připojení číslice, která představuje aktuální hodnotu čísla v číselné řadě. Konverzi celočíselné hodnoty jsme provedli v tečkové notaci pomocí příkazu ToString. Inkrementace řídící proměnné i cyklu (tzv. čítače) se děje automaticky pro každém proběhnutí iterace.
// Metoda bez návratu - výpis řady čísel pomocí cyklu for static void CyklusFor() { // Deklarace: 'rada' ... řada čísel určených k výpisu oddělených čárkami; 'i' ... řídící proměnná cyklu - čítač (vypisované číslo) string rada; int i; // Inicializace číselné řady (vymazání) rada = ""; // Cyklus s krokem (proběhne 10x) for (i = 1; i <= 10; i++) { // Test, zda již bylo vypsáno první číslo... if (i > 1) { // Přidání čárky za každé číslo rada += ", "; } // Připojení čísla do řady (tj. číselná hodnota uložená v proměnné 'i' konvertovaná na text) rada += i.ToString(); } // Výpis řady číslic oddělených čárkami Console.WriteLine(rada); }
Kód 2: Deklarace statické metody bez návratu s názvem CyklusFor
Oproti předchozí metodě, musíme v metodě CyklusWhile zajistit inkrementaci řídící proměnné i - viz Kód 3. Pro inkrementaci jsme v cyklu využili příkazu i++. Tento operátor zajistí zvýšení hodnoty řídící proměnné o hodnotu 1 před proběhnutím nové iterace.
// Metoda bez návratu - výpis řady čísel pomocí cyklu while static void CyklusWhile() { // Deklarace: 'rada' ... řada čísel určených k výpisu oddělených čárkami; 'i' ... řídící proměnná cyklu - čítač (vypisované číslo) string rada; int i; // Inicializace číselné řady (vymazání) rada = ""; // Inicializace čítače i = 11; // Cyklus s podmínkou na začátku while (i <= 20) { // Test, zda již bylo vypsáno první číslo... if (i > 11) { // Přidání čárky za každé číslo rada += ", "; } // Připojení čísla do řady (tj. číselná hodnota uložená v proměnné 'i' konvertovaná na číslici) rada += i.ToString(); // Inkrementace čítače o 1 i++; } // Výpis řady číslic oddělených čárkami Console.WriteLine(rada); }
Kód 3: Deklarace statické metody bez návratu s názvem CyklusWhile
Následující metoda CyklusDoWhile využívá cyklus s podmínkou na konci. Tato podmínka je testována po proběhnutí příkazů v těle cyklu - viz Kód 4.
// Metoda bez návratu - výpis řady čísel pomocí cyklu do-while static void CyklusDoWhile() { // Deklarace: 'rada' ... řada čísel určených k výpisu oddělených čárkami; 'i' ... řídící proměnná cyklu - čítač (vypisované číslo) string rada; int i; // Inicializace číselné řady (vymazání) rada = ""; // Inicializace čítače i = 21; // Cyklus s podmínkou na začátku do { // Test, zda již bylo vypsáno první číslo... if (i > 21) { // Přidání čárky za každé číslo rada += ", "; } // Připojení čísla do řady (tj. číselná hodnota uložená v proměnné 'i' konvertovaná na číslici) rada += i.ToString(); // Inkrementace čítače o 1 i++; } // Testování řídící podmínky k vykonání další iterace while (i <= 30); // Výpis řady číslic oddělených čárkami Console.WriteLine(rada); }
Kód 4: Deklarace statické metody bez návratu s názvem CyklusDoWhile
V metodě BezCyklu je v prvním přiřazení hodnoty (textu) lokální proměnné rada použito přímého přiřazení číslice (číselné hodnoty uložené v lokální proměnné i). Není tedy zapotřebí inicializovat textovou proměnnou rada prázdným textovým řetězcem - viz Kód 5.
// Metoda bez návratu - výpis řady čísel bez použití cyklu static void BezCyklu() { // Deklarace: 'rada' ... řada čísel určených k výpisu oddělených čárkami; 'i' ... řídící proměnná cyklu - čítač (vypisované číslo) string rada; int i; // Inicializace číselné řady (vymazání) rada = ""; // Inicializace čítače i = 31; // Připojení čísla do řady (tj. číselná hodnota uložená v proměnné 'i' konvertovaná na číslici) rada = i.ToString(); // Inkrementace čítače o 1 i++; rada += ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); i++; rada = rada + ", " + i.ToString(); // Výpis řady číslic oddělených čárkami Console.WriteLine(rada); }
Kód 5: Deklarace statické metody bez návratu s názvem BezCyklu