Začíname s pascalom- jednoduchší algoritmus?

Programovacie jazyky, rady, poradňa...
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa S-player »

Fabo napísal:
Nevidim dovod preco by sa string cislic nemohol povazovat za zasifrovany text.
Keď si preložíš nejaký text zo SJ napríklad do AJ tak tento proces a ani jeho výsledok sa nedá nazvať šifrou alebo áno? Pritom ide o presne rovnakú vec. Šifrou to môže byť pre niekoho kto nemá ani šajnu o AJ (Vôbec ani len nevie ,že niečo také existuje...) rovnako tak ako kód najavo.
audiotrack napísal:To že použil kodovanie vo svojej šifre ešte neznamená, že to už automaticky nemôže byť šifra.
Súhlasim, dá sa nato pozrieť z rôzných uhlov. Vo všeobecnosti by sa to ,ale nemalo nazývať šifrou/šifrovaním.

https://www.khanacademy.org/computing/c ... s-vs-codes
Codes generally operate on semantics (meaning) while ciphers operate on syntax (symbols). A code is stored as a mapping in a codebook (ASCII tabuľka, morzeovka atp), while ciphers transform individual symbols according to an algorithm.
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

S-player veľmi si vážim tvoje príspevky do tohto vlákna ale len sa hádaš/argumentuješ s každým a každého kto je na blízku, je mi jasné že vieš o čom hovoríš a pravdepodobne keby sa pozeráme na presné pravidlá ktorými svoj názor podporuješ tak by si mal aj pravdu keďže "klúč" k ascii kódovaniu je verejne dostupný. Ja sa ale učím programovať a nie šifrovať/kódovať informácie preto by si mohol svoj boj so svetom ukončiť, nepíšem to ironicky ani arogantné myslím to úprimne a len nechcem aby som rady na svoje otázky hladal medzi hádkami :D ďakujem
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa S-player »

Vôbec si nemyslím ,že konverzácia vyššie je nejakou hádkou a to ,že argumentujem nepovažujem za žiadnu chybu. Prečo by som mal súhlasiť s tvrdeniami ,ktoré niesu pravdivé? Ak ti záleži na tvojom "skille" čo sa programovania týka tak za takéto veci by si sa mal poďakovať a poprosiť o ďalšie rady namiesto prosenia o ukončenie argumentácie... Chcel som ti napísať niečo aj k názvom tvojich premenných no dobre ,že som tak nakoniec radšej neurobil...
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

Ja som rád za každú radu či od teba alebo od iných programátorov na tomto fóre a ak je na názvoch mojich premenných tak mi to povedz a ja rád svoje zvyky zmením ešte predtým ako sa zvykmi naozaj stanú. Jediné o čo mi ide je že otázka šifra vs. kód sa už teraz môjho štúdia viac netýka a už bola zodpovedaná a vysvetlená, ale tak či tak máš pravdu a nemám právo ani dôvod do teba zapárať, ako keby som svoj predošlí príspevok nenapísal :)

//autoeditácia príspevku (22 Aug 2014, 22:10)
Práve som si uvedomil že moja "literatúra" podľa ktorej postupujem sa blíži ku koncu a ja by som potreboval ďalších pár stoviek strán na preštudovanie. Kniha ktorú používam nesie názov "Informatika pre Stredné Školy- Programovanie v Delphi a Lazaruse" a preto prosím o návrh na literatúru ktorá by ma učila ďalej a nie zase od základu, predpokladám že tá kniha nieje veľmi známa preto pridávam zbežný obsah čo sa v nej nachádza a čo tým pádom už ovládam.
Spoiler
  • integer, boolean, char, string, jednorozmerné polia
    už. vstup, časovač, práca s myšou, textová plocha, textové súbory
    cyklus(for, while), random čísla/farby, podmienený príkaz
    + témy ktoré som zatial nenaštudoval a neviem presne čo sa v nich nachádza (Pole ako parameter procedúry, Funkcie, Reálna Aritmetika)
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Fabo »

