2016 가을학기연구참여보고서 Visualizing tool of Route Optimization with Google Maps API ~ 12 (15주) Logistics Lab. 지도교수님김병인멘토김현준참여학생조혜민

Size: px
Start display at page:

Download "2016 가을학기연구참여보고서 Visualizing tool of Route Optimization with Google Maps API ~ 12 (15주) Logistics Lab. 지도교수님김병인멘토김현준참여학생조혜민"

Transcription

1 2016 가을학기연구참여보고서 Visualizing tool of Route Optimization with Google Maps API ~ 12 (15주) Logistics Lab. 지도교수님김병인멘토김현준참여학생조혜민

2 1. 서론 1.1. 연구배경및목적본연구는 Logistics Lab에서수행하는경로최적화문제를보조하는목적으로수행되었다. 현재 Logistics Lab에서는택배차량상하차문제, 물류차량경로최적화문제등여러경로최적화과제를해결하고있다. 하지만, solution을도출했을때그경로를시각적으로표시할수없기때문에, 과제수행도중직관적으로현재 solution이최적인지확인하는과정이쉽지않았다. 따라서본연구는 google maps api를활용하여 Logistics Lab에서도출한 solution을지도에시각화해, 보다직관적인의사결정과정을돕는것을목표로한다. csv 형식으로도출된 solution 을 C++ 코드로읽고, Javascript 형태로변환하여 Internet Explorer나 Chrome와같은 web에서확인할수있도록하는것이궁극적인목적이다. 이때, solution에서각각의경로를따로, 혹은동시에지도위에표시할수있게하였고, 각각의경로정보, Node 정보를확인할수있도록했다 연구문제 입력데이터 [Figure 1. 입력데이터예시 ] 사용자가입력하는데이터를이용하여지도상에데이터를표시한다. 표시하는데이터의종류는총세가지이다. 첫번째, Node의좌표를표시할때사용하는데이터, 두번째, Node의아이콘을클릭했을때팝업되는정보창에표시되는데이터, 마지막으로 turnover rate인데, turnover rate 는경로를표시할때그값이 1이면실선, 2이면점선으로표시되도록하는데이터이다. 출력예시에서그이용을확인할수있다. 모든입력데이터가지도에표시되지는않는다. 사용자는 C++ 코드상에서이를자유롭게조절할수있다. Figure 1에서 latitude와 longitude는첫번째유형의데이터로, 좌표를표시하는데사용된다. i-th vehicle, order of n, node_index는두번째유형의데이터이며, Node의아이콘을클릭했을때팝업창에데이터가표시된다. 마지막으로 turnover rate는그값에따라경로를실선, 혹은점선으로표시하게한다. 예시에서 capacity, ton 수, node_name, arriving time, departing time, demand distance, travel time, address는사용하지않는다.

3 출력파일 [Figure 2. 출력파일예시 ] 입력데이터를바탕으로지도에 Node와경로를표시한다. 이때사용자가원하는경로를선별적으로시각화할수있으며, Select All 버튼을누르면모든경로를지도상에표시할수있다. 각각의경로는다른색으로표시된다. 2. 연구방법 2.1. 연구과정본연구는 Javascript와 C++ 를이용하여진행되었다. Javascript는 google maps api에데이터를표시하는역할이며, C++ 은사용자가제공하는데이터를읽는역할을한다 Google maps api Google maps api는 Google에서제공하는 Javascript & HTML 기반지도웹어플리케이션이다. 최소거리길찾기, 장소표시하기등의기능을가지며, Google Developer의튜토리얼을통해사용방법을익힐수있다. 하지만한국에서는법률상길찾기기능이제한되어있어, 이번과제에서는부득이하게주어진데이터를표시하는데사용이그쳤다 Javascript 코드

4 [Figure 3. Javascript 코드 : 지도기본설정 ] 위코드는사용자에게표시되는지도의기본설정을의미한다. 예를들어 <title>directions service</title> 은웹페이지창상단에나타나는이름이 Directions service 임을의미하고, #floating-panel 부분은지도위에뜨는 floating panel의설정값을나타낸다.

5 [Figure 4. Javascript 코드 : 경로선택메뉴 ] 위코드는페이지상단의경로선택메뉴를나타낸다. 경로숫자를이름으로가진 checkbox 타 입의항목들을표시하고있다. [Figure 5. Javascript 코드 : 핵심네개변수 ] 변수는다음과같이두종류로나눌수있다. 1. path: 지도에서선을표시하기위한변수. 2. marker: 지도에서아이콘을표시하기위한변수.

6 vehiclepath는 path를구현하기위한변수이고, marker는지도에서 node 부분에아이콘을띄우기위한변수이다. 아이콘을띄우는이유는아이콘을클릭했을때그 node에대한정보를 pop-up하기위함이다. vehiclepath는 route의개수 +1만큼, marker도 route의개수 +1만큼선언한다. +1만큼더선언한이유는코드를짤때 Route 1이 vehiclepath[1] 을가리키게, 즉 route의번호와배열순서의번호를동일하게사용하여직관적으로코드를짤수있도록하기위해서이다. 예시로사용한 input 데이터가 28개였기때문에예시에서는배열형식으로각각 29개씩선언하였다. 이때 vehiclepath, marker 둘다각각번호에맞는 route의정보를저장시키는변수이다. vehiclepath는그 path에포함되는좌표, path의두께, 색등을저장하고, marker는사용하는 icon, marker를띄울좌표등을저장한다. vehiclepath, marker 외에도 vehiclepath_turn, marker_turn이라는변수가있는데, 이는각각의변수를 turnover rate에따라분류하기위하여만든것이다. Turnover rate가 1이면실선, Turnover rate가 2이면점선으로경로가표시된다. 다음은좌표를저장하는변수들이다. vehiclepathcoordinates은 path를위한 route별좌표모음, vehiclepathlocation은 marker를위한 route별좌표모음이다. 둘의차이는다음과같다. vehiclepathcoordinates는지도상에선을표시하기위해, 다시말해선을나타내기위한좌표의모음이고, vehiclepathlocation는지도위의아이콘을나타내기위한좌표모음이기때문에아이콘을클릭했을때팝업되는정보창에들어갈데이터를포함한다.

7 [Figure 6. Javascript 코드 : vehiclepathcoordination, vehiclepathlocation 데이터삽입예시 ] [Figure 7. Javascript 코드 : initmap()] initmap() 함수는프로그램을켰을때실행되는함수. C++ 의 main 함수와비슷하다. 각코드가의미하는바는다음과같다. map = new google.maps.map(document.getelementbyid('map'), //map을실행하는부분 zoom: 7,//map의확대정도 center: new google.maps.latlng(36, 127.1), // 위도 36, 경도 127.1을중심으로지도를띄운다는의미 maptypeid: google.maps.maptypeid.roadmap// 위성사진이아닌로드맵형식의지도를띄운다는의미

8 [Figure 7. Javascript 코드 : addline(chkbox)] addline(chkbox) 함수는페이지상단의체크박스가선택되면선택된체크박스의 route에맞게그정보를지도에표시하는함수이다. 체크가되면그 route가전에초기화되었는지, 안되었는지확인한후초기화되지않았다면 route를표시하는선의색, 굵기, route를구성하는좌표, 아이콘등의정보를초기화시켜준다. 만약이전에초기화가된상태라면이미완성된초기화정보를표시한다. 체크가해제되면지도상에나타난 route의시각화된정보를제거한다.

9 [Figure 8. Javascript 코드 : 그외코드 ] attachsecretmessage는 route의아이콘을클릭했을때정보가뜰수있게하는함수이다. getrandomcolor는 route에따라다른색을사용할수있도록랜덤으로색을정해주는함수이다. linesymbol은점선을표시할수있도록돕는함수이다.

10 [Figure 9. Javascript 코드 : selectall(chkbox)] selectall(chkbox) 은사용자가입력한데이터에존재하는모든 route의정보를한꺼번에지도에표시할때사용하는함수이다. 이는 addline(chkbox) 와비슷한구조이다. 모든 route를초기화됐는지아닌지검사하고, 초기화되지않은 route는초기값을설정해이미초기화된 route는이전에설정된값을가져와모든 route를지도에표시한다 C++ 코드 Google maps api에데이터를표시하는것은 Javascript이지만, 데이터를읽는것은 C++ 을이용한다. C++ 로읽은데이터를 Javascript로변환하는과정은 C++ 에저장된데이터를이용해 fout으로 Javascript 코드를출력하는직관적인방식으로진행됐다. C++ 파일의구성은다음과같다. Tokenizer.h : csv 파일을읽고줄마다그요소를 vector에할당해주는코드., 을제거하고요소를 vector에순서대로넣어준다. ReadFile.h : Input file 데이터를읽고 vector에저장하는코드 Show.h : javascript 용법으로데이터를삽입하여코드를출력 test.cpp : main 파일.

11 [Figure 10. C++ 코드 : Tokenizer.h]

12 [Figure 11. C++ 코드 : ReadFile.h]

13 [Figure 12. C++ 코드 : test.cpp] 다른코드들은보통데이터를읽을때사용하는코드와차이가없으나, show.h 코드는저장된데이터를 Javascript 형식으로변환하는코드이기때문에표현의차이가있다. Appendix에원본코드와주석을첨부하였다. 3. 프로그램실행예시 3.1. 첫화면

14 3.2. 경로다중선택 3.3. 경로선택취소

15 3.4. 아이콘클릭 3.5. Select All

16 3.6. Select All 취소 4. 보완점 Google maps api가대한민국에서길찾기과정을지원하지않아사용할수있는기능에한계가있었다. 만약 Google maps api가아닌 T map, Naver 길찾기서비스등을적절하게활용했다면각 Node 사이를이동하는데걸리는시간, 직선거리가아닌실제차량이이동하는경로등을표시할수있었을것이다. 대한민국이아닌다른나라를배경으로한경로최적화문제는이와같은기능을이용하여표시할수있게개선할가능성이남아있다. 또한 Google maps api의가장큰문제점은확대와축소에관계없이아이콘의크기가동일하다는것인데, 이는변경할수없다. 그렇기때문에대한민국지도를전체적으로볼때아이콘들이겹쳐경로가잘보이지않는문제가발생했다. 아주작은아이콘을이용해보았으나이때는아이콘을클릭해정보를표시하는데무리가있었다. 비록시간이없어구현하지못했지만 route마다다른아이콘을사용하도록하고, 아이콘을사라지게할수있는기능을넣었다면보다 route를파악하기쉬웠을것이다. 5. 후기 학기중연구참여이기때문에학업과병행하느라열심히하지않았던것같아후회가된다. 교수님께서계획하셨던과제는두개였는데, 페이스조절을하지못해하나만완성하여아쉽다. Javascript 를모르는상태에서코딩했는데아직까지 Javascript에대해아는내용이하나도없다. 교수님께서그냥하면된다고용기를주셔서도전했더니, 정말 Javascript에대해아무것도모르는상태에서결과물을냈다. 이사실이감개무량하지만, 차라리그시간에하루를잡고 Javascript를공부했으면더빠른시간에과제를끝내고두번째과제도할수있지않았을까하는후회가든다.

17 학부생이라랩에큰도움은될수없다는사실은알고있지만유난히도움이안됐던것같다. 특 히멘토현준오빠가시킨일을항상기한을넘겨서했던것이마음에걸린다. 과제후반부까지메 모장으로코딩을했던것이패인이었다. 이때문에중괄호를하나빠트린것을눈치채지못하고마 지막까지고생을했었다. Visual Studio 를사용했으면더빠른수정이가능했을것이다. 지면을빌어 사과드린다. 이래저래아쉬운점이많은연구참여였지만예전부터가고싶었던랩에조금이나마발을담근것 같아기쁘다. 이번연구참여를통해자신의부족한점을많이깨닫게되었고, 남은학부과정동안 연구참여때느꼈던문제점을잘보완하고싶다. 6. Appendix #pragma once #include "ReadFile.h" int countnode(int a, vector<route> route_list)// 각각의 Route 에 node 가몇개있는지세는함수입니다 int n = 0; vector<route>::iterator iter = route_list.begin(); while (route_list.end()!= iter) if (iter->veh_no == a) n++; iter++; return n; vector<route>::iterator finditer(int a, vector<route> *route_list)//end 의 iterator 를반환하는함수인데지금보니까왜만들었나싶네요 ^^; 반성중입니다. vector<route>::iterator iter = route_list->begin(); while (iter!= route_list->end()) if (iter->veh_no == a) return iter; iter++; void showfile(const string filename, vector<route> route_list) ofstream fout(filename.c_str()); if (fout.is_open()) <!DOCTYPE html>" << endl; <html>" << endl; <head>" << endl; <meta name=\"viewport\" content=\"initial-scale=1.0, userscalable=no\">" << endl;

18 <meta charset=\"utf-8\">" << endl; <title>directions service</title>" << endl;// 윈도우창에적히는이름 <style>" << endl;// 이아래는윈도우창설정입니다. html, body " << endl; height: 100%;" << endl; margin: 0;" << endl; padding: 0;" << endl; #map height: 100%;" << endl; #floating-panel " << endl; position: absolute;" << endl; top: 10px;" << endl; left: 25%;" << endl; z-index: 5;" << endl; background-color: #fff;" << endl; padding: 5px;" << endl; border: 1px solid #999;" << endl; text-align: center;" << endl; font-family: 'Roboto','sans-serif';" << endl; line-height: 30px;" << endl; padding-left: 10px;" << endl; " << endl<<endl; </style>" << endl; </head>" << endl; <body>" << endl; <div id=\"floating - panel\" onchange=\"calcroute(); \">" << endl; <b>start: </b>" << endl; // 여기서부터보시면돼요 for (int i = 1; i < ((route_list.back().veh_no) + 1); i++)// 이부분이체크박스를지정하는부분입니다. <input onclick=\"addline(this); \" type=\"checkbox\" value=0 id=\"" << i << "\" />" << endl;// 아이디를 i로지정해줍니다 <label for=\"" << i << "\">" << i << "</label>" << endl;//i가숫자부분이에요 << endl; <input onclick=\"selectall(this); \" type=\"checkbox\" id=\"all\"/>" <label for=\"all\">select All</label> " << endl; </select>" << endl; </div>" << endl; <div id=\"map\"></div>" << endl; <script>" << endl<<endl; /* 아래는변수들을선언하고있습니다. 변수는크게두종류로나눌수있습니다. 1. path: 지도에서선을표시하기위한변수. 2. marker: 지도에서아이콘을표시하기위한변수. path 와 marker 둘다좌표정보가필요합니다. 둘이필요한좌표표현방식이달라서따로저장해줘야해요.*/ 위한변수. /*vehiclepath 는 path 를구현하기위한변수, marker 는 icon 을지도에표시하기

19 vehiclepath 는 route 의개수 +1 만큼, marker 도 route 의개수 +1 만큼선언해줍니다. 둘다 route 마다의정보를저장시키는변수에요. vehiclepath 는그 path 에포함되는좌표, path 의두께색등을저장하구요, marker 는사용하는 icon, marker 를띄울좌표등을저장합니다. 하나씩더선언한건코드짤때직관적으로짜고싶어서배열의 [0] 부분을비워두고그다음부터시작해서그래요. 그래서 route 의번호랑배열순서번호랑똑같이쓸수있습니다.*/ var vehiclepath = new Array("<< ((route_list.back().veh_no) + 1) <<");" << endl; var vehiclepath_turn = new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl; // 뒤에 turn 붙은건회전수다른 route 따로정의한거에요 var i;" << endl; // 그냥 for문돌릴때쓰는 i var marker= new Array("<< ((route_list.back().veh_no) + 1) <<");" << endl; var marker_turn= new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl; for(i=0;i<"<< ((route_list.back().veh_no) + 1) <<";i++)" << endl; marker[i] = new Array();" << endl; marker_turn[i] = new Array();" << endl; " << endl<<endl; /*vehiclepathcoordinates 은 path 를위한루트별좌표모음 vehiclepathlocation 은 marker 를위한루트별좌표모음차이는 marker 를위한좌표에는그좌표에대한정보가들어있습니다. 클릭했을때나와야되니까요 */ var vehiclepathcoordinates = new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl; var vehiclepathlocation = new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl; var vehiclepathcoordinates_turn = new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl; var vehiclepathlocation_turn = new Array(" << ((route_list.back().veh_no) + 1) << ");" << endl << endl; int n = 0; vector<route>::iterator iter = route_list.begin(); for (int i = 1; i < ((route_list.back().veh_no) + 1); i++)//vehiclepathcoordinates 선언중 vehiclepathcoordinates[" << i << "]= [" << endl; n = countnode(i, route_list); iter = finditer(i, &route_list); for (int j = 0; j < n-1; j++) if (iter->turnover_rate!= (iter + 1)->turnover_rate) lat: " << iter->lattitude << ", lng: " << iter->longitude << "" << endl; else lat: " << iter->lattitude << ", lng: " << iter->longitude << "," << endl; iter++; if (iter->turnover_rate!= (iter-1)->turnover_rate)

20 ];" << endl << endl; vehiclepathcoordinates_turn[" << i << "]= [" << endl; lat: " << iter->lattitude << ", lng: " << iter- >longitude << "" << endl; ];" << endl<<endl; n = 0; iter = route_list.begin(); for (int i = 1; i < ((route_list.back().veh_no) + 1); i++) //vehiclepathlocation 선언중. 여기서 ''< 이안에들어가는게클릭했을때나오는정보입니다. //' 정보 ', lattitude, longitude 순서로적어줍니다 vehiclepathlocation[" << i << "]= [" << endl; n = countnode(i, route_list); iter = finditer(i, &route_list); for (int j = 0; j < n - 1; j++) if (iter->turnover_rate!= (iter + 1)->turnover_rate) ['Route:("<<iter->veh_no<<")Order:[" << iter->order_of_node_in_vehicle << "]Index:(" << iter->node_index<< ")', " << iter->lattitude << ", " << iter->longitude << " ]" << endl; else ['Route:(" << iter->veh_no << ")Order:[" << iter->order_of_node_in_vehicle << "]Index:(" << iter->node_index << ")', " << iter->lattitude << ", " << iter->longitude << " ]," << endl; iter++; if (iter->turnover_rate!= (iter - 1)->turnover_rate) ];" << endl << endl; vehiclepathlocation_turn[" << i << "]= [" << endl; ['Route:(" << iter->veh_no << ")Order:[" << iter- >order_of_node_in_vehicle << "Index:(" << iter->node_index << ")', " << iter->lattitude << ", " << iter->longitude << " ]" << endl; ];" << endl << endl; // 초기화. 이게 main 함수라고보시면될것같아요창을켰을때실행되는함수입니다. function initmap() " << endl; map = new google.maps.map(document.getelementbyid('map'), " << endl;// 이부분은 map을켜는부분이라고생각하면될것같아요 zoom: 7," << endl;// 이정도로확대한 map을띄우겠다 center: new google.maps.latlng(36, 127.1)," << endl;// 이곳을센터로지도를띄우겠다 maptypeid: google.maps.maptypeid.roadmap" << endl;// 위성사진말고로드맵형식의지도를띄우겠다 );" << endl;

