Povrch a objem koule
Requisitos de finalización
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.

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