V 1.01 Szoftverfejlesztés párhuzamos és elosztott környezetben.

Slides:



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

Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Tömbök C#-ban.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Objective- C Bereczki Gréta Tamara
2009 Bevezetés a programozásba Krankovits Melinda.
Adatbányászati technikák (VISZM185)
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
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.
Sztringek.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
C A C nyelv utasításai.
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
Operációs rendszerek gyakorlat sed, awk parancsok.
Programozás I. Ciklusok
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
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:
C nyelv utasításai.
Összetett adattípusok
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Programozási nyelvek Páll Boglárka.
Programozási nyelvek Páll Boglárka.
A Pascal programozási nyelv alapjai
A Pascal programozási nyelv alapjai
Operátorok Értékadások
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
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.
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Java programozási nyelv Adatbekérés konzolról
Egyenesvonalú (lineáris) adatszerkezetek
Webprogramozó tanfolyam
Objektum orientált programozás
V 1.0 ÓE-NIK-AII, Programozás I. Karaktersorozatok Feladatok.
A Visual Basic nyelvi elemei
Operátorok Vezérlési szerkezetek Gyakorlás
Táblázatkezelés KÉPLETEK.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Free pascal feladatok
Excel programozás (makró)
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Statisztikai és logikai függvények
Programozás I. Microsoft Visual Studio 2012 Hello C# World!
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam A Character osztály. String és Stringbuffer osztályok.
V 1.0 OE-NIK-AII, Programozás I. Szöveges fájlok kezelése String műveletek Feladatok.
V 1.0 OE-NIK, Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Forrás: Reiter István C_Sharp programozás lépésről lépésre (frissített tartalommal )
Szöveges fájlok kezelése String műveletek Feladatok
Elemi adattípusok.
Kifejezések C#-ban.
Programozási alapismeretek
Excel programozás (makró)
C# SZINTAKTIKÁJA Az egyes utasítások végén pontosvessző áll
Programozás C# -ban Elágazások.
A CLIPS keretrendszer
Változók.
VB ADATTÍPUSOK.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

V 1.01 Szoftverfejlesztés párhuzamos és elosztott környezetben

V 1.0 Követelmények (gyakorlat) Belépő feltételek: alap OOP, algoritmizálás 09. C# témakörök Belépő feltételek: Alap C# (konzol+minimál GUI), VS Párhuzamosítás témakörök Az aláírásért féléves feladatot kell leadni. Féléves+Elm+GPU+MPI: a követelményeket csütörtökön ismertetik 2

V 1.0 C# bevezető első alkalom Alapvető „C jellegű” szintaktika (változótípusok, függvények használata) Alapvető VS.NET beépített osztályok használata: –Math, –Random, –I/O, szövegfájl, –Stringfüggvények 3 C# bevezető második alkalom Beépített generikus osztályok/függvények használatának szintaxisa (lista, verem, sor, Dictionary, Tuple) Egyéb beépített lehetőségek Saját osztályokat igénylő feladatok Alapvető GUI

V 1.0 Ismertnek tekintett fogalmak Változó Metódus (=függvény) Tömb Osztály Példány 4

V 1.0 Változótípusok - Egész (fixpontos) számok 5 NévLeírásÉrtéktartomány sbyte 8 bites előjeles egész-128 : 127 byte 8 bites előjel nélküli egész0 : 255 short 16 bites előjeles egész : ushort 16 bites előjel nélküli egész0 : int 32 bites előjeles egész : uint 32 bites előjel nélküli egész0 : long 64 bites előjeles egész : ulong 64 bites előjel nélküli egész0 : int i = 2;

V 1.0 Változótípusok - Valós (lebegőpontos) számok 6 NévLeírás Értékes jegy Értéktartomány float 32 bites lebegőpontos 7 ±1,5* : ±3,4*10 38 double 64 bites lebegőpontos 15 ±5,0* : ±1,7* decimal 128 bites nagypontosságú 28 ±1,0* : ±7,9*10 28 MéretElőjelKitevőTörtrészEltolás Egyszeres IEEE- 754 szabvány pontosság 32 bit1 bit8 bit23 bit127 Kétszeres pontosság 64 bit1 bit11 bit52 bit1023

V 1.0 Változótípusok - Karakterek, stringek char ch = ’ű’; Unicode kódolású (számként is kezelhető) string str = "Árvíztűrő Tükörfúrógép"; Összefűzhető: string str = str1 + str2; Indexelhető: char c2 = str[0]; Hasznos metódusok string.IsNullOrEmpty(…); char.IsUpper(…); char.IsLower(…); char.IsNumber(…); char.IsLetter(…); 7 str.ToUpper(); str.ToLower(); str.Replace(…); Str.Split(…);

