1. PovrchObjemKoule

1.3. Výsledný kód

Výsledný kód

Následující zdrojový kód je kompletací předešlých zdrojových kódů programu PovrchObjemKoule, který je umístěn v souboru Program.cs - viz Kód 1.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace PovrchObjemKoule
{
    class Program
    {
        static void Main(string[] args)
        {
            /* Deklarace: 'r' ... poloměr koule (parametr); 's' ... plocha 
             * koule (proměnná); 'v' ... objem koule (proměnná) */
            double r, s, v;
 
            //Výzva k zadání poloměru koule
            Console.Write("Zadejte poloměr koule: ");
            //Načtení poloměru koule (konverze načtených číslic na reálné číslo)
            r = int.Parse(Console.ReadLine());
 
            //Sekce pro výpočet povrchu a objemu koule bez volání podprogramu
            Console.WriteLine("- Výpočet povrchu a objemu koule bez podprogramu -");
            //Výpočet povrchu koule
            s = 4 * Math.PI * r * r;
            //Výpočet objemu koule
            v = (4.0 / 3.0) * Math.PI * r * r * r;
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Sekce pro metody s návratem
            Console.WriteLine("- Metody s návratem -");
            //Volání metody s návratem pro výpočet povrchu koule
            s = PovrchKouleMetodaSNavratem(r);
            //Volání metody s návratem pro výpočet objemu koule
            v = ObjemKouleMetodaSNavratem(r);
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Sekce pro metodu se dvěma návraty
            Console.WriteLine("- Metody s dvěma návraty -");
            //Volání metody se dvěma návraty - návrat povrchu a objemu koule
            (s, v) = PovrchObjemKouleMetodaDvaNavraty(r);
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Sekce pro metody orientované na výraz
            Console.WriteLine("- Metody orientované na výraz -");
            //Volání metody orientované na výraz - povrch koule
            s = PovrchKouleMetodaVyraz(r);
            //Volání metody orientované na výraz - objem koule
            v = ObjemKouleMetodaVyraz(r);
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Sekce pro metodu bez návratu - výpis uvnitř metody
            Console.WriteLine("- Metoda bez návratu -");
            /* Volání metody bez návratu (výpis vypočteného povrchu a objemu
             * koule uvnitř metody */
            PovrchObjemKouleMetodaBezNavratu(r);
 
            //Sekce pro metodu bez návratu - předání parametrů odkazem
            Console.WriteLine("- Metoda bez návratu - předání parametrů odkazem -");
            //Volání metody bez návratu - předání vypočtených parametrů odkazem
            PovrchObjemKoulePredaniOdkazem(r, ref s, ref v);
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Sekce pro metodu bez návratu - výstupní parametry
            Console.WriteLine("- Metoda bez návratu - výstupní parametry -");
            /* Volání metody bez návratu - výstupní parametry - inicializace
             * parametrů (povrchu a objemu koule) je provedeno uvnitř metody */
            PovrchObjemKouleVystupniParametry(r, out s, out v);
            //Výpis vypočteného porvchu a objemu koule
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
 
            //Čekání na stisk klávesy -> ukončení programu
            Console.ReadKey();
        }
 
        //Statická metoda s návratem vypočteného povrchu koule
        //'r' ... poloměr koule (formální parametr předaný hodnotou)
        static double PovrchKouleMetodaSNavratem(double r)
        {
            //Deklarace proměnné: 's' ... povrch koule
            double s;
            //Výpočet povrchu koule (použití konstanty PI ve třídě Math)
            s = 4 * Math.PI * r * r;
            //Návrat vypočteného povrchu 
            return s;
        }
 
        //Statická metoda s návratem vypočteného objemu koule
        //'r' ... poloměr koule (formální parametr předaný hodnotou)
        static double ObjemKouleMetodaSNavratem(double r)
        {
            //Deklarace proměnné: 'v' ... objem koule
            double v;
            //Výpočet objemu koule (použití konstanty PI ve třídě Math)
            v = 4.0 / 3.0 * Math.PI * r * r * r;
            //Návrat vypočteného objemu 
            return v;
        }
 
 
        //Statická metoda s dvěma návraty - povrch a objem koule
        static (double, double) PovrchObjemKouleMetodaDvaNavraty(double r)
        {
            //Deklarace proměnných: 's' ... povrch koule, 'v' ... objem koule
            double s, v;
            //Výpočet povrchu koule (použití konstanty PI ve třídě Math)
            s = 4 * Math.PI * r * r;
            //Výpočet objemu koule (použití konstanty PI ve třídě Math)
            v = (4.0 / 3.0) * Math.PI * r * r * r;
            //Návrat hodnot uložených ve dvou proměnných
            return (s, v);
        }
 
 
        //Statická metoda orientovaná na výraz pro výpočet povrchu koule
        static double PovrchKouleMetodaVyraz(double r) => 4 * Math.PI * r * r;
 
        //Statická metoda orientovaná na výraz pro výpočet objemu koule
        static double ObjemKouleMetodaVyraz(double r) => 4.0 / 3.0 * Math.PI * r * r * r; 
 
 
        //Statická metoda bez návratu - vypočtení povrchu a objemu koule a výpis jejich hodnot
        //'r' ... poloměr koule (formální parametr předaný hodnotou)
        static void PovrchObjemKouleMetodaBezNavratu(double r)
        {
            //Deklarace proměnných: 's' ... povrch koule, 'v' ... objem koule
            double s, v;
            //Výpočet povrchu koule (použití konstanty PI ve třídě Math)
            s = 4 * Math.PI * r * r;
            //Výpočet objemu koule (použití konstanty PI ve třídě Math)
            v = 4.0 / 3.0 * Math.PI * r * r * r;
            //Výpis vypočteného porvchu a objemu koule uložených v lokálních proměnných
            Console.WriteLine("Povrch koule je: {0} a objem koule je: {1} ", s, v);
        }
 
        /* Statická metoda bez návratu - předání parametrů odkazem, tj. vypočteného povrchu
         * a objemu koule */
        /* Deklarace parametrů: 'r' ... poloměr koule (formální parametr předaný hodnotou); 
         * 's' ... povrch koule (formální parametr předaný odkazem); 'v' ... objem koule 
         * (formální parametr předaný odkazem) */
        static void PovrchObjemKoulePredaniOdkazem(double r, ref double s, ref double v)
        {
            //Výpočet povrchu koule
            s = 4 * Math.PI * r * r;
            //Výpočet objemu koule
            v = 4.0 / 3.0 * Math.PI * r * r * r;
        }
 
        /* Statická metoda bez návratu - výstupní parametry, tj. vypočtený povrch a objem
         * koule */
        /* Deklarace parametrů: 'r' ... poloměr koule (formální parametr předaný hodnotou); 
         * 's' ... povrch koule (výstupní formální parametr); 'v' ... objem koule (výstupní 
         * formální parametr) */
        static void PovrchObjemKouleVystupniParametry(double r, out double s, out double v)
        {
            //Výpočet povrchu koule - inicializace výstupního parametru
            s = 4 * Math.PI * r * r;
            //Výpočet objemu koule - inicializace výstupního parametru
            v = (4.0 / 3.0) * Math.PI * r * r * r;
        }                                   
    }
}

Kód 1: Program PovrchObjemKoule - deklarace hlavní statické metody Main včetně deklarací dalších metod

Výstup programu

Na následujícím výstupu programu vidíme výpis vypočtených hodnot povrchu a objemu koule pro zadaný poloměr - viz Výstup programu - Kód 1. Jednotlivé výpisy jsou rozděleny do různých sekcí, abychom věděli, která metoda byla pro výpočet použita. Po provedení výpisu konzolová aplikace čeká na stisk klávesy, aby se po stisku mohla následně ukončit. 

Ukázka výpisu hodnot v hlavní metodě programu PovrchObjemKoule

Výstup programu - Kód 1: Ukázka výpisu hodnot v hlavní metodě programu PovrchObjemKoule