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 povrchu 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