V 1.0 Változótípusok - Logikai típus 32 bites Logikai operátorok: –&& (és) –|| (vagy) –== (egyenlőségvizsgálat) 8 NévLeírásÉrtéktartomány bool Logikai adattípus true vagy false (igaz vagy hamis) bool b = true;

V 1.0 Változókonverziók Számtípusok között, ha nem történhet értékvesztés: byte a=5;long c=5;float f=3.2f; int b=a;float d=c;double g=f; Számtípusok között, ha értékvesztés történhet: int a=999;double d=3.14;int i1=-1; byte b=(byte)a;int c=(int)d;uint i2=(uint)i1; String -> számtípus: string s="123";string s2="123,456"; byte b=byte.Parse(s);float f=float.Parse(s2); Szám -> string: byte b=250;float f=3.14f; string s1=b.ToString();string s2=f.ToString(); 9

V 1.0 Kulcsszavak Feltételvizsgálatok: –if –switch … case Egyszerű ciklusok: –while – elöltesztelő –do … while – hátultesztelő –for – elöltesztelő, számláló –foreach – gyűjtemény egyenkénti bejárása A ciklusok feltétele bool (true/false) eredményt adó logikai kifejezés A ciklusok feltétele a C#-ban mindig bennmaradási feltétel 10

V 1.0 Tömbök int[] array1D = new int[10]; Indexelhető: int i = array[0]; Hossza: array.Length; char[,] array2D = new char[4,5]; Indexelhető: char c = array[0,0]; Sorok: int rows = array.GetLength(0); Oszlopok: int cols = array.GetLength(1); 11

V 1.0 Metódusok (Maradjanak a class Program { … … … } – on belül erre az órára) static double Area(double width, double height) { return width * height; } Használata: double area = Area(5,4); Ha nincs visszatérési érték: void van a visszatérési típus helyén static void Clear(int[] array, int value) { for (int i = 0; i < array.Length; i++) array[i] = value; } 12

V 1.0 Hasznos könyvtári osztályok/metódusok… Kiírás/beolvasás: –Console.WriteLine(…) –Console.ReadLine(); –Console.Clear(); Matematikai metódusok: –Math.Sqrt(…) –Math.Min(…) –Math.Sin(…) stb. Random: –Random rand = new Random(); int num = rand.Next(0,11); Fájlkezelés: –File.ReadAllText(…); –File.ReadAllLines(…); –File.WriteAllText(…); 13

V 1.0 Help & irodalom Help: MSDN C# Reference –ajánlott keresés: google msdn Irodalom: Andrew Troelsen: Pro C# 5.0 and the.NET 4.5 Framework –(vagy a.NET 3.5-nél nem régebbi magyar verzió) 14

V 1.0 Hello World 15 Készítsünk programot, amely kiírja a konzolra a „Hello World” szöveget!

V 1.0 Gyakorló feladat 16 Készítsünk programot, mely beolvas a billentyűzetről két számot és egy műveleti jelet, majd kiírja a két számmal elvégzett művelet eredményét. Szükséges tudásanyag: változótípusok (számtípusok, string), beolvasás, konverziók

V 1.0 Gyakorló feladat 17 Szükséges tudásanyag: Random, ciklusok Írjon programot, amelynek kezdetén adott egy véletlen pozitív egész szám, a „gondolt szám”. A felhasználónak ki kell találnia, hogy mi a gondolt szám. Ehhez a felhasználó megadhat számokat, melyekről a program megmondja, hogy a gondolt számnál nagyobbak, vagy kisebbek-e. A program akkor ér véget, ha a felhasználó kitalálta a gondolt számot. A program jelenítse meg a felhasználó próbálkozásainak számát is.

V 1.0 Gyakorló feladat 18 Írjon programot/metódust, amely egy pozitív egész számnak kiszámítja valamely pozitív egész kitevőjű hatványát, illetve a faktoriálisát! Az aktuális értékeket a felhasználó adhatja meg. Szükséges tudásanyag: metódus, ciklusok

V 1.0 Gyakorló feladat 19 Írjon programot/metódust, mely egy pozitív egész számról megadja, hogy prím-e vagy sem! Megjegyzés: Azok a pozitív egész számok prímek, melyeknek pontosan kettő darab osztója van. (Az 1 nem prím!) Szükséges tudásanyag: metódus, ciklusok

V 1.0 Gyakorló feladat 20 Írjon metódust, amely egy szövegben megszámolja a szavakat. Szükséges tudásanyag: stringindexelés