Mr-Freek: Otazka je, ci chces ostat pri Pascale resp. Delphi, alebo sa chces posunut k dalsim jazykom, Java, C++ a pod. pripadne webove jazyky.
S tymto by si dovolil zas oznacit inu cast tejto definicie:
Codes generally operate on semantics (meaning) while ciphers operate on syntax (symbols). A code is stored as a mapping in a codebook, while ciphers transform individual symbols according to an algorithm.
Kodovanie morzeovkou ktore spominas v principe suviselo s tym, ze sa bezne informacie preznacily trojpismenovymi kodmi, napr. zname SOS, alebo informacia o tlaku vzduchu QNH, QDM, CQD... atd.
tato potreba sa v principe vytratila po rozsireni radia schopneho rozumne prenasat hlas.
ASCII tabulka resp. pouzitie morzeovky na volny text priamo uz tak jednoznacne na danu definiciu nezapada, ale povedzme. Rozdiel medzi ACSII tabulkou a stringom o ktorom sa tu bavime je v tom, ze ACSII kodovanie priraduje jednoznacne cislo kazdemu charu, cize array integerov, zatial co Mr-Freek vytvara string charov v podobe cislic, kde bez dalsich vedomosti nemozes tento string rozdelit na konkretne ASCII kody.
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

Mojím cielom je naučiť sa do konca štúdia strednej školy (2roky) čo najlepšie programovať a zároveň aj ovládať C a možno aj C++/Javu podla toho ako mi to pôjde. Neviem sám zhodnotiť či som sa dostal do programovania na takú úroveň že môžem začať poriadny programovací jazyk. Ja osobne by som ešte ostal pri Pascale a učil sa ale ak je to zlé rozhodnutie rád si vypočujem iný názor a návrh na pokračovanie :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

programovanie nie je o programovacom jazyku, ale o schopnosti rozmýšlať analyticky. Ak ťa pri nejakej úlohe napadne riešenie ako to spraviť a ako to bude zaručene fungovať, bez ohľadu na to či to vieš naprogramovať, tak máš predpoklady. Naštudovať si príkazy ktoré ti k zápisu treba je už najmenej. Ak ťa ale zaskočia úlohy z učebnice pre stredné školy s ktorými nevieš hnúť a nemáš ani predstavu ako to spraviť, tak to že sa naučíš 10 nových príkazov ti tú úlohu stále nevyrieši.
Tým chcem povedať že je jedno či sa budeš držať delphi, alebo prejdeš na iný jazyk. Ak je tvojím cielom ísť na výšku (ak chceš po strednej vedieť programovať) tak sa musíš uberať iným smerom. Mal by si si skôr študovať základné algoritmy (triedenia, vyhľadávania), mal by si si pozerať ako sa riešia základné úlohy (rozdeluj a panuj...) a podobne. Aj tak keď prídeš na výšku, možno vám dajú úplne iný jazyk, nie delphi ani c ani javu

a čo je "poriadny programovací jazyk"? Lebo aj delphi je objektovo orientovaný a pritom o objektoch asi nemáš ešte ani páru. Aj v delphi sa dá písať nízkoúrovňový kod assembleru o ktorom tiež nemáš ani páru. Aj delphi zvláda smerníkovú aritmetiku, dll knižnice, ini súbory, servery, obsluhu periférii... PSPad aj total commander sú napríklad napísané v delphi
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

Nemyslím že ma úlohy z tej knihy zaskočili alebo niečo podobné. Ak máš taký pocit kvôli množstvu otázok ktoré som sem kládol tak je pravda že pri niektorých som sa chvílu trápil kým som ich vyriešil ale nakoniec som rozlúskol každú jednu a otázky ktoré som kládol boli väčšinou preto lebo som si zaumienil spraviť niečo sám od seba a moje znalosti na to nestačili... tak či tak ma tvoj postoj zaujal a rád by som sa zlepšil vo vymýšlaní algoritmov. Akou formou si môžem najjednoduchšie naštudovať základné algoritmy a riešenia úloh? mám staviť na google alebo existuje niaky dobrý zdroj? Pod pojmom poriadny programovací jazyk si predstavujem lubovolný ktorý je v praxi použitelný... o Pascale som si po prečítaní pár článkov utvoril názor že je to len jazyk vhodný na výučbu programovania a nie vytváranie niečoho plnohodnotného :) Moja otázka ale aj tak pretrváva a bol by som rád ak by mi niekto odporúčil aj literatúru pre pokročilé programovanie v Delphi ktoré zároveň skĺbim so študovaním algoritmov a podobne.
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa S-player »

Fabo napísal:zatial co Mr-Freek vytvara string charov v podobe cislic, kde bez dalsich vedomosti nemozes tento string rozdelit na konkretne ASCII kody.
Aké ďalšie vedomosti k tomu človek potrebuje aby mohol tento string rozdeliť? Máš na mysli napríklad použite kódov - int tz. či sú dvoj alebo trojciferné? V tom asi žiaden háčik nebude pretože by ten string následne nerozkódoval ani jeho tvorca.


http://sk.wikipedia.org/wiki/K%C3%B3dov ... formatika)
Kódovanie je proces, pri ktorom sa každému znaku alebo postupnosti znakov daného súboru znakov (vzorov) jednoznačne priradí znak alebo postupnosť znakov (obrazov) z iného súboru znakov.
...
Typickým príkladom nečíselného kódovania z praxe je semafor červená = stoj, zelená = choď. Ďalším príkladom je Morseova abeceda.
// Už má to inač prestáva baviťť :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

lenže tú informáciu že je to prevod na int už vieš. Keď ju nevieš, tak to je práve to "tajomstvo" alebo "kľúč". Keď ti dám 50 ciferné číslo bez toho že ti poviem že sú to ordinálne hodnoty písmen v kope bez medzier tak to nerozlúštiš len tak jednoducho
Súhlasím, že je to kodovanie. Ale iba do momentu, že informáciu "nezprzníš" ale používaš jej štandartný tvar. Ak to dá dokopy a nepovie čo to je, už ťažko zistíš pôvodný text. Rovnako ako s morzeovkou. Je to kodovanie, lebo každé písmeno tam má svoj obraz. Ale ak ti to napíšem v kope a nepoviem ako to rozdeliť, tak to neprečítaš a stáva sa z toho šifra. Povedzme správu tvorenú šiestimi bodkami. Môže to byť kopec rôznych kombinácii písmen E,I,S (napríklad SS, EEEEEE, EIS, SIE, ESEE...). Ak ti ich neoddelím pauzou ale napíšem v kope, tak mi pôvodnú kombináciu nedáš. A toto isté spravil aj on. I keď sa to rozdeliť dá jednoznačne, ale musíš vedieť čo to je aby si vedel ako to rozdeliť.
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Fabo »

Naviac musíš vedieť, že to obsahuje len písmena. Vlož tam znak 18 alebo 232, a už je to rozbité, lebo ti nesedia chary. Dostaneš 182 a 32.

Skôr by som súhlasil keby predradzoval 0 pred dvojciferné chary, ale stále nevieš ako máš deliť string.

Btw. Čo taká cézarova šifra, to nie je šifra?


edit: Audio, nemôžem si pomôcť ale to slovo smerník mi príde strašne vtipné :-) Vyskytuje sa aj bežne v slovenskej literatúre?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

keď som to hodil do googla (smerníková aritmetika) tak mi vyplul dosť skrípt slovenských unverzít, takže predpokladám že hej.
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa S-player »

Fabo napísal:Naviac musíš vedieť, že to obsahuje len písmena. Vlož tam znak 18 alebo 232, a už je to rozbité, lebo ti nesedia chary. Dostaneš 182 a 32.

Skôr by som súhlasil keby predradzoval 0 pred dvojciferné chary, ale stále nevieš ako máš deliť string.
To som spomínal vyššie. Všetky tie kódy musia byť trojciferné inač by to nerozkódoval ani tvorca. Myslím si ,že potom to nieje problém porozdeľovať.
Fabo napísal:Btw. Čo taká cézarova šifra, to nie je šifra?
Áno je to šifra. Ako si si mohol iste všimnúť tak funguje na princípe veľmi jednoduché algoritmu. V prípade ASCII (American Standard Code for Information Interchange ) musíš použiť tabuľku (codebook).
audiotrack napísal:Keď ju nevieš, tak to je práve to "tajomstvo" alebo "kľúč".
Rozumiem o čom píšeš resp. píšete. Táto neznalosť ,ale neospravedlňuje. Keď si prečítam niečo v čínštine tak to môže byť pre mňa tiež "šifra" (Nepoznám znaky, neviem ako ich "porozdeľovať" ) no v skutočnosti sa to dá asi len ťažko nazvať šifrou. Nehovoriac o tom ,že v tomto prípade všetci vieme o čo sa Mr-Freek pokúša. Pokiaľ chcete tak si kľudne volajte aj naďalej "šifrovaním"... mňa o tom ,ale nepresvedčíte.
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

