1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Hasonló dokumentumok
Programozás C nyelven FELÜLNÉZETBŐL elhullatott MORZSÁK. Sapientia EMTE

C programozás. 1 óra Bevezetés

Programozás I. gyakorlat

Mintavételes szabályozás mikrovezérlő segítségével

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

C programozási nyelv

Informatika terméktervezőknek

Programozási nyelvek JAVA EA+GY 1. gyakolat

Bevezetés a programozásba. 6. Előadás: C++ bevezető

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programzás I gyakorlat

Dr. Schuster György október 14.

Programozás 6. Dr. Iványi Péter

GPU Lab. 5. fejezet. A C++ fordítási modellje. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Adatbázis és szoftverfejlesztés elmélet

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

BASH script programozás II. Vezérlési szerkezetek

A C programozási nyelv II. Utasítások. A függvény.

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

A C# programozási nyelv alapjai

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Programozás I. 5. Előadás: Függvények

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Alprogramok, paraméterátadás

SZOFTVERFEJLESZTÉS. Földtudományi mérnöki mesterszak / Geoinformatikus-mérnöki szakirány. 2017/18 II. félév. A kurzus ebben a félévben nem indult

Operációs rendszerek gyak.

Occam 1. Készítette: Szabó Éva

3. Osztályok II. Programozás II

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Programozás alapjai 9.Gy: Struktúra 2.

Clang Static Analyzer belülről

Elemi alkalmazások fejlesztése I.

Programozási nyelvek (ADA)

Java programozási nyelv

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Bevezetés a programozásba I.

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Programozás C és C++ -ban

AWK programozás, minták, vezérlési szerkezetek

Internet programozása. 3. előadás

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

S z á m í t ó g é p e s a l a p i s m e r e t e k

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

A C programozási nyelv I. Bevezetés

Pénzügyi algoritmusok

Szkriptnyelvek. 1. UNIX shell

A C programozási nyelv I. Bevezetés

Programozás II. 2. Dr. Iványi Péter

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

A TANTÁRGY ADATLAPJA

Labor gyakorlat Mikrovezérlők

1. Jelölje meg az összes igaz állítást a következők közül!

Vizuális, eseményvezérelt programozás XI.

Java II. I A Java programozási nyelv alapelemei

Bevezetés a Programozásba II 4. előadás. Adattípusok hordozhatósága

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

3. ZH-ban a minimum pontszám 15

Programozási nyelvek (ADA)

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Bevezetés a programozásba Előadás: A const

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Bevezetés a programozásba Előadás: Fordítási egység

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Szoftvertervezés és -fejlesztés I.

Java II. I A Java programozási nyelv alapelemei

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Programozási nyelvek Python

Mindenki abból a három tantárgyból tesz szigorlatot, amelyet hallgatott.

Programozási nyelv Java

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

Pénzügyi algoritmusok

AWK programozás, minták, vezérlési szerkezetek

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Bevezetés a programozásba I.

Labor gyakorlat Mikrovezérlők

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

BEKÉRT ADAT KÉPERNYŐRE ÍRÁSA KÖRNYEZETI VÁLTOZÓK FÁJL REDEZETT KIÍRÁSA KÖNYVTÁRBAN BEJEGYZÉSEK SZÁMA FÁJLBAN SZÁM NÖVELÉSE. #!

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Bevezetés a C++ programozási nyelvbe

12. gyakorlat Enum; Tárolási osztályok Preprocesszor utasítások; Moduláris programozás

XCZ állományok ellenőrzése, átadása elektronikus beküldésre és közvetlen beküldése parancssori funkcióval az ÁNYK programban

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r

C++ programok fordítása

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Labor gyakorlat Mikrovezérlők

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Bevezetés a programozásba. 8. Előadás: Függvények 2.

Átírás:

Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9.

Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu, F3 mf. 7. Udvardi László: udvardi@phy.bme.hu, F3 mf. 5.

Bevezetés C-ismétlés Segédprogramok Véletlen számok Ising-modell (2 előadás) Rugós kristálymodell (2 előadás) Hasznos adatfájl-formátumok Szoros kötésű közeĺıtés Hálózatok (2 előadás) Játékelmélet

Félévközi jegy Órai számonkérés nincs Összesen 11 db otthoni : egy hét van a beküldésre Feladatonként max. 2 pont, két nál max. 3 pont; értékelés: 21-24 jeles 18-20 jó 15-17 közepes 12-14 elégséges 0-11 elégtelen Késedelmes beküldés: Késedelmi díj ellenében a pótlási hét végéig. Minimum 12 pontot késés nélkül beküldött okból kell elérni. Beküldött javítására nincs lehetőség.

