QBasic: 반복문 (WHILE, DO … WHILE, FOR LOOP)

프로그램의 실행에는 기본적으로 세 가지의 제어 구조가 있습니다.  순차적 (Sequential) 선택 또는 의사결정 또는 조건부 (Selective or decision making or conditional) 반복 (Repetitive or iterative or looping) 1, 2번이 지금까지의 과정이며, 이 글에서는 3번에 대해 다뤄볼 것입니다.   예를 들어 불면증 때문에 잠을 잘 자기 위해 100마리의 양을 세는 프로그램을 더보기…

QBasic: 조건문(IF문, SELECT CASE문)

조건문 조건문은 명령문 또는 명령문 그룹의 선택적 처리를 허용합니다. 조건문에는 두 가지 형태가 있습니다. if-then-else 문 if-then-elseif … else 문 예를 들어, 학생이 3 + 3 = 9 이라는 숙제에 관한 쪽지 하나를 선생님한테 제출하였을 경우, 선생님은 이 식이 맞는 식인지, 아니면 틀린 식인지 알 수 있을 것입니다. 만약 식이 더보기…

QBasic: INPUT(프롬프트로 키보드 입력 받기)

  INPUT 구문은 다음과 같이 사용합니다. INPUT "화면에 나타낼 안내문구 텍스트", 변수명 안내문구는 생략 가능하며, 변수는 여러 개를 콤마(,)로 지정하는 것이 가능합니다. 변수를 여러 개 지정하면, 키보드로 입력할 때 콤마(,)으로 구분하여 갯수만큼 입력값을 입력하고 엔터를 치면 됩니다.   예를 들어 키보드로 학생의 이름과 성적을 입력받고 이것을 화면에 출력하는 프로그램을 만든다고 더보기…

QBasic: 개요(설치 방법, 데이터 타입, 변수 선언)

0. QBasic을 공부해야 하는 이유 (1) 문법이 쉬워 프로그래밍 초급자들이 절차적 프로그래밍 언어에 대한 개념을 빠르게 습득하는데 도움이 됩니다. (2) 베이식 문법에서 파생된 VBA(Visual Basic for Application)을 학습하는 데 도움이 됩니다.   1. 설치 방법 (1) Windows 7 이하: 이미 설치되어 있으며 실행 창(Win + R) 띄운 후 qb.exe 입력 더보기…

MusicXML: 기초 악보 만들기

출처: https://www.musicxml.com/tutorial/hello-world/ MusicXML에서 가사가 “hello, world”인 노래는 실제로 간단한 MusicXML 파일보다는 복잡합니다. 우리는 (조건을) 더 단순하게 유지합시다. 중간 C의 전체 음을 포함하는 한 마디의 음악, 4/4 박자 기준 <?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?> <!DOCTYPE score-partwise PUBLIC “-//Recordare//DTD MusicXML 3.1 Partwise//EN” “http://www.musicxml.org/dtds/partwise.dtd”> <score-partwise version=”3.1″> <part-list> <score-part id=”P1″> <part-name>Music</part-name> </score-part> </part-list> <part id=”P1″> <measure 더보기…

OpenGL 기초 8: 텍스처(비트맵, 픽셀맵), 폴리곤 스티플, 텍스처 매핑, 축소된 서브셋(ES)

출처: http://soen.kr/lecture/library/opengl/opengl-10.htm 34. 텍스처: 비트맵 비트맵은 미리 만들어진 이미지를 의미하며 다양한 크기와 색상을 가질 수 있다. 그러나 OpenGL에서는 흑백 이미지만을 비트맵이라고 칭하며 컬러 이미지는 픽셀맵(Pixelmap)이라는 별도의 용어를 사용한다. bit가 용어가 원래 0과 1만을 의미하는 흑백적인 뜻이기 때문이라고 한다. OpenGL은 파일 입출력 기능을 제공하지 않으므로 파일이나 리소스로부터 비트맵을 생성하기 어렵다. 간단한 이미지라면 더보기…

OpenGL 기초 7: 조명, 재질, 법선

출처: http://soen.kr/lecture/library/opengl/opengl-9.htm 31. 조명 개요 OpenGL은 조명을 성격에 따라 다음 세가지로 분류한다. 주변광(Ambient) : 도처에 존재하는 빛이다. 광원에서 나온 빛이 여러 경로로 반사 및 재반사되어 방향성을 잃어버린 빛이다. 사방에서 물체의 모든 면에 골고루 비쳐지며 밝기도 일정하다. 분산광(Diffuse) : 한 방향으로 들어와서 물체의 표면에 반사되어 여러 방향으로 흩어지는 빛이다. 빛을 받는 부분이 더보기…

OpenGL 기초 6: 행렬, 출력 영역의 제한

출처: http://soen.kr/lecture/library/opengl/opengl-8.htm 29. 행렬 OpenGL은 각종 변환에 행렬을 많이 사용한다.  행렬의 수학적 특성을 잘 이용하면 빠른 속도로 연산을 수행할 수 있다. OpenGL이 변환에 사용하는 행렬은 4*4 크기의 행렬이다. 3차원 공간은 3개의 좌표로 구성되지만 연산의 편의를 위해 한차원 더 높은 4*4 행렬을 사용한다. 메모리에서 4*4 행렬을 표현하는 방법은 여러 가지가 있는데 일단 다음 더보기…

OpenGL 기초 5: 변환(관측, 모델링), 투영(직교, 원근), 뷰포트

출처: http://soen.kr/lecture/library/opengl/opengl-8.htm 24. 변환 – 개요 3차원 공간에 배치된 물체의 전체적인 변환 과정은 다음과 같다. OpenGL은 변환 단계에서 수행되는 복잡한 연산들을 행렬로 처리한다. 모든 변환 함수의 연산 결과는 현재 행렬에 반영된다. 좀 더 정확하게는 현재 선택된 행렬 스택의 최상단 행렬인데 일단은 현재 행렬이라고 생각하면 된다. 다음 함수는 행렬 연산의 목적지를 지정한다. void 더보기…