21 " << endl<<endl; function addline(chkbox) " << endl;// 체크가되면체크가된 route의선을지도에그어주고 marker도표시해주는함수입니다. 변수를 check 유무로받아요 if ( chkbox.checked == true )" << endl;// 만약체크가됐다면 " << endl; var color_t = getrandomcolor();" << endl;// 랜덤으로 color pick if(chkbox.value == 0)" << endl;// 만약아무것도체크가안되어있다가체크가됐다면 ( 초기화를해줘야함 ) vehiclepath[chkbox.id] = new google.maps.polyline(" << endl;//vehiclepath라는변수에 path: vehiclepathcoordinates[chkbox.id]," << endl;//vehiclepathcoordinates에저장된좌표들을이어줍니다 strokecolor: color_t," << endl;// 아까랜덤으로뽑은색 strokeopacity: 1.0," << endl; strokeweight: 4" << endl; );" << endl; vehiclepath[chkbox.id].setmap(map);" << endl<<endl;//setmap(somathing) 쓰면 map 위에 something을표시한다는거에요 for (i = 0; i < vehiclepathlocation[chkbox.id].length; i++) " << endl;// 마커표시 marker[chkbox.id][i] = new google.maps.marker(" << endl;//marker 변수에정보를넣어줍니다 position: new google.maps.latlng(vehiclepathlocation[chkbox.id][i][1], vehiclepathlocation[chkbox.id][i][2])," << endl;// 좌표위경도 map: map," << endl; icon: 'red.png'" << endl;// 아이콘모양설정. );" << endl; attachsecretmessage(marker[chkbox.id][i], vehiclepathlocation[chkbox.id][i][0]);" << endl;//vehiclepathlocation[chkbox.id][i][0] 은정보부분이에요. 그걸정보창에띄우겠다는소리 " << endl<<endl; if(vehiclepathlocation_turn[chkbox.id]!= null)" << endl;// 만약 회전수다른 route가있다면걔는점선으로표시 vehiclepath_turn[chkbox.id] = new google.maps.polyline(" << endl; path: vehiclepathcoordinates_turn[chkbox.id]," << endl; strokecolor: color_t," << endl; strokeopacity: 0," << endl; icons: [" << endl; icon: linesymbol," << endl;// 점선으로표시하려면얘를 포함해줘야해요. 밑에정의돼있습니다 linesymbol offset: '0'," << endl; repeat: '20px'" << endl; ]" << endl; );" << endl; vehiclepath_turn[chkbox.id].setmap(map);" << endl<<endl;// 점선 표시 for (i = 0; i < vehiclepathlocation_turn[chkbox.id].length; i++) " << endl;// 회전수다른 route의 marker 표시 marker_turn[chkbox.id][i] = new google.maps.marker(" << endl;

