Zaslal: ne srpen 09 2015, 16:53 Předmět: C++ minimálka?
Ahoj, když kdesi chtějí základní znalosti C++, co přesně se pod tím rozumí? Co je to minimum? Toto? Abych věděl, co se tak v průměru očekává.
kód:
#include <iostream>
using namespace std;
int main()
{
int volba, cislo1, cislo2 ; // deklarovani funkce volba a operandů příkladů
float deleni ; // deleni se zbytkem umoznuje pouze nekolik druhu pameti, viz Floating point anebo Pohyblivá řádová čárka
do //do-while loop starts here.that display menu again and again until user select to exit program
{
//Vlastni nabidka:
cout << "Vitejte v ukazkovem programu na vypocet ele. vykonu." << endl;
cout << "Upozorneni: pri psani desetinnych cisel dodrzujte" << endl;
cout << "anglosasky standart, tudiz 2.5 (nikoliv 2,5)!" << endl;
cout << "(Vyhotoven: 9.8.2015)" << endl;
cout << "1) P = W / t" << endl;
cout << "2) W = P * t" << endl;
cout << "3) t = W / P" << endl;
cout << "4) KONEC" << endl;
No ono jedna věc je chápat syntaxi jazyka jako takového a druhá věc je schopnost v daném jazyce zvládnout naprogramovat nějaký reálný projekt. Výpis 100 řádků konzolové aplikace pro PC s tím nemá co dělat. Jinak programování obecně je podle mě docela dřina, ne každý má na tuhle práci dispozice.
ten kód to je zatím C kód pro C++ kompilátor (místo funkce printf se přetěžuje operátorem << objekt pro streamy)...
C++ je o objektivním programování a dalších fičurách. Čisté Cčko jako podmnožina jazyka, tam je kvůli kompatibilitě a tvoří cca čtvrtinu z celého jazyka.
Co se týče požadavku základy C++, tak nevím co si pod tím "pan manažer" představuje. Spoustu lidí dělající do moderních mcuček (a signálových procesorů) používají "ANSI" C++, ale používají z jazyka minimum, protože spoustu věcí z principu na malých procesorech nemůže fungovat. Podobně jako na 8bitovým mcučku s malou pamětí se nedá implementovat dynamická alokace paměti.
Pokud to C++ je pro desktop, tak se máš hodně co učit. Většinou to je kvůli nějakým toolchainům pro GUI apod
Založen: Sep 19, 2007 Příspěvky: 3698 Bydliště: Praha
Zaslal: po srpen 10 2015, 17:29 Předmět:
Arduino << na takový nudlový kód asi nebude nikdo zvědavý, ale když už bych to měl před sebou, chtěl bych dost detailně vysvětlit co znamená
kód:
cout << cislo1 << endl;
jak by se to napsalo s vynecháním
kód:
using namespace std;
a co to je to std. Jak oddělit data a kód a jak to lépe strukturovat, aby z toho nebyl takový guláš.
Obvykle se dávají jako příklady krátké kusy kódu s chybou a úkolem je chybu najít (například přetečení čísla a v důsledku nekonečný cyklus). Napsat (třeba v pseudokódu) tisk nějaké posloupnosti podle zadaného algoritmu typu prvek n+1 je dán jako součet prvku n a n-1 a podobně, napsat funkci na setřídění pole podle velikosti nebo na vybrání největšího prvku z posloupnosti o předem neznámé délce. Vypsat čísla od 1 do 100 bez použití cyklu (očekává se rekurse). Dotazy typu jaký je rozdíl mezi malloc a calloc, jaké jsou způsoby zpracování chyb za běhu programu. Vysvětlit vzájemný vztah a odlišnosti pointeru a pole, předávání parametrů odkazem a hodnotou, třídy uložení dat a tak dále.
dobrý je taky ukázat zdroják některých svých projektů.
Zkušený programátor hned pozná, jestli dotyčný má nějaké zkušenosti nebo to je jenom další pras...bastlič. Spoustu lidí, co mastí programy pro 8bity, si o sobě myslí jaký jsou profesionálové a přitom jejich zdrojáky jsou totální nemodulární paskvil.
Největší prdel je pak s takovýma lidma dělat na nějakém projektu nebo nedej bože použít jejich zdroják jako výchozí...
EDIT: Jinak pokud se hodláš učit opravdové C++, tak se doporučuju vyhnout často doporučovaným knihám jako je Mistrovství C++. Autor je nějakej astronomickej akademik, co C++ vysvětluje jako Cčkař. Takže po přečtení knihy sice píšeš v C++ ale se s dost blbými zlozvyky.
Založen: Sep 19, 2007 Příspěvky: 3698 Bydliště: Praha
Zaslal: po srpen 10 2015, 20:47 Předmět:
Co se týče kódování, tak některé moderní jazyky vycházejí ze syntaxe C, jmenujme například Java, Perl. Kdo se jednou naučil C, necítí se v takových jazycích ztracený a po chvíli koukání do kódu se zorientuje co a jak.
Co se týče programovacích návyků, strukturování, generického přístupu nebo objektového uvažování, to jde napříč programováním nezávisle na konkrétním jazyku. Jistě, různé jazyky mají různé specifické možnosti, ale to není velký problém.
V kódu, který zde na fóru bývá prezentován, často vidím začátečnické chyby. Nudlový kód, který se mastí bez dekompozice úlohy, opakují se velmi podobné sekvence aniž by autor podumal, jak napsat obecný blok, který se pak parametrizuje. Směska kódu a dat, řešení high-level vrstvy úlohy je promícháno na stejné úrovni jako řešení detailů.
Doporučuji studovat zdrojový kód, například jak jsou napsány knihovny pro Arduino. Na FTP serveru je dostupný můj zdrojový kód pro generátor s AD9851 v holém C. Netvrdím, že je to ukázka skvělého kódu bez chyb, najde se ohromné množství lepšího, ale něco byste tam okoukat mohl.
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3Další
Strana 1 z 3
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.