Sz´ am. szim. labor 2015 1. ea. T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
Sz´am´ıt´og´epes szimul´aci´ok labor 2015 1. Bevezet´es
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
T˝ oke Csaba BME Fizika Int´ ezet
2015. szeptember 9.
Sz´ am. szim. labor 2015 1. ea.
Bevezet´es
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I.
• A f´ el´ev menete • K¨ ovetelm´enyek • C-ism´ etl´es, 1. r´esz
Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
Oktat´ ok: • Nagyfalusi Bal´ azs:
[email protected], F3 211. • T˝ oke Csaba:
[email protected], F3 mf. 7. • Udvardi L´ aszl´ o:
[email protected], F3 mf. 5.
Sz´ am. szim. labor 2015 1. ea.
Tematika
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Bevezet´ es • C-ism´ etl´es • Seg´ edprogramok • V´ eletlen sz´ amok • Ising-modell (2 el˝ oad´ as) • Rug´ os krist´ alymodell (2 el˝ oad´ as) • Hasznos adatf´ ajl-form´ atumok • Szoros k¨ ot´es˝ u k¨ozel´ıt´es • H´ al´ ozatok (2 el˝ oad´ as) • J´ at´ekelm´elet
Sz´ am. szim. labor 2015 1. ea.
K¨ovetelm´enyek
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• F´ el´evk¨ ozi jegy • •
´ Orai sz´amonk´er´es nincs ¨ Osszesen 11 db otthoni feladat: • egy h´ et van a bek¨ uld´esre • Feladatonk´ ent max. 2 pont, k´et feladatn´al max. 3 pont;
´ert´ekel´es: 21 18 15 12 0-
24 20 17 14 11
jeles j´ o k¨ ozepes el´egs´eges el´egtelen
• K´ esedelmes bek¨ uld´es: • K´ esedelmi d´ıj ellen´eben a p´otl´asi h´et v´eg´eig. • Minimum 12 pontot k´ es´es n´elk¨ ul bek¨uld¨ ott feladatokb´ ol kell el´erni. • Bek¨ uld¨ ott feladat jav´ıt´ as´ ara nincs lehet˝ os´eg.
Sz´ am. szim. labor 2015 1. ea.
Honlap
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
Honlap: http://newton.phy.bme.hu/moodle ´ • Orai anyagok • Hirdetm´ enyek • H´ azi feladatok bek¨ uld´ese
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
Fi´ok: felhaszn´ al´ on´ev ´es jelsz´ o lek´erdezhet˝o a honlapon1
1
Aki nem volt ott az els˝ o el˝ oad´ ason, k¨ uldj¨ on egy e-mailt.
Sz´ am. szim. labor 2015 1. ea. T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
H´azi feladatok ajl Felt¨olt´es: 1 db zip f´ • forr´ ask´od: • Els˝ o sor: /* N´ ev, feladat sorsz´ ama,
d´ atum */ • megjegyz´ esek minden saj´at f¨uggv´enyhez,
illetve fontosabb v´altoz´ohoz (mit csin´al, mit t´arol) • ´ atl´ athat´ o k´ odol´asi st´ılus • makefile (ha van) • (esetleg) eredm´ enyek: ´ abra, sz¨oveges f´ajl stb. • Senki ne k¨ uldj¨ on be leford´ıtott programot!
.exe Jav´ıt´as: 2 h´eten bel¨ ul • Lefordul ´ es azt csin´ alja, ami a feladatki´ır´ asban szerepel: 2 pont • Kisebb-nagyobb hiba, de haszn´ alhat´o r´eszeredm´eny: 1 pont • Egy´ ebk´ent: 0 pont
Sz´ am. szim. labor 2015 1. ea.
K¨ornyezet
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Programoz´ asi nyelv: C
´ an: • Or´ • IDE: Visual Studio (http://www.visualstudio.com/) • OS: Windows, Linux • Persze nem k¨ otelez˝ o ...
Sz´ am. szim. labor 2015 1. ea.
Telep´ıt´es Windows alatt
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• 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¨ ornyezeti v´ altoz´o m´ odos´ıt´ asa
Sz´ am. szim. labor 2015 1. ea.
A ford´ıt´as l´ep´esei
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
El˝ oford´ıt´ o
Ford´ıt´ o
Linker
my .c −−−−−−→ my .c.tmp −−−−→ my .o −−−−→ Futtathat´o ´all. • El˝ oford´ıt´o: • include-ok • Szimb´ olumok ´es makr´ ok behelyettes´ıt´ese • Felt´ eteles ford´ıt´as • Ford´ıt´ o: • Kimenet: g´ epi k´ od, • de nem tartalmazza p´ eld´aul a standard k¨ onyvt´ari f¨uggv´enyek k´ odj´at (pl. scanf) • Linker: • Megkeresi a hi´ anyz´ o elemeket ´es egy darab futtathat´ o ´allom´anyt k´esz´ıt
Sz´ am. szim. labor 2015 1. ea.
El˝oford´ıt´o (preprocessor)
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Parancsok: #-t´ ol a sor v´eg´eig. • P´ eld´ak:
/∗ A l a p h e a d e r ∗/ #i n c l u d e < s t d i o . h> /∗ S a j a t h e a d e r ∗/ #i n c l u d e ” 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 #d e f i n e PI 3 . 1 4 #e n d i f /∗ P a r a m e t e r e s makro ∗/ #d e f i n e MAX( a , b ) ( ( a ) > ( b ) ? ( a ) : ( b ) )
Sz´ am. szim. labor 2015 1. ea.
Hib´ak
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Figyelmeztet´ es: A forr´ ask´od lefordul, nem felt´etlen¨ ul jelent
probl´em´at. • Hiba: • El˝ oford´ıt´as sor´an (pl. nem tal´alja a megadott header f´ajlt) • Ford´ıt´ as sor´an (pl. szintaktikai hiba) • Linkel´ es sor´an (pl. a linker nem tal´alja a megadott k¨ onyvt´ari f¨ uggv´enyt) • Fut´ as sor´an (pl. t¨ omb t´ ulc´ımz´ese) • Logikai hiba (lefut, de nem azt csin´ alja, amit szeretn´enk) • P´ eld´ak: errors.c
Sz´ am. szim. labor 2015 1. ea.
V´altoz´ok
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Glob´ alis, lok´ alis • C´ım ´ es ´ert´ek • Deklar´ al´as: ANSI C: blokkok elej´en • L´ athat´ os´ag: saj´ at blokkban, illetve olyan r´eszblokkokban,
ahol nem deklar´ altuk u ´jra • T´ ulcsordul´ as • T´ arol´asi id˝otartam: • automatikus: blokk eleje → blokk v´ ege • statikus: program eleje → program v´ ege • dinamikus: allok´ aci´ o ´es felszabad´ıt´as is k´er´esre • P´ elda: vars.c
Sz´ am. szim. labor 2015 1. ea.
M˝uveletek eg´esz ´es val´os sz´amokkal
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Szok´ asos: a + b, a - b, a * b • Oszt´ as: int/int, double/double, int%int • Automatikus t´ıpuskonverzi´ o: pl. double/int • Bitenk´ enti m˝ uveletek eg´eszekn´el:
~a, a | b, a & b, a ^ b, a >> b, a << b • C´ım: &a • P´ elda: numbers.c
Sz´ am. szim. labor 2015 1. ea.
F¨uggv´enyek
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Deklar´ al´as ´es defin´ıci´o • Param´ eterek ´ atad´ asa: ´ert´ek vagy c´ım • Visszat´ er´esi ´ert´ek • Mell´ ekhat´as • P´ elda: function.c
Sz´ am. szim. labor 2015 1. ea.
if, switch
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• Felt´ etelekhez kapcsol´ od´ o oper´ atorok • ==, !=, <=, <, >=, >, &&, || • Figyelem: = is lehets´ eges, de az ´ert´ekad´as. Visszat´er´esi ´ert´eke pedig az ´atadott ´ert´ek maga. ´ illetve • Figyelem: & ´ es | is lehets´eges, de az bin´aris ES, VAGY. • Egyenl˝ os´eg ellen˝ orz´ese double t´ıpus´ u v´altoz´ok k¨ oz¨ott • switch: A break; fontos! • P´ elda: conditional.c
Sz´ am. szim. labor 2015 1. ea. T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
for, while, do while While while(condition){ ... } For for(initialization; condition; step){ ... } • ekvivalens: initialization ; while ( condition ){ ... step ; } Do while do{ ... }while(condition) • A blokk tartalma a felt´ etelt˝ol f¨ uggetlen¨ ul legal´ abb egyszer ki´ert´ekel˝ odik. break Kil´ep a ciklusb´ ol continue Visszamegy a ciklus elej´ere P´elda: loops.c
Sz´ am. szim. labor 2015 1. ea.
Pr´oba h´azi feladat
T˝ oke Csaba Tudnival´ ok Tematika K¨ ovetelm´ enyek Moodle H´ azi feladatok K¨ ornyezet Telep´ıt´ es (Windows)
C-ism´ etl´ es I. Ford´ıt´ as V´ altoz´ ok F¨ uggv´ enyek Felt´ etelek Ciklusok
Pr´ oba h´ azi feladat
• C´ el a Moodle ´es a fejleszt˝ oi k¨ornyezet haszn´alat´anak
gyakorl´asa • Nem sz´ am´ıt bele az ´ert´ekel´esbe • toledo.c forr´ asf´ ajl let¨ olt´ese a honlapr´ ol • Ford´ıt´ as, futtat´ as • Bek¨ uldend˝ o: r¨ ovid ¨ osszefoglal´ as arr´ ol, hogy mit csin´al a
program (´erdemes parancssori param´etereket haszn´alni)