Diskuze: Iterace 02
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Vždyť to počítáš jenom s jedním bodem
Ten druhý bod je přece ten point
co tam máš jako parametr té funkce, k jeho souřadnicím přistoupíš ve
funkci distance pomocí
point.getX();
point.getY();
takže celý ten výpočet vzdálenosti by měl vypadat nějak takto:
dist = Math.sqrt((Math.pow(point.getX()-this.getX(),2) + (point.getY()-this.getY(),2))
(nezkoušel jsem to, tak je možné že tam mám chaos v závorkách, ale myslím, že pro pochopení to stačí)
Díky moc. Už mi to funguje. Ale sekl jsem se dál -.-
package cz*;
/**
*
* @author Tomas Bednar
*/
public class Triangle {
private final Vertex2D a;
private final Vertex2D b;
private final Vertex2D c;
private boolean divide = false;
private Triangle subA = null;
private Triangle subB = null;
private Triangle subC = null;
/**
* Set vertices triangle
* @param a side a
* @param b side b
* @param c side c
*/
public Triangle(Vertex2D a, Vertex2D b, Vertex2D c) {
this.a = a;
this.b = b;
this.c = c;
}
/**
* Check if triangle was divided to sub triangle
* @return If triangle was divided then return true else false
*/
public boolean isDivided() {
return(divide);
}
/**
* Check the number i and if was divided, then return tuple of sub triagle
* @param i number of sub triangle (0 - 2)
* @return sub triangle
*/
public Triangle getSubTriangle(int i) {
if(isDivided()){
switch(i) {
case 0: return subA;
case 1: return subB;
case 2: return subC;
default: return null;
}
}
return null;
}
/**
* From big triangle count three sub triangles and sets them vertices
* @return true or false depend if triangle was divided to sub triangle
*/
public boolean divide() {
if(isDivided()) {
return false;
} else {
Vertex2D middleOfAB = new Vertex2D(((a.getX() + b.getX()) / 2), ((a.getY() + b.getY()) / 2));
Vertex2D middleOfAC = new Vertex2D(((a.getX() + c.getX()) / 2), ((a.getY() + c.getY()) / 2));
Vertex2D middleOfBC = new Vertex2D(((b.getX() + c.getX()) / 2), ((b.getY() + c.getY()) / 2));
subA = new Triangle(a, middleOfAB, middleOfAC);
subB = new Triangle(middleOfAB, b, middleOfBC);
subC = new Triangle(middleOfAC, middleOfBC, c);
divide = true;
return true;
}
}
public Vertex2D getVertexA() {
return a;
}
public Vertex2D getVertexB() {
return b;
}
public Vertex2D getVertexC() {
return c;
}
/**
* Check if triangle is equilateral
* @return true if is equilateral or false
*/
public boolean isEquilateral() {
double pointA;
double pointB;
double pointC;
pointA = a.getX() + a.getY();
pointB = b.getX() + b.getY();
pointC = c.getX() + c.getY();
if(Math.abs(pointA - pointB) < 0.001 && Math.abs(pointA - pointC) < 0.001 && Math.abs(pointB - pointC) < 0.001) {
return true;
}
return false;
}
@Override
public String toString() {
return "Triangle: vertices=" + getVertexA() + " " + getVertexB() + " " + getVertexC();
}
}
// Test
@Test public void task02() {
Triangle tri = new Triangle(new Vertex2D(-1,0), new Vertex2D(1,0), new Vertex2D(0,1));
assertTrue("Konstruktor Triangle", tri.getVertexA().getX() == -1.0 && tri.getVertexA().getY() == 0.0);
BasicRulesTester.testRedundantMethod(Triangle.class, "setVertexA", Vertex2D.class);
BasicRulesTester.testRedundantMethod(Triangle.class, "setVertexB", Vertex2D.class);
BasicRulesTester.testRedundantMethod(Triangle.class, "setVertexC", Vertex2D.class);
assertTrue("isEquilateral()", new Triangle(new Vertex2D(-1.2, 0), new Vertex2D(1.2, 0), new Vertex2D(0, 2.07846097)).isEquilateral());
assertFalse("isEquilateral()", new Triangle(new Vertex2D(-1.2, 0), new Vertex2D(1.2, 0), new Vertex2D(0, 5.0)).isEquilateral());
try {
Triangle ntri = new Triangle(null, null, null);
assertEquals("toString vraci spatny vystup pokud je nektery z vrcholu prazdny", "INVALID TRIANGLE", ntri.toString());
} catch(NullPointerException ex) {
fail("toString neosetruje situaci, kdy je nektery z vrcholu prazdny");
}
}
V testování, jestli je trojúhelník rovnostranný. Jelikož jsou čísla reálná nejde použit ==, ale přes math.abs .. jenže, když to zkompiluji tak mi to vypíše error, ale nenapíše, kde přesně.
Zobrazeno 4 zpráv z 4.
