J. Carelman: Leegyszer!sített számológép. Programozás I. A C programozás alapjai 1. Gyakorlat. Gyakorlatok



Hasonló dokumentumok
Előző óra összefoglalása. Programozás alapjai C nyelv 3. gyakorlat. Karakter típus (char) Karakter konstansok. Karaktersorozatot lezáró nulla



C programozás. 1 óra Bevezetés

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



A szoftverfejlesztés eszközei

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






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


ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK




Adatok ábrázolása, adattípusok


IT - Alapismeretek. Feladatgyűjtemény

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai


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

Témakörök. Alapkoncepciók. Alapfogalmak. Egyed-kapcsolat modell. Alapfogalmak. Egyed-kapcsolat diagram

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

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Bevezetés a programozásba I.

Számítógép architektúra

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

CMYK!"#$%&' ()*+', -./ *789 :; $ %&' 0 A BCD E ' %& FGHI%&' JK LM ' +' ' PQ%&0JK ER DS-T 0U VO4 ' CWXY '%& O ' +', -./- Z[' 0 %&'

Szoftver-technológia I.

C programozási nyelv

Témakörök. Egyed-kapcsolat modell. Alapfogalmak

Bevezetés az informatikába












Programozás alapjai (ANSI C)

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


Programozás alapjai gyakorlat. 2. gyakorlat C alapok

44.- #676 +( #'8 +9 #+ '# 6: ; ) 5!44 #! " # $ % &'# ('# ( ) *+,-./--01 /.- /

Előadó. Bevezetés az informatikába. Cél. Ajánlott irodalom. Előismeretek? Felmentés? Dudásné Nagy Marianna. csütörtök Bolyai terem

A B C D EF C D EF C C BF A BC DE F D A E E E E D C C E DC C E E DC C C E D D E A D A E A

Java programozási nyelv

+,-!.,/#0-! "-',/,-0 )45 1 # 1 11 #// 5(( &!.! &' & ()&**!& &&&!"#$%!" # $%&' () $% # *+,-./)!" # 01 + ) !" :; 89 DE3 689! * F






























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

Miről lesz ma szó? A PROGAMOZÁS ALAPJAI 1. Bemutatkozás. Bemutatkozás. Bemutatkozás. Bemutatkozás. 1. előadás. A tárgy címe: A programozás alapjai 1

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

!"# $%& % # ' & & () *+%,&- +,.! "#$%&'" $ ()*+/01, 8 -. /01 )% )9 ABCD E )% ) ():; ) 3 : <3 "#$ => : '" A B CD E CD A ) FG

