Változók.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Programozási feladatok
Összetett adattípusok 8/b tétel
Tömbök C#-ban.
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
Algoritmus és programozás
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
Az LCD kijelző programozása
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozás alapjai.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
C A C nyelv utasításai.
Mutatók, tömbök, függvények
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Borland C/C++ mintapéldák
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Ciklusok
ISZAM III.évf. részére Bunkóczi László
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás Az adatokról C# -ban.
C nyelv utasításai.
Összetett adattípusok
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Programozási nyelvek Páll Boglárka.
Ciklusok (iterációk).
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Visual Basic 2008 Express Edition
Objektum orientált programozás
Objektum orientált programozás
Objektum orientált programozás
A Visual Basic nyelvi elemei
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
C Programozási alapok.
Free pascal feladatok
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Excel programozás (makró)
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
00. GYAKORLAT Bevezető.
Informatikai gyakorlatok 11. évfolyam
Elágazások a programban – IF utasítás
Kifejezések C#-ban.
Gépészeti informatika (BMEGEMIBXGI)
Excel programozás (makró)
02. GYAKORLAT Soros monitor.
01. GYAKORLAT Futófény.
Programozás C# -ban Elágazások.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Programozási nyelvek alapfogalmai
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Villogó delay függvény használata nélkül
Adatszerkezetek.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Függvénysablonok használata
Előadás másolata:

Változók

Változó A változó egy olyan memórialokáció amelyhez szimbolikus nevet rendeltünk. Ezt a lokációt fel lehet tölteni vagy akár üresen is lehet hagyni. Különféle típusú értékek őrzésére szolgál. A változók azért fontosak mert a program futása közben változtathatjuk a tartalmukat (értéküket). Ezért is viselik a „változó” nevet. Az állandókat (konstansokat) nem lehet változtatni.

A változó típusa A változó típusa határozza meg a benne elhelyezendő adat természetét. Úgyszin- tén, a típus határozza meg hogy mennyi memória lesz rezerválva az adott változónak. A C programozási nyelv körülbelül 10 különféle típusú változót ismer.

Változótípusok boolean (false or true) – 1 byte char (az ‘a’-t számként őrzi – ASCII) – 1 byte, signed (-128 : +127), unsigned (0 : 255) byte (8-bit unsigned data, 0 : 255) int (2-bytes, signed -32768 : 32767 unsigned 0 : 65535) word ugyanaz mint az unsigned int

Változótípusok float (4-bytes signed -3.4028235 E+38 : 3.4028246E+38) long (4 bytes signed -2147483648 : 2147483647 unsigned 0 : 4294967295) float (4-bytes signed -3.4028235 E+38 : 3.4028246E+38) double (ugyanaz mint a float, de dupla pontossággal) array – ugyanolyan típusú elemek sorozata melyekhez indekszen keresztül lehet hozzáférni. méret: (elemek száma) x (típus mérete)

Változótípusok string – karakterek sorozata, az utolsó a null (ASCII 0). Az első betű kicsi „s”. méret: (elemek száma) x (1 byte) String – adatstruktúra (osztály) amely alkalmas a karakterláncok kezelésére. Az első betű a nagy „S”.

Roll-over Ha a változó értékét az adott típusra előrelátott felső határ fölé növeljük, akkor az intervallum elejére fog ugrani. int myInt = 32767; // az int típus // makszimális // értéke myInt = myInt + 1; // ezután a myInt // értéke -32768 Ugyanez történik kivonáskor is.

Deklaráció és definíció A deklaráció és a definíció NEM UGYANAZ! A változó deklarációja egy kijelentés amellyel egy azonosítót hozunk létre, és megjelöljük a változó típusát és (néha) dimenzióját. Az azonosító a változó neve, a típust az előző oldalakon ismertettük. A dimenzió a sorozatoknál és a String-eknél fontos.

Deklaráció és definíció A C programozási nyelvben a változót használat előtt muszáj deklarálni. Ha ezt nem tesszük meg, a fordítóprogram mindenképpen hibát fog jelezni.

Deklaráció és definíció - példák bool myVariable; // deklaráció myVariable = true; // definíció értékadással char myChar = ‘U’ // deklaráció és definíció // (az ‘U’=85 ASCII értéke) int ledPin = 8; byte myByte = B10111; // 23 bináris alakban

Deklaráció és definíció - példák long myLong = -123; float myFloat = -123456.1; A változó definiálása értékadást jelent egy korábban lefoglalt memórialokációnak az adott változó számára.