V 1.0 * Gyakorló feladat 21 Írjon metódust, amely egy stringet double típusú számmá konvertál (double.Parse() funkcionalitás!) Szükséges tudásanyag: stringindexelés

V 1.0 * Gyakorló feladat 22 Írjon metódust, amely képes egy Caesar-kóddal írt szöveg lehetséges megfejtéseinek listázására! Szükséges tudásanyag: stringindexelés, karakterkódolás NZEKVI ZJ TFDZEX

V 1.0 Gyakorló feladat 23 Írjon metódust, amely képes egy 8 karakteres véletlenszerű, csak nyomtatott nagybetűket tartalmazó ideiglenes jelszó generálására. Szükséges tudásanyag: stringindexelés vagy karakterkódolás

V 1.0 Gyakorló feladat 24 Készítsen metódust, amely visszaad egy véletlen számokkal feltöltött, megadható méretű tömböt. Szükséges tudásanyag: tömb, Random

V 1.0 Gyakorló feladat 25 Írjon programot, amely megszámolja egy fájlban az egyes betűk gyakoriságát (=Betűszámhoz viszonyított előfordulást. E statisztika segítségével meg lehet tippelni, hogy a szöveg milyen nyelven íródott.) Szükséges tudásanyag: Dictionary vagy tömb

V 1.0 Gyakorló feladat 26 Írjon programot, amely képes meg nem engedett karaktereket tartalmazó fájlnevekből érvényes fájlneveket csinálni. A meg nem engedett karakter-cserekarakter párosításokat fájlból olvassa ki a program (pl: ékezetes->ékezetlen). Szükséges tudásanyag: stringindexelés, stringfüggvények, fájl I/O

V 1.0 Gyakorló feladat 27 Egy repülőgéppel egyenes vonalban végigrepültünk egy tengerszakasz fölött. Egyenlő távolságonként megmértük, hogy a repülő alatt tenger vagy sziget található-e. (Legalább 10 mérést végeztünk.) Mérési eredményeinket egy tömbben tároltuk el: (1) tenger esetén nulla szerepel a tömbben, (2) sziget esetén a sziget adott helyen mért magassága. Készítsen metódust, amely véletlenszerűen előállít egy mérési eredményeket tartalmazó tömböt. Készítsen metódusokat a következő kérdések megválaszolására: 1.Adja meg, hogy a legmagasabb pont hányszor fordult elő a repülés során! 2.Határozza meg a leghosszabb szigetszakasz hosszát! Szükséges tudásanyag: tömb, Random

V 1.0 Gyakorló feladat 28 Készítsen metódust, amely transzponál egy 2D tömböt. Szükséges tudásanyag: 2D tömb

V 1.0 * Gyakorló feladat 29 Egy játéktábla mezői kétféle módon vannak megjelölve (pl. * és - ). Kezdetben minden mező azonos jelölésű ( - ), kivéve a játéktábla közepén lévő mező, valamint annak négy közvetlen szomszédja. A játék során a felhasználó megadja a játéktábla egy koordinátáját. A kiválasztott koordinátájú mező, illetve annak négy szomszédja az addigival ellentétes jelölésűre változik. A játék akkor ér véget, ha a felhasználó minden mezőt * -ra tudott változtatni. Szükséges tudásanyag: 2D tömb, stringfüggvények

V 1.0 * Gyakorló feladat 30 Egy porózus anyagdarab vízáteresztő képességét vizsgáljuk. Az anyagdarabot egy 2D tömb reprezentálja, amely minden indexén 0.5 eséllyel át képes ereszteni a vizet vagy sem. A cél az, hogy megvizsgáljuk, hogy az anyagon képes-e áthatolni a víz. A víz az i,j indexű cellából az i+1,j-1, i+1,j, illetve i+1,j+1 indexű cellákba képes folyni, feltéve, ha az illető cella átereszti a vizet. A víz akkor hatol át az anyagdarabon, ha van megszakítatlan útja a tömb első sorától a tömb utolsó soráig. Generáljon véletlenszerű anyagdarabot, írassa ki, majd számítsa ki, hogy átjárható-e vagy sem. Az eredmény vagy „átjárható”, vagy „nem átjárható”. Szükséges tudásanyag: 2D tömb, stringfüggvények

V 1.0 * Gyakorló feladat 31 Írjon metódust, amely ellenőrzi, hogy egy C# kódot tartalmazó szövegrész szabályosan van-e zárójelezve! (Természetesen többféle zárójeltípus elképzelhető.) Szükséges tudásanyag: List vagy Queue