() (! (( *+, - -./* 0 1,- /., *+, *, -/.* #* &()*&(!(( 2 & $%&' &! & & &(&( %, % % (!"#$%&' ()*+,-./ :; < = 2>! FGHI 6J8KLMNO LO


Programozás I. gyakorlat


Dr. Schuster György február / 32

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

V. GYAKORLATOK ÉS FELADATOK ALGEBRÁBÓL


FO NE TI KA OLVASÓKÖNYV

Programzás I gyakorlat

Átírás:

J. Carelma: Leegyszer!sített számológép Programozás I. A C programozás alapja 1. Gyakorlat 2 Gyakorlatok Hely, d"pot: D104, hétf" 10:55-12:35 Gyakorlatvezet"k: Heckeast Tamás, B603, heckeas@sze.hu Tormás Alex, tormasa@cofgurato.hu

3 Gyakorlatok tematkája Bevezetés m. HW és op. redszer smeretek strukt. progr. alapok: algortmusok, éháy adattípus, vezérlés szerkezetek fejleszt" köryezetek Értékadás, elágazások, cklusok Stadard I/O, strgek Számábrázolás, portabltás, prtf Strg koverzók Btm!veletek Keresés, strg parzolás Rekurzív függvéyek Poterek kezelése 4 Ajálott rodalom B. W. Kergha, D. M. Rtche: A C programozás yelv, M!szak Köyvkadó, 1985 Bauer Péter: Programozás I-II. C programyelv, Uverstas-Gy"r Kht., 2005 Németh Jáos: Turbo C 2.0 fejleszt"redszer, LSI Oktatóközpot, 1991 Peth" Ádám: abc C programozás yelvköyv, Számalk, 1990 B. W. Kergha, R. Pke: A UNIX operácós redszer, M!szak Köyvkadó, 1987 Pere László: UNIX - GNU/Lux programozás C yelve, Kskapu Kadó, 2003 A. Koeg: C csapdák és buktatók, Kskapu Kadó, 2005

5 Oktatás ayagok https://v.sze.hu/ma.php? fajl=tatargyak&szervegys=&sid http://www.sze.hu/~bauer/ Prog1fel.htm http://www.sze.hu/~heckeas/okt/ 6 Fejleszt" köryezetek Bármely ANSI C köryezet, compler, (csak stadard I/O, karakteres felület) Borlad Turbo C (DOS, Wdows, DOSBox) http://bd.borlad.com/museum/atquesoftware gcc (Wdows, Lux, Mac OS X) stb....

7 Bevezetés Mért éppe C? El"yök épszer! és elterjedt - hordozható alacsoyszt! magasszt! programozás yelv kevés szematka kéyszer - elegás sztaxs sok ráépül" tovább yelv (C++, Objectve-C, Java, C#, stb.) Hátráyok alacsoyszt! magasszt! programozás yelv kevés szematka kéyszer - elegás sztaxs lapos taulás görbe 8 Alapfogalmak Hardver (HW) Szoftver (SW) Operácós redszer (OR) Algortmus Program Programozás yelv

9 HW és SW HW az formácós redszer fzka elektrokus és mechakus része SW a redszer m!ködését megadó programok kódolt utasítások formájába Neuma elv memórába tárolt program bárs redszer 10 HW és SW (folyt.) HW archtektúra Memóra CPU S I/O vezérl!k Perférák SW redszer HW OR mag OR szolg. Alkalmazások

11 Operácós redszerek OR a számítógépet fukcoálsa haszálhatóvá tév" ráyító szoftver programok futtatása er"források lefoglalása ütemezés I/O kezelés felhaszáló felület (paracs értelmez") 12 Algortmusok Algortmus lépésr"l lépésre defált eljárás valamlye probléma megoldására véges számú defált szabály, utasítás véges lépésszám smétl"d" utasítások

13 Magasszt! programozás yelvek Prog. yelv geerácók 1GL 2GL 3GL Formáls yelvek véges szókészlet, rögzített sztaktka és szematka Fordító programok forráskód -> végrehajtható (atív) kód Iterpreterek forrás yelv értelmezése 2GL Forráskód t ma(){... } vod ma(vod) { t x,y; for (y=0;y<21;y++){ for(x=0;x<21;x++) f(x==y x==20-y) prtf("*"); else prtf(" "); prtf("\"); } } Fordító program 3GL Futtatható program 00111010 10101010 10101111 14 C törtéelem 1970 B - Bell Labs, Ke Thompso 1972 C - Bell Labs, Des Rtche 1973 UNIX kerel C-be átírva 1978 Bra Kergha & Rtche: The C Programmg Laguage 1990 ANSI C Thompso Rtche Kergha

15 Programok Program: utasítások redezett halmaza végrehajtás - folyamat Programozás szerkezetek szekveca feltételes elágazások cklusok eljárás absztrakcó 16 Programok (folyt.) Program elemek Adatok M!veletek Leírásuk Nevek (referecák, lterálok) változók Típusok

17 Adatábrázolás Bárs reprezetácók Numerkus értékek egészek (el"jel?) lebeg"potos számok Szöveg (karakterek) Egyszer! adattípusok Összetett adattípusok 18 M!veletek Operátorok Artmetka m!veletek Bt m!veletek Logka m!veletek Vezérlés utasítások

19 Blokk dagramok Algortmusok leírása Iput/ Output Feltétel Tevékeységek Tevékeységek Feltétel Dötés Tevékeység Tevékeység Elöltesztel" Hátultesztel" cklus 20 Struktúrált programozás Top-dow megközelítés Olvashatóbb, köyebbe karbatartható kód Herarchkus vezérlés szerkezetek szekveca szelekcó cklusok csak egy belépés és klépés pot

21 Példák BE: r k=2*r*3.14 BE: r t=r*r*3.14 k=2*r*3.14 t=r*r*3.14 KI: k, t KI: k, t!"#$%&'(')*#+,-./)0'#12#'#134#1%45&%)6)#60#)%45&%)6)7!"#$%%&'()*($(%&+,-(.-/(0-10'012(3$45(0-10'*"46'('7($(3*+8*"*"9('78*4*:0%*'*1;!"#$%#&#%"'()*+,-&".-%%/&0"1"2"3$45$16,7-8.9-,"8#%-:;&"-$$-"1"<#8$1"&#=:>%-%%"!"#$%&'(')*#+,-./)0'#12#'#134#1%45&%)6)#60#)%45&%)6)7?881,@ab"c",#57:-%$-"-6-8#=%"=:4$:?==18"d-87-%%-=>%-%%/&b!"#$%%&'()*($(%&+,-(.-/(0-10'012(3$45(0-10'*"46'('7($(3*+8*"*"9('78*4*:0%*'*1; O&@'D7E <:?@?%=1E P=>&%!"#$%#&#%"'()*+,-&".-%%/&0"1"2"3$45$16,7-8.9-,"8#%-:;&"-$$-"1"<#8$1"&#=:>%-%%" <('G-(%&+$-$ - Q$"E%?881,@AB"C",#57:-%$-"-6-8#=%"=:4$:?==18"D-87-%%-=>%-%%/&B <('G-('*-6"*1* ' Q$"E% O&@'D7E <('G-(1*-6"*1* <:?@?%=1E 1 P=>&% Q$"E% <('G-(%&+$-$ - Q$"E% <('G-('*-6"*1* ' Q$"E% <('G-(1*-6"*1* 1 Q$"E% 8"#$%&'(')*#9:60,/)0%#12#',#%&;,;#$%&'(')<)#2=>?)%&&%=;4,600%&7 22 BE: r BE: r r<=0 r<=0 k=2*r*3.14 t=r*r*3.14 k=2*r*3.14 t=r*r*3.14 KI: k, t KI: k, t 8"#$%&'(')*#9:60,/)0%#12#',#%&;,;#$%&'(')<)#2=>?)%&&%=;4,600%&7 <"$'=1%&'(,1($:(*"9:9(>-?+-$3&@'$1(A+B2(C?+B($(%&+,-(.-/(0-10'0@*'(D%$'(>?:71=#( #$"E%(0-10'*1(8?+$54?@(*";(F$($()*?"#$%?11($5$1(@*3(8*"*"(3*+($('G#*1*"30@B*'@*'2( <"$'=1%&'(,1($:(*"9:9(>-?+-$3&@'$1(A+B2(C?+B($(%&+,-(.-/(0-10'0@*'(D%$'(>?:71=#( $''?-(7%301*"46'($:($5$1)*?"#$%,%1(37@5$557+2($3=+(C*"B*%(0-10'*1(@*3('$>&@'; #$"E%(0-10'*1(8?+$54?@(*";(F$($()*?"#$%?11($5$1(@*3(8*"*"(3*+($('G#*1*"30@B*'@*'2( $''?-(7%301*"46'($:($5$1)*?"#$%,%1(37@5$557+2($3=+(C*"B*%(0-10'*1(@*3('$>&@'; C"E-81@1%"6-548@?=?D4:".-:-==/&"9-"1"D?%F8%-=:%-8G"<;&8F=%("D;=:-,"1:"$"#$%#&#,-&" C"E-81@1%"6-548@?=?D4:".-:-==/&"9-"1"D?%F8%-=:%-8G"<;&8F=%("D;=:-,"1:"$"#$%#&#,-&" 9-48.1=?=?$1"8-518?99"-57=:-$"6;,@-,E#8-&#33-,"=:/&=#5/,&"8-=:B 9-48.1=?=?$1"8-518?99"-57=:-$"6;,@-,E#8-&#33-,"=:/&=#5/,&"8-=:B O&@'D7E <:?@?%=1E P=>&% O&@'D7E <('G-(%&+$-$ <:?@?%=1E - P=>&% Q$"E% <('G-(%&+$-$ <('G-('*-6"*1* - ' Q$"E% Q$"E% <('G-('*-6"*1* <('G-(1*-6"*1* ' 1 Q$"E% Q$"E% <('G-(1*-6"*1* 1 Q$"E% Példák elem=1 =1 =1 BE: BE: <= <= elem=elem* elem=elem* =+1 =+1 @"#$%&'(')*#A'1)<42-&20#120,-./)-0' H*?"#$%$@5E(*+B(>?:71=#(*+0%:(%:,32(,I(J:,3=1%&'('7($:(,H(.8$'1?-7,"7%/(0-10'*12( $:$:($:(*+0%:(%:,3?'(%:?-:$1,1()K19"(,K7+; I99-,"1:"-=-%9-,"%-&;,%=/,&"-8","-88-,G$:J%%-,"%J$%#,G"9-48.1=?=?%A8B"C"<#8"1:" -8J8%-=:%-8G"<;&8F="9-.-:-%#=-B"K;.-8"1:"-$-@6#,7",1574,",157$1",GD-%("-=-%8-5" %-<D,;&1;"4&4&9A8"#$@-6-="8-D-%"1:"-8-6"%>3F=?%".18A=,1&".?81=:%1,;B O&@'D7E <:?@?%=1E <:?@?%=1E P=>&% P=>&% <(8$'1?-7,"7%($"$>%:,3$2($(%?-?:$1(&1?"%E( @ S+0%: *"*30@*'(7@5*R* @ S+0%: *"*30@*'(7@5*R* <(%?-?:$1(*"*3*72($(%?-?:$1(&1?"%E(*"*3* *"*3 S+0%: <('7%:,3=1$@5E(%?-?:$1*"*3(7@5*R* <(%?-?:$1(*"*3*72($(%?-?:$1(&1?"%E(*"*3* 7 *"*3 S+0%: S+0%: <('7%:,3=1$@5E(%?-?:$1*"*3(7@5*R* 7 S+0%: KI: elem KI: elem L(M(N L(M(N

23 Ház feladat Oldjuk meg az el"z" feladatot az segédváltozó haszálata élkül ( értékét em kell meg"rz)! 24 elem=1 BE: =2, elem=elem* KI: elem!"#$%&'(')*#+&',-).'#/)#'0#%&101#$%&'(')#2%34&(/./)#5367#8436# '0#9:;%,2<96%.#=>,&?.)#)'@)'&2'0049A!"#$%&'&('&)*'+*",-,&".+&",/*0.*'*1-2"3$014".*563,%.73*"3262',"15689':*!62",*6* 0;&03"*"#4".02",*1/<*'*1-2"3$014".*563,%.*(';$'=63<*7>56718,6.*>';'$0&";0&* ",('#4&%3:?@57A03!/,5,41(3 B1.@4!"#&7(,+0*%04"&%&.4/*-&C"&"4,+,/&("@(,%43" $%$-:5$7"05'$D$ 5 EF:4/!"4,+,/&("$%$-$0C"&"4,+,/&("@(,%43"$%$-$ $%$- EF:4/!"704/*-1(&5'3"4,+,/&($%$-"05'$D$C" A07%@42*%(,/3 0 EF:4/ Példák BE: a a<=0 BE: b b<a B"#$%&'(')*#+(C49#2%3#8/@42#D40>)-;#;'&E.#.0/24)#9:;%,;1#.4@@%9(F%9A!"#$%&'&(")*+,-".,/0(12"2&%34"4/*-"-,5,(,5"562$728"4,++$5'9$5"(6+(:58" 9$,%2&4*4&;?&&*6.*',3',$'+16*3",,*'+*",/+/*@",'='&A'1*$"#6.$";&*(8&%,&".+&",/*563,%.&*'+*61>%&* ",,"1/;+0.0;":*B*(8;7$*.+8$*"#4*(8;7$.+-#*(8;7$*7,=',81'3*(7..+8&*@7#9'* &8;7,16C*30./AA*'*@",'='&7&*&728AA*@7#9%3*@"9,".+&"16:*D"#4E3*0.+;"<*(7#4*'* @7,4'$'&8A;'*6.$0&,/=/*;0.+"3"&*&';&',$'+F?@57A03!/,5,41(3 B1.@4!")*+,-4/6F"'",%'&%& & G&%34!")*+,-4/6F"A",%'&%& 9 G&%34!")*+,-4/6F"5",%'&%& A G&%34 BE: c c<b

25 Példák 26 k=0 =0,2 k=k+o[] ok=0 s=k/2 t=sqrt(s*(s-a)*(s-b)*(s-c)) KI: k, t o[]<o[-1] =0,2 BE: o[] =0,2 BE: o[] ok=1 o[0]+o[1]>o[2] KI: "szerkeszthet "!=0 ==0 o[]<o[-1] ok==0 o[0]*o[0]+ o[1]*o[1]== o[0]<=0 o[]<=0 ok=0 KI: "em szerkeszthet "!"#$%&'(')*#+,)'--'#,.#'/#%&0/0#$%&'(')# 1%23&(4-45'6#)'&4&7')8#.-19)&0(0# :;32;'1;9-/&%)%,%)<!"#$%&'()*+"#$%&'"&,-.,$/.0"#&(()$1"1$%&,230"4+5()4%6" 7$,1&)80"#4,5411"1*'994/:";//40".)",4()".)"4,</54="#&+5".)" >%1>040%4".)"?/-4@4?004,"A&+3/0"13-/?"#?7.10&)/?B"C+5"."#$%&'".-.1"94&,7.($($1"4+5"/*740'>/54("D?0,3((.,"?("'4+&,-#.1230=" 0?0E()*9*,74"4))4,".)"4,<)<"'4+&,-$(9./",>7<"%4-3/-./D?$1B"!" F"/54,794/"."1*'9*0"?/-4@4,>(4"'?/-?+"GH7.,"04)-<-?0: AB7-C8D!)&7&(<.D E<FB( G8-3B(=$3.&)D0"1".*'2"876,H, 8 I+5() L13D("!"#$%&'()*+",3,',-2/3" &36131871-"#&(()$." &JK $33D".$%&3D".*'2 #$%&',3,' M".*'2 Feltétel feállása, ="#$%&'(')*#>&&':?)-'#1%2@#732A#'#74;31-/B2#'# ok Egész segédváltozó 1%2'(3))#3&('&73--/',,'&# 1%2-/%;,%-/)7%)0C%<!"#$%&'()*+"',+(),%-,().#,./0"#1"2$%',34"-5."&3613" #&(()$71-"*((),+,"71+4&220"'87."1"#1%'168-"&3613"#&(()19 I?74,".)".-.1&0"/*7407<"(&%%4/-94/"1.,$,#.18.0"'4+"." 1*'9*/"94,E,="4)>%1"'&(1"4,4+4/-<"D(.0".)"4,(<"0>1"4,4'" *(()4+>1"*(()4#.(&/,J1./?"."#.%'.-?0"4,4''4,B AB7-C8D!)&7&(<.D E<FB(!"#$%&'()*+" L13D(" &36131871-",3,',-2/3"$33D" &JK #&(()$.".$%&3D" #$%&',3,'M".*'2.*'2 Ház feladat D"#$%&'(')*#>&&':?)-'#1%2@#732A#'#74;31-/B2# (%;9,-/B2EC%<!":8.#1+&%1();.5.,3"(,+<.(5+5=,3",36*7.#,./"1"-5%65(9 KI: "em der ksz g "!"#$%&'(')*#+,-./)0'#12#'#3-45.0,67#1%48&%)9)#90#)%48&%)9): o[2]*o[2] ;994/".)"4(4194/"?("(&0.1"(4+J1".)".-.1&0"/*7407<"(&%%4/-24=" #?()4/"13-230="#&+5"."1*'9"4,(<"0>1"4,4'4".,0&1#.12."D(.0"."!"#$%&'$("#)*+,-.(,*/"(%)0),')*1"/"($%&'$("2$3)4"56%789#62'$("/'#/'-/+,*,0/'1"/" 94A&+80.1B :6'#$%&'$(";!<":$'=/*+8,',*,0/'"*+)8(68"#>88?$8"-$4#/2=/(@A KI: "der ksz g " AB7-C8D!)&7&(<.D E<FB( DE8#F)@!+787*.(@ G.2E*!"#$%&'()*+" L13D("!"=,%7-*+>4" K/'@*" &36131871-",3,',-2/3"$33D" &JK #&(()$.".$%&3D" #$%&',3,'M" 7'3/'/)8/#" $'$-$#HL'",''@" 7IJ.*'2.*'2 =7**+,("(,%7'@" =,%7-$'$-M" (>-H (>-H N)#'E*0,'(7+@1" /+"7IJ"(>-H" ) P46*+ )83$O$!"=*+A"#$%&'$($ # K/'@*!"=*+A"($%&'$($ ( K/'@*!"=*+A" :6'#$%&'$($1" *$4630,'(7+@ * K/'@* >"?"@ Héro képlet: