Jak začít s programovaním?

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

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod faraon » 16 říj 2014 21:01

Počítá ta kalkulačka? Já to nemám kde zkompilovat, ale jen tak od oka tam nic špatného není. Naopak, kdyby to byl úkol v testu, dostal bys jedničku. Teď jde o to jestli sis už zapamatoval tolik, abys podobný program napsal z hlavy, nebo jen s mírným nahlédnutím bez opisování.

Padl tu návrh týkající se geometrických obrazců, tak zkus na základě tohohle programu stvořit trochu složitější kalkulátor. Pro výpočet čtverce a kruhu ti stačí zadat jeden údaj, velikost strany nebo průměr, a z tohohle čísla má program vypočítat hned čtyři výsledky:
  1. obsah čtverce
  2. obvod čtverce
  3. obsah kruhu
  4. obvod kruhu
Bacha na Pí, školní přesnost na dvě desetinná místa je nedostatečná, doporučil bych ti hned na začátku vytvořit konstantu (nebo aspoň proměnnou) s názvem PI, do které vložíš číslo 3.1415926536 a pak všude v programu budeš používat jen její název PI.
Ony počítače totiž počítají jen s omezenou přesností, co si na papíře můžeš spočítat na libovolný počet desetinných míst, to počítač spočítá jen tak přesně kolik se mu vejde do velikosti daného desetinného typu. A při převodech z desítkových čísel na dvojková také někdy může vzniknout nepřesnost, na takové věci se musí dávat pozor a nezhoršovat je.

A ještě detail, v tomhle programu budeš potřebovat pracovat s desetinnými čísly, tak nezapomeň že typ INTEGER je pouze celočíselný, ty musíš použít REAL.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Reklama
HarkIV
nováček
Příspěvky: 20
Registrován: září 13
Bydliště: Sadská
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak začít s programovaním?

Příspěvekod HarkIV » 16 říj 2014 23:14

faraon:

Ba naopak, šablona třídy je jasná a tu bude kopírovat do zblbnutí a velice dobře ho to naučí, jak si představit jednotlivé části programu, podproblémy a necpat všechno do jednoho texťáku bez ladu a skladu.

Jestli je napsání metody těžké, tak promiň, ale napsat void delej_neco() {} a pokračovat tak jako bych psal kód bez funkcí, to určitě zvládne. Vytvoření nové třídy a zavolání její funkce taky zvládne, pokud ne, tak se na začátku zeptá. Tohle je věc, kterou si člověk celkem rychle zažije. Přece uvnitř těch funkcí nemusí být žádné hororové implementace a nemusí hned programovat raytracing. Ale nevidím důvod, proč by nemohl ve funkci sečíst, vynásobit 2 čísla a vrátit výsledek. Jasně třeba mu to vyhodí chybu - dělení nulou, ale na to by došlo tak jako tak. No a máme tu podmínky, další základní věc. U prvních programů nebudou nijak složité a u každého programovacího jazyka jsou v podstatě stejné.

Jak zvládne tohle, tak určitě narazí na složitější zadání a třeba i použije něco, čemu se bude říká pole a procházení polem. A to jsme vůbec nezabrousili k pointrům, šablonám, abstraktním metodám. Na tohle všechno je čas na začátku čas a dostane se k tomu až po nějakém tom hotovém jednoduchém prográmku.

Tady se opravdu není čeho bát. Nebude se učit žádné složitosti, jen si hned od začátku bude zažívat strukturu programu a způsob myšlení.

proofer:
Je potřeba si odpovědět na pár otázek:
- Funguje ta kaluklačka?
- Víš co dělají jednotlivé příkazy?
- Napsal by si to nyní bez návodu?

Pokud odpovíš na vše ano, tak gratuluji, můžeš kód zkulturnit a dodat mu popisky/komentáře. Pomůže ti to při dalším vývoji, až se budeš vracet k programům, které si už dělal.