22 position: new google.maps.latlng(vehiclepathlocation_turn[chkbox.id][i][1], vehiclepathlocation_turn[chkbox.id][i][2])," << endl; map: map," << endl; icon: 'red.png'" << endl; );" << endl; attachsecretmessage(marker_turn[chkbox.id][i], vehiclepathlocation_turn[chkbox.id][i][0]);" << endl; " << endl; " << endl; chkbox.value = 1;" << endl;// 한번이상체크가됐었다면 chkbox.value를 1로바꿔줍니다 " << endl<<endl; endl; i++)" << endl; endl; i++)" << endl; vehiclepath[chkbox.id].setmap(map);" << endl; for (i = 0; i <vehiclepathlocation[chkbox.id].length; i++)" << marker[chkbox.id][i].setmap(map);" << endl; " << endl; if(vehiclepathlocation_turn[chkbox.id]!= null)" << endl; vehiclepath_turn[chkbox.id].setmap(map);" << endl; for (i = 0; i < vehiclepathlocation_turn[chkbox.id].length; marker_turn[chkbox.id][i].setmap(map);" << endl; " << endl; " << endl; " << endl; else" << endl;// 체크해제되면 map에서 path와 marker 삭제 " << endl; vehiclepath[chkbox.id].setmap(null);" << endl; for (i = 0; i < vehiclepathlocation[chkbox.id].length; i++)" << marker[chkbox.id][i].setmap(null);" << endl; " << endl; if(vehiclepathlocation_turn[chkbox.id]!= null)" << endl; vehiclepath_turn[chkbox.id].setmap(null);" << endl; for (i = 0; i < vehiclepathlocation_turn[chkbox.id].length; marker_turn[chkbox.id][i].setmap(null);" << endl; " << endl; " << endl; " << endl; " << endl<<endl; function attachsecretmessage(marker, secretmessage) " << endl;// 이름이 secretmessage인건신경쓰실필요없어요소스긁어와서그렇습니다. var infowindow = new google.maps.infowindow(" << endl;// 마커를클릭했을때뜨는 info창을정의한변수입니다. content: secretmessage" << endl; );" << endl<<endl; marker.addlistener('click', function() " << endl;// 클릭했을때정보창이뜨도록하는함수 infowindow.open(marker.get('map'), marker);" << endl; );" << endl;

