Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás
Bemutatkozás • Előadó: Dr. Bécsi Tamás • St.106, (1)463-1044,
[email protected]
• Közlekedés-, és Járműirányítási Tanszék • www.kjit.bme.hu
A tantárgyi követelmények • Szorgalmi időszakban • Laborgyakorlatok látogatása • max. 4 hiányzás lehet (Járműmérnök) • max. 2 hiányzás lehet (Közlekedésmérnök, Logisztikus)
• Beszámolók megírása (2 eredményes ZH.) • Féléves házi feladat beadása (egyéni, működő) • Kredit pontok megszerzése (4 kredit) • Félév végi jegy (követelmények teljesítése esetén) • Jegy = (zh1+zh2)/4 + HF/2
Mi a programozás? Általánosan • Egy átfogó folyamat, amely egy probléma megfogalmazásától egy (számítógépen) futtatható program készítéséig tart. • Magában foglalja a probléma analízisét, megértését, megoldását, (amelynek eredménye egy algoritmus) egy adott környezetben (programnyelv) való implementálását. • Pontosság, sebesség, erőforrás felhasználás, tesztelés.
• A programozás (kódolás) során az utasítások egy olyan szekvenciáját állítjuk elő, amely az adott probléma megoldását szolgáltatja.
Mi a programozás? Egyszerű Példa • Menj le fiam a boltba, hozz tejet, és ha van tojás, hozz tizenkettőt. • Kétértelmű specifikáció
Start Lemegy a boltba Vesz tejet Van tojás? Van
Vesz tizenkettőt Visszamegy Stop
Nincs
Mi a programozás? Egyszerű Példa • Menj le fiam a boltba, hozz tejet, és ha van tojás, hozz tizenkettőt. • Úgy érted tojást? • Mert mit gondoltál?!
Start Lemegy a boltba Vesz tejet Van tojás? Van
Nincs
Vesz tizenkét tojást Visszamegy Stop
De hogy vesz tizenkét tojást? Start
Start
Start
Tojas=0; Addig pakolja a tojásokat, amíg nem lesz tizenkettő
Stop
12 a tojás?
Tojas>=12
Nem Igen
Nem
Igen
Berak egy tojást
Tojas=Tojas+1; (Berak egy tojást)
Stop
Stop
Mit fogunk tanulni? A C# nyelv
• A nyelv alapjául a C++ és a Java szolgált, amelyek C alapú programnyelvek • A C# objektumorientált programnyelv • Jelen előadás a gyakorlati órákon való elindulás elősegítését tűzi ki célul. • Reiter István: C# Programozás lépésről lépésre • Microsoft Visual C# Express 2010
A C# nyelv szintaktikája • A C# úgynevezett C-stílusú szintaxissal rendelkezik (azaz a C programozási nyelv szintaxisát veszi alapul), ez három fontos szabályt von maga után: • Az egyes utasítások végén pontosvessző - ; - áll. • A kis- és nagybetűk különböző jelentőséggel bírnak, azaz a “program” és “Program” azonosítók különböznek. Case Sensitive • A program egységeit (osztályok, metódusok stb.) ún. blokkokkal jelöljük ki, kapcsos zárójelek ({ és }) segítségével.
A C# nyelv kulcsszavai abstract as base bool break byte case catch char checked class const continue decimal
default delegate do double else enum event explicit extern false finally fixed float for
foreach goto If implicit In int interface internal Is lock long namespace new null
object operator out override params private protected public readonly ref return sbyte sealed short
Sizeof stackalloc Static String Struct Switch This Throw True Try Typeof Uint Ulong unchecked
unsafe ushort using virtual volatile void while
Megjegyzések namespace Hello_World { class Program { static void Main(string[] args) { Console.WriteLine("Helló Világ");//Egysoros komment Console.WriteLine("Helló Világ még egyszer"); /* Több soros komment még mindig ide igazából bármit írhatok, a "program" nem veszi figyelembe még azt is, hogy a francos krumpliba Eddig egészen pontosan*/ Console.ReadLine(); } } }
Szintaktikai alapok Alapvető típusok C# típus byte char bool sbyte short ushort int uint float double decimal long ulong string object
.NET típus System.Byte System.Char System.Boolean System.SByte System.Int16 System.UInt16 System.Int32 System.UInt32 System.Single System.Double System.Decimal System.Int64 System.UInt64 System.String System.Object
Méret Leírás (byte) 1Előjel nélküli 8 bites egész szám (0..255) 2Egy Unicode karakter 1Logikai típus, értéke igaz(1) vagy hamis(0) 1Előjeles 8 bites egész szám (-128..127) 2Előjeles 16 bites egész szám (-32768..32767) 2Előjel nélküli 16 bites egész szám (0..65535) 4Előjeles 32 bites egész szám (–2147483647.. 2147483647). 4Előjel nélküli 32 bites egész szám (0..4294967295) 4Egyszeres pontosságú lebegőpontos szám 8Kétszeres pontosság lebegőpontos szám 8Fix pontosságú 28+1 jegyű szám 8Előjeles 64 bites egész szám 8Előjel nélküli 64 bites egész szám N/A Unicode karakterek szekvenciája N/A Minden más típus őse
Állandók (Literals) Állandók
Escape Szekvenciák
1234
int állandó
\a
figyelmeztető jelzés (bell, csengő)
1234L
long állandó
\b
visszalépés (backspace)
1234UL unsigned long állandó
\f
lapdobás (formfeed)
0x1f2
\n
új sor (new line)
0x1f2UL hexa unsigned long
\r
kocsi vissza (carriage return)
1234.5
\t
vízszintes tabulátor (horizontal tab, HTAB)
1234.5f float állandó
\v
függőleges tabulátor (vertical tab, VTAB)
’c’
char állandó
\\
fordított törtvonal (backlash)
”szoveg”char[] (string) állandó
\'
aposztróf
null
\"
idézőjel
hexa állandó double állandó
\xhh hexadecimális szám
2015.09.21.
Dr. Bécsi Tamás: Járműfedélzeti rendszerek I.
13
Változók Deklaráció, Definíció
• • • •
Típus változónév; int x; // deklaráció x = 10; // definíció int y = 11; // deklaráció és definíció