Pokud ne, tak nevadí (od čeho jsou testeři ;)), zkus si to projít ještě jednou a zjisti, od kterého řádku se chová program, tak jak nemá.

Uživatelský avatar
Oxxid
člen BSOD týmu
Master Level 8
Master Level 8
Příspěvky: 6194
Registrován: prosinec 12
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod Oxxid » 16 říj 2014 23:24

Jedna stránka je vědět jak se zapisují a k vemu slouží funkce a používat OOP, protože je to moderní a ta druhá je myslet jako programátor nehledě na jazyk, schopnost rychle a efektivně řešit dany problém, pokročilé algoritmy atd, a tohle, mám dojem, je ta věc, které se snaží faraon dosáhnout.

Toť můj názor.

Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod faraon » 17 říj 2014 05:52

HarkIV píše:šablona třídy je jasná a tu bude kopírovat do zblbnutí
...
A to jsme vůbec nezabrousili k pointrům, šablonám, abstraktním metodám.

To je samozřejmě pravda, prostě se to naučí zpaměti jako modlitbičku, a bude to tam plácat furt dokola, aniž by pořádně věděl co to dělá. Zrovna tak se může naučit zpaměti bubblesort, a ten použív vždycky, aniž by se zamyslel jestli není i něco lepšího. Vždyť ty dva vnořené cykly se tak dobře pamatují. Nakonec z něj bude typický javista, který vygooglí metodu a lupne jí do programu, je to rychlé a moderní, o zbytek se postarají testeři...
Takhle funguje i školní výuka, namrskat se zpaměti vzorečky a sypat je z rukávu. Jenže já osobně jsem nadosmrti vděčný učiteli, který nám ukázal jak si z obyčejného trojúhelníku odvodit třeba vzorce pro zrychlení. Ten pro mě udělal víc než všechny ty učebnice dohromady.

A ukaž mi, jak v Céčku uděláš funkci (nikoliv makro) na prohození dvou čísel bez pointerů. V C++ to sice jde odkazem, jenže tam zase na první pohled už při volání nevidíš že ti to ty proměnné může ovlivnit, v tomhle je C rozhodně bezpečnější (i proti Pascalu!).

Ale protože to vypadá že OOP ovládáš lépe než já, zkus mu tady do začátku napsat nějaké stručné teze, kterých by se mohl chytit a jet podle nich. Prostě to vysvětli někomu kdo o tom nic neví. Ale místo C++ nebo Javy bych volil něco jako Object Pascal/Delphi nebo ten současný Python.
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
proofer
Level 4
Level 4
Příspěvky: 1421
Registrován: listopad 12
Bydliště: Zlínský kraj
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod proofer » 17 říj 2014 06:38

