Programátorský víceboj 0. díl - Šifrujeme

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

cpp
nováček
Příspěvky: 41
Registrován: červen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod cpp » 06 čer 2017 20:57

Do zadání jsem přidat text vzorového souboru s klíčem pro Vernamovu šifru (256 hodnot posuvů).



Reklama
Uživatelský avatar
X
Tvůrce článků
Elite Level 12.5
Elite Level 12.5
Příspěvky: 18726
Registrován: květen 07
Bydliště: ČR: Vysočina: Havlíčkův Brod
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod X » 06 čer 2017 22:57

Osobně mi přijde sympatičtější asijský způsob myšlení ohledně copyrightu než pitomý americký / západní. Asiati něco vymyslí a jsou tím hrdější na svoji myšlenku, když ji ostatní od nich kopírují, protože to dokazuje, že je úspěšná a dobrá!
KATEGORIE:​SYSTÉM​NET​DATA​EMULACE​HRY​VIDEO​AUDIO​GRAFIKA​TEXT‌​‌​ ‌​‌​APP‌‌‌‌​Brigády‌​Filmy‌​Firefox​​●‌​FormátHlavolam‌​●‌​Hra‌​●‌​Hry‌​​Ikony‌​Klipy‌​Knihy‌​●‌​KomixyKoš‌​Melodrama‌​NákupyOdkazy‌​OS‌​Plné hry‌​●‌​RubikSam CoupéSoftware‌​●‌​Šedá zónaTV‌​‌​TV‌​Úložiště‌​VideoNovinky‌​Zajímavosti‌​Znaky

Uživatelský avatar
ITCrowd
Tvůrce článků
Elite Level 11
Elite Level 11
Příspěvky: 13250
Registrován: březen 10
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod ITCrowd » 08 čer 2017 11:59

faraon píše:10 : 5 * ( 1 + 1 ) = ?

Z matematického hlediska žádný problém.
Nejprve se spočte závorka, čímž se dostane 10:5x2. Nyní jsou si operace rovny, takže výpočet probíhá zleva doprava (jako čtení), tedy správný výsledek je 4.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem

Farsky
Level 1
Level 1
Příspěvky: 98
Registrován: květen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod Farsky » 08 čer 2017 12:03

Vzhledem k tomu že násobení má přednost, pak 10/10 = 1 ty matematiku.

Uživatelský avatar
ITCrowd
Tvůrce článků
Elite Level 11
Elite Level 11
Příspěvky: 13250
Registrován: březen 10
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod ITCrowd » 08 čer 2017 12:10

Farsky píše:Vzhledem k tomu že násobení má přednost, pak 10/10 = 1 ty matematiku.
Myslím, že ty jsi tu psal něco o tom dělat ze sebe blbce. Tak si klikni třeba sem: http://www.diktatyapriklady.cz/ktera-ma ... -prednost/
Prohledej si internet, zeptej se na matematické katedře libovolné vysoké školy.
A prosím, když už musíš něco někam psát, zjisti jak to je doopravdy. To co děláš opravdu fóru neprospěje.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem

Farsky
Level 1
Level 1
Příspěvky: 98
Registrován: květen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod Farsky » 08 čer 2017 12:15

Dej sem prosím nějaký fundovaný odkaz na řešení konkrétně tohoto případu. Divím se že postuješ takové blbiny, navíc asi v pracovní době jako hasič. Tečka

Nejprve si sečteš závorku, tady ale na pořadí nezáleží. Pak násobíš a nakonec dělíš.

Uživatelský avatar
satik
Level 5.5
Level 5.5
Příspěvky: 2521
Registrován: leden 15
Bydliště: Praha / Krkonoše
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod satik » 08 čer 2017 12:20

Farsky píše:Vzhledem k tomu že násobení má přednost, pak 10/10 = 1 ty matematiku.

Ještě prosím tu o Červený Karkulce.
Matematický výrazy se vyhodnocujou zleva doprava, nejvyšší přednost maj závorky, pak násobení a dělení mají nižší prioritu a sčítání/odčítání nejnižší.
Pokud kdokoliv tvrdí výsledek příkladu

Kód: Vybrat vše

