Zadanie problémovej úlohy.

 

Program na výpočet odporu pri paralelnom a sériovom zapojení rezistorov

Vytvorte program, ktorý bude obsahovať tri metódy.

Metódy budú spúšťane z menu, ktoré zrealizujete pomocou switch case príkazu

Menu bude obsahovať možnosti:

  • paralelne zapojenie dvoch rezistorov,
  • sériové zapojenie dvoch rezistorov,
  • o programe,
  • koniec
  1. V menu programu bude možné voliť výpočet paralelného a sériového zapojenia dvoch rezistorov, realizované to bude dvomi metódami. Consola si vypýta hodnoty dvoch rezistorov a vypíše na konzolu výsledný odpor. Výpočty je potrebné ošetriť, aby nemohli byt zadane záporné hodnoty, a o možnosť delenia s nulou. Ošetrenie môžete doladiť neskôr.
  2. metóda O programe – bude informovať o funkciách programu, a o programátorovi
  3. akákoľvek metóda po ukončení sa bude vracať do menu.
  4. Je to potrebné ošetriť pomocou cyklu s podmienkou na konci.
  5. Takisto aj ukončenie programu je potrebné ošetriť otázkou ci chcete ukončiť program.

Budete pracovať vo dvojici, stým, že si rozdelíte úlohy, kto za čo bude zodpovedný, musíte medzi sebou konzultovať, prehodnocovať úlohy.

Navrhujem, že jeden z dvojice by mohol naprogramovať metódy, čiže podprogram na výpočet paralelného a sériového zapojenia a metódu o programe. Druhý programátor by mohol pripraviť menu a korektne ukončenie celého programu. A následne spoločne vložiť metódy do programu a overiť funkčnosť a odladenie celkovej aplikácie. Na záver dvojhodinovky je potrebne zhrnúť a zhodnotiť spoluprácu, program nemusí byť nevyhnutne dokončený, stačí zhodnotiť čo sa stihlo čo sa podarilo a na čom je potrebne ešte pracovať. Zhodnoťte svoj prínos pri spolupráci na problémovej úlohe a tiež pomenujte silné stránky svojho kolegu, prípadne ho povzbuďte k väčšej pracovitosti a k vyšším cieľom.

Update

Menu:

  • Zapojenie rezistorov
    • paralelne zapojenie dvoch rezistorov,
    • sériové zapojenie dvoch rezistorov,
  • Zapojenie kondenzátorov
    • paralelne zapojenie dvoch kondenzátorov
    • sériové zapojenie dvoch kondenzátorov
  • o programe,
  • koniec

Pracovný list: Súbory

16

Rozšírte riešenie cvičenie 1 v solution Subory nasledujúcim spôsobom. Program vyzve užívateľa, aby zadal cesty k súborom so vstupnými dátami a s týmito bude program pracovať. Zároveň sa po výpise na konzolu užívateľa spýta, či chce tento výpis zapísať aj do súboru. Pokiaľ áno, tak sa spýta na cestu, kam má byť súbor s výpisom uložený a následne ho vytvorí na danom umiestnení.

17

Doplňte riešenie cvičenia 2 zo solution OOP2 tak, aby si program svoje dáta o prihláškach ukladal do súboru a po opätovnom spustení načíta dáta, ktoré predtým užívateľ vytvoril. Pokiaľ mate naprogramovanú úlohu 14 z OOP2, tak môžete rozšíriť tento program.

18

Predstavte si , že sa vo firme hral amatérsky biliardový turnaj. Pravidlá boli skutočne triviálne. Každý hráč odohral hru s každým hráčom. Hralo sa na dve víťazné hry, výsledky teda mohli byť 0:2, 1:2, 2:0, 2:1. Máte k dispozícii dáta o výsledkoch hry v súbore, kde na každom riadku je výsledok z jedného zápasu. Vašou úlohou je napísať program, ktorý vypíše na konzolu meno zamestnanca, ktorý mal najviac víťazných hier a zamestnanca, ktorý prehral najviac stretnutí. V prípade, že dvaja zamestnanci budú mať rovnako výhier alebo prehier, tak vypíše ľubovoľného z nich. Vstupné dáta by mohli vyzerať nasledujúcim spôsobom:

Pavol Novak;Karol Prechadzka;2:1
Jana Mlada;Richard Neubert;2:0
Pavol Novak;Jana Mlada;1:2
Pavol Novak;Richard Neubert;2:0
Jana Mlada;Karol Prechadzka;2:1
Richard Neubert;Karol Prechadzka;0:2