Tak kalkulačka funguje bezchybně, příkazy vim co dělají (no nejsem v tom ještě moc zběhlý ale ty základy vím. A tu kalkulačku bych možná napsal zpaměti, a to právě nevím jestli je dobře. PS. Fakt nemám tušení o čem tu mluvìte :D

Odesláno z mého U8160 pomocí Tapatalk 2
Intel Core i3-4150| GIGABYTE GA-B85-HD3 |Kingston HyperX Fury Blue 4GB DDR3 1600+/2x/Transcend JetRam 2GB DDR3 1333 /8GB/ |Seagate Barracuda 7200.14 - 1TB |EVGA 500B |MSI R9 270X GAMING 2G@1180/1500 |CoolerMaster K350 |Benq VW2245Z |A4Tech Bloody V8

Uživatelský avatar
Sender
Level 3.5
Level 3.5
Příspěvky: 700
Registrován: leden 07
Bydliště: Vysočina
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod Sender » 17 říj 2014 09:17

Trošku normální programovací nástroje mají funkci PI,která vrací hodnotu PI minimálně na čtrnáct desetiných míst.

Scientific
Level 3
Level 3
Příspěvky: 499
Registrován: červenec 13
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod Scientific » 17 říj 2014 09:40

Podle mě, kdo nemá rozum na to, aby přišel na to, jak s programováním začít.
Na programování toho rozumu má málo.
Takovému člověku pak NEdoporučuji hledat "jak začít", protože na to prostě nemá. :D

Zapřemýšlej nad tím.

Uživatelský avatar
jerabina
člen Security týmu
Level 6
Level 6
Příspěvky: 3647
Registrován: březen 13
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod jerabina » 17 říj 2014 10:28

Samozřejmě, ty si přišel např. k Eclipse a začal si programovat ... 1 den si se naučil OOP a druhý den si si již programoval vlastní OS .... :evil:
Když nevíš jak dál, přichází na řadu prostudovat manuál!
HJT návod

Pokud neodpovídám do vašich témat v sekci HJT když jsem online, tak je to jen proto, že jsem na mobilu kde je studování logů a psaní skriptů nemožné. Neberte to tedy prosím jako ignoraci.

Uživatelský avatar
proofer
Level 4
Level 4
Příspěvky: 1421
Registrován: listopad 12
Bydliště: Zlínský kraj
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod proofer » 17 říj 2014 14:34

jerabina: to bylo na koho?
Intel Core i3-4150| GIGABYTE GA-B85-HD3 |Kingston HyperX Fury Blue 4GB DDR3 1600+/2x/Transcend JetRam 2GB DDR3 1333 /8GB/ |Seagate Barracuda 7200.14 - 1TB |EVGA 500B |MSI R9 270X GAMING 2G@1180/1500 |CoolerMaster K350 |Benq VW2245Z |A4Tech Bloody V8

Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Jak začít s programovaním?

Příspěvekod domitea » 17 říj 2014 15:18

faraon píše:Ale protože to vypadá že OOP ovládáš lépe než já, zkus mu tady do začátku napsat nějaké stručné teze, kterých by se mohl chytit a jet podle nich. Prostě to vysvětli někomu kdo o tom nic neví. Ale místo C++ nebo Javy bych volil něco jako Object Pascal/Delphi nebo ten současný Python.


Pilíře OOP?

1. Zapouzdření - každá třída by neměla navenek ukazovat, jak funguje. To znamená, že všechny proměnné i funkce, které nejsou potřeba, jsou "viditelné" pouze pro vnitřek třídy, nikde jinde. Pokud si chceš hrát s proměnnou mimo domovskou třídu, použij gettery a settery - google ti řekne víc ;)

2. Dědičnost - Za každého předchůdce můžeš dosadit jeho potomka - Super věc v OOP, pokud se ti nějaká třída nelíbí - jednoduše si z rodiče udělej potomka, kterého pak upravíš dle svého. Výhoda pak je, že místo rodiče pak dosadíš potomka a jedeme dále :D

3. Polymorfismus - Složité slovo, které říká jenom to, že se můžeš spolehnout na své třídy. Dejme tomu, že máme třídy ctverec a trojuhelnik. Obě dvě mají metodu kresli. Ty teď můžeš zavolat na oba dva metodu kresli a nezajímá tě, jak se provede - tebe jen zajímá, že je to metoda kresli. ;)

Uživatelský avatar
jerabina
člen Security týmu
Level 6
Level 6
Příspěvky: 3647
Registrován: březen 13
Bydliště: Litoměřice
Pohlaví: Muž
Stav:
Offline

Re: Jak začít s programovaním?

Příspěvekod jerabina » 17 říj 2014 17:02

Na Sciefintica, protože podle něho nemá ten, kdo nesedne k počítačí a nezačne programovat nemá právo programovat ...
Když nevíš jak dál, přichází na řadu prostudovat manuál!
HJT návod

Pokud neodpovídám do vašich témat v sekci HJT když jsem online, tak je to jen proto, že jsem na mobilu kde je studování logů a psaní skriptů nemožné. Neberte to tedy prosím jako ignoraci.


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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů