DODATNI PRIMERI ZA VEŽBU IZ OBLASTI "KLASE I OBJEKTI"
U ovom odeljku su dati primeri zadataka iz oblasti klase i objekti, sa rešenjima. Pokušajte da primere rešite samostalno, a rešenje koristiti za proveru ili koristiti ako posle većeg broja pokušaja i dosta uloženog truda ipak ne uspete samostalno da rešite postavljen zadatak.
Rešenje će se prikazati klikom na dugme pored postavljenog zadatka.
Zadaci su obojeni različitim bojama u zavisnosti od težine:
Rešenje će se prikazati klikom na dugme pored postavljenog zadatka.
Zadaci su obojeni različitim bojama u zavisnosti od težine:
- Zelena- laki zadaci
- Žuta - zadaci srednje težine
- Crvena - teži zadaci
Zadatak 1-Ramovi za slike:Na stolu se nalaze ramovi za slike različitih dimenzija, ali su svi pravougaonog oblika. Program treba na osnovu unete širine i visine rama u milimetrima odredi površinu rama u kvadratnim milimetrima. Zadatak rešiti upotrebom objekata. Ulaz: Korisnik unosi širinu i visinu rama za 2 slike izraženu u milimetrima. Izlaz Na izlazu prikazati površine ramova u kvadratnim milimetrima: Primer Ulaz 456 785 300 400 Izlaz 357960 120000 |
Zadatak 2-Grupa radnika-objekti:Kreirati klasu koja opisuje radnika. Kreirati 2 objekta koji predstavljaju radnike, Uneti im sledeće podatke: ime, prezime, zaradu po satu, broj radnih sati nedeljno. Napisati program koji na osnovu njihovih zarada po satu i broj radnih sati nedeljno izračunava njihovu nedeljnu zaradu.
|
Zadatak 3-Kretanje automobila:Automobil počne da se kreće iz mirovanja stalnim ubrzanjem od a(m/s2).
Kolika je njegova brzina posle vremena t(s) 5s>t>30s Koliki put pređe za ovo vreme. Uneti podatke za dva automobila. Zadatak rešiti upotrebom objekata Ulaz U dve linije standardnog ulaza se redom nalaze ubrzanje a u m/s2, i vreme t u sekundama za prvi automobil. U sledeće dve linije uneti iste podatke za drugi automobil Izlaz Prikazati brzine, kao pređeni put za oba objekta koji predstavljaju automobile Primer Ulaz Ubrzanje auta 1 u [m/s^2]? 2 Vreme kretanja auta 1 u [s]? 20 Ubrzanje auta 1 u [m/s^2]? 3.5 Vreme kretanja auta 2 u [m/s]? 10.25 Izlaz Auto 1{ v=40m/s, s=400m} Auto 2{ v=35.875m/s, s=183.86m} |
Zadatak 7-Trouglovi:
Zadatak 8-Porudžbine u Restoranu:
Zadatak je da se kreira program koji upravlja porudžbinama u restoranu. Porudžbina treba da sadrži informacije kao što su ime gostiju, jelo koje su naručili, i način plaćanja. Potrebno je da se porudžbina automatski potvrdi ako je plaćanje izvršeno unapred ili gotovinom.
Program treba da omogući unos novih porudžbina, ali restoran može primiti najviše deset porudžbina istovremeno. Takođe, treba omogućiti prikaz svih porudžbina, kao i prikaz porudžbina zajedno sa cenom jela. Cena jela može biti umanjena ako je plaćanje izvršeno unapred, uz određeni popust (npr. 15%). Dodatno, potrebno je implementirati funkcionalnost za sortiranje porudžbina po imenu gosta ili po jelu i prikaz rezultata. Program treba da omogući i rukovanje greškama koje mogu nastati, na primer, prilikom pokušaja dodavanja više porudžbina od dozvoljenog u restoran (u ovom primeru je 10). |
Dodatno pojašnjenje:
Zadatak je da se kreira program za upravljanje porudžbinama u restoranu koristeći C#. Program treba da obuhvati sledeće funkcionalnosti:
Zadatak je da se kreira program za upravljanje porudžbinama u restoranu koristeći C#. Program treba da obuhvati sledeće funkcionalnosti:
- Kreiranje Klase Porudzbina:
- Definišite klasu Porudzbina koja treba da sadrži informacije o:
- Ime gosta
- Jelo koje je naručeno
- Način plaćanja (gotovina ili kartica)
- Cena jela
- Način dostave (kurir ili u restoranu)
- Broj porudžbine
- Definišite klasu Porudzbina koja treba da sadrži informacije o:
- Implementacija Interfejsa:
- Definišite interfejs IRestoran sa sledećim metodama:
- DodajPorudzbinu(Porudzbina p): Metoda koja dodaje novu porudžbinu u restoran. Ako broj porudžbina prelazi 10, treba da baci izuzetak sa porukom "Ne primamo više od 10 porudžbina".
- CenaJela(): Metoda koja prikazuje cenu svakog jela sa eventualnim popustom (npr. 10% popusta za gotovinske uplate i dodatak za dostavu kurir).
- PrikaziPorudzbine(): Metoda koja ispisuje sve porudžbine u restoranu.
- Definišite interfejs IRestoran sa sledećim metodama:
- Sortiranje Porudžbina:
- Implementirajte metodu za sortiranje porudžbina po imenu gosta u rastućem redosledu.
- Implementirajte metodu za sortiranje porudžbina po jelu u opadajućem redosledu. Pritom, porudžbine koje su plaćene karticom i čija cena prelazi 3000 dinara treba sortirati u opadajućem redosledu.
- Obrada Izuzetaka:
- Program treba da rukuje izuzetkom koji se baca kada broj porudžbina prelazi dozvoljeni limit (10 porudžbina).
- Treba obraditi sve druge potencijalne greške koje mogu nastati tokom dodavanja porudžbina ili obrade cena.
- Implementacija Klase Restoran:
- Definišite klasu Restoran koja implementira interfejs IRestoran i sadrži:
- Listu porudžbina
- Metode za dodavanje porudžbina, prikaz cena jela, prikaz svih porudžbina, sortiranje porudžbina
- Indekser za pristup porudžbinama po indeksu.
- Definišite klasu Restoran koja implementira interfejs IRestoran i sadrži:
- Glavni Program:
- U glavnom programu, kreirajte instancu klase Restoran, dodajte nekoliko porudžbina, i testirajte sve implementirane metode.
- Demonstrirajte sortiranje porudžbina, ispisivanje cena jela, i rukovanje izuzecima prilikom dodavanja više od dozvoljenog broja porudžbina.