프로그래밍 536

Javascript - 간단한 가위바위보 게임 만들기

실습 2: 가위 바위 보 게임 만들기 프로젝트명 : exercise02 파일명: index.html, rockscissorspaper.js (외부 스크립트) 요구사항 1. 사용자는 가위, 바위, 보 버튼을 눌러 게임을 진행합니다. 2. index.html은rockscissorspaper.js를 외부 스크립트로 참조합니다. 3. index.html은 game, result의 id를 가진 div 요소를 가집니다. 4. Game의 id를 가진 div 요소는 btnScissors, btnRock, btnPaper의 id를 가진 button 요소를 자식요소로 가집니다. 5. DOM 이벤트는 크로스 브라우징 문제가 있으므로 모든 이벤트와 관련된 함수를 만들 때는 크로스 브라우징 문제를 반드시 해결해야 합니다. 6...

Javascript - 웹브라우저 별 이벤트 처리

1. 웹브라우저와 자바스크립트 실행환경 2. 웹브라우저 객체 위를 DOM(Document object model)이라고 함 위와 같이 document 객체로 이용해서 접근 가능 3. HTML DOM DOM 트리로 구성하면 오른쪽처럼 구성할 수 있음 위 메소드는 많이 사용한다. 08-01.html DOCTYPE html> 08-01 // 주어진 노드 객체의 모든 자식노드 중 노드타입이 엘리먼트인 노드의 이름을 출력합니다. function printTags(node) { var tags = ''; // 노드타입이 엘리먼트인지를 검사합니다. if (node.nodeType == Node.ELEMENT_NODE) { // nodeName 프로퍼티에 저장되어 있는 노드의 이름을 tags 변수에 저장합니다. tag..

Javascript - 객체 생성 과정 및 상속

1. 객체 생성 과정 2. 프로토타입 체인과 프로토타입 멤버 상속 Function 객체의 주요 멤버 06-01.html DOCTYPE html> 06-01 // 프로토타입 체인과 프로토타입 멤버 상속 // Car 생성자 함수의 프로토타입 객체는 new 연산자와 Object 생성자 함수 호출을 통해 생성된 객체이며, // 프로토타입 객체에 constuctor 프로퍼티는 자동으로 Car 생성자 함수를 참조합니다. var Car = function(){}; Car.prototype = { startEngine : function(){ document.writeln('시동을 겁니다... '); }, accelerate : function(){ document.writeln('속도를 올립니다... '); }, d..

C/C++ - 전위 중위 후위 순위를 도입한 이진트리

트리 순회법 - 트리 순회 방법에는 3가지가 있다. - 전위 순회(Preorder Traversal), 중위 순회(Inorder Traversal), 후위 순회(Postorder Traversal) 전위 순회법(Preorder Traversal) 1. 루트 노드부터 시작해서 아래로 내려 오면서 2. 왼쪽 하위 트리를 방문하고 왼쪽 하위 트리의 방문이 끝나면 3. 오른쪽 하위 트리를 방문하는 방식 중위 순회법(Inorder Traversal) - 트리는 하위 트리의 집합이라고 할 수 있고 하위 트리 역시 또 다른 하위 트리의 집합이라고 할 수 있다. - 따라서 아래와 같은 방법으로 탐색할 수 있다. 1. 왼쪽 하위 트리부터 시작해서 2. 루트를 거쳐 3. 오른쪽 하위 트리를 방문하는 방법 - 응용 사례 :..

C/C++ - 함수포인터 (펌자료)

오늘은 함수포인터에 대해서 포스팅을 하도록 하겠습니다. 포인터가 무엇인지는 다들 아실텐데요, 특정 변수에 대한 메모리 주소를 담을 수 있는 변수를 포인터 변수라고 합니다. 그렇다면 함수포인터란, 특정 함수에 대한 메모리 주소를 담을 수 있는 것 이라고 정의할 수 있겠습니다. 함수포인터를 쓰는 이유는 무엇일까요? 1. 프로그램 코드가 간결해집니다. 2. 함수포인터를 배열에 담아서도 사용할 수 있으므로 중복되는 코드를 줄일 수 있습니다. 3. 상황에 따라 해당되는 함수를 호출할 수 있으므로 굉장히 유용합니다. 그 외에도 함수 포인터를 이용하여 콜백함수를 구현할 수 있게 되는 등 편리하고 유용한 코드를 작성할 수 있게 됩니다. 우선 함수포인터의 모양에 대해 알아보도록 하겠습니다. int (*FuncPtr) (..

C/C++ - C를 이용한 간단한 이진 트리 예제

다음은 간단한 이진트리의 예제이며 단순히 공간을 만들고 메인 함수에서 수동적으로 왼쪽과 오른쪽으로 나누고 값을 넣어주는 예제입니다. BinaryTree.h #ifndef __BINARY_TREE_H__ #define __BINARY_TREE_H__ typedef int BTData typedef struct _bTreeNode{ BTData data struct _bTreeNode *left struct _bTreeNode *right }BTreeNode BTreeNode * MakeBTreeNode(void);//빈노드생성함수 BTData GetData(BTreeNode * bt);//bt의data 반환함수 void SetData(BTreeNode * bt, BTData data);//bt의data에입..

Javascript - 로또 번호 생성기 만들기

실습 1: 로또 번호 생성기 만들기 프로젝트명 : exercise01 파일명: index.html 요구사항 1. Lotto 생성자 함수는 로또 번호의 범위값(예를 들어 로또 번호가 1번부터 45번까지 있을 경우 가장 큰 값인 45를 사용)으로 사용할 매개변수 numbers와 선택할 공의 갯수로 사용할 매개변수 balls를 가집니다. number와 balls 매개변수에 전달된 인자는 Lotto 생성자 함수 호출을 통해 생성된 객체의 프로퍼티 numbers와 balls에 각각 저장합니다. 2. Lotto 생성자 함수 호출을 통해 생성된 객체는 기본적으로 빈 배열 객체의 프로퍼티 luckyNumbers를 가지며, 이 배열 객체에 getLuckyNumbers() 메소드 호출을 통해 생성된 로또 번호들을 추가합니..

Javascript - 객체

1. 객체의 정의 2. 생성자 객체를 정의하는 방법 생성자에 대해 3. new 연산자, 생성자 함수, 그리고 this 05-01.html DOCTYPE html> 05-01 // 생성자 함수: 객체를 정의하는 방법 // 이 함수는 Rectangle 생성자 함수로 설계되었습니다. function Rectangle(x, y, w, h) { // this 키워드는 생성자 함수에 의해 생성되는 객체를 나타냅니다. // 따라서 다음의 구문은 pointX, pointY, width, height 프로퍼티를 생성자 함수에 의해 // 생성되는 객체에 추가하고 매개변수 x, y, w, h로 전달된 값을 pointX, pointY, width, height // 프로퍼티에 대입하는 문장이 됩니다. this.pointX =..

Javascript - 함수의 이해

1. 함수 기본적으로 다음과 같은 4가지의 역할을 가지고 있다. function 생성자는 잘쓰이지 않음 04-01.html DOCTYPE html> 04-01 // 함수의 정의와 호출 // function 문에 의해 정의된 print 함수는 매개변수 message에 전달된 값을 출력합니다. function print(message) { document.writeln(message); } // function 문에 의해 정의된 println 함수는 매개변수 message에 전달된 값과 // 문자열 ' '을 접합연산한 결과를 출력합니다. function println(message) { document.writeln(message + ' '); } // function 문에 의해 정의된 distance 함수..

Javascript - 함수 유효범위와 클로저

함수 유효범위와 클로저자바스크립트 인터프리터가 함수를 호출할 경우 인터프리터는 호출 객체(활성화 객체로도 알려진)를 생성한다.모든 함수 매개변수 및 var 문으로 선언한 지역 변수는 호출 객체 안에 정의되고 호출 객체의 프로퍼티가 된다.다음 예제의 경우, f1 호출 객체에는 y1과 x1 프로퍼티가 담기고, f2 호출 객체에는 y2와 x2 프로퍼티가 담긴다.function f1(y1) { var x1 = 1; function f2(y2) { var x2 = 2; } f2();}f1(); 함수 유효범위 체인자바스크립트 함수는 그것이 실행되고 있는 유효범위가 아니라 그것이 정의된 유효범위 내에서 실행된다.함수를 정의하면 현재 유효범위 체인이 저장되고 해당 함수의 내부 상태의 일부를 구성하게 된다.가장 높은 레..

반응형