Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:1f7:aca3:89...–

peter
Oracle › Otazka
6. 5. 2015   #201996

D - Kdyz neco nepojmenujes, tak normalni programator zabrani ulozeni a uz vubec nedovoli, aby se tam neco takoveho skladovalo trvale :) Takze D u normalniho programu nepripada v uvahu.
A - Funkce u sql nedelam, zatim. Mozna se funkci mysli jako treba COUNT(*) (a ja si to pletu s procedurami) nebo neco jineho. Funkce muze pomenit promenne, ale nemusi mit sama zadny vystup, ne? To mi prijde jako narazka na pascal :) V javascriptu treba funkce, kde nedas zadnou hodnootu, tak ma vzdy navratovou hodnotu true nebo false, jestli se podari ji provest. Ale neni povinnosti uzivatele ram psat return true/false. jak to je u sql netusim.
C - Nevim, viz A, nepouzivam tak sql. Ale zda se to nelogicke cpat do selectu proceduru. Spis procedury ty selecty vytvareji.
B - tak, jestli je funkce treba COUNT, tak od ni zdrojovy kod ma jen sql. Neni to user-defined funkce. A presto se pouziva :) Takze asi tohle neni pravda.

D B ne, C spis ne, A spis ne. Vahal bych tedy mezi A a C diky neznalosti.

peter
Assembler › assembler-pomoc
6. 5. 2015   #201977

Tohle je taky celkem pouzitelne. https://www.win.tue.nl/…set8051.html
Na stredni jme meli takovou peknou dvojstranku, kde bylo jeste napsano, ktere bity a registry to ovlivnuje, pripadne jestli i z bit a tak.

peter
Assembler › assembler-pomoc
6. 5. 2015   #201976

Assembler pracuje s procesorem. Tudiz pouziva ty nejjednodusi ukoly, co muze.
- cti/zapis data z pameti
- cti/zapis data z portu
- preskoc v pameti na jine misto (pro cykly)
- zmen data v pameti, promene
- promenych mas jen omezene mnozstvi a maji jen konkretni nazvy
- proved artitmeticke nebo jednoduche mat. operace
- provadej opakovane funkce pomoci casovace (tez omezene mnozstvi casovacu)
Kdyz chces neco slozitejsiho, tak si to vetsinou musis naprogramovat nebo pouzit kod z jineho funkcniho programu.
Kdyz mas treba led display, tak se ovlada pres seriovy port treba. A tam mu musis soukat data po tech nejmensich promennych cyklem z nejakeho useku pameti, treba. muzes si na to napsat funkci jako maji vyssi programovaci jazyky :)

google = mikrořadič AT89S2051 Assembler
Ma to asi na 5 forkach :)
google =  AT89S2051 assembler instruction table -> Intel 8051 Microcontroller
google = 8051 instruction table - prepnes si to pak na obrazky, treba
google = 8051 assembler instruction table
Zakladni instrukce
http://2.bp.blogspot.com/…/program.PNG
Ty budes potrebovat asi kompletni tabulku instrukci, mozna najit priklad pro praci s temi prvky, ktere jsi jmenoval.
Na tom prvnim slide v tom pdf to vypada prekledne
http://radio.feld.cvut.cz/…d/it8051.pdf

peter
Oracle › Rada s dotazem
6. 5. 2015   #201969

Bylo by dobre rici i jak mas sestavene tabulky (idealne primo sql prikazy, aby si to clovek mohl testovat). Ja bych to resil takto:

vlastnosti - id_vlastnost, nazev
trpaslik - id_trpaslik, jmeno
tv - id_tv, id_trpaslik, id_vlastnost, datum

Podminky zadani mas tak, ze overujes vlastnosti. Takze zakladni dotaz bude z tabulky, kde jsou vlastnosti s trpasliky. K nemu pak pripojujes vsechno ostatni.

SELECT
  neco
FROM
  vt
WHERE
  vt.id_vlastnost!=cislo
-- pozor, nevim jestli je to ted spravne napsane pro oracle ani zaapisem groupconcat si nejsem jisty
SELECT
  i.id_trpaslik,
  b.jmeno,
  GROUP_CONCAT(", ",c.nazev)
FROM
  vt a
  LEFT JOIN trpaslik   b ON b.id_trpaslik=a.id_trpaslik
  LEFT JOIN vlastnosti c ON c.id_vlastnost=a.id_vlastnost
WHERE
  c.nazev!='upovidany'
GROUP BY
  a.id_trpaslikORDER BY
  b.jmeno ASC

Kazdopadne je jasne, ze takhle to bude desne pomale pro vic vlastnosti a obri tabulku (10.000 radku a vic), pac porovnat 10 znaku stringu 'upovidany' a 2 znaky integeru (id_vlastnost) je dost rozdil. Takze bych dovnitr dal poddotaz, ktery vybere id vlastnosti, ktere nemaji byt na seznamu a pak to porovnaval pres to id jako id_vlastnost NOT IN(2,3,5).

V druhe casti je pro tebe opet vychozi vt tabulka. Takze, kdyz pouzijes prvni cast jako poddotaz, ktery ti vytahne jen id, tak to uz dohromady nejak das, ne?
SELECT ... FROM vt ... WHERE id_trpaslik NOT IN (SELECT prvni dotaz)
Nebo tak nejak :)

Mozna by to slo prepsat jako
SELECT ... FROM vt a LEFT JOIN (SELECT prvni dotaz) b ON b.id_trpaslik=a._id_trpaslik... WHERE ...
a udelat podminku na "a" a soucasne aby id trpaslika z druhe nebylo null. To by melo byt rychlejsi, protoze se select provede jen jenou jako tabulka a ne opakovane. Ikdyz ted jsou sql vychytane, ze pri opakovani toho sameho ti vrati stejna data z pameti bez hledani.
 

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý