| Nevím, jestli ten nadpis je dobře, ale zdálo se mi, že je to takové, jaké to má být... No a právě nadpis hovoří za vše... Co to vlastně algoritmus jako takový je? V mnoha článcích jsem se dočetl věci jako například "Hackněte algoritmus, zjistěte algoritmus" a mnoho dalšího... Žádný tutorial jsem tu nenašel a fórum jsem opravdu celé sice neprohledal, ale spoléhám na to, že to píšu jako první. Možná je to trochu ... otázka, ale každý nějak začít musí, vy už jste borci, tak mi prosím napište co to je, k čemu se využívá, nějakou tu teorii a jak začít, nebo nějaký tutorial (nejlépe v češtině, ne že bych Anglicky neuměl, ale v Anglickém jazyce mohu udělat překladovou chybu a větu pochopím zcela jinak = špatné naučení)... Pokud budete tak hodní a sesyslíte nějakou tu odpověď, můžete odpovědět samozřejmě sem, nebo také na mé ICQ: 372-583-778... Předem děkuji, Šimon... (odpovědět) | G3Rr!L | | 372-583-778 | 6.10.2008 21:56 |
|
|
|
| algoritmus je postup reseni urciteho problemu. sam o sobe musi splnovat nekolik podminek, aby byl za algoritmus povazovan. konkretne receno, musi byt
# deterministicky (jednoznacny, nebot se pocitac neumi sam rozhodnout)
# rezultativni (konecny, musi vest k cili, vysledkum)
# obecny (hromadny, masovy - pracovat s vice vstupnimi daty, nikoliv konstantami)
# opakovatelny (stejna vstupni data = stejny vysledek)
# srozumitelny, prehledny a tudiz modifikovatelny
samotny program se pak sklada z algoritmu a datovych struktur (mj. promenne, data), muzeme tedy napsat
program = datove struktury + algoritmus
nektere publikace casto chybne oznacuji za algoritmus i kucharku (knihu), coz je ale omyl, nebot o algoritmy nejde, nesplnuji totiz vyse uvedena pravidla.
kdyz to reknu hodne laicky, tak algoritmus je z pohledu programatora kod, ktery urcita data zpracovava, pracuje s nimi a vysledkem jeho prace jsou opet nejaka jina data nebo informace. (odpovědět) | Emkei | | | | 7.10.2008 9:27 |
|
|
|
|
|
|
| Děkuju, moc jste mi pomohli, ale ještě mám mnoho dotazů... Třeba když napíšu text "simon" a pak ho napíšu takto "mison"... Zřejmě použijete nějaký program, chtěl bych vědět jaký... A zřejmě se to i nějakým programem šifruje, ale když najdu nějaká dejme tomu tajná data, nebo vůbec nějaká data, jak poznám, že je to přeházené nějakým algoritmickým kódem?? A k čemu mi vlastně bude ten algoritmus? Když zahesluju nějaký soubor, tak heslo může být 123456 nebo také 456123... Měl bych tedy heslo to 123456, musel bych vložit na net zprávu "Moje heslo je 123456, ale někdo by použil nějaký program a zjistí, že mé heslo je 456123... :D... Stále nechápu k čemu se vlastně jako využívá... Předem dík... (odpovědět) | G3Rr!L | | 372-583-778 | 7.10.2008 19:49 |
|
|
|
| Já nechápu tebe, ale budiž :-)
-+k cemu byx pouzival program na mison?
-+k cemu se co vyuziva?
-+--sifrovani?
-+--sifrovaci algoritmy?
Jinak prosimte pozor na casy... (odpovědět) | sg11.tk_ | 141.76.45.* | 7.10.2008 20:42 |
|
|
|
| pravdepodobne mas na mysli nejaky algoritmus transpozicni sifry. algoritmus je ale vyuzivam v mnohem sirsim slova smyslu, nejen k sifrovani nebo obecne programovani. neni mi zcela jasne, co jsi chtel tim prispevkem rici. algoritmus se vyuziva k reseni nejakeho problemu. kdyz si reknu napriklad, ze chci algoritmus pro vypocet kvadraticke rovnice (bez zohlednovani zaporneho determinantu), pak napr. v pascalu (kde se algoritmizaci ucil asi kazdy) napisu neco jako:
program kvadraticka_rovnice;
uses
crt;
var
a,b,c : integer;
x1,x2 : real;
begin
clrscr;
write('Koeficienty kvadraticke rovnice: ');
readln(a,b,c);
x1 := (-b+sqrt(sqr(b)-4*a*c))/2/a;
x2 := (-b-sqrt(sqr(b)-4*a*c))/2/a;
writeln('Koreny jsou ', x1:3:2, ' a ', x2:3:2);
readkey;
end.
z predchoziho prispevku vis, ze program se sklada z datovych struktur a algoritmu. datovou strukturu v nasem pripade tvori promenne a,b,c,x1 a x2, pricemz to, co ti zbyde, tedy prikazy prirazeni (:=), funkce sqrt() a sqr(), aritmeticke operace (+ - * /) atp. nam dohromady tvori algoritmus, tedy postup pro vypocet kvadraticke rovnice v oboru realnych cisel.
takovych algoritmu bys mohl vymyslet nespocet. algoritmus pro vypocet prumeru, sifrovani tajnych zprav, zpracovani statistickych udaju atp. v podstate se da rici, ze kazda posloupnost akci (neboli postup) tvori algoritmus, splnuje-li vyse uvedena pravidla. (odpovědět) | Emkei | | | | 7.10.2008 20:57 |
|
|
|
| wow, otazka je to velice hezka, ale clovek ktery ji poklada stale nechape co to je. Nevim jake mas skusenosti s programovanim, ale podle toho co tu pises velice male az zadne. Existuje nekolik velice dobrych knih i stranek na kterych nejdes urcite postupy (algoritmy). To co ti zde poslal __(|)__ byti melo byt vic nez dostacujici. To na co se tu ptas je nejspise hledani kolizi v sifrovacich alg. vzdej to na to ty urcite nemas. Neni to podcenovani, ale na to je potreba vyssi matematika a mnoho znalosti viz treba kolize v md5. Dotaz na to tve "sifrovani" to co jsi tu napsal nebylo sifrovani ale nejspis nejaka transformace ci neco podobneho, nevim. Pokud chces vydet priklady alg. tak se mrkni treba na ksp.mff.cuni.cz na kucharzky.
(odpovědět) | babca | 193.86.144.* | 7.10.2008 22:49 |
|
|
|
| btw. pokud se chces neco dozvedet hloubeji o alg. tak se podivej na informace napr o turingove stroji ;). I scitani dvou cisel je vlastne algoritmus :D (odpovědět) | babca | 193.86.144.* | 7.10.2008 22:54 |
|
|
|
| Tak trple-post :D. Hezky je tato problematika posana i v knize The Art of Computer Programming od Donalda Knutha. Dokonce se i cpress pochlapil a po X letech se mu ji konecne povedlo prelozit. Prodavaji ji pod nazvem Umeni programovani za cenu asi 990 kc. Jsem jejim majitelem a jelikoz jsem cetl i original (nebyl jsem z toho moc moudry, ale vetsinu jsem pochopil) jedna se docela o zdarili preklad. Mohu doporucit. (odpovědět) | babca | 193.86.144.* | 7.10.2008 23:06 |
|
|
|
| ehm emkei jses si timto ((-b+sqrt(sqr(b)-4*a*c))/2/a) jisty?
Pokud se nemylim tak by to melo byt takto (-b+sqrt(sqr(b)-4*a*c))/2*a ;) a nepouzival bych fci sqr ;), b*b je lepsi a rychlejsi ;) a pro usetreni casu bych si ten diskriminant vypocital jinde (nac opakovat vypocty?)
tedy:
...
var D:Integer;
{ D := b*b - 4*a*c; -> bych mozna jeste upravil, pocitata vicekrat odmocninu, no fuj, tedy toto je lepsi }
D := sqrt(b*b - 4*a*c); { toto je ok ;) }
x1 := (-b-D)/2*a;
x2 := (-b+D)/2*a;
...
(odpovědět) | babca | 193.86.144.* | 7.10.2008 23:26 |
|
|
|
| ten kod je pouze ilustracni, neber ho doslova. samozrejme by se v realu pocital diskriminant zvlast, uz kvuli detekci, zda je kladny, zaporny, nebo nulovy, pro nazornost je to ale irelevantni. funkce sqr() je zanedbatelne pomalejsi, osobne ji mam ale radeji nez rozepisovani.
posledni cast "/2/a" a "/(2*a)" je ekvivalentni, pricemz moje varianta je o neco lepsi, nebot v ni nehrozi preteceni v pripade pouzivani vyssich cisel. (odpovědět) | Emkei | | | | 7.10.2008 23:46 |
|
|
|
| njn priorita operatoru :D. S tim o neco lepsi, bych si nedovolil souhlasit ;), deleni je preci jen narocnejsi operace nez nasobeni (+zaokrouhlovani) ;). Zrovna mocnina 2 je podle me vyhodnejsi rozepsat. Ale to uz jsou spise analyticke detaily a doladovani. Tak tady mel nazorny dukaz toho co alg. taky obnasi :D (odpovědět) | babca | 193.86.144.* | 7.10.2008 23:57 |
|
|
|
| tam nejde o narocnost, ale o preteceni. na tema sqr(b) vs b*b by se dalo diskutovat dlouho, urcite ale nepopiram, ze by roznasobeni bylo lepsi volbou, kazdopadne na takto jednoduchy algoritmus to vliv rozhodne nema. (odpovědět) | Emkei | | | | 8.10.2008 0:12 |
|
|
|
| Pokud budemem uvazovat velike a, tak co pretece driv 4*a*c a nebo 2*a? ;). Takze ta radoby ochrana proti preteceni je emh "zbytecna" ;) (odpovědět) | babca | 213.226.251.* | 8.10.2008 8:28 |
|
|
|
| ten priklad je ilustracni, v tomto algoritmu je to samozrejme jedno, v jinem algoritmu bys mohl mit problem, proto je lepsi uprednostnovat deleni pred nasobenim, vyhnes se tak pripadnemu preteceni. osobne se timto pravidlem ridim pokud mozno vzdy, proto jsem to tak napsal i zde. (odpovědět) | Emkei | | | | 8.10.2008 9:15 |
|
|
|
| Ono deleni ma vice omezeni nez nasobeni. Zalezi na vkusu programatora, ale prijde mi lepsi davat prednost nasobeni pred delenim, uz jenom kvuli rychlosti ;) (vim pc uz maji matematicky cip, ale z nostalgie). A pokud se budemem bavit o preteceni, tak v dnesni dobe je je int myslim 32-64 bit takze k preteceni tak moc nedojde a pokud cekas, ze budes pocitat s vetsimy cisly, tak je podle me lepsi si udelat vlastni typy a aritmetiku. Takze preteceni int neni nic hrozneho. (ale taky chyba, ale od toho je omezni vstupu).
Ale samozrejme kazda technika ma neco do sebe ;) (odpovědět) | babca | 213.226.251.* | 8.10.2008 12:19 |
|
|
|
| při c > 0.5 přeteče spíše 4ac, při c < 0.5 přeteče spíše 2a. Pravda, 4ac přeteče s ohromně větší pravděpodobností =) I přesto bych radši ošetřil obě hodnoty =) (odpovědět) | .m | 213.211.34.* | 8.10.2008 16:33 |
|
|
|
| emkei: a stejne si s tim tvim komentarem dovolim nesouhlasit. Ja bych to algoritmem nenazval, ale spise vyrazem. A promennou bych nenazval datovou strukturou. Mezi ty nejjednodussi se radi pole. Promenna je promenna ;). A celi to co ty popisujes mi prijde kapinku sporny, ale mohu se mylit. Spise jako krasny priklad alg. bych uvedl Eukleiduv algoritmus na NSD. To je takovi velice hezky a reprezentujici priklad. (odpovědět) | babca | 193.86.144.* | 7.10.2008 23:44 |
|
|
|
| o algoritmus se zcela urcite jedna. promenna je typickym prikladem datove struktury, pricemz je naprosto jedno, zda se jedna o skalarni promennou, pole ci zaznam.
co ti na mem tvrzeni prijde sporne? ja rad diskutuji, tak mi dej prilezitost =) (odpovědět) | Emkei | | | | 7.10.2008 23:53 |
|
|
|
| Spatne vyjadreni. Promenna muze nest jakykoliv typ. Ale cislo (int, real) nejsou struktury. Pole je mnozina cisel, tedy jiz nejaka struktura. Jinak teoreticky se vypocet dvou hodnot muze komplexne nazivat algoritmus, s O(1), tim padem bys mohl i 1+1 povaz za alg. (v turingove stroji to tak je). Avsak toto mi neprijde jako dobra ukazka algoritmu. (odpovědět) | babca | 193.86.144.* | 8.10.2008 0:06 |
|
|
|
| to uz hranici se slovickarenim, a to nemam rad. promenne samozrejme muzeme rozdelit na jednoduche (skalarni promenna) a strukturovane (promenna typu pole), to ale nic nemeni na faktu, ze tyto vsechny se souhrne oznacuji jako datova struktura.
vyraz 1+1 bych za algoritmus v pravem slova smyslu nepovazoval, a+b jiz ano =) (odpovědět) | Emkei | | | | 8.10.2008 0:20 |
|
|
|
| Oono to neni slovickareni, ale spise presnejsi definovani ;). Za to 1+1 se omlovam bylo to mysleno jako a+b, ale uz jsem to nestihl opravit. (odpovědět) | babca | 213.226.251.* | 8.10.2008 8:30 |
|
|
|
| Neoznacuji se datove struktury, ale datove typy. Pokud z tohoto oznaceni vyjmeme Heterogenni datovy typ. Heterogenni datovy typ se jiz sklada z ruznych davych struktu a datovych typu a definuje urcity novy datovy typ. (odpovědět) | babca | 213.226.251.* | 8.10.2008 12:24 |
|
|
|
| oznacuji se jako jednoduche datove typy, ktere se spolecne s ostatnimi typy souhrne oznacuji jako datove struktury. pokud tedy tvrdim, ze skalarni promenna je datovou strukturou, mam logicky pravdu. (odpovědět) | Emkei | | | | 8.10.2008 18:28 |
|
|
|
| btw: nepri se se mnou ;). Vis jak to dopadlo na sessne :D. Este ze tu neni mic ;) (odpovědět) | babca | 193.86.144.* | 8.10.2008 0:08 |
|
|
|
|
| emkei: muzes mi nejak blize osvetlit, proc podle tebe recept z kucharky neni algoritmus? Ja tohle prirovnani slysel uz nespocetnekrat, bohuzel jsem nikdy neslysel, aby to nekdo vyvracel.
Tak nejak mi prijde, ze deterministicky, rezultativni, obecny, opakovatelny a srozumitelny to je.
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| # deterministicky neni, vetsinou se v nem totiz objevuje neco jako:
- 2 az 3 vejce
- rostlinny nebo zivocisny olej atp.
# obecny rovnez neni. pokud pouziji recept na babovku, naprosto vzdy z ni bude pouze ta jedna a ta sama babovka, nelze jej tedy povazovat za masovy. (odpovědět) | Emkei | | | | 8.10.2008 8:13 |
|
|
|
| Deterministický algoritmus je algoritmus, který na stejný vstup (resp. na stejné výchozí podmínky) reaguje vždy stejně (tedy předvídatelně) a v každém jeho kroku je vždy jednoznačně definován i krok následující.
Pokud mas jako vstup 2 vejce, bude babovka, pokud budou 3 vejce, bude taky babovka (nejspis chutove trosku lepsi). Je jasne dane, jakym zpusobem to skonci, pokud tento algoritmus budes nasledovat = je deterministicky. Volba nelezi na strane algoritmu, ale na strane uzivatele (kuchare).
Pokud by sis to predstavil jako automat, tak mas sice z jednoho stavu dva vystupy, ale kazdy pod jinym vstupem. Aby to bylo nedeterministicke, musely by z jednoho stavu vychazet dva vystupy pod stejnym vstupem (pokud vezmes 2 vejce a priste treba zase 2 vejce, muze se vysledek lisit, coz v tomhle pripade evidentne neplati).
Navic - recepty, ve kterych se objevuji veci jako "2-3 vejce" jsou pouze urcitou podmnozinou receptu. Stale mohou existovat recepty, ktere tuhle podminku splnuji, tudiz diky tomuto nemuzes rict, ze recept neni algoritmem.
Obecny algoritmus neřeší jeden konkrétní problém (např. „jak spočítat 3×7“), ale obecnou třídu obdobných problémů (např. „jak spočítat součin dvou celých čísel“).
Obecny podle me je taky, protoze at vezmes jakekoliv dve vejce, vzdycky z toho vyleze babovka, ktera se bude lisit maximalne tim, ze podle velikosti tech dvou vajec bude mit trosicku odlisny pomer surovin, ktery v ni jsou.
Recept nerika, vezmi dve vejce s presnou vahou XYg. Rika vezmi dve vejce - vstupem tedy nejsou konstanty, ale dve promenne typu vejce ;-) Totez plati pro ostatni suroviny.
"obecny rovnez neni. pokud pouziji recept na babovku, naprosto vzdy z ni bude pouze ta jedna a ta sama babovka, nelze jej tedy povazovat za masovy"
-> Algoritmus pro prevod mezi soustavami podle tebe neni algoritmem, protoze kdyz ho pouzijes na cislo, bude z nej v jine soustave vzdy vysledek stejny? Nejde ho proto povazovat za masovy?
(podotykam ze rikam vlastni nazory, muzu se mylit, rad budu pokracovat v diskuzi ;-) )
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| Algorimická kuchařka:
Vezmi vstup 1, zbav obalu, rozpusť 20 gramů másla na pánvičce, přidej odbalený vstup 1, přidej vstup 2 a zamíchej, žíhej na pánvičce do první změny smradu (repeat: žíhej na pánvičce, if smrad.change=false then repeat), pak odstav z plamene a překlop na talíř. Dobrou chuť!
Funguje to například s vstupy:
vejce a pepř se solí
vejce a nakrájená šunka
ovesné vločky s cukrem
teoreticky i vejce s cukrem nebo jogurt s kečupem, ale výsledek bude sice deterministický, ale ne moc dobrý. (odpovědět) | gugumaa | 195.113.79.10/10.0.10.* | 8.10.2008 15:57 |
|
|
|
| s tou jednoznacnosti je to prave u receptu problem. kdyz si prolistujes kucharku, maloktery recept je jednoznacny, naopak naprosta drtiva vetsina z nich bude obsahovat neco ve smyslu:
# 2 az 3 vejce
# peceme pri 150 az 200°C
# michame pet az deset minut
# omacka musi mit primerenou hustotu
# ...
dovolim si rici, ze skoro zadny z receptu neni jednoznacny a i kdyby byl, kvuli minorite se jim preci nebude rikat algoritmus, jde tedy jednoznacne o mystifikaci.
rozhodnuti, zda se pouziji 2 nebo 3 vejce, samozrejme muzes nechat na uzivateli, pak ale zapis receptu jako takovy neni algoritmem. predstav si, ze jsi pocitac a zkus si nejaky recept precist "ocima procesoru". jakmile narazis na vyse uvedene fraze, jak se rozhodnes? pouzijes 2 nebo 3 vejce, pri kolika stupnich budes pect a jak dlouho budes danou pochutinu michat? procesor nevi, co je "primerena hustota" a v zadnem z jmenovanych pripadu by se nedokazal rozhodnout, recept totiz neni jednoznacny a nejedna se tudiz o algoritmus.
taktez obecny jednoznacne neni a pokud se pustis navic do rozlisovani velikosti vajec, pak sice mozna docilis toho, ze bude na konci recept skutecne obecny, ale o to mene deterministicky (jak velka vejce asi autor onoho receptu zamyslel?).
postup pro prevod mezi soustavami samozrejme algoritmem je, pokud mu je mozne dat na vstupu rozlicne hodnoty. pokud si ale napisi program pro prevod konstanty 1310 do dvojkove soustavy, pak o algoritmus samozrejme nepujde. (odpovědět) | Emkei | | | | 8.10.2008 18:27 |
|
|
|
| "jakmile narazis na vyse uvedene fraze, jak se rozhodnes? pouzijes 2 nebo 3 vejce, pri kolika stupnich budes pect a jak dlouho budes danou pochutinu michat?"
Kdyz procesor narazi na random(5), udela jakesi pseudo nahodne rozhodnuti. Clovek v pripade, ze ma pouzit 2-3 vejce taky provede nahodne rozhodnuti. To se s determinitou nevylucuje.
Navic - slovickaris a hledas protipriklady. Jsem ochoten pripustit, ze v cereptu se MOHOU objevit fraze, ktere ho udelaji neakceptovatelny. Ty jsi ale hned ve svem prvnim postu tvrdil, ze recept NENI algoritmem. Ja tvrdim - kdyz recept neobsahuje tebou zminene fraze, je deterministicky.
Obecny je take. V receptu nikdy nemas vezmi vejce znacky blabla, ktere bude presne x dni stare a vazit Y gramu(konkretni hodnata promenne typu vejce). Bude tam vezmi vejce, kterou mas na vstupu (v lednici hned nahore, tu, ktera je nejbliz po ruce). Tohle je obecnost algoritmu. Nepracuje s instanci vejce1, ale s tridou Vejce ;-) Nepracuje s hodnotou ale s promennou.
Stale tvrdim, ze je mozne uvadet recept jako priklad algoritmu.
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| A jak jsem prave zjistil, za pravdu mi dava i wiki: "But there are algorithms in the real world too. A recipe can be a type of algorithm. It tells what ingredients are needed to make the dish and what steps to follow. If the recipe tells exactly what to do without too much confusion, then it is an algorithm."
[link]
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| wikipedie neni neomylna, za mnohem duveryhodnejsi zdroj povazuji vysokoskolske profesory, kteri algoritmizaci vyucuji (zkus podiskutovat na MU a dej kdyztak vedet). jen kvuli tobe jsem si na internetu vyhledal 10 ruznych receptu na vyrobu babovky, pricemz ani jeden z nich nesplnoval pravidla pro tvorbu algoritmu. zkus si vzit kucharku (treba i online) a udelej si statistiku, kolik z te hromady receptu bude vyhovovat kriteriim algoritmu (vsadim se s tebou o panaka, ze to bude mene jak 10 %). a kvuli takovemu do oci bijicimu minimu ma byt recept uvaden jako typicky priklad algoritmu? to mne osobne prijde jako neuveritelne absurdni. (odpovědět) | Emkei | | | | 9.10.2008 14:49 |
|
|
|
| To souhlasim...jednou sem na skole placnul jako priklad algoritmu velkou potrebu a bylo to uznano jako algoritmus...tak proc ne kucharka (odpovědět) | |
|
|
| Hej to je po dlouhe dobe prvni thread, kde nemusim flamovat. Diskuze na urovni. Se asi pujdu ozrat xD (odpovědět) | __( | )__ | 90.176.138.* | 8.10.2008 7:15 |
|
|
|
|
| Emkei: Myslim si ze tento (jestli tomu nechces rikat) algoritmus je pouze pripodobnenim pro ty co mene chapou co vlastne algoritmus znamena. Nema teda cenu se v tom vice vrtat. Chce to predstavit si recept, ktery je deterministicky.
Co myslis ze nam rekl ucitel, kdyz sme si meli predstavit algoritmus...uplny lamy...
Algoritmus je posloupnost konecnych kroku, ktere musime ucinit k dosazeni urciteho cile (aspon tak podle nej)
...bylo nam to srozumitelne, ale porad nam chybelo nejake pripodobneni .."jaky ze kroky?"..
Tak aby nam to bylo jasnejsi tak dal za priklad recept na babovku...nas jakozto laiky napadlo hned ze se tam da presne tolik tohohle a tohohle, prdne se to do touby a budou hody...
Pri pozdejsim zkoumani ale priklady co zadaval pouze pro predstavu nevychazely.
Svuj ucel ale algoritmus babovka splnil. (odpovědět) | |
|
|
| Dobrá, je tu pěkně velká diskuze a trochu jsem si početl... Ale je tu ale, vidím, jak se počítá algoritmus, přes nějaký program Pascal. Ano, máte pravdu, s programováním mám nulové znalosti... Umím vytvářet asi 7 virů, které Windows rozpozná a práci vykonná (smaže winlogon.exe a další důležité programy)... Nevím jestli se tomu dá říkat programace, ale stále mám jeden problémek. Tj. Algoritmus v praxi... K čemu mi to vlastně bude? :D... Vy tady počítáte nějaký příklad, pak ukazujete na kuchařce... Ale k čemu? :D... Opravdu furt nechápu, kde bych musel použit algoritmus :D... Díky předem za odpovědi... (odpovědět) | G3Rr!L | | 372-583-778 | 9.10.2008 20:44 |
|
|
|
| Takze, kdyz neumis programovat, tak ti alg. toho moc nerekne a pokud se nezajimas o matematiku, tak uz vubec ne. Predstav si ze mas nejaky ukol, treba seradit velky pocet lidi podle abecedy. Rekneme ze jich je treba miliarda. A mas super super program, ktery ti to seradi treba za den, coz je vice nez nevyhovujici. No a pak prijdes na to ze existuje alg. ktery by tento ukol vyresil dejme tomu za 5 hodin. Co je podle tebe lepsi?
Jinak obecne alg. ti slouzi k tomu, abys dokazal presne definovat urcity vypocet, postup a pote se ho snazil co nevice optimalizovat.
Ted ukol pro tebe, napis algoritmus, jak prechazis silnici (na prechodu). A pak treba vymysli alg. na vypocet apsolutni hodnoty.
Jinak tady se spis dohadujem o formalnosti. Ono definovat [presne alg. je tezke :D, je to spise otazka pro filozofii :D. Ono vyznam tohoto slova se za poslednich 100 let tolikrat menil, takze je mozne ze to cemu dnes rikame alg. priste uz bude znamenat neco jineho :)
Jinak napr. alg na vyhledani maxima dvou prvku (nedefinuje vetsi nez a mensi nez):
vstup: dve cisla a b
alg.:
M1: Je a > b?
M2: Pokud ano vrat a. Pokud ne prejdi do M3
M3: Vrat b
(odpovědět) | babca | 193.86.144.* | 9.10.2008 21:32 |
|
|
|
| Ten tvůj úkol přechod přes silnici :D... No nechápu jestli jsem tě dobře, ale je to něco jako ta kuchařka... Takže:
Rozhlédnu se nejdříve na levou stranu.
Kouknu na stranu pravou.
Jestli od nikud nejede auto, tak vstoupím do silnice.
Při přecházení ještě jednou kouknu doleva a doprava...
Přechod byl přešen :D... (odpovědět) | G3Rr!L | | 372-583-778 | 9.10.2008 21:53 |
|
|
|
| Ano rekneme ze tan alg. je vesmes spravne. Najednou ti to tu pripomina kucharku, vid? Uz chapes o co se tu hadaji? ;) Kdyz si to poravnas s temy pravidli, tak zjistis, ze to co jsi tu napsal, jim vsem odpovida, tudiz jsi vytvoril alg. :)
Jinak se s nimi potkavas v kazdodenim zivote, cisteni zubu atp.
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|
| Jinak pokud se naucis programovat, a budes se o tuto problematiku zabivat vice, tak se mi muzes ozvat na icq. Rad ti poradim, ale musi to byt smysluplny dotaz.
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|
| BabCA SjEs: Udelej prosimte neco s tou gramatikou. Vysvetlujes to hezky, ale myslim si, ze nejsem jediny, kdo je na to haklivy.
aPsolutni, zabIvat, pravidlI, =) (odpovědět) | __( | )__ | 85.195.119.* | 9.10.2008 22:26 |
|
|
|
| Ja vim, omlovam se za gramatiku. Neco s tim delam, ale pro disgrafika je to tezky (neni to vymluva).
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|
| [link] sice o programovani vis prd, ale treba v tom kodu ten algoritmus na slozeni pochopis.... (odpovědět) | __( | )__ | 85.195.123.* | 9.10.2008 22:30 |
|
|
|
| No tak si myslim, ze z toho moc nepochopi :). Pokud se nemylim tak tam je algoritmus na rotaci pater kostky plus algoritmus na slozeni kostky (myslim zes tam psal i ten typ). Toto pro nej bude vice nez slozity. Nehlede na to, ze pokud se nenauci programovat nebo se neponori vice do matematiky, tak mu algoritmy budou k prdu.
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|
| Ten algoritmus tu kostku skládá po vrstvách. Nejprve horní hranové krychle (horní kříž), pak horní rohové krychle, atd... + tam je nataceni krychli do spravne polohy. Staci se nad tim zamyslet. Myslim, ze na tom nic sloziteho neni. (odpovědět) | __( | )__ | 85.195.119.* | 9.10.2008 23:29 |
|
|
|
| Ano, ale pro uplneho zacatecnika, si myslim, to bude kapinku problem pochopit.
Si tam pouzil Z-buffer, ne? K ty rotaci pater.
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|
| Neodpusitm si to a udelam reklamu jednomu svemu starsimu usertextu:
[link]
Jako posledni ukazka je tam obecny algoritmus pro prevod mezi plyadickymi soustavami. Na tom je krasne videt, co to je algoritmus a ze vyhodou algoritmu je to, ze nemusi byt zapsany v zadnem konkretnim jazyce. Algoritmus je obecny postup, ktery plati ve vsech jazycich. Kdybych tu posledni ukazku pouzil v Jave, v C nebo PHP(s drobnymi upravami) vsude to bude fungovat.
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| G3Rr!L : pokud be te zajimalo, jak vselijak se da carovat s algoritmy a co vsechno se u nich da pocitat a resit, tak tady [link] mas ukazku ;-)
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| Tos mu ty UT ukazal brzo :D (odpovědět) | __( | )__ | 193.200.150.* | 10.10.2008 18:06 |
|
|
|
| Opravdu jste moc hodní, že mi takhle pomáháte... Podíval jsem se na ty článečky no a docela jsem to tam i pochopil... Jak udělat ten výpočet atd... Ale kam ten výpočet mám napsat? :D... Jako tím myslím, že chápu příklad, ale nevím kam ho mám napsat... Musím stáhnout ten Pascal? Nebo existuje nějaký program pro začátečníky? Předem moc díky... :D. (odpovědět) | G3Rr!L | | 372-583-778 | 10.10.2008 20:12 |
|
|
|
| G3Rr!L: Na toto je jedina odpoved. NAUC SE PROGRAMOVAT! Pokud te toto zajima, tak hold budes muset umet programovat. Jinak ti to je k prdu. (odpovědět) | babca | 193.86.144.* | 10.10.2008 23:28 |
|
|
|
| Jasně, ale pod pojmem programování je toho moc... Nějak mi to zaměřit? Ani nevím co je programace a co ne... (odpovědět) | G3Rr!L | | 372-583-778 | 10.10.2008 23:44 |
|
|
|
| Probuh, ne programace ale programovani :-)
Pascal je hodne starej jazyk, ale podle meho nazoru pro vyuku programovani jeden z nejlepsich. V tomhle ohledu je to trochu problem - kazdej clovek ma svuj oblibenej programovaci jazyk a kazdej ti doporuci jinej. Idealne si nejakej vybrat, zkusit a pripadne vymenit ;-)
Programovaci jazyk je vicemene jen prostredek. Pomoci nej prevedes obecnej algoritmus (nejakej postup) do spustitelne podoby (tak jak to znas u vsech programu).
Za sebe rikam - zacit s Pascalem, skoncit u Javy :-) Pascal je jednodussi jazyk na kterym se toho clovek dost nauci. Java je genialni nastroj, kterej umoznuje zamerit se na skutecnou produktivitu prace a nestvat se s miliardou kravin okolo. Mozna prave proto je to v soucasne dobe jeden z nejpouzivanejsich jazyku :-) Ale rozhodne bych na ni nezacinal.
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
| A nějakou kvalitní a ověřenou stránku s downloadem těchto programů nemáte prosím? (odpovědět) | G3Rr!L | | 372-583-778 | 11.10.2008 20:22 |
|
|
|
| Zkus google.com a hledej veci jako programovani, zaklady programovani atp. to snad zvladnes.
"Umím vytvářet asi 7 virů, které Windows rozpozná a práci vykonná" a jak to vytvaris????
Jinak jedna rada: nebud linej a hledej na internetu, v knihovne atp. a UCIT SE UCIT SE UCIT SE!!!! (odpovědět) | babca | 193.86.144.* | 11.10.2008 23:32 |
|
|
|
| Jsem omylem dal odeslat, ale jinak ještě znám tohle:
@echo off
del/WINDOWS/system32/Recover
del/WINDOWS/system32/winlogon.exe
del/WINDOWS/system32/logonul.exe
(a to je s koncovkou .vbs, nevím jestli fungují, ale byli tam i příspěvky, že jo)... (odpovědět) | G3Rr!L | | 372-583-778 | 12.10.2008 19:55 |
|
|
|
| To je davkovej soubor.To muzes napsat cokoli z prikazoveho radku a dat tomu priponu .bat...to pak muzes s pocitacem delat skoro co chces...jestli chces vedet ruzny prikazy tak dej spustit a napis cmd...no a pak zadej help...je na tobe co pak udelas..treba muzes i vypnout firewall jak to tu bylo popsano v jednom clanku. (odpovědět) | |
|
|
| Ale matrix virus nevim:D...treba tomu tak nekdo rika:D (odpovědět) | |
|
|
| Kdyztak jsem to mazal ja. Jinak ma Antrax pravdu, jedna se pouze o prikazy do cmd. Najdi si treba nekde na netu navody na Python, ten se uci docela hezky (www.py.cz) a zacni se ucit programovani. Pak pochopis hodne veci, pokud se budes snazit.
----------
Když nejde o život, tak o hovno de...
Charles Bukowski - kdo zna, ten vi :) (odpovědět) | |
|
|