23 " << endl<<endl; 함수 function getrandomcolor() " << endl;// 색랜덤으로골라서반환하는 var letters = ' ABCDEF';" << endl; var color = '#';" << endl; for (var i = 0; i < 6; i++ ) " << endl; color += letters[math.floor(math.random() * 16)];" << endl; " << endl; return color;" << endl; " << endl<<endl; var linesymbol = " << endl;// 점선을만들게도와주는변수입니다. path: 'M 0,-1 0,1'," << endl; strokeopacity: 1," << endl; scale: 4" << endl; ;" << endl <<endl; function selectall(chkbox)" << endl; " << endl; if (chkbox.checked == true)" << endl; " << endl; for (var k = 1; k < 29; k++)" << endl; " << endl; var color_t = getrandomcolor();" << endl; if (document.getelementbyid(k).value == 0)" << endl; " << endl; vehiclepath[k] = new google.maps.polyline(" << endl; path: vehiclepathcoordinates[k]," << endl; strokecolor : color_t," << endl; strokeopacity : 1.0," << endl; strokeweight : 4" << endl; );" << endl; for (var i = 0; i < vehiclepathlocation[k].length; i++)" << endl; " << endl; marker[k][i] = new google.maps.marker(" << endl; position: new google.maps.latlng(vehiclepathlocation[k][i][1], vehiclepathlocation[k][i][2])," << endl; map : map," << endl; icon : 'red.png'" << endl; );" << endl; attachsecretmessage(marker[k][i], vehiclepathlocation[k][i][0]);" << endl; " << endl; if (vehiclepathlocation_turn[k]!= null) " << endl; vehiclepath_turn[k] = new google.maps.polyline(" << endl; path: vehiclepathcoordinates_turn[k]," << endl; strokecolor : color_t," << endl; strokeopacity : 0," << endl; icons : [" << endl; icon: linesymbol," << endl; offset : '0'," << endl;

