• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Principy programovacich jazykov

Started by stamperlik, 19.02.2010, 06:25:43

« predchdzajce - alie »

domino3d

ja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA :D
vivat academicus

domino3d

#126
................

a toto mam dobre?
vivat academicus

domino3d

vivat academicus

markus

Quote from: Domino3D on  05.05.2010, 22:01:51
ja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA :D

k tomu 1c si niesom isty... ja som to tiez povodne riesil takto... ale potom mi niekto povedal ze podla neho to ma byt tak ze:

bool -> 1|0
osem -> bool|2|...|7
cislo -> osem{osem} resp. podla mna skor 1|...|7{osem} aby to nebolo tak ze sa to zacina 0lou alebo viac nulami za sebou

Cheiftan

Quoteja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA Cheesy
prva otazka 1a je my trochu nejasna
ja by som to robil trochu inak:
id->ZN{P|C}
ZN->$|A|B|C|...|Z
P->a|b|c|...|z
C->0|1|2|...|9
Hello!

markus

Quote from: Cheiftan on  05.05.2010, 23:31:00
Quoteja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA Cheesy
prva otazka 1a je my trochu nejasna
ja by som to robil trochu inak:
id->ZN{P|C}
ZN->$|A|B|C|...|Z
P->a|b|c|...|z
C->0|1|2|...|9

taaakze v podstate to je jedno akym stylom to zrobiss ale tvoje je jednoznacne zle ... u teba sa moze stat ze za ZN nieje nic a taky pripad nemoze nastat... ked uz tak by si mal dat
id->ZN(P|C){P|C}

ja to robim stylom
id->Zaciatok Zvysok{Zvysok}
Zaciatok-> $|A|...|Z
Zvysok -> 0|...|9|a|...|z

tala2xlc

Quote from: markus on  05.05.2010, 23:19:02
Quote from: Domino3D on  05.05.2010, 22:01:51
ja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA :D

k tomu 1c si niesom isty... ja som to tiez povodne riesil takto... ale potom mi niekto povedal ze podla neho to ma byt tak ze:

bool -> 1|0
osem -> bool|2|...|7
cislo -> osem{osem} resp. podla mna skor 1|...|7{osem} aby to nebolo tak ze sa to zacina 0lou alebo viac nulami za sebou

dobra myslienka ale takto nevygenerujes cislo 0 v osmickovej sustave

Ofinka

Quote from: pinderko on  01.05.2010, 02:19:17
ja som to tak pochopil, ze kollar povedal ze treba vediet gramatiku a zotavenie...kto toto nemal, tak automaticky ma FX...takze treba vediet priklady typu 1 , 2 a 3 v tom teste co tu uz niekto zverejnil...

okrem tychto typov bol, aspon v mojom teste : prefix+postfix a konecny automat(ci co to bolo)

to prefix+postfix znamena ze bol nejaky zatvorkovy vyraz a bolo ho treba napisat v prefixnom a postfixnom tvare?

thom

Quote from: Domino3D on  05.05.2010, 20:00:28
neni to tazke, vsetko je v prednaskach ked ides za radom takze vpoho, uz mam 3 z 5 stran, no ale uvidime jaka je realita ci v piatok bude  bp alebo  ak:

zaradom ci za radom???
Citam to a rozmyslam,ze za akym radom mam ist aby som to pochopil.. ;D ;D ;D

markus

mozno za radixom :D
btw vie tu niekto hodit to 100% dobre error, check ?

radix


Cheiftan

QuoteCitácia: markus   05.05.2010, 16:19:02
Citácia: Domino3D   05.05.2010, 15:01:51
ja som chodil asi na 50% prednasiek ta z tade
ale take iste su jak na ftp jak pozeram (tie naskenovane)

TU TO JE, ale SKONTROLUJTE TO DAKTO A NAPISTE CI TO JE DOBRE? NERUCIM ZA SEBA Cheesy

k tomu 1c si niesom isty... ja som to tiez povodne riesil takto... ale potom mi niekto povedal ze podla neho to ma byt tak ze:

bool -> 1|0
osem -> bool|2|...|7
cislo -> osem{osem} resp. podla mna skor 1|...|7{osem} aby to nebolo tak ze sa to zacina 0lou alebo viac nulami za sebou

dobra myslienka ale takto nevygenerujes cislo 0 v osmickovej sustave

preco sa nemoze vygenerovat nulka?
vyraz {r} neznamena nahodou
S->prazdny znak
S->rS
? (prekladace strana 22)
Hello!

