Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované programování v C# ČÍSLO PROJEKTU:CZ.1.07/1.5.00/
2
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu. class Auto
{ private static double cena = 0; public string znacka; private double spotreba = 0; public Auto(string jakaZnacka) { znacka = jakaZnacka; } public void setSpotreba() { Console.WriteLine("Napiš spotřebu v litrech na 100 km."); double pomSpotreba = double.Parse(Console.ReadLine()); if (pomSpotreba<5) spotreba = 5; else spotreba = pomSpotreba; } Vytvořte Třídu Auto, která má proměnné instance - znacka a spotreba. Dále vytvořte proměnou třídy cena, do které budeme zapisovat aktuální cenu bezínu. Konstruktor bude mít parametr znacka. Vytvořte getter a setter pro hodnoty ceny a spotřeby. Cena benzínu musí být z intervalu Pokud je zadaná hodnota mimo tento interval, vypíše se uživateli upozornění a hodnota se nezmění. Spotřeba nesmí být menší než 5 litrů na 100 km.Pokud uživatel zadá menší spotřebu, zapíše se hodnota 5. Vytvořte metodu cenaCesty pro výpočet ceny jízdy na určitou vzdálenost. Vzdálenost bude parametrem metody. Vytvořte dvě instance třídy s názvy male a velke. Male bude značky Audi a velke BMW. Nastavte cenu benzínu na 28,50. Pro obě auta vypočítejte kolik bude stát palivo na cestu dlouhou 256 km. Výpisy upravte podle předlohy. public double getSpotreba() { return spotreba; }
3
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
public static void setCena() { Console.WriteLine("Napiš cenu 1 litru benzínu v korunách."); double pomCena = double.Parse(Console.ReadLine()); if (pomCena < 25 || pomCena > 35) Console.WriteLine("Zadaná cena je mimo interval Kč."); else cena = pomCena; } public static double getCena(){ return cena; } public double cenaCesty(int km){ double pomCena = km/100 * spotreba *cena; return pomCena; }
4
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
public static void setCena() { Console.WriteLine("Napiš cenu 1 litru benzínu v korunách."); double pomCena = double.Parse(Console.ReadLine()); if (pomCena < 25 || pomCena > 35) Console.WriteLine("Zadaná cena je mimo interval Kč."); else cena = pomCena; } public static double getCena(){ return cena; } public double cenaCesty(int km){ double pomCena = km/100 * spotreba *cena; return pomCena; }
5
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu. class Auto
{ private static double cena = 0; public string znacka; private double spotreba = 0; 1. Které proměnné jsou společné pro všechny instance? Proměnná cena – obsahuje klíčové slovo static. public Auto(string jakaZnacka) { znacka = jakaZnacka; } 2. Jak se liší konstruktor od ostatních metod a jaká je jeho funkce? Je vždy veřejný (public) , jeho název je stejný jako název třídy a nemá typ návratové metody .
6
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
public void setSpotreba() { Console.WriteLine("Napiš spotřebu v litrech na 100 km."); double pomSpotreba = double.Parse(Console.ReadLine()); if (pomSpotreba<5) spotreba = 5; else spotreba = pomSpotreba; } public double getSpotreba() { return spotreba; } 3. Proč se metody nazývají getter a setter a k čemu slouží? Jsou to speciální metody pro nastavení hodnot soukromých proměnných – set nebo získání jejich hodnot v hlavním programu - get. 4. Co zajišťuje metoda Parse? Můžete tuto metodu používat i u jiného typu než double? Převádí data z typu string na double. Setkali jsme se s převodem na typ integer.
7
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
public static void setCena() { Console.WriteLine("Napiš cenu 1 litru benzínu v korunách."); double pomCena = double.Parse(Console.ReadLine()); if (pomCena < 25 || pomCena > 35) Console.WriteLine("Zadaná cena je mimo interval Kč."); else cena = pomCena; } 5. V kterých případech je splněna podmínka (pomCena < 25 || pomCena > 35)? Pokud je podmínka splněna, změní se hodnota v proměnné cena? Je-li zadávaná hodnota menší než 25 nebo naopak větší než 35. Hodnota se nezmění jen se uživateli vypíše informativní hlášení. 6. V kterých případech je splněna podmínka (pomCena > 25 && pomCena < 35)? Je-li zadávaná hodnota z intervalu
8
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
public static double getCena(){ return cena; } 7. Jaká je návratová hodnota této metody? Jak se metoda bude používat v hlavním programu? Výsledkem metody je desetinné číslo. Může se přiřadit do proměnné typu double nebo vypsat na konzoli. public double cenaCesty(int km){ double pomCena = km/100 * spotreba *cena; } 8. Co v této metodě chybí a proč? return pomCena; Metody s návratovou hodnotou jiného typu než void musí obsahovat příkaz s klíčovým slovem return.
9
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu.
namespace Cviceni2{ class Program{ static void Main(string[] args) { Auto male = new Auto("Audi"); Auto velke = new Auto("BMW"); Auto.setCena(); int delka = 256; Console.Write("Auto " + male.znacka + ". "); male.setSpotreba(); double zaloha = male.cenaCesty(delka); Console.WriteLine("Spotřeba na 100 km je {0} litrů. ",male.getSpotreba()); Console.WriteLine("Na cestu dlouhou {0} km potřebujete zálohu {1} korun.", delka, zaloha); Vytvořte Třídu Auto, která má proměnné instance - znacka a spotreba. Dále vytvořte proměnou třídy cena, do které budeme zapisovat aktuální cenu bezínu. Konstruktor bude mít parametr znacka. Vytvořte getter a setter pro hodnoty ceny a spotřeby. Cena benzínu musí být z intervalu Pokud je zadaná hodnota mimo tento interval, vypíše se uživateli upozornění a hodnota se nezmění. Spotřeba nesmí být menší než 5 litrů na 100 km.Pokud uživatel zadá menší spotřebu, zapíše se hodnota 5. Vytvořte metodu cenaCesty pro výpočet ceny jízdy na určitou vzdálenost. Vzdálenost bude parametrem metody. Vytvořte dvě instance třídy s názvy male a velke. Male bude značky Audi a velke BMW. Nastavte cenu benzínu na 28,50. Pro obě auta vypočítejte kolik bude stát palivo na cestu dlouhou 256 km. Výpisy upravte podle předlohy. Console.Write("\n Auto " + velke.znacka + ". "); velke.setSpotreba(); zaloha = velke.cenaCesty(delka); Console.WriteLine("Spotřeba na 100 km je {0} litrů. ", velke.getSpotreba()); Console.WriteLine("Na cestu dlouhou {0} km potřebujete zálohu {1} korun.", delka, zaloha); } // konec Main } // konec class } // konec namespace
10
Cvičení 2 C# Výpočty v metodách instancí. Větvení programu
Anotace a cíl: žáci používají proměnnou třídy a instance. Používají privátní proměnné, jejich settery a gettery Předpokládaný čas: 45 minut Autor celého textu : Ing. Adéla Tomalová
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.