Honlap Honlap: http://newton.phy.bme.hu/moodle Órai anyagok Hirdetmények beküldése Fiók: felhasználónév és jelszó lekérdezhető a honlapon 1 1 Aki nem volt ott az első előadáson, küldjön egy e-mailt.

Feltöltés: 1 db zip fájl forráskód: Első sor: /* Név, sorszáma, dátum */ megjegyzések minden saját függvényhez, illetve fontosabb változóhoz (mit csinál, mit tárol) átlátható kódolási stílus makefile (ha van) (esetleg) eredmények: ábra, szöveges fájl stb. Senki ne küldjön be lefordított programot!.exe Javítás: 2 héten belül Lefordul és azt csinálja, ami a kíırásban szerepel: 2 pont Kisebb-nagyobb hiba, de használható részeredmény: 1 pont Egyébként: 0 pont

Programozási nyelv: C Órán: IDE: Visual Studio (http://www.visualstudio.com/) OS: Windows, Linux Persze nem kötelező...

Windows alatt Visual Studio 2013 (Windows 7+): http://www.microsoft.com/en-us/download/details.as Visual Studio 2005 (Windows XP+): http://software.eik.bme.hu/microsoftcampus/regi_ve Dev-C++: http://sourceforge.net/projects/orwelldevcpp/files Dev-Cpp 5.7.1 MinGW 4.8.1 Setup.exe Eclipse: http://www.eclipse.org/downloads/ Eclipse IDE for C/C++ Developers MinGW (GCC): http://sourceforge.net/projects/mingw/files/instal mingw-get-setup.exe GSL (VS 2010): http://www2.imperial.ac.uk/~shb104/c/files/other/g PATH környezeti változó módosítása

A fordítás lépései my.c Előfordító my.c.tmp Fordító my.o Linker Futtatható áll. Előfordító: include-ok Szimbólumok és makrók behelyettesítése Feltételes fordítás Fordító: Kimenet: gépi kód, de nem tartalmazza például a standard könyvtári függvények kódját (pl. scanf) Linker: Megkeresi a hiányzó elemeket és egy darab futtatható állományt készít

Előfordító (preprocessor) Parancsok: #-tól a sor végéig. Példák: / Alap header / #i nclude <s t dio. h> / Sajat header / #i nclude s a j a t. h / F e l t e t e l e s d e f i n i c i o / #i f n d e f PI #define PI 3.14 #endif / Parameteres makro / #define MAX(a, b) (( a ) > (b)? (a) : (b) )

Hibák Figyelmeztetés: A forráskód lefordul, nem feltétlenül jelent problémát. Hiba: Előfordítás során (pl. nem találja a megadott header fájlt) során (pl. szintaktikai hiba) Linkelés során (pl. a linker nem találja a megadott könyvtári függvényt) Futás során (pl. tömb túlcímzése) Logikai hiba (lefut, de nem azt csinálja, amit szeretnénk) Példák: errors.c

Globális, lokális Cím és érték Deklarálás: ANSI C: blokkok elején Láthatóság: saját blokkban, illetve olyan részblokkokban, ahol nem deklaráltuk újra Túlcsordulás Tárolási időtartam: automatikus: blokk eleje blokk vége statikus: program eleje program vége dinamikus: allokáció és felszabadítás is kérésre Példa: vars.c

Műveletek egész és valós számokkal Szokásos: a + b, a - b, a * b Osztás: int/int, double/double, int%int Automatikus típuskonverzió: pl. double/int Bitenkénti műveletek egészeknél: ~a, a b, a & b, a ^ b, a >> b, a << b Cím: &a Példa: numbers.c

Deklarálás és definíció Paraméterek átadása: érték vagy cím Visszatérési érték Mellékhatás Példa: function.c

if, switch hez kapcsolódó operátorok ==,!=, <=, <, >=, >, &&, Figyelem: = is lehetséges, de az értékadás. Visszatérési értéke pedig az átadott érték maga. Figyelem: & és is lehetséges, de az bináris ÉS, illetve VAGY. Egyenlőség ellenőrzése double típusú változók között switch: A break; fontos! Példa: conditional.c

for, while, do while While while(condition){... } For for(initialization; condition; step){... } ekvivalens: i n i t i a l i z a t i o n ; while ( condition ) {... step ; } Do while do{... }while(condition) A blokk tartalma a feltételtől függetlenül legalább egyszer kiértékelődik. break Kilép a ciklusból continue Visszamegy a ciklus elejére Példa: loops.c

Cél a és a fejlesztői környezet használatának gyakorlása Nem számít bele az értékelésbe toledo.c forrásfájl letöltése a honlapról, futtatás Beküldendő: rövid összefoglalás arról, hogy mit csinál a program (érdemes parancssori paramétereket használni)