tala2xlc

#137
no jednoducho ked cislo ->  1|...|7{osem} tak nevygenerujes cislo 0 ... najmensie cislo co mozes vygenerovat je 1

Cheiftan

Quoteno jednoducho ked cislo ->  1|...|7{osem} tak nevygenerujes cislo 0 ... najmensie cislo co mozes vygenerovat je 1
ano mas pravdu, no ja som myslel na prve riesenie
Quotecislo -> osem{osem}
alebo moze byt aj tak 0|1|...|7{osem}
Hello!

radix

#139
teda oprava je to uz spominane
bool -> 1|0
osem -> bool|2|...|7
cislo -> osem{osem}
to je dobre

Skr3k0

Inak ja si myslim ze to DKA   a [ a | b ]
ma byt ako na prilozenom obrazku

lebo ked na zaciatok pride b nemozeme sa vraciat  do rovnakeho stavu lebo by to generovalo retazec bbbb...
takze pri b-cku sa nedeje nic - caka sa na a-cko
a koncovy stav by sa asi nemal vraciat sam do seba...

tolko moj nazor, mozno sa mylim ale podobnu otazku s vyskytom [ ] by som na skuske riesil takto
(za predpokladu ze ma nikto nevyvedie z omylu :D )


ivo261as

Neviete nikto správne riešenie toho zotavenia??
If you can't finish your work in 24 hours, work at night.
http://www.utfg.net/

ropman

tiez by ma to zaujimalo, v archive je to takto:


