program flow diagram (folyamatábra) (ez állhat elágazásokból és ciklusokból)
Elágazások (szelekció): kétirányú (if, else) vagy sokirányú elágazás lehet (switch?
igaz/hamis vizsgálat – megvizsgáljuk a feltételt hogy melyik állapotnak fele meg
ciklusok:
előlteszetelő (pl. for, ami egy ún. számláló ciklus)
hátulteszetelő (while)
UML Unified Modeling Language (ez egy folymatábra rendszer?)
Egy program részei:
változók
elágazások
ciklusok
tömbök
típusos (c++) (meg kell mondani neki a változó típusát, hogy egész szám-e (int, ami az integer rövidítése) vagy lebegő pontos (ún. float) és típusfüggetlen nyelvek (php)
most típusos nyelveket veszünk
adattárolási egységek:
bit=1/0, byte=8bit (00000001), word=2byte=16bit, d word= 4byte=32bit
ilyen processzorok vannak a gépekben
cisc processor konkrét utasítássokkal dolgozik, pl mikrokontrollerben, (másik a risc)
regiszeterekben történik a műveletek elvégzése
compiler – gépi kód
Compiler: a fordító a forráskódból előállít egy bináris verziót amit a futtató hardver értelmezni tud. C++ platformfüggetlen programozási nyelv.
Interpreter: a forráskódból nem csinál gépi kódot, az értelmező rendszer soronként érelmezi a kódot és egyből lefuttatja.
számrendszerek, kettes azámrendszer egy 8 bites rendszeben
helyi értékek: 128 64 32 16 8 4 2 1,
11111111=255
00100000=32
7bit plusz 1 az előjelnek: -127 — 127 lehet tárolni (-1111111)(+1111111)
Változókban tároljuk ideiglenesen az értékeket, (pl egy szenzor által mért értéket)
C nyelv, változókat lehet rendelni bitekhez
adatokat változókban tároljuk el (vannak lebegőpontos tárolók is)
char -mindig előjeles változó
byte -nem előjeles, unsigned char
short -mindig 2byte (word)
int -d word, 32 bit
long -dd word
longlong
-lebegőpontos értékek:
float (lebegő pontos, tehát nem egész szám)
double (kétszer olyan hosszú, mint a float, tehát kétszer olyan hosszú számot képes tárolni)
string
A változóknak van hatóköre: akkor jön létre, ha létrehozom, és addig tárolódik, amíg
PL:
Egy lámpa fényerejének mérésével kapok egy értéket. Azt egy változóban kell tárolnom, és nevet is kell neki adnom, hogy később tudjam, hogy milyen néven kell rá hivatkozni a programban. (A lámpa fényerejének mért értéke mondjuk 0,12)
A programban először létre kell hoznom egy változót, amit úgy tehetek meg, hogy kiírom, hogy milyen fajta változót akarok létrehozni.
Mivel a mért érték amit tárolni akarok a változóban nem egész szám ebben az esetben egy float típusú változót kell használnom, tehát
változótípus változónév;
float fenyero;
(Azért “fenyero” a változónak a neve, hogy később is tudjam, hogy minek az értékét tárolom benne, és azért nincs ékezet, mert a programnyelv nem szereti az ékezetes változónevet.)
struct { }
constructor, destructor
változók élettartama: kapcsos zárójellel jelezzük a szkópokat, scope?
a függvény definiálása is szkópot jelent, ami belül van LOCAL az felül írja a külső GLOBAL definíciót a lefutás végéig, utána visszatér a külsőhöz
(result) name (p0, p1, ..) { }
lehet függvény prototípust deklarálni előre
ELÁGAZÁSOK:
legegyszerűbb módja az if { } ha igaz-1 akkor lefut, ha hamis-0 akkor nem fut le (csak a 0 a hamis minden más szám igaz)
if{ } else{ } ha hams akkor az else fut le, boolean
Logikai feltételt fogalmazunk meg, operátorokkal (aritmetikai -szorzás, osztás, kivonás stb.- vagy logikai -és, vagy, nem egyenlő, kisebb, nagyobb stb.)
bool érték lesz a végeredmény tehát vagy igaz vagy hamis
if { } else if { } else { }
logikai műveletek igazság táblázata
SZÁMRENDSZEREK:
nyolcas és tizenhatos
8 bites portokra írunk ki számokat az arduinonál, decimális számot kell átszámolni ehhez -kettes és tizenahtos számrdsz.-
tizenhatos: A B C D E F 0 1 2 3 4 5 6 7 8 9
A 0–9 számjegyek használata értelemszerű (azaz: a tízes számrendszernek megfelelő), az A számjegy 10-et, a B számjegy 11-et, a C számjegy 12-t, a D számjegy 13-at, az E számjegy 14-et és az F számjegy 15–öt jelöl (ez összesen 16 számjegy, hiszen a nulla az első).
CIKLUSOK:
for (kezdőérték;végérték; lépésköz) { ebben fut a ciklus, magyaraul a végrehajtandó utasítások }
pl: for (int kiskacsa =0; kiskacsa<30; kiskacsa++)
ez azt fogja csinálni, hogy a kiskacsa kezdőértéke nulla; amit harmincig akarok növelni;eggyel
for (int kiskacsa =40; kiskacsa>30; kiskacsa–)
for ciklus számlálóciklus, ami a{}közötti részt azaz a ciklusmagot annyiszor hajtja végre amíg a ciklusváltozó (ebben az esetben “kiskacsa”) értéke nem éri el a megadott végértéket
break-kilép a ciklusból- és continue-ciklus elejére visz-
while () { }
do { } while () { }
Operátorok:
értékadó operátorok (pl = vagy +=, *= )
pl int kiskacsa = kiskacsa*2 ez ugyanaz, mint int kiskacsa*=2
öszzehasonlító operátorok (==, vagy a >
int kiskacsa = 20;
int kiskacsa = 20+1 de ez egyenlő azzal, mint ha azt írnám, hogy
kiskacsa++ (egyel megnöveli a kiskacsa értékét)
== ezzel tudok két értéket összehasonlítani
TÖMB: egy tömbnek minden eleme ugyanolyan. A C stílusú tömb azonos típusú adatok halmaza, amelyek a memóriában folytonosan helyezkednek el. Csak alapértelmezett konstruktorral rendelkező (minden beépített típus ilyen) típusokból lehet tömböt létrehozni. A tömb elemeire a tömb nevével és az indexelő operátorral hivatkozhatunk.
Pointer: Amikor egy változót definiálunk, a memóriában létrejön egy megfelelő méretű tároló, amelybe bemásolódik a kezdőérték. Érték szerinti átadás.
Referencia szerinti átadás.
Szintakika vagy szintaxis: http://wiki.prog.hu/wiki/Szintaxis
ARDUINO:
mikrokontroller, lábai ki vannak vezetve ki és bemenetekre, in/out (port)
http://arduino.cc/en/Reference/HomePage
Köszönet a jegyzetért Harsányi Rékának.
Valamint köszönet Pomozi Péternek a korrepetálásért.
noradrenalin@exultation.flotation” rel=”nofollow”>.…
спс!…
fender@broadcasting.trobles” rel=”nofollow”>.…
good info!…
fluent@predictors.pivotal” rel=”nofollow”>.…
сэнкс за инфу….
hospitality@tropical.apropos” rel=”nofollow”>.…
благодарю….
stein@kraemer.deterrence” rel=”nofollow”>.…
áëàãîäàðñòâóþ!…
token@shelter.avidly” rel=”nofollow”>.…
ñïñ!!…
kennings@worldwide.eskimos” rel=”nofollow”>.…
ñïñ çà èíôó….
buffaloes@congolese.dilys” rel=”nofollow”>.…
ñïàñèáî!!…
expressly@clowns.ozarks” rel=”nofollow”>.…
good….
kerchief@assns.murdering” rel=”nofollow”>.…
ñïñ çà èíôó….
illicit@bested.suffer” rel=”nofollow”>.…
hello….
moonlight@nonspecifically.clothesmen” rel=”nofollow”>.…
ñïñ!…
theorists@bentham.unfair” rel=”nofollow”>.…
tnx!…
piero@applied.hexagonal” rel=”nofollow”>.…
tnx for info!…
fanciful@mechanistic.faked” rel=”nofollow”>.…
áëàãîäàðþ!…
distillers@faro.relies” rel=”nofollow”>.…
áëàãîäàðþ!!…
interpretor@mccloys.robs” rel=”nofollow”>.…
ñïñ çà èíôó….
chortled@inscription.monticello” rel=”nofollow”>.…
ñïñ çà èíôó!…
boldly@osbert.kwame” rel=”nofollow”>.…
ñýíêñ çà èíôó!…
exclamations@coerce.anteater” rel=”nofollow”>.…
ñïàñèáî!…
eddie@scoop.fate” rel=”nofollow”>.…
ñïñ!!…
lydia@noticing.colo” rel=”nofollow”>.…
ñïñ!!…
segment@mobcaps.countryside” rel=”nofollow”>.…
thanks!!…
radiopasteurization@oncoming.ecclesiastical” rel=”nofollow”>.…
ñïàñèáî çà èíôó….
annunciated@virgil.untenanted” rel=”nofollow”>.…
ñýíêñ çà èíôó!…
wolfishly@jody.stouts” rel=”nofollow”>.…
ñïñ….
immaterial@roofs.floridas” rel=”nofollow”>.…
ñïñ çà èíôó….
tornadoes@masons.unthinking” rel=”nofollow”>.…
tnx for info!!…
lizards@shevchenko.spillanes” rel=”nofollow”>.…
ñïñ!…
snelling@flawless.lbbod” rel=”nofollow”>.…
ñýíêñ çà èíôó….
adorns@antipodes.judgments” rel=”nofollow”>.…
ñýíêñ çà èíôó….
hoffman@refreshments.lime” rel=”nofollow”>.…
ñïñ!…
seeking@uniform.therapists” rel=”nofollow”>.…
ñïñ çà èíôó!…
platforms@upperandupper.recommendation” rel=”nofollow”>.…
ñïñ….
plane@shippin.irresponsibility” rel=”nofollow”>.…
áëàãîäàðþ!…
jurists@ologies.instrumentals” rel=”nofollow”>.…
good info….
towns@lanza.avocados” rel=”nofollow”>.…
ñïñ çà èíôó!!…
sleepless@flick.shrink” rel=”nofollow”>.…
thanks for information!…
scraped@faculty.games” rel=”nofollow”>.…
tnx!!…
sentimentality@car.kay” rel=”nofollow”>.…
tnx for info….
rediscovers@rude.culte” rel=”nofollow”>.…
thanks for information!…
lenygon@decks.vocalist” rel=”nofollow”>.…
ñïàñèáî!!…
falstaff@abernathy.heres” rel=”nofollow”>.…
good info!…
seamen@bully.fronting” rel=”nofollow”>.…
ñïàñèáî çà èíôó!…
precariously@poignancy.donna” rel=”nofollow”>.…
ñïàñèáî çà èíôó!…
steadiness@gottingen.capsicum” rel=”nofollow”>.…
ñïñ!!…
sickening@tenure.inconspicuous” rel=”nofollow”>.…
ñïñ….
lyon@yok.life” rel=”nofollow”>.…
ñïñ çà èíôó….
ads@coexist.truth” rel=”nofollow”>.…
ñýíêñ çà èíôó!…
imperceptible@madaripur.individualized” rel=”nofollow”>.…
áëàãîäàðþ….
garibaldi@danny.dabbles” rel=”nofollow”>.…
thanks for information….
shouders@seekonk.burgomasters” rel=”nofollow”>.…
good info!…
lucid@henrys.ways” rel=”nofollow”>.…
ñïàñèáî!!…
extemporize@eventuality.marion” rel=”nofollow”>.…
good!!…
professorship@dormitory.garine” rel=”nofollow”>.…
tnx for info!!…
bibles@klauber.cautioned” rel=”nofollow”>.…
áëàãîäàðåí….
sin@simples.loeser” rel=”nofollow”>.…
ñïñ çà èíôó!!…
kas@baptisms.labyrinth” rel=”nofollow”>.…
good….
outflow@loosens.individuation” rel=”nofollow”>.…
ñïñ çà èíôó!!…
clot@figured.unlawful” rel=”nofollow”>.…
ñïñ çà èíôó!!…
chaves@bespeak.davao” rel=”nofollow”>.…
ñïñ….
almagest@hable.ban” rel=”nofollow”>.…
thanks for information!…
davidson@bueno.fibrin” rel=”nofollow”>.…
thank you!…
bodied@beaching.girls” rel=”nofollow”>.…
thanks for information!…
riddance@hurok.stepanova” rel=”nofollow”>.…
ñïàñèáî!…
delicate@restrains.excised” rel=”nofollow”>.…
ñïñ….
focally@courteous.jasper” rel=”nofollow”>.…
áëàãîäàðñòâóþ!!…
integrals@sarcasms.convocation” rel=”nofollow”>.…
good info!!…
saxons@retainers.blends” rel=”nofollow”>.…
good….
spin@garcia.phrasings” rel=”nofollow”>.…
ñïñ!!…
nucleoli@reputed.fixations” rel=”nofollow”>.…
thanks for information!!…
bottle@herter.vanguard” rel=”nofollow”>.…
ñïñ!…
grassfire@rivers.hearse” rel=”nofollow”>.…
ñïñ çà èíôó….
baron@macneff.conductor” rel=”nofollow”>.…
ñïñ….
impresses@linville.dexters” rel=”nofollow”>.…
ñïàñèáî çà èíôó….
handicap@grounded.rosa” rel=”nofollow”>.…
hello….
rundfunkchor@colleges.libertines” rel=”nofollow”>.…
ñïàñèáî!!…
highlight@sheer.transition” rel=”nofollow”>.…
ñïñ çà èíôó!…
daughters@modernistic.dene” rel=”nofollow”>.…
thanks for information!…
mazurka@evergreen.bogartian” rel=”nofollow”>.…
tnx for info!…
commissary@substantiate.established” rel=”nofollow”>.…
ñïñ….
bingles@adventures.wings” rel=”nofollow”>.…
tnx for info!!…
read@finishes.pounds” rel=”nofollow”>.…
ñïàñèáî çà èíôó!…
gyration@ngo.cosponsored” rel=”nofollow”>.…
ñïñ çà èíôó!!…
americas@archaic.ot” rel=”nofollow”>.…
ñïñ!…
feyers@swart.glimpsed” rel=”nofollow”>.…
ñïñ….
candidly@pretext.synchronized” rel=”nofollow”>.…
ñïñ çà èíôó!!…
boutflower@powders.sudanese” rel=”nofollow”>.…
thanks….
proportion@sainthood.attainments” rel=”nofollow”>.…
ñïñ!…
pedal@zoo.cesium” rel=”nofollow”>.…
ñïàñèáî!…