10 : 5 * ( 1 + 1 ) =

jiný než 4, měl by se vrátit do školy.

Dělení a násobení mají stejnou prioritu -> vyhodnocuješ zleva.
https://www.facebook.com/peasantsandcastles/
https://www.twitch.tv/satikcz/
https://www.youtube.com/c/SatikCZE
PC: AMD Ryzen 1700 @ 4 GHz+BQ SL 280, ASUS Crosshair VI HERO, 32GB RAM, MSI GTX 1080 Gaming Z, Fractal Define S, Seasonic P860, SSD 2TB celkem
Periferie: ASUS ROG SWIFT, Razer Deathadder+Blackadder Chroma, Steelseries QcK+, Sennheiser PC360, DXRACER OH/KF06/NB

Farsky
Level 1
Level 1
Příspěvky: 98
Registrován: květen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod Farsky » 08 čer 2017 12:23

Uznávám a omlouvám se, jsou to 4.

cpp
nováček
Příspěvky: 41
Registrován: červen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod cpp » 08 čer 2017 13:25

ITCrowd píše:Z matematického hlediska žádný problém.


6 ÷ 2(1 + 2) = ?
Řešení příkladu je v jádru jednoduché: stačí následovat základní pravidla. Jako první vyřešíme výraz v závorce, tedy 1 + 2 je 3, a přepíšeme příklad jako 6 ÷ 2(3).
"Dál začíná drobet zmatek," vysvětluje Petr Habala, profesor matematiky na FEL ČVUT v Praze. "Dělení a násobení mají z matematického hlediska stejnou prioritu, takže matematik by vždy napsal buď 6/[2*3], nebo [6/2]*3. Nejlepší odpověď tedy zní, že je nejasné zadání," zdůrazňuje Habala. "Z mého pohledu matematika je tím problém vyřešen."
Zdroj: https://technet.idnes.cz/matematicky-hl ... 6_veda_pka

ITCrowd píše:Nyní jsou si operace rovny, takže výpočet probíhá zleva doprava (jako čtení)


To ale neznamená, že by nešlo najít řešení, které dá alespoň částečně podloženou odpověď. "Existuje pravidlo, které sice není všeobecně přijímané, ale je poměrně rozšířené. Stanoví, že operace o stejné prioritě se provádějí zleva doprava."
Zdroj: https://technet.idnes.cz/matematicky-hl ... 6_veda_pka

Dodatečně přidáno po 14 minutách 36 vteřinách:
satik píše:jiný než 4, měl by se vrátit do školy.

Dělení a násobení mají stejnou prioritu -> vyhodnocuješ zleva.


Zadání je chybné, tudíž nemůže mít správné řešení. Respektive správným řešením je konstatování, že zadání je nejednoznačné.

Žádné všeobecně přijmané pravidlo, že by se měl výraz vyhodnocovat zleva neexistuje. Pravidlo, co říká, že se výraz musí vyhodnocovat zleva je nesmyslné.

Uživatelský avatar
satik
Level 5.5
Level 5.5
Příspěvky: 2521
Registrován: leden 15
Bydliště: Praha / Krkonoše
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod satik » 08 čer 2017 14:07

Co by na tom mělo bejt nesmyslnýho? To pravidlo dává perfektní smysl, protože píšeme zleva doprava. :)

Je to úplně běžně používaný a přijímaný pravidlo skoro všude, kde se matematika používá, včetně všech počítačových aplikací, ve kterých se nějaký počítání používá.
https://www.facebook.com/peasantsandcastles/
https://www.twitch.tv/satikcz/
https://www.youtube.com/c/SatikCZE
PC: AMD Ryzen 1700 @ 4 GHz+BQ SL 280, ASUS Crosshair VI HERO, 32GB RAM, MSI GTX 1080 Gaming Z, Fractal Define S, Seasonic P860, SSD 2TB celkem
Periferie: ASUS ROG SWIFT, Razer Deathadder+Blackadder Chroma, Steelseries QcK+, Sennheiser PC360, DXRACER OH/KF06/NB

cpp
nováček
Příspěvky: 41
Registrován: červen 17
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod cpp » 08 čer 2017 14:32