B(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
while (symobl in d|H(E) )
{
if(symbol==d)
   getsymbol()
else
   error(d|H(E)|c|H(F)|K)
E(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
}
check(c|H(F)|K)
switch(sym)
case c: getsymbol()
case H(F) : F(K)
default : error(c|H(F)|K)      // toto ma byt takto : error(K)
}


ale moc tomu nerozumiem... vedel by to niekto vysvetlit / okomentovat? ak to je vobec spravne

Skr3k0

Bol by som vdacny keby mi  niekto priblizil v com spociva neasociativnost - neasociativna operacia
resp. ako sa to prejavi ked zapisujem pravidla pre gramatiku a pri prefixe/postfixe


inak pomocka ak si niekto chce preverit ci spravne rozumie postfixu
http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html
(keby niekto nechapal infix je standardny matematicky tvar)

piton

neasociativnost spociva v tom, ze nemoze ist ta operacia viackrat za sebou... neasociativna je napr. priradenie, nemozes napisat a=5=3, cize zoberie len tie prve dva, ked to dobre chapem
"Iba život, ktorý žijeme pre ostatných, stojí za to." - Albert Einstein

drtic

#145
Quote from: Skr3k0 on  06.05.2010, 20:01:23
Bol by som vdacny keby mi  niekto priblizil v com spociva neasociativnost - neasociativna operacia
resp. ako sa to prejavi ked zapisujem pravidla pre gramatiku a pri prefixe/postfixe


inak pomocka ak si niekto chce preverit ci spravne rozumie postfixu
http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html
(keby niekto nechapal infix je standardny matematicky tvar)
Ak je nejaka operacia neasociativna, znamena to len tolko, ze pri vyskyte dvoch a viacerych operacii za sebou toho neasociativneho typu sa vykona len prva z nich a ostatne sa ignoruju.

Priklad:
Ak operacia (+) je neasociativna.
2 + 2 = 4
2 + 2 + 2 = 4
2 + 2 + 2 + 2 = 4
atd.

Dost velku rolu tu zohrava aj priorita operacii, nakolko najprv sa vyhodnoti priorita a az potom asociativnost. Takze ak sa vedla seba vyskytuju operacie na rovnakom stupni priority potom plati to pravidlo, ktore som popisal vysie.

Macro

#146
Quote from: ropman on  06.05.2010, 19:35:36
tiez by ma to zaujimalo, v archive je to takto:


B(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
while (symobl in d|H(E) )
{
if(symbol==d)
  getsymbol()
else
  error(d|H(E)|c|H(F)|K)
E(d|H(E)|c|H(F)|K)
check(d|H(E)|c|H(F)|K)
}
check(c|H(F)|K)
switch(sym)
case c: getsymbol()
case H(F) : F(K)
default : error(c|H(F)|K)      // toto ma byt takto : error(K)
}


ale moc tomu nerozumiem... vedel by to niekto vysvetlit / okomentovat? ak to je vobec spravne

pozri si plocicovu prezentaciu http://hornad.fei.tuke.sk/~plocica/ppj/p5.pdf z tohto som to ako tak pochopil.
v podstate vyhczadas z gramatiky jazyka a robis program na to ako by to slo.
prvy znak ma by byt z mnoziny B, tak napises B(d|H(E)|c|H(F)|K). potom to otestujes pomocou funckie check ci nasledujuci znak je z mnoziny moznych znakov obsiahnutych v gramatike check(d|H(E)|c|H(F)|K).
potom su kucerave zatvorky a v nich {d E} -> tzn ze sa mozu znaky vykytovat viac krat. takze tam hodis cyklus, a z plocicovej stranky si pozries ako sa osetruje cyklus, a nakonies if.

takto som to pochopil ja, ak sa v niecom mylim prosim opravte ma.

BTW: podla plocicovej stranky a zadania ulohy by sa nemalo pisat B(d|H(E)|c|H(F)|K) ale B({d U HE U {c} U HF U K} - aspon myslim


este som zabudol, nepaci sa mi 9. riadok
E(d|H(E)|c|H(F)|K), nemalo by tam byt iba E(d|H(E)|K) ?

domino3d

Quote from: drtic on  06.05.2010, 20:15:56
Quote from: Skr3k0 on  06.05.2010, 20:01:23
Bol by som vdacny keby mi  niekto priblizil v com spociva neasociativnost - neasociativna operacia
resp. ako sa to prejavi ked zapisujem pravidla pre gramatiku a pri prefixe/postfixe


inak pomocka ak si niekto chce preverit ci spravne rozumie postfixu
http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html
(keby niekto nechapal infix je standardny matematicky tvar)
Ak je nejaka operacia neasociativna, znamena to len tolko, ze pri vyskyte dvoch a viacerych operacii za sebou toho neasociativneho typu sa vykona len prva z nich a ostatne sa ignoruju.

Priklad:
Ak operacia (+) je neasociativna.
2 + 2 = 4
2 + 2 + 2 = 4
2 + 2 + 2 + 2 = 4
atd.

Dost velku rolu tu zohrava aj priorita operacii, nakolko najprv sa vyhodnoti priorita a az potom asociativnost. Takze ak sa vedla seba vyskytuju operacie na rovnakom stupni priority potom plati to pravidlo, ktore som popisal vysie.

okej tak tu sa zoberie prve 2+2 a keby bolo asoc. z prava, ktore 2+2 sa spocita jak prve? to posledne? či?
vivat academicus

drtic

Quote from: Domino3D on  06.05.2010, 20:42:30
Quote from: drtic on  06.05.2010, 20:15:56
Quote from: Skr3k0 on  06.05.2010, 20:01:23
Bol by som vdacny keby mi  niekto priblizil v com spociva neasociativnost - neasociativna operacia
resp. ako sa to prejavi ked zapisujem pravidla pre gramatiku a pri prefixe/postfixe


inak pomocka ak si niekto chce preverit ci spravne rozumie postfixu
http://scriptasylum.com/tutorials/infix_postfix/infix_postfix.html
(keby niekto nechapal infix je standardny matematicky tvar)
Ak je nejaka operacia neasociativna, znamena to len tolko, ze pri vyskyte dvoch a viacerych operacii za sebou toho neasociativneho typu sa vykona len prva z nich a ostatne sa ignoruju.

Priklad:
Ak operacia (+) je neasociativna.
2 + 2 = 4
2 + 2 + 2 = 4
2 + 2 + 2 + 2 = 4
atd.

Dost velku rolu tu zohrava aj priorita operacii, nakolko najprv sa vyhodnoti priorita a az potom asociativnost. Takze ak sa vedla seba vyskytuju operacie na rovnakom stupni priority potom plati to pravidlo, ktore som popisal vysie.

okej tak tu sa zoberie prve 2+2 a keby bolo asoc. z prava, ktore 2+2 sa spocita jak prve? to posledne? či?

Od posledneho. Da sa to predstavit aj tak, ze si tam doplnis zatvorky:
2 + (2 + (2 + 2))

Sxx

Quote from: mucko on  05.05.2010, 19:54:15
no jak sa dari? ja sa asi prehlasim na dalsi termin, lebo v piatok uz mam rano .NET a DBS...

mas skusku .NET v piatok? ci len zadania riesis?