introduction to c programming - mit

67
!"#$%&’(#)%" #% + ,$%-$.//)"- 0!1 23456 4674

Upload: others

Post on 09-Feb-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

! !

!"#$%&'(#)%"*#%*+*,$%-$.//)"-

0!1*23456*4674

! !

!"#$%&'()%#%*%+,'-,#.%/''0%/10(2

#include <joyos.h>

int usetup (void) { return 0;}

int umain (void) {

// Your code here...

return 0;}

! !

!"#$%&'()%#%*%+,'-,#.%/''0%/10(2

#include <joyos.h>

int usetup (void) { return 0;}

int umain (void) {

// Your code here...

return 0;}

!"#"$%$&"'($&)*+",(#('$%+-./.&

0,+'(+'(#(-.%%$&"1((2.$'&3"(4$"("56&$)(+&".(%#-,+&$(+&'"65-"+.&'1

! !

!"#$%&'%3'4%&'%51$"%$"(%6'&(2

! 7&1$%1$888%3'4%5,1$(%6'&(

" 9,'-,#..(,:)%;'$(+#&<%=1.<%(.#6)888

! *'.+1/(%1$888%$4,>%1$%1>$'%+,'6())',%1>)$,46$1'>)8

! ?+/'#&%$"(%6'&(%$'%$"(%@#++3A'#,&8

! B4>%#>&%1>$(,#6$8

! !

!"#$%&'()*+),#

!"#$%&'!"()$*

$$++$#%,"$-"$&-#-,$./$01223$4..

$$&-#-,502#5627(./$4..)8

$$++$9'!#$:$02;-"30

$$1'%02(:...)8

$$++$#%,"$-<<$&-#-,$.

$$&-#-,502#5627(./$.)8

=

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

7.*(*$('".6$()#"#(.&(",$(%+-6.-.&"6.//$61

2#"#(%+4,"(-.%$(86.%('$&'.6'9(5'$69(-.%%5&+-#"+.&(/+&:111

;#6+#</$'(4+=$(#(&#%$(#//(.8(",+'()#"#('.(*$(%#&+>5/#"$(",$%1

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

7$6$(*$(#''+4&(&#%$'(".(#(<5&-,(.8(-.&'"#&"'?

@

E

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

7$6$(*$(#''+4&(&#%$'(".(#(<5&-,(.8(-.&'"#&"'?

@

E

A

FE

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

7$6$(*$(#''+4&(&#%$'(".(#(<5&-,(.8(-.&'"#&"'?

@

E

A

FE

B

GE

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

C&)(",$&(6$)$8+&$(B(".(<$($D5#/(".(",$('5%(.8(@(#&)(A

@

E

A

FE

B

GH

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

E&'"65-"+.&'(#6$($F$-5"$)(#'(",$G(#6$($&-.5&"$6$)1

@

FH

A

FE

B

GHB().$'&3"(-,#&4$111

! !

C#,1#D/()

int umain (void) {

uint8_t x = 5; uint8_t y = 15; uint8_t z = 25;

z = x + y;

x = 10;

return 0;}

7#=$(".('>$-+8G(*,#"(:+&)(.8()#"#(#(=#6+#</$(*+//(,./)(",$(8+6'"("+%$(+"3'(5'$)1

H$'$6=$'(#('>."(+&(%$%.6G1

I5+&"JK"L5&'+4&$) M>.'+"+=$N+&"$4$6JO<+" P(QR(F(QR(STT

! !

I>$(-(,)

! ?>)1->(&J

" 41>$KL$ H%MN%O%MN%GEE

" 41>$FPL$ H%MN%O%MN%PE<EQE

" 41>$QGL$ H%MN%O%MN%R<GSR<SPT<GSE

! U1->(&J

" 1>$KL$ VFGK%MN%O%MN%FGT

" 1>$FPL$ VQG<TPK%MN%O%MN%VQG<TPT

" 1>$QGL$ WG<FRT<RKQ<PRK%MN%O%MN%G<FRT<RKQ<PRT

! !

B(#/%;4.D(,)

! X/'#$%YQGVD1$Z

" [/'#$ F%7%VQK%MN%O%MN%Q%7%\QK

" ]D'4$%T%)1->1[16#>$%[1-4,()

" Y)#.(%#)%&'4D/(%'>%$"(%]CBZ

! 7O#.+/()

" float x = 1.618;" float y = -6.022e23;" float z = 1.6e-19;

! !

!"#$%&'()*()

!"#$%&'!"()$*

$$$$+,!"#-(./0112$32,1456"7)8

$$$$%!"#9:#$;$<$=>8

$$$$+,!"#-(./0,0?@$'$"%&A0,B$C46"7D$;)8$$$$$$$,0#%,"$E8F

*+$,)-&.+$)/#&)'&)0/&12!&#/+$"3&*'+)4& &5$/.&)0$#&6/##"7/&(#$,7&8/+6$)/&',&.$,9'.#&'+&#%+//,&',&:$,(;<="%

! !

!"#$%&'()*()

!"#$%&'!"()$*

$$$$+,!"#-(./0112$32,1456"7)8

$$$$%!"#9:#$;$<$=>8

$$$$+,!"#-(./0,0?@$'$"%&A0,B$C46"7D$;)8$$$$$$$,0#%,"$E8F

+,,-&)'&"--&.,/0$.,&%1"2"%),2&"3),2&,"%1&4,##"5,6

! !

!"#$%&'()*()

!"#$%&'!"()$*

$$$$+,!"#-(./0112$32,1456"7)8

$$$$%!"#9:#$;$<$=>8

$$$$+,!"#-(./0,0?@$'$"%&A0,B$C46"7D$;)8$$$$$$$,0#%,"$E8F

+*,%$"-&.'/0")),/#1&-$2,&341&"/,&/,*-"%,4&56&)7,&8"-(,&'.&8"/$"5-,#&5,.'/,&5,$9:&#,9)&)'&)7,&%'0*(),/;

! !

!"#$%&#'()*

!"#$%&'!"()$*

$$$$+$,$-.

$$$$/$,$0-.

$$$$1$,$2-.

$$$$3$,$+$4$/.

$$$$+$,$05.

$$$$67!"#8(9:;$<=>$$?;$<=>$$1;$<=>@"AB$+B$/B$3).

$$$$7C#%7"$5.

D

! !

!"#$%&#'()*

!"#$%&'!"()$*

$$$$+$,$-.

$$$$/$,$0-.

$$$$1$,$2-.

$$$$3$,$+$4$/.

$$$$+$,$05.

$$$$67!"#8(9:;$<=>$$?;$<=>$$1;$<=>@"AB$+B$/B$3).

$$$$7C#%7"$5.

D

+",%-.(%",)&,)%/,0)'&0$%1.#'.20$3%'(%.%3'(40$%&#'()*%

! !

!"#$%&'&(")*%%+",

! !"#$%&-./0#,'#,'*'1*"#*23+4'567$.8'9:;

! 56'<',#=$+6'#$%+=+"

! 5>?6'<',#=$+6'#$%+=+"8'!*66+6'@#%0'>A,'%('%*B+'C!'?'6#=#%,'-#D+D'>>?:

! 5C'<'C$,#=$+6'#$%+=+"

! 5&'<'&3(*%#$='!(#$%'$C)2+"

! 5DE&'<'&3(*%#$='!(#$%'$C)2+"8'%('E'6+F#)*3'!3*F+,

! 59'<'0+9'$C)2+"

! 7$'<'$+@'3#$+

! 7%'<'%*2

! !

*'>&1$1'>#/)

! ^#01>-%&(61)1'>)%D#)(&%'>%&#$#8

U+((&%?+%_([$%!"((/

7$#)+&4(U(VPWX

U/'5%`'5>_([$%!"((/

&. G$'

! !

*'>&1$1'>#/)

int umain (void) {

// ... if (heading > 90.0){ left_weel_vel++; } else { left_wheel_vel--; }

// ...}

! !

*'>&1$1'>#/)

int umain (void) {

// ... if (heading > 90.0){ left_weel_vel++; } else { left_wheel_vel--; }

// ...}

left_wheel_vel = left_wheel_vel+1;

left_wheel_vel = left_wheel_vel-1;

! !

*'>&1$1'>#/)

int umain (void) {

// ... if (heading > 90.0){ left_weel_vel++; } else { left_wheel_vel--; }

// ...}

Y."$(",#"(<.",(#-"+.&'(#6$($&-/.'$)(+&(-56/G(<6#-$'

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_wheel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

left_wheel_vel = left_wheel_vel+2;

Z(+'+&'$&'+"+=$".*,+"$'>#-$

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...[,.#1

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); left_weel_vel += 2; } else if (heading > 90.0){ left_wheel_vel++; } else { left_wheel_vel--; }

// ...

! !

*'>&1$1'>#/)

// ... if (heading > 135.0){ uart_printf(“Whoa.\n”); }

// ... \$4#/1((Y.(I$/'$L(.6(I$/'$(+8L(6$D5+6$)1

! !

!"#$%&%"#'()! *"+,'-'&"-).

// 012'()

3. (0)).&4'#

5 6-0'&0-.&4'#

3/ (0)).&4'#."-.012'(

5/ 6-0'&0-.&4'#."-.012'(

7/ #"&.012'(.! 8""(0'#.",0-'&"-).

! 99 :;.<&-20.%=.0%&40-.",0-'#$.%).&-20>! ?? @AB.<&-20.%=.8"&4.",0-'#$.'-0.&-20>! 7 A:C.<#06'&0).",0-'#$>

%=.<D.5/.E.??.D.3.FG>...H.%=.D.%).80&I00#.E.'#$.FGJJJ

! !

!""#$%&%'()*+

! ,+#+-.%/"0+%12*.)#*+%.)1+$

! 3'()*+4%*""#$%526%-$%*"67%-$%.(+%/"60).)"6%)$%.52+

!"#$%&'!"#$%&%"#(&)&&&&*+,-+.%/"#01'(23

!"#$%&''(&)&&&&&&44&$++5&6+7%8%7&&&&#0/&#&9&67+:,7%;*,7;01%'<=&><<(2&&&&57#0/6'?@"%&67+:&#-&;/A&B*C0?=&#(2&&&&5;D-%'E<<(23

! !

!"#$%&%"#'()*)+"",)-.(()/0'1,(2

!"#$%&'#%()*$+

$$,-./0!"!#)112$13444442$1444*5

$$.'#%."$45

6

!"#$%78!")*$+

$$9:!;'$)1*$+

$$$$<;/8#$=',$>$,-./0,'#0=',.''&)*5$$$$!<$)=',$?$4*$+

$$$$$$7/#/.0&'#0@';)4234*5

$$$$$$7/#/.0&'#0@';)12A4*5

$$$$6$';&'$+

$$$$$$7/#/.0&'#0@';)42A4*5$$$$$$7/#/.0&'#0@';)1234*5

$$$$6

$$6

$$.'#%."$456

! !

!""#$%&%'"(

! )*#*+,%-".*%!%,/0*$

!"#$%!"!#!$%!&'()*+,"-!#!,"*#,*+,"#!".')*/#'0*,0'($#!,"1$&$$$$'"()"*+,-./0%123

./,$.2

!"#$%!*2*3)*!*42*35)*!661$&$$$4#./,!%56'$7/58$.123

! !

!"#$%&'(&)*+,-&(.(/*--(012,&"2&'

!"#$%&$'()*$&(+,+-'.'/)(*+012"(+345'6

'''''!"#$%&$'7!-&(+,+-'.'3)#)(89&-+):3%5';'<==50''''''"/'37!-&(+,+-'>>'?()*$&(+,+-5'6

'''''''''*+-,8&*+$&@8*3=A'BC450'''''''''@)!*+3B==50

''''''''''''''''''''''*+-,8&*+$&@8*3=A'DD=50

'''''''''@)!*+3C==50'''''E'

'''''()*$&(+,+-'.'7!-&(+,+-0E

! !

X4>6$1'>)

// ...

float d2, d; d2 = (myX-mouseX)*(myX-mouseX) + (myY-mouseY)*(myY-mouseY);

d = sqrt(d2);

if (d < 5.0){ stop(); }

// ...

! !

X4>6$1'>)

// ...

float d2, d; d2 = (myX-mouseX)*(myX-mouseX) + (myY-mouseY)*(myY-mouseY);

d = sqrt(d2);

if (d < 10.0){ // mouse within 10cm? stop(); }

// ...

A.5(-#&()$-/#6$(%5/"+>/$=#6+#</$'(#"(.&-$1

! !

X4>6$1'>)

int umain (void) { // ...

if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); }

// ...}

! !

X4>6$1'>)

uint8_t nearMouse(float x1, float x2, float y1, float y2){

float d2; d2 = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);

return sqrt(d2) < 10.0;}

! !

X4>6$1'>)

uint8_t nearMouse(float x1, float x2, float y1, float y2){

float d2; d2 = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);

return sqrt(d2) < 10.0;}

2$-/#6$("G>$#&)(.6)$6(.8",$(#645%$&"'

2$8+&$(",$(6$"56&("G>$1MC(<+&#6G(6$'5/"(+'(#(5+&"JK"N

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

2$-/#6$(",$(85&-"+.&(#"(",$(".>1

]'$(+"(#&G*,$6$

^5"(G.5(,#=$(".(#-"5#//G(+%>/$%$&"(+"('.%$*,$6$(",$(8+/$9(.8(-.56'$111

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)

uint8_t nearMouse(float x1, float x2, float y1, float y2){

float d2; d2 = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);

return sqrt(d2) < 10.0;}

! !

X4>6$1'>)

uint8_t nearMouse(float x1, float x2, float y1, float y2){

float d2; d2 = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);

return sqrt(d2) < 10.0;}

! !

X4>6$1'>)

uint8_t nearMouse(float x1, float x2, float y1, float y2){

float d2; d2 = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2);

return sqrt(d2) < 10.0;}

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (nearMouse(myX, mouseX, myY, mouseY)){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (1){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)uint8_t nearMouse(float,float,float,float);

int umain (void) { // ... if (1){ stop(); } // ...}

uint8_t nearMouse(float x1, float x2, float y1, float y2){ // body of nearMouse() ...}

! !

X4>6$1'>)

void driveForward(int16_t vel){ motor_set_vel(0, vel); motor_set_vel(1, vel);}

! !

X4>6$1'>)

void driveForward(int16_t vel){ motor_set_vel(0, vel); motor_set_vel(1, vel);}

_5&-"+.&'().&3"(,#=$".(6$"56&(#&G",+&41 0,+'(85&-"+.&("56&'(.&(#

%.".6(*+",(=$/.-+"G(",#"6#&4$'(86.%(OST`(".(ST`1

! !

X4>6$1'>)

void driveForward(){ motor_set_vel(0, 100); motor_set_vel(1, 100);}

// ...float x = doStuffWithNumbers(5.6,7);if (x == 42){ driveForward();}// ...

_5&-"+.&'().&3"(,#=$".(,#=$(#645%$&"'9($+",$6111

! !

!"##"$%&'()*+,(

!"#$%$&$'(

!)$*%$&$+,$-

$$./!"#)*0123450,(

6

)789#$%$&$:;<(

!)$*%$=$>;?$5&$',$-

$$./!"#)*0@A2B$3ACD50,(

6

E!"#FG#$!(

)8/$*!$&$>($!$H$:>>($!==,$-

$$./!"#)*IJKL"MN$!,(

6

! !

!"##$%"&

! '(%)*+,-./010(+,"%/"0/02*/&*.,--,-.

! 3*")/*-0,+*/%"&

! 4-%$/-**)/0(/"501"%%$/6,+*/1#/02*/7(%%(6,-.8

! 9:/;(0(+

! <$+(

! =+*">&*"?

! @(1/5"-/0*A0/.$+(/"-)/&+*">&*"?/(-/$(1+/(6-/2"##$&("+)

! B*/2"C*/+*-0"%/&(0A/,7/$(1/6"-0/0(/0+$/(10/)5/?(0(+AD/A*+C(A

! E7/$(1F+*/-(0/A1+*/62,52/#,-/,A/62,52/G/A**/02*/*H"?#%*/A*-A(+A

! !

!"#$%&'#()*+*,*#$*!"#"$%&'()%!*+",-(-(,*./(%0*(&#1"%('#(1&#2(,*%",#3(4(',(5

%,%&.#'()%!*+",-(-(,*./(%0*(.#.6'7(8'6%.7*('#(1&#2(,*%",#3(4-549:(;4-<=>

/.$.('0)$'1)&*/.$.(231)&-(-(3*%(?'%',(8*6'$&%@(;-9<<(%'(9<<>

/.$.('4(%5)*/.$.(-(-(AB,.C*A(?'%',

0)(1.'0)$'+.0*0)(1.23+.0-3-(3*%3(%0*(3*,8'(%'(.(31*$&+&*/(1'3&%&'#(;4-<55>

0)(1.'!"0%4&)*0)(1.-(-(%",#3('++($'#%,'6(3&7#.63(%'(3*,8'(-("3*+"6(%'(3%'1($'#%&#"'"3(,'%.%&'#(3*,8'3

6(.4'()%!'(%,#)*&.7238"#8-(-(,*./3(%0*(+,'B(-(,*%",#3(.(#"?B*,(+,'?(6'D(%'(0&70E

+%90)*/"&&"0-(-(1."3*(%0*(1,'7,.?

+(",$6*+%(%/0:::-(-(D,&%*('"%1"%(%'(%0*(FGH(1',%

#.';&";5*-3<30$.+';&";5*-(-(1."3*(*I*$"%&'#("#%&6(7'J3%'1(1,*33*/

#.'+()00*-3<30$.+'+()00*-(-(,*%",#3(5(&+(7'J3%'1(&3($",,*#%6@(1,*33*/

),;.!)('()%!*+",-3-(,*./(*#$'/*,($6&$C3

),;.!)('()0)$*+",-3-(,*3*%(*#$'/*,($6&$C3(%'(4

#)$'$"/)*-(-(7*%(K('+(?&66&3(3&#$*(L.11@B'.,/(D.3(%",#*/('#

#)$'$"/)'90*-(-(7*%(K('+(?&$,'3*$'#/3(3&#$*(L.11@B'.,/(D.3(%",#*/('#