24 repeat : '20px'" << endl; ]" << endl; );" << endl; for (i = 0; i < vehiclepathlocation_turn[k].length; i++) " << endl; marker_turn[k][i] = new google.maps.marker(" << endl; position: new google.maps.latlng(vehiclepathlocation_turn[k][i][1], vehiclepathlocation_turn[k][i][2])," << endl; map : map," << endl; icon : 'red.png'" << endl; );" << endl; attachsecretmessage(marker_turn[k][i], vehiclepathlocation_turn[k][i][0]);" << endl; " << endl; " << endl; document.getelementbyid(k).value = 1;" << endl; " << endl; " << endl; i++) " << endl; << endl; i++)" << endl; vehiclepath[k].setmap(map);" << endl; for (i = 0; i < vehiclepathlocation[k].length; i++) marker[k][i].setmap(map);" << endl; " << endl; if (vehiclepathlocation_turn[k]!= null) " << endl; vehiclepath_turn[k].setmap(map);" << endl; for (i = 0; i < vehiclepathlocation_turn[k].length; marker_turn[k][i].setmap(map);" << endl; " << endl; " << endl; " << endl; " << endl; else" << endl; " << endl; for (var l = 1; l < 29; l++)" << endl; " << endl; " << endl; vehiclepath[l].setmap(null);" << endl; for (i = 0; i < vehiclepathlocation[l].length; i++)" " << endl; marker[l][i].setmap(null);" << endl; " << endl; if (vehiclepathlocation_turn[l]!= null)" << endl; " << endl; vehiclepath_turn[l].setmap(null);" << endl; for (i = 0; i < vehiclepathlocation_turn[l].length; " << endl; marker_turn[l][i].setmap(null);" << endl; " << endl; " << endl;

25 " << endl; " << endl; " << endl; " << endl; </script>" << endl; <script async defer" << endl; src=\" d_in=true&callback=initmap\"></script>" << endl; </body>" << endl; </html>" << endl;

Lab10

Lab10 Lab 10: Map Visualization 2015 Fall human-computer interaction + design lab. Joonhwan Lee Map Visualization Shape Shape (.shp): ESRI shp http://sgis.kostat.go.kr/html/index.html 3 d3.js SVG, GeoJSON, TopoJSON

More information

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF CHAPTER 2 (interaction) Ext JS., HTML, onready, MessageBox get.. Ext JS HTML CSS Ext JS.1. Ext JS. Ext.Msg: : Ext Ext.get: DOM 22 CHAPTER 2 (config). Ext JS.... var test = new TestFunction( 'three', 'fixed',

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 03 장. 테두리여백지정하는속성 이번장에서는테이블, 레이어, 폼양식등의더예쁘게꾸미기위해서 CSS 를이용하여 HTML 요소의테두리속성을바꾸어보자. 이장에서다룰내용 1 2 3 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2 01. 테두리를제어하는스타일시트 속성값설명 border-width border-left-width

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 7. HTML 와 CSS 로웹사이트만들 기 웹사이트작성 웹사이트구축과정 내비게이션구조도 홈페이지레이아웃 헤더 web Shop 내비게이션메뉴

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

AMP는 어떻게 빠른 성능을 내나.key

AMP는 어떻게 빠른 성능을 내나.key AMP는 어떻게 빠른 성능을 내나? AU개발 김태훈 kishu@navercorp.com AMP 란무엇인가? AMP 방식으로 HTML을 만들고 AMP JS를 로딩하고 AMP 컴포넌트만 사용하면 웹페이지의 빠른 렌더링을 보장 + 구글 검색 결과에서 즉시 로딩(빠르고 멋있게) AMPs are just Web Pages! AMPs are just Web Pages!

More information

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

var answer = confirm( 확인이나취소를누르세요.); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write( 확인을눌렀습니다.); else { document.write( 취소를눌렀습니다.); 자바스크립트 (JavaScript) - HTML 은사용자에게인터페이스 (interface) 를제공하는언어 - 자바스크립트는서버로데이터를전송하지않고서할수있는데이터처리를수행한다. - 자바스크립트는 HTML 나 JSP 에서작성할수있고 ( 내부스크립트 ), 별도의파일로도작성이가능하다 ( 외 부스크립트 ). - 내부스크립트 - 외부스크립트

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CC0E7B0EDB0FCB8AE5C53746F636B5F4D616E D656E74732E637070> 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include "QuickSort.h" 7 using namespace std; 8 9 10 Node* Queue[100]; // 추가입력된데이터를저장하기위한 Queue

More information

Microsoft PowerPoint 세션.ppt

Microsoft PowerPoint 세션.ppt 웹프로그래밍 () 2006 년봄학기 문양세강원대학교컴퓨터과학과 세션변수 (Session Variable) (1/2) 쇼핑몰장바구니 장바구니에서는사용자가페이지를이동하더라도장바구니의구매물품리스트의내용을유지하고있어야함 PHP 에서사용하는일반적인변수는스크립트의수행이끝나면모두없어지기때문에페이지이동시변수의값을유지할수없음 이러한문제점을해결하기위해서 PHP 에서는세션 (session)

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 11. 자바스크립트와캔버스로게임 만들기 캔버스 캔버스는 요소로생성 캔버스는 HTML 페이지상에서사각형태의영역 실제그림은자바스크립트를통하여코드로그려야한다. 컨텍스트객체 컨텍스트 (context) 객체 : 자바스크립트에서물감과붓의역할을한다. var canvas = document.getelementbyid("mycanvas"); var

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 ONE page html 이란? 원페이지는최근의홈페이지제작트렌드로한페이지에상단에서하단으로의마우스스크롤링을통해서컨텐츠를보여주는스타일의홈페이지입니다. USER 의시선을분산시키지않고위쪽에서아래쪽으로마우스스크롤링을통해서홈페이지의컨텐츠를보여주게됩니다. 반응형으로제작되어스마트폰, 아이패드, 태블릿,PC, 노트북등다양한디바이스에서자동으로최적화됩니다. ONE page 웹사이트사례

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 13. HTML5 위치정보와드래그앤드롭 SVG SVG(Scalable Vector Graphics) 는 XML- 기반의벡터이미지포맷 웹에서벡터 - 기반의그래픽을정의하는데사용 1999 년부터 W3C 에의하여표준 SVG 의장점 SVG 그래픽은확대되거나크기가변경되어도품질이손상되지않는다. SVG 파일에서모든요소와속성은애니메이션이가능하다. SVG 이미지는어떤텍스트에디터로도생성하고편집할수있다.

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

Microsoft PowerPoint - IP11.pptx

Microsoft PowerPoint - IP11.pptx 열한번째강의카메라 1/43 1/16 Review 2/43 2/16 평균값 중간값 Review 3/43 3/16 캐니에지추출 void cvcanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size = 3); aperture_size = 3 aperture_size

More information

게임 기획서 표준양식 연구보고서

게임 기획서 표준양식 연구보고서 ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ ᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞᆞ

More information

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사) Java Program Performance Tuning ( ) n (Primes0) static List primes(int n) { List primes = new ArrayList(n); outer: for (int candidate = 2; n > 0; candidate++) { Iterator iter = primes.iterator(); while

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

HTML5

HTML5 행맨 류관희 충북대학교 2 3 4 5 사전준비 단어목록읽기 단어빈칸보여주기 인터페이스를통해알파벳선택하면알파벳사라지기 단어에선택한알파벳이있으면표시하기 없으면선이나타원으로사람형태그리기 게임종료조건 : 모든맞추는경우 모두틀린경우 ( 행맨 ) 6 단어목록배열에저장 words.js var words = [ "muon", "blight","kerfuffle","qat"

More information

PowerPoint Presentation

PowerPoint Presentation 웹과인터넷활용및실습 (Web & Internet) Suan Lee - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 1 04. CSS3 스타일속성 04. CSS3 Style Properties - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 2 CSS3 단위 1 CSS 는각각의스타일속성에다양한값을입력

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

HTML5

HTML5 퀴즈 류관희 게임규칙 동적으로 HTML 요소생성 생성된 HTML 요소의화면배치및위치옮기기 퀴즈게임 국가명과수도명의짝맞추기 배열 ( 국가명, 수도명 ) 짝모두맞추면 => 동영상플레이 2 퀴즈게임 3 4 5 6 주요특징 배열 : 국가명과수도명저장 피드백 : 색상변경, 동영상재생 플레이 20쌍중에 4 쌍무작위로선택 글자 : 국가명과수도명 => 그림으로대치 7 사전준비항목

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Html 은웹에서 text, images, movie 등다양한정보의요소를 담을수있는문서형식이다. 정보 (txt, imges) 전송 = 동일한어플리케이션 = 정보 (txt, imges) 정보 (txt, imges Movie, 동작 ) 정보 (txt, imges movie) 어플리케이션 웹브라우저 HTML5 는기존 HTML 에차별화된특징을가진 최신버전의웹표준언어.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

SK Telecom Platform NATE

SK Telecom Platform NATE SK Telecom Platform NATE SK TELECOM NATE Browser VER 2.6 This Document is copyrighted by SK Telecom and may not be reproduced without permission SK Building, SeRinDong-99, JoongRoGu, 110-110, Seoul, Korea

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Overall Process

Overall Process CSS ( ) Overall Process Overall Process (Contents : Story Board or Design Source) (Structure : extensible HyperText Markup Language) (Style : Cascade Style Sheet) (Script : Document Object Model) (Contents

More information

MF3010 MF Driver Installation Guide

MF3010 MF Driver Installation Guide 한국어 MF 드라이버설치설명서 사용자소프트웨어 CD-ROM................................................ 1.................................................................... 1..............................................................................

More information

C H A P T E R 2

C H A P T E R 2 C H A P T E R 2 Foundations of Ajax Chapter 2 1 32 var xmlhttp; function createxmlhttprequest() { if(window.activexobject) { xmlhttp = new ActiveXObject( Micr else if(window.xmlhttprequest) { xmlhttp =

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

Lab1

Lab1 Lab 1: HTML CSS 2015 Fall human-computer interaction + design lab. Joonhwan Lee HTML Web Server (World Wide Web: WWW)? (., FTP ). web 3 웹 구조의 이해 웹페이지 웹페이지는 HTML 이라는 언어로 만들어진 일종의 프로그램 웹페이지는 텍스트, 이미지, 동영상,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

Week8-Extra

Week8-Extra Week 08 Extra HTML & CSS Joonhwan Lee human-computer interaction + design lab. HTML CSS HTML, HTML 5 1. HTML HTML HTML HTML (elements) (attributes), (arguments). HTML (tag), DTD (Document Type Definition).!4

More information

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관

2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관 2015 개정교육과정에따른정보과평가기준개발연구 연구책임자 공동연구자 연구협력관 2015 개정교육과정에따른정보과평가기준개발연구 연구협력진 머리말 연구요약 차례 Ⅰ 서론 1 Ⅱ 평가준거성취기준, 평가기준, 성취수준, 예시평가도구개발방향 7 Ⅲ 정보과평가준거성취기준, 평가기준, 성취수준, 예시평가도구의개발 25 Ⅳ 정보과평가준거성취기준, 평가기준, 성취수준, 예시평가도구의활용방안

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HTML5 웹프로그래밍입문 5 장. 고급표현을위한 CSS3 활용 1 목차 5.1 박스모델설정하기 5.2 레이아웃설정하기 5.3 다양한효과설정하기 5.4 움직임설정하기 2 5.1 박스모델설정하기 5.1.1 영역설정을위한박스모델 5.1.2 박스모델유형의지정 3 영역설정을위한박스모델 배경영역 , , : 해당하는줄만큼배경 ,

More information

1

1 2/33 3/33 4/33 5/33 6/33 7/33 8/33 9/33 10/33 11/33 12/33 13/33 14/33 15/33 16/33 17/33 5) 입력을 다 했으면 확인 버튼을 클릭합니다. 6) 시작 페이지가 제대로 설정이 되었는지 살펴볼까요. 익스플로러를 종료하고 다시 실행시켜 보세요. 시작화면에 야후! 코리아 화면이 뜬다면 설정 완료..^^

More information

Modern Javascript

Modern Javascript ES6 - Arrow Function Class Template String Destructuring Default, Rest, Spread let, const for..of Promises Module System Map, Set * Generator * Symbol * * https://babeljs.io/ Babel is a JavaScript compiler.

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍 C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

untitled

untitled A Leader of Enterprise e-business Solution FORCS Co., LTD 1 OZ Application Getting Started (ver 5.1) 2 FORCS Co., LTD A Leader of Enterprise e-business Solution FORCS Co., LTD 3 OZ Application Getting

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 CHAPTER 14. HTML5 웹스토리지, 파일 API, 웹소켓 웹스토리지 웹스토리지 (web storage) 는클라이언트컴퓨터에데이터를저장하는메카니즘 웹스토리지는쿠키보다안전하고속도도빠르다. 약 5MB 정도까지저장이가능하다. 데이터는키 / 값 (key/value) 의쌍으로저장 localstorage 와 sessionstorage localstorage 객체

More information

Google Maps Android API v2

Google Maps Android API v2 Google Maps API 3 조 20080388 김현철 20080748 양태욱 20091493 김이현 Google Maps? 구글에서제공하는지도서비스 걷기, 차량두가지길찾기기능제공 최근, Open API 로현지대중교통과연동하여사용 Google Maps API? 개발자에게 Google Maps 를삽입할수있도록 Google 에서제공하는 Application

More information

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi

1. SNS Topic 생성여기를클릭하여펼치기... Create Topic 실행 Topic Name, Display name 입력후 Create topic * Topic name : 특수문자는 hyphens( - ), underscores( _ ) 만허용한다. Topi 5 주차 - AWS 실습 - SNS 시나리오 1. SNS Topic 생성 2. 3. 4. 5. Subscriptions 생성및 Confirm [ Email Test ] Message 발송 코드로보기 번외 ) SMS 발송하기 실습준비 HTML 파일, AWS 계정및 secretaccesskey, accesskeyid 간단설명 1. 2. 3. 4. SNS : 이메일,

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

슬라이드 1

슬라이드 1 6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를 리스트에대한설명중틀린것은 구조체도리스트의요소가될수있다 리스트의요소간에는순서가있다 리스트는여러가지방법으로구현될수있다 리스트는집합과동일하다 다음은순차적표현과연결된표현을비교한것이다 설명이틀린것은 연결된표현은포인터를가지고있어상대적으로크기가작아진다 연결된표현은삽입이용이하다 순차적표현은연결된표현보다액세스시간이많이걸린다 연결된표현으로작성된리스트를 개로분리하기가쉽다 다음은연결리스트에서있을수있는여러가지경우를설명했는데잘못된항목은

More information

레이아웃 1

레이아웃 1 03 04 06 08 10 12 13 14 16 한겨울의 매서운 추위도 지나가고 어느덧 봄이 성큼 다가왔습니다. 소현이가 이 곳 태화해뜨는샘에 다닌 지도 벌써 1년이 지났네요. 해샘에 처음 다닐 때는 대중교통 이용하는 것도 남을 의식해 힘들어하고, 사무실내에서 사람들과 지내는 것도 신경 쓰여 어려워했었습니다. 그러던 우리 소현이가 하루, 이틀 시간이 지나면서

More information

Javascript.pages

Javascript.pages JQuery jquery part1 JavaScript : e-mail:leseraphina@naver.com http://www.webhard.co.kr I.? 2 ......,,. : : html5 ; ; .

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : ( ㄱ, ㄴ

리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : ( ㄱ, ㄴ 00. 리스트 자료구조 01. 링크드 리스트 02. 더블 링크드 리스트 03. 환형 링크드 리스트 리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : (

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint - 07-Data Manipulation.pptx

Microsoft PowerPoint - 07-Data Manipulation.pptx Digital 3D Anthropometry 7. Data Analysis Sungmin Kim SEOUL NATIONAL UNIVERSITY Body 기본정보표시 Introduction 스케일조절하기 단면형상추출 단면정보관리 3D 단면형상표시 2 기본정보표시및스케일조절 UI 및핸들러구성 void fastcall TMainForm::BeginNewProject1Click(TObject

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 3 장함수와문자열 1. 함수의기본적인개념을이해한다. 2. 인수와매개변수의개념을이해한다. 3. 함수의인수전달방법 2가지를이해한다 4. 중복함수를이해한다. 5. 디폴트매개변수를이해한다. 6. 문자열의구성을이해한다. 7. string 클래스의사용법을익힌다. 이번장에서만들어볼프로그램 함수란? 함수선언 함수호출 예제 #include using

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

e-비즈니스 전략 수립

e-비즈니스 전략 수립 CSS3 속성 HTML5 웹프로그래밍입문 ( 개정판 ) Contents 학습목표 CSS3가지원하는스타일속성과스타일값을활용할수있습니다. CSS3를사용해레이아웃을잡을수있습니다. 내용 CSS3 단위 박스속성 display 속성 배경속성 글자속성 위치속성 float 속성 그림자속성 그레이디언트 2/85 1. CSS3 단위 키워드단위 W3C에서미리정의한단어 키워드를입력하면키워드에해당하는스타일이자동으로적용

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C4C656D70656C2D5A69762E637070> /* */ /* LZWIN.C : Lempel-Ziv compression using Sliding Window */ /* */ #include "stdafx.h" #include "Lempel-Ziv.h" 1 /* 큐를초기화 */ void LZ::init_queue(void) front = rear = 0; /* 큐가꽉찼으면 1 을되돌림 */ int LZ::queue_full(void)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin OSP Stage 2040 < Design > 그놈! Clone Checker Project Team T4 Date 2016-04-12 Team Information 201411258 강태준 201411265 김서우 201411321 홍유리 Team 4 1 Contents Activity 2041. Define Real s Activity 2042. Define

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

C스토어 사용자 매뉴얼

C스토어 사용자 매뉴얼 쪽지 APP 디자인적용가이드 I. 쪽지 APP 소개 2 I. 쪽지 APP 소개 쪽지 APP 을통해쇼핑몰의특정회원또는특정등급의회원그룹에게 알림메시지나마케팅을위한쪽지를발송하실수있습니다. 쪽지 APP의주요기능 1. 전체회원, 특정ID, 특정회원그룹별로쪽지발송가능 2. 발송예약기능 3. 발송한쪽지에대해수신및열람내역조회가능 4. 쇼핑몰페이지에서쪽지함과쪽지알림창제공 3

More information

Chapter 4. LISTS

Chapter 4. LISTS 6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES 2012.02.18 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone 02-2108-8030 Fax 02-2108-8031 www.softbase.co.kr Copyright 2010 SOFTBase Inc. All rights reserved 목차 1 장 : HTML 연동개요...

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

1장. 리스트

1장. 리스트 01. 링크드리스트 02. 더블링크드리스트 03. 환형링크드리스트 배열과는달리유연하게크기를바꿀수있는자료구조 각노드는다음노드를가리키는포인터를가짐. 각노드를다음노드를가리키는포인터로연결하여만든리스트. Single Linked List 라고도함. 링크드리스트의첫번째노드를헤드 (Head), 마지막노드를테일 (Tail) 이라고한다. C 언어로표현하는링크드리스트의노드 typedef

More information