Existuje vlastnost operací zvaná komutativita. Komutativní jsou například operace souštu a součinu. Tato vlastnost říká, že na pořadí operandů nezáleží, že výsledek musí být stejný.

Kód: Vybrat vše

x * y = y * x
x + y = y + x

Jelikož by mohl být pravidlem počítání pořadě zleva porušen komutativní zákon, je toto pravidlo obecně platné.

Jelikož ve výrazu

Kód: Vybrat vše

10 : 5 * 2

není upravena priorita závorkami, lze podle komutativního zákona výraz upravit na tvar

Kód: Vybrat vše

10 : 2 * 5

Což při aplikaci pravidla počítání zleva dá jiný výsledek než u původního výrazu. Mimo jiné to také dokazuje, že takový zápis je chybný kvůli své nejednoznačnosti.

To, jak čteme a píšeme s matematikou vůbec nesouvisí.

Jak už jsem jednou citoval:
"Existuje pravidlo, které sice není všeobecně přijímané, ale je poměrně rozšířené. Stanoví, že operace o stejné prioritě se provádějí zleva doprava."
Zdroj: https://technet.idnes.cz/matematicky-hl ... 6_veda_pka
Toto pravidlo není všeobecně přijímané!

Když počítáš

Kód: Vybrat vše

10 : 5 * ( 1 + 1 ) =

tak vlastně nehledáš správné řešení, ale to nejméně blbé. Zadání je prostě nejednoznačné, tudíž nemá smysl se s ním zabývat. Co řekneš člověku, který se tě zeptá, "proč je úterý fialové"?

Uživatelský avatar
satik
Level 5.5
Level 5.5
Příspěvky: 2521
Registrován: leden 15
Bydliště: Praha / Krkonoše
Pohlaví: Muž

Re: Programátorský víceboj 0. díl - Šifrujeme

Příspěvekod satik » 08 čer 2017 14:48

To s komutativitou ale prece nijak nesouvisi, resp. ji tam michas spatne.

Kdyz mas pravidlo o priorite, ze provadis vypocet zleva doprava, tak komutovat tam prvky musis stejne opatrne, jako bys tam mel tu prioritu urcenou zavorkama.

Tudiz pro ty komutace je to jako bys misto 10 : 5 * 2 mel zapsano (10 : 5) * 2 - komutovat muzes leda celou tu zavorku, ne jen jeji cast.

Dodatečně přidáno po 51 vteřinách:
cpp píše:"Existuje pravidlo, které sice není všeobecně přijímané, ale je poměrně rozšířené.

Pomerne rozsirene v tomhle pripade znamena, ze temer kazdy system ho pouziva, od programovacich jazyku po treba Wolfram, Mathematicu, Google, MS/Open Office ...
https://www.facebook.com/peasantsandcastles/
https://www.twitch.tv/satikcz/
https://www.youtube.com/c/SatikCZE
PC: AMD Ryzen 1700 @ 4 GHz+BQ SL 280, ASUS Crosshair VI HERO, 32GB RAM, MSI GTX 1080 Gaming Z, Fractal Define S, Seasonic P860, SSD 2TB celkem
Periferie: ASUS ROG SWIFT, Razer Deathadder+Blackadder Chroma, Steelseries QcK+, Sennheiser PC360, DXRACER OH/KF06/NB


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Programátorský víceboj 2. díl - Morseovka
    od cpp » 07 črc 2017 09:03 » v Programování a tvorba webu
    3
    307
    od ITCrowd
    07 črc 2017 20:13
  • Programátorský víceboj 1. díl - Máme rádi matematiku
    od cpp » 20 čer 2017 11:22 » v Programování a tvorba webu
    27
    972
    od faraon
    07 črc 2017 17:21
  • Reklamace a použitý díl
    od rychtara » 16 lis 2016 09:41 » v Reklamace a zákony
    2
    383
    od petr22
    16 lis 2016 09:48
  • Tydenní herní novinky - 22. díl
    od beather » 13 srp 2017 08:21 » v Hry
    1
    365
    od Ltb
    14 srp 2017 13:52

Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: CommonCrawl [Bot] a 1 host