algolizm
q <- 7
w <- 5
q+w
#식으로 표현 하기
cat(z,"+",y,"=",z+y)
plus <- function(z,y){
return (z+y);
}
plus(3,8)
plus <- function(z,y){
return (cat(z,"+",y,"=",z+y)); #반영하기
}
plus(3,8)
##minus
cat(z,"-",y,"=",z-y)
minus <- function(z,y){
return (z-y);
}
minus(3,8)
minus <- function(z,y){
return (cat(z,"-",y,"=",z-y)); #반영하기
}
minus(3,8)
#multi
div.float <- function(z,y){
return (cat(z,"/",y,"=",z/y));
}
div.float(9,8)
div.integer<- function(z,y){
return (cat(z,"%/%",y,"=",z%/%y));
}
div.integer(9,8)
div.remainder<- function(x,y){
return (cat(x,"%%",y,"=",x%%y));
}
div.remainder(9,8)
#계산기
x <- 3
op <- "+"
y <- 2
if(op=="+") plus (x,y) else
if(op=="-") minus (x,y) else
if(op=="*") multi (x,y) else
if(op=="/") div.float (x,y) else
if(op=="%/%") div.integer (x,y) else
if(op=="%%") div.remainder (x,y) else
print("error")
calc(5,"+",6)
calc2 <- function(x,op,y){
switch (
op,
"+"=plus (x,y),
"-"=minus (x,y),
"*"=multi (x,y),
"/"=div.float (x,y),
"%/%="div.integer (x,y),
"%%"=div.remainder (x,y)
)
}
calc2(5,"+",6)
#=========선생님 프로그램 ===================
x <- 7
y <- 5
x + y
# 식으로 표현하기
cat(x,"+",y,"=",x+y)
plus <- function(x,y){
return (cat(x,"+",y,"=",x+y));
}
plus(3,8)
minus <- function(x,y){
return (cat(x,"-",y,"=",x-y));
}
minus(3,8)
multi <- function(x,y){
return (cat(x,"*",y,"=",x*y));
}
multi(3,8)
div.float <- function(x,y){
return (cat(x,"/",y,"=",x/y));
}
div.float(8,3)
div.integer <- function(x,y){
return (cat(x,"%/%",y,"=",x%/%y));
}
div.integer(8,3)
div.remainder <- function(x,y){
return (cat(x,"%%",y,"=",x%%y));
}
div.remainder(8,3)
## 계산기
x <-3
op <- "+"
y <- 2
if(op=="+") plus(x,y) else
if(op=="-") minus(x,y) else
if(op=="*") multi(x,y) else
if(op=="/") div.float(x,y) else
if(op=="%/%") div.integer(x,y) else
if(op=="%%") div.remainder(x,y) else
print("error")
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KYWxnb2xpem0NCg0KYGBge3J9DQpxIDwtIDcNCncgPC0gNQ0KcSt3DQoj7Iud7Jy866GcIO2RnO2YhCDtlZjquLAgDQpjYXQoeiwiKyIseSwiPSIseit5KQ0KcGx1cyA8LSBmdW5jdGlvbih6LHkpew0KICByZXR1cm4gKHoreSk7DQogIA0KfQ0KcGx1cygzLDgpDQoNCnBsdXMgPC0gZnVuY3Rpb24oeix5KXsNCiAgcmV0dXJuIChjYXQoeiwiKyIseSwiPSIseit5KSk7ICPrsJjsmIHtlZjquLAgDQogIA0KfQ0KcGx1cygzLDgpDQojI21pbnVzDQpjYXQoeiwiLSIseSwiPSIsei15KQ0KbWludXMgPC0gZnVuY3Rpb24oeix5KXsNCiAgcmV0dXJuICh6LXkpOw0KfQ0KbWludXMoMyw4KQ0KDQptaW51cyA8LSBmdW5jdGlvbih6LHkpew0KICByZXR1cm4gKGNhdCh6LCItIix5LCI9Iix6LXkpKTsgI+uwmOyYge2VmOq4sCANCiAgDQp9DQptaW51cygzLDgpDQoNCiNtdWx0aQ0KDQoNCg0KZGl2LmZsb2F0IDwtIGZ1bmN0aW9uKHoseSl7DQogIHJldHVybiAoY2F0KHosIi8iLHksIj0iLHoveSkpOw0KfQ0KZGl2LmZsb2F0KDksOCkgIA0KDQpkaXYuaW50ZWdlcjwtIGZ1bmN0aW9uKHoseSl7DQogIHJldHVybiAoY2F0KHosIiUvJSIseSwiPSIseiUvJXkpKTsNCn0NCmRpdi5pbnRlZ2VyKDksOCkgDQogIA0KZGl2LnJlbWFpbmRlcjwtIGZ1bmN0aW9uKHgseSl7DQogIHJldHVybiAoY2F0KHgsIiUlIix5LCI9Iix4JSV5KSk7DQp9DQpkaXYucmVtYWluZGVyKDksOCkgDQoNCiPqs4TsgrDquLANCnggPC0gMw0Kb3AgPC0gIisiDQp5IDwtIDINCg0KaWYob3A9PSIrIikgcGx1cyAoeCx5KSBlbHNlDQogIGlmKG9wPT0iLSIpIG1pbnVzICh4LHkpIGVsc2UNCiAgICBpZihvcD09IioiKSBtdWx0aSAoeCx5KSBlbHNlIA0KICAgICAgaWYob3A9PSIvIikgZGl2LmZsb2F0ICh4LHkpIGVsc2UNCiAgICAgICAgaWYob3A9PSIlLyUiKSBkaXYuaW50ZWdlciAoeCx5KSBlbHNlDQogICAgICAgICAgaWYob3A9PSIlJSIpIGRpdi5yZW1haW5kZXIgKHgseSkgZWxzZQ0KICAgICAgICAgICAgcHJpbnQoImVycm9yIikNCiAgICANCmNhbGMoNSwiKyIsNikgICANCg0KY2FsYzIgPC0gZnVuY3Rpb24oeCxvcCx5KXsNCiAgc3dpdGNoICgNCiAgICBvcCwNCiAgICAiKyI9cGx1cyAoeCx5KSwNCiAgICAiLSI9bWludXMgKHgseSksDQogICAgIioiPW11bHRpICh4LHkpLA0KICAgICIvIj1kaXYuZmxvYXQgKHgseSksDQogICAgIiUvJT0iZGl2LmludGVnZXIgKHgseSksDQogICAgIiUlIj1kaXYucmVtYWluZGVyICh4LHkpDQogICkNCn0gICAgDQogICAgDQogY2FsYzIoNSwiKyIsNikgIA0KIA0KIA0KICM9PT09PT09PT3shKDsg53ri5gg7ZSE66Gc6re4656oID09PT09PT09PT09PT09PT09PT0NCiANCiB4IDwtIDcNCnkgPC0gNQ0KeCArIHkNCiMg7Iud7Jy866GcIO2RnO2YhO2VmOq4sA0KY2F0KHgsIisiLHksIj0iLHgreSkNCnBsdXMgPC0gZnVuY3Rpb24oeCx5KXsNCiAgcmV0dXJuIChjYXQoeCwiKyIseSwiPSIseCt5KSk7DQp9DQpwbHVzKDMsOCkNCm1pbnVzIDwtIGZ1bmN0aW9uKHgseSl7DQogIHJldHVybiAoY2F0KHgsIi0iLHksIj0iLHgteSkpOw0KfQ0KbWludXMoMyw4KQ0KbXVsdGkgPC0gZnVuY3Rpb24oeCx5KXsNCiAgcmV0dXJuIChjYXQoeCwiKiIseSwiPSIseCp5KSk7DQp9DQptdWx0aSgzLDgpDQpkaXYuZmxvYXQgPC0gZnVuY3Rpb24oeCx5KXsNCiAgcmV0dXJuIChjYXQoeCwiLyIseSwiPSIseC95KSk7DQp9DQpkaXYuZmxvYXQoOCwzKQ0KZGl2LmludGVnZXIgIDwtIGZ1bmN0aW9uKHgseSl7DQogIHJldHVybiAoY2F0KHgsIiUvJSIseSwiPSIseCUvJXkpKTsNCn0NCmRpdi5pbnRlZ2VyKDgsMykNCmRpdi5yZW1haW5kZXIgPC0gZnVuY3Rpb24oeCx5KXsNCiAgcmV0dXJuIChjYXQoeCwiJSUiLHksIj0iLHglJXkpKTsNCn0NCmRpdi5yZW1haW5kZXIoOCwzKQ0KIyMg6rOE7IKw6riwIA0KeCA8LTMNCm9wIDwtICIrIg0KeSA8LSAyDQppZihvcD09IisiKSBwbHVzKHgseSkgZWxzZQ0KICBpZihvcD09Ii0iKSBtaW51cyh4LHkpIGVsc2UNCiAgICBpZihvcD09IioiKSBtdWx0aSh4LHkpIGVsc2UNCiAgICAgIGlmKG9wPT0iLyIpIGRpdi5mbG9hdCh4LHkpIGVsc2UNCiAgICAgICAgaWYob3A9PSIlLyUiKSBkaXYuaW50ZWdlcih4LHkpIGVsc2UgIA0KICAgICAgICAgIGlmKG9wPT0iJSUiKSBkaXYucmVtYWluZGVyKHgseSkgZWxzZQ0KICAgICAgICAgICAgcHJpbnQoImVycm9yIikgIA0KDQoNCmBgYA0K