23.09.2008
- Exercițiile extraordinare sunt joi 13.30 în P7.
- Condițiile pentru credit sunt date în prima prezentare.
- Fiecare student trebuie să participe la un singur exercițiu practic și la un exercițiu teoretic
exerciții pe calculator
- Luni, 7.20, P3
- Vineri, 9.00, P3
- exercițiu vineri la ora 14.00 anulat din cauza lipsei de interes.
condiții pentru credit
- participarea la exerciții practice (20%)
- teme (o dată pentru două exerciții) (30%)
- proiect final (30%)
- test după practica eredității (20%)
Exercițiul 1 (17 septembrie 2008)
Introducere în Java. Clase și obiecte. Obiectele au stare (variabile de instanță) și comportament (metode).
Exercițiul 2 (1 octombrie 2008)
Variabile de instanță privată. Gettery și settery. Metode supraîncărcate. Constructori. Câmpuri și liste. ToString (), equals () și metode hashCode () .
Exercițiul 3 (8 octombrie 2008)
Reprezentarea datelor. Referințe, nul. Pachete. Excepții.
Exercițiul 4 (15 octombrie 2008)
Compoziție și ereditate. Moșteniri și metode de suprapunere. Polimorfism pe exemplu. Clase și metode abstracte.
Exercițiul 5 (22 octombrie 2008)
Modificatori de vizibilitate. Moștenirea variabilelor de instanță. Moștenirea constructorilor. Reescriere. Excepții II. Prezentare
Exercițiul 6 (29 octombrie 2008)
Excepții III. Excepții în timpul rulării. Aruncând excepții. Prezentare
Exercițiul 7 (5 noiembrie 2008)
Excepții IV - moștenire în excepții și excepții în moștenire. Interfejsy. Metode și variabile statice. Prezentare
Exercițiul 8 (12 noiembrie 2008)
Exercițiul 9 (21 noiembrie 2008)
Exercițiul 10 (28 noiembrie 2008)
Interfețe grafice de utilizator în Swing 2 - manageri de layout. % roșu% Conține, de asemenea, diapozitive care nu au fost la curs. Prezentare Prezentare PDF
Exercițiul 11 (10 decembrie 2008)
Exercițiul 1 (29 septembrie 2008)
Un om de știință nebun face diferite experimente pe pești în laboratorul său. A cumpărat mai multe acvarii, în care a folosit un tip de pește. Există un experiment separat în fiecare acvariu (iradiere cu radiații de pe un monitor CRT, permițându-i lui MC Erik și Barbara sau Immortal, hrănind mâncăruri de tip fast-food ...). Următoarele lucruri se pot întâmpla după încheierea experimentului:
- experimentul a avut succes, peștele s-a înmulțit de două ori
- experimentul nu a avut succes, jumătate din populație a dispărut
- experimentul nu a avut niciun efect asupra populației, nu s-a întâmplat nimic. Experimentele au loc în runde. Omul de știință nebun va efectua un experiment pe fiecare acvariu și le va evalua după finalizarea experimentelor pe acvarii. Apoi, el efectuează un alt experiment.
În plus, se ia în considerare capacitatea acvariului. Dacă rămâne un singur pește în acvariu, populația va dispărea. Dacă numărul de pești depășește capacitatea acvariului, populația va scădea la un sfert.
Proiectați un model de obiect adecvat și implementați clase adecvate care vor corespunde acestui sistem informațional - adică vor simula un experiment pe mai multe acvarii.
Exercițiul 2 (6 octombrie 2008)
În loc de pești abstracte, care sunt reprezentați în acvariu prin număr, dorim să înregistrăm indivizi specifici. Schimbați acvariul, astfel încât să putem vedea pești specifici în el. De asemenea, schimbați experimentele pentru a reduce/crește populația de pești.
- Creați o clasă de pește cu o greutate, dimensiune, specie și identificator.
- Creați o metodă de alimentare () care modifică aleatoriu greutatea și dimensiunea unei persoane. Greutatea poate fi mărită cu o valoare între zero și jumătate din greutatea inițială. Dimensiunea poate fi mărită cu o valoare cuprinsă între zero și un sfert din dimensiunea inițială.
- Păstrați persoanele în acvariu în ArrayList. Lăsați experimentele să arunce peștele din listă sau să îl adăugați pe listă.
- Adăugați un constructor la clasa Rybicka care setează tipul de pește și stabilește alte valori automat (nume) sau aleatoriu (greutate și dimensiune).
- Îmbunătățiți experimentul astfel încât, atunci când creați noi indivizi, să identifice aleatoriu doi care vor fi părinții noii persoane. (Lăsați speciile de pești să fie create din numele speciilor părinților săi.) Asigurați-vă că peștele își poate aminti părinții.
Trimiteți sarcina într-un fișier ZIP numit name2 (exemplu: novotnyr2-zip) până duminică 12 iunie prin e-mail.
Exercițiul 3 (13 octombrie 2008)
Programați un simulator de mașină Turing.
Mașina Turing este, liber vorbind, un model teoretic al unui computer care vă permite să simulați funcționarea oricărui algoritm. Există mai multe variante ale modelului, dar vom folosi următoarele: Mașina Turing constă din
- o bandă nesfârșită care este împărțită în cutii. Banda este infinită unidirecțional, deci are un început și o lungime infinită. Fiecare câmp poate avea 0 sau 1.
- cap care se deplasează peste bandă. În orice moment, capul se află deasupra unui câmp de bandă. Capul poate citi o valoare dintr-un câmp și îi poate scrie o nouă valoare.
Mașina Turing poate fi într-una dintre stările importante în programarea sa. Programul pentru mașina Turing este un set de instrucțiuni, care sunt sub următoarea formă:
Instrucțiunea înseamnă că, dacă mașina Turing se află în starea dată și capul este pe câmp cu simbolul citit, ar trebui mai întâi să scrie un nou simbol pe câmp și apoi să mute capul fie la stânga, fie la dreapta în câmpul următor.
Un exemplu de instrucțiune este q_0 0 1 q_1 R. Aceasta înseamnă că, dacă mașina Turing este în starea q_0 și capul citește simbolul 0, ar trebui să scrie simbolul 1 în câmp, să meargă la starea q_1 și să se deplaseze spre dreapta = dreapta, dreapta).
Un exemplu de instrucțiuni pentru o mașină Turing care produce zerouri și unități (până la infinit) pe bandă alternativ este:
O astfel de mașină Turing nu se va opri. La început, se află în starea q_0, citește 0 din bandă, scrie 1 și își mută capul spre dreapta și trece la starea q_1. În pasul următor, citește 0, scrie 1, mută capul spre dreapta și trece la starea q_0. Stările q_0 și q_1 alternează între ele (în starea q_0 scriem unități și în starea q_0 scriem 0). Rețineți că instrucțiunile nu sunt executate de sus în jos, ca într-un program Java clasic, ci pe baza stării mașinii Turing.
Un alt exemplu de mașină Turing este o mașină care scrie trei unități pe bandă:
La terminare, mașina Turing rămâne în starea q_3.
În simulator, reprezentați stările cu numere, 0 și 1 pot fi reprezentate printr-un boolean. Capul se poate deplasa doar spre dreapta și spre stânga, care poate fi reprezentat și de un boolean.
Pentru simplitate, pentru moment, luați în considerare doar acele seturi de instrucțiuni care sunt garantate că se vor opri (adică nu vor intra pe bandă la nesfârșit sau nu vor „călca” pe loc).
- Temele cu aparatul Turing trebuie trimise până pe 25 octombrie 2008.
Exercițiul 4 (20 octombrie 2008)
Reveniți la acvariu din exercițiul anterior. Implementarea de referință a proiectului este aici.
În acvariu vrem să înregistrăm nu numai peștii mici, ci și alte animale speciale.
- Peștii carnivori se caracterizează prin faptul că cresc cu cel puțin jumătate din greutatea lor și cel mult dublează greutatea lor la fiecare hrănire. De asemenea, își va mări lungimea cu cel puțin jumătate din lungimea sa și cu maximum o dată lungimea sa. În plus, peștele carnivor va mânca jumătate din locuitorii acvariului atunci când este hrănit.
- acceleratorul de creștere adăugat în acvariu va face ca experimentul să provoace întotdeauna o creștere a populației.
În plus, asigurați-vă că populația acvariului este încărcată dintr-un fișier text.
Exercițiul 5 (27 octombrie 2008)
Finalizați sarcina anterioară. Temele trebuie trimise prin e-mail.
Exercițiul 6 (4 noiembrie 2008)
Vrem să adăugăm diverse jucării ornamentale în acvariu - pietre, plante, un turn de plastic ... Lucrurile ornamentale nu au niciun efect asupra experimentelor, ci ocupă doar spațiu. Exemplu: aragazul ocupă spațiu pentru 2 pești. Oferiți suport pentru obiecte ornamentale pentru acvariu.
Încărcați obiecte decorative dintr-un fișier.
Manipulați cu excepție excepțiile de-a lungul proiectului. Până în prezent, condițiile de eroare au fost listate într-un bloc de blocare de pe consolă. Gândiți-vă și refaceți tratarea erorilor.
Exercițiul 7 (10 noiembrie 2008)
Vrem să realizăm diferite statistici despre peștii de acvariu după finalizarea experimentului: listați peștii în funcție de greutate, în funcție de indicele de masă corporală, dimensiune etc. De asemenea, vrem să găsim cel mai mare și cel mai mic pește. Oferiți asistență pentru această funcționalitate.
Să ne întoarcem la mașina Turing. Elaborați o manipulare rezonabilă a excepțiilor pe mașina Turing și oferiți asistență pentru programele care nu se opresc sau nu le călcă pe loc.
Exercițiul 8 (24 noiembrie 2008)
Interfață grafică pentru utilizator. Descărcați scheletul componentelor GUI: Tester.
Formularul are în prezent un panou (JPanel) și două butoane (JButton): pentru încărcare și pentru pasul experimentului.
Completați următoarele funcționalități:
- butonul de încărcare încarcă un set de pești din fișier atunci când este apăsat (încărcarea ar trebui făcută). Pentru fiecare pește, creează un buton J în panou într-o poziție aleatorie. Asigurați-vă că butoanele sunt vizibile. Panoul măsoară 625 x 400 pixeli.
- butonul pas lansează un pas al experimentului. Apoi reglați numărul de butoane: dacă sunt mai mulți pești, adăugați butoane. Dacă peștele a dispărut, scoateți butoanele corespunzătoare.
după ce faceți clic pe butonul corespunzător peștilor, afișați informații scurte despre acesta (nume, părinți, înălțime, greutate). Pentru a face acest lucru, utilizați caseta de dialog pentru mesaje într-un mod similar pentru:
Trimiteți soluția prin e-mail până pe 7 decembrie 2008.
Exercițiul 1 (1 octombrie 2008)
Un algebraist vrea să citească matrici dintr-un fișier text și vrea să fie capabil să le scrie pe o consolă și să le scrie într-un fișier. În plus, dorește să le poată adăuga și înmulți.
Creați clase și metode adecvate.
Lucrul cu metodele de intrare-ieșire este un articol separat.
Exercițiul 2 (9 octombrie 2008)
Compania Prachy s.r.o. dorește să câștige pe mașini de curs valutar folosind internetul. Scopul lor este de a monitoriza cursurile de schimb ale mai multor bănci în fiecare zi și de a afla cursul de schimb cel mai avantajos pentru fiecare monedă de vânzare și cumpărare de schimb valutar.
Creați un sistem informațional care ocolește cursurile de schimb ale băncilor și găsește cel mai mic preț de vânzare și cel mai mare preț de achiziție pentru fiecare monedă. Ratele de schimb pot fi găsite fie pe internet, fie pot fi descărcate dintr-un fișier.
La început, presupunem o singură bancă, Banca Națională a Slovaciei, ale cărei pericole de curs valutar sunt la http://www.nbs.sk/KL/KLSL2008/KL081009.SDF.
Creați un sistem de informații care acceptă recuperarea biletelor din diferite surse în diferite formate și vă permite să urmăriți evoluția cursului în timp.
Exercițiu (20 noiembrie 2008)
Completați interfața grafică bazată pe scheletul aplicației. Asigurați-vă că datele sunt citite de la cititor.