S.O.S. projekt Hardver: LED az Arduino 12-es lábacskájára kötve 220Ω-os ellenálláson keresztül. Szoftver: program amelyik a LED-et az S. O. S. Morze szimbólumoktól függően villogtatja. S: “. . .”, O: “- - -”, S: “. . .”

S.O.S. projekt int ledPin = 12; void setup () { pinMode(ledPin, OUTPUT); } void loop () { digitalWrite (ledPin, HIGH); delay(200); // dot digitalWrite (ledPin, LOW); delay(200); delay(500); digitalWrite (ledPin, HIGH); delay(500); // dash digitalWrite (ledPin, LOW); delay(500); . }

S. O. S. projekt 4 sor állandóan ismétlődik: HIGH, delay, LOW, delay, … A delay vagy 200ms (dot), vagy 500ms (dash) A kód rövidebb és hatékonyabb lesz ha az állandóan ismétlődő műveletekre függvényt írunk. A függvényt flash-nek fogjuk nevezni, és a duration-nal (időtartam) fogjuk hívni. Az időtartam 200 vagy 500 (milliszekundum).

Flash függvény void flash (int duration) { digitalWrite (ledPin, HIGH); delay (duration); digitalWrite (ledPin, LOW); }

Az új loop függvény void loop () { flash (200); flash (200); flash (200); // S delay (300); flash (500); flash (500); flash (500); // O delay (1000); }

A program a flash függvénnyel int ledPin = 12; void setup () { pinMode (ledPin, OUTPUT); } void loop () { // S flash (200); flash (200); flash (200); delay (300); // O flash (500); flash (500); flash (500); delay (1000); void flash (int duration) { digitalWrite (ledPin, HIGH); delay (duration); digitalWrite (ledPin, LOW); }

Ciklusok Utasítások csoportját ismétlik meghatározott számú alkalommal amíg valamilyen feltétel nem teljesül. Az S. O. S. projekt az “S” betű megjelenítéséhez a LED-et csak 3-szor villantotta fel, ezért a programot gyalog is meg lehetett írni. Mit csinálnánk ha a LED-et több 100-szor kellene felvillantani? A program írása eltartana, a program pedig sok memóriát foglalna el. Ilyenkor használjuk a for ciklust.

“for” ciklus Akkor használjuk ha előre ismerjük a végrehajtások számát. Szintakszis: for (int i = 0; i < 100; i ++) { flash(200); } Mit kell tenni minden alkalommal miután áthaladunk a cikluson. Ebben az esetben az “i”-t növeljük eggyel. Ciklusban maradás feltétele, “i” kisebb mint 100. Számláló változó deklarációja és a kezdőérték definíciója – 0.

“while” ciklus Az előző feladatot while ciklussal is meg lehetett volna valósítani. int i = 0; while (i < 100) { flash(200); i ++; } Ahhoz, hogy a ciklusban maradjunk, a zárójelben lévő kifejezés muszáj hogy igaz (true) legyen, ellenkező esetben a program a kapcsos zárójel utáni utasítással folytatja a végrehajtást. A kapcsos zárójelek közötti utasításokat “blokk”-nak nevezzük.

Sorozatok (arrays) A sorozatok több érték őrzésére szolgálnak. Eddig a változók csak egy értéket tartalmaztak (általában int-et). A sorozat olyan változó amelyik több értéket tartalmaz, és ahol mindegyik elemhez hozzáférhetünk a sorszáma alapján. Az elemek számozása (indekszelése) 0-tól kezdődik.

Sorozatok Elkészítjük a Morze szimbólumok hosszának listáját (200ms és 500ms). int durations [] = {200, 200, 200, 500, 500, 500, 200, 200, 200}; Ha azonnal definiáljuk a sorozat tartalmát, nem szükséges megadni a sorozat elemeinek számát. Ha nem definiáljuk a tartalmat, akkor int durations [10];

Az új loop() void loop () { for (int i = 0; i < 9; i ++) flash (durations [i]); } delay(1000);

Morze átalakító Hardver: ugyanaz mint az előző projektekben. Szoftver: a Serial Monitor-ba írt szöveget Morze kóddá alakítani, és az Arduino-ra csatlakoztatott LED-en kiírni.

Morze átalakító dash (-) = 3 * dot (.) (- és .) közötti szünet = betűk közötti szünet = = 1 * dash(-) szavak közötti szünet = = 7 * dot(.)

Program

Program

Program