V tomto prípade by bola víťazkou Jana s naväčším počtom výhier (3) a najmenší počet výhier by mal Richard, pretože vyhral 0 hier.

Pracovný list: OOP 2

13

Vyberte si ľubovoľnú oblasť zo svojho okolia, ktorú dobre poznáte a pokúste sa pre ňu navrhnúť štruktúru tried podobne ako je to vyriešené v riešenom cvičení 12. v solution Kapitola – OOP2

14

Doplňte program z riešeného cvičenia 13. v solution Kapitola – OOP2 o nasledujúcu funkčnosť. Zamestnanec bude mat možnosť vyhľadať podľa kódu prihlášku a zadať počet bodov, ktoré študent získal z prijímacieho konania. Tým budeme v podstate mat dva stavy prihlášiek. Prvá je, že prihláška je vytvorená, ale študent zatiaľ nemá zapísané body. Druhy stav bude, že ma pridelene študent body z prijímacieho konania. Program umožní vo výpise prihlášok podľa oboru zvoliť, či chce užívateľ vypísať úplne všetky prihlášky alebo len prijate prihlášky alebo len prihlášky, ktoré majú vyplnene bodové hodnotenie.

15

Zopakujte si prácu s kolekciami List a Directory. Vytvorte si jednoduché programy podľa seba, na ktorých si precvičíte metódy a cykly pre prácu s kolekciami.

Pracovný list: OOP 1

10

Doplňte program na simuláciu zoo o možnosť evidovať zamestnancov zoo. U zamestnancov evidujte meno, priezvisko, dátum narodenia, plat a názov pracovnej pozície. Možnosti evidencie budú obdobné ako pri evidencii zvierat:

    • Pridať nového zamestnanca do evidencie
    • Vypísať zoznam evidovaných zamestnancov
    • Upraviť údaje o vybranom zamestnancovi
    • Zmazať vybraného zamestnanca z evidencie

Zároveň upravte hlavné menu aplikácie tak, aby užívateľ najskôr zvolil, či chce vykonávať operácie v evidencii zvierat alebo v evidencii zamestnancov. Vytvorte teda dvojúrovňové menu.

11

Doplňte program na simuláciu zoo o možnosť vyhľadania zvierat podľa názvu. Vyhľadávanie bude prebiehať tak, že užívateľ zadá ľubovoľný reťazec a program vypíše všetky zvieratá, ktoré vo svojom názve obsahuje hľadaný reťazec. Použite metódu na triede String, ktorá vracia informáciu, či daný reťazec obsahuje hľadaný podreťazec.

12

Doplnte program na simuláciu zoo o možnosť vypísať si súhrnné štatistiky:

    • Celkový počet zvierat v evidencii
    • Celkový počet zamestnacov v evidencii
    • Súčet miezd všetkých zamestnancov v zoo

Súbory

  1. Pomocou akej triedy môžeme čítať a pomocou akej triedy môžeme zapisovať do textového súboru?
  2. Pomocou akej metódy sa zavrie súbor pre čítanie alebo zápis?
  3. Akým spôsobom je vhodné použiť bloky try – catch – finally v kontexte práce so súbormi?
  4. Ako budete postupovať, pokiaľ si dáta programu (zoznam študentov) budete chcieť uložiť do textového súboru a následne ich znovu pomocou programu jednoducho načítať?
  5. Pomocou akej metódy zistíte, či existuje súbor na danom mieste?

Objektovo orientované programovanie – OOP2

  1. Čo to znamená, keď povieme, že trieda A dedí z triedy B?
  2. K čomu slúži modifikátor prístupu protected?
  3. Ako sa volá trieda, ktorá je všeobecným predkom všetkých výnimiek?
  4. Ako sa volajú tri bloky, ktoré sa v súvislosti s výnimkami používajú?
  5. Čím sa líšia metódy, vlastnosti a premenné, ktoré sú označené ako statické?
  6. Ako funguje kolekcia typu Dictionary?

Metódy

  1. Popíšte čo je to metóda.
  2. Ako môžete metóde podávať informácie, ktoré pri svojej činnosti použije? Napr. Metoda pre súčet dvoch čísiel bude potrebovať ako svoj vstup práve dve čísla.
  3. Akým spôsobom z metódy vrátite hodnotu?
  4. Aký dátový typ použijete, pokiaľ budete chcieť pracovať s dátumom a časom?
  5. Ako z premennej typu DateTime získate len dátum (rok, mesiac a deň )?
  6. Ako získate aktuálny dátum a čas? Akým spôsobom vytvoríte konkrétny dátum?