Dobré "ránko" akurát som začal riešiť príklady dané pre tému pole a chcel som sa opýtať 2 otázky. Prvá či keď zapíšem niečo na štýl

Kód: Vybrať všetko

type Troky=array [1993..1997] 
         var roky:Troky;
tak index daného pola bude pre prvé "roky[1993]" a tak ďalej alebo "roky[1]", snažil som sa to overiť programom ale jedna časť mi to potvrdila a druhá vyvrátila.
Moja druhá otázka je či je možné vypísať názov indexu, napr. keby som chcel spraviť cyklus v ktorom by sa vymenovávali tie roky ktoré sú

Kód: Vybrať všetko

for I:=1 to 5 do image1.canvas.textout(50,50,('V roku '+ príkaz pre vypísanie názvu indexu + ' sa narodilo...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

nemalo by pri tom poli byť aj definované akého údajového typu je? teda

Kód: Vybrať všetko

type Troky=array [1993..1997] of Integer
ak ho máš takto deklarované, tak bude mať indexy od 1993 po 1997. V tom cykle potom

Kód: Vybrať všetko

for I:=1993 to 1997 do image1.canvas.textout(50,50,('V roku '+ IntToStr(I) + ' sa narodilo...
ale niekedy máš (budeš mať) dynamické polia, že nevieš ich indexy, tak do cyklu to často nevstupuje takto striktne. Preto sa to skôr zapisuje

Kód: Vybrať všetko

for I:=low(roky) to high(roky) do image1.canvas.textout(50,50,('V roku '+ IntToStr(I) + ' sa narodilo...
Mr-Freek
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 469
Registrovaný: 14 júl 2014, 13:23

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Mr-Freek »

ďakujem už som našiel chybu v programe ktorá mi tvrdila opak. Takže názov sa nedá vypísať? Iné riešenie by som zistil aj sám len som chcel vedieť či sa to nedá alebo to len neuviedli :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

áno, aj nie. V delphi asociatívne pole neexistuje. Takže ak to spravíš cez pole, tak sa index nedá zistiť (ale zároveň vieš, že indexy idú po sebe a teda ich vieš vypísať všetky cez cyklus ako som ti ukázal). Ak ale z nejakého dôvodu potrebuješ mať indexy neordinálne zoradené, alebo nedajbože textové tak sa to dá, len potom už musíš použiť iný údajový typ a nie pole. Napríklad stringlist
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Fabo »

Existuju v Delphi struktury ako datovy typ? Ak ano tak by sa dalo urobit pole struktur.

Priklad ako by to mohlo priblizne vyzerat v C:
(berte to ako pseudokod, budu tam asi chyby v syntaxi)

Kód: Vybrať všetko


struct pair {
  int rok;
  int udaj;
}

pair[5] roky;

for(int i = 1; i<5; i++){
cout << "V roku " << pair[i].rok << " sa narodilo " << pair[i].udaj;
}

audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa audiotrack »

áno, existujú. Veď som mu to aj písal že musí použiť iný údajový typ a nie pole. Stringlist je najbližšie k asociatívnemu polu, a radšej nech použije ten ako má mrhať pamäťou podľa tvojej ukážky
Fabo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6810
Registrovaný: 16 nov 2007, 17:23
Bydlisko: 's Chravenhache
Kontaktovať používateľa:

Re: Začíname s pascalom- jednoduchší algoritmus?

Príspevok od používateľa Fabo »

mrhanie pamatou? Ako nehovorim ze to je idealne, ale ja tam nejake mrhanie v tom snippete nevidim...
Napísať odpoveď