일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
- 클래스 다이어그램
- 산책하기 좋은 곳
- 원격 제어 프로그램
- 충남 천안
- c언어
- 강의
- 실습으로 다지는 c#
- 실습
- 표준 입출력
- 졸업 작품 소재
- 표준 라이브러리 함수
- 동영상
- 소켓 통신
- 무료 동영상 강의
- 소스 코드
- 언제나 휴일
- 프로젝트
- 캡슐화
- 유튜브 동영상 강의
- Windows Forms
- 추천
- 언제나휴일
- 파이썬
- 안드로이드 앱 개발
- c#
- 동영상 강의
- C++
- 독립기념관
- 네트워크 프로그래밍
- 알고리즘
- Today
- Total
목록2024/01 (139)
프로그래밍 언어 및 기술 [언제나휴일]
Part 14. 배열과 포인터 그리고 산술 연산 45. 배열과 포인터 개요 배열과 포인터 개요 및 배열 선언문 동영상 강의 C언어에서는 같은 형식의 여러 데이터를 효과적으로 사용할 수 있는 배열을 제공하고 있어요. C언어에서 제공하는 기본 형식들은 변수가 관리하는 데이터가 하나여서 변수 이름은 갖고 있는 값을 의미하죠. 하지만 배열은 관리하는 데이터가 여러 개이므로 배열 이름이 특정 값을 대표할 수 없어요. C언어에서는 배열 이름은 관리하는 특정 값이 아닌 배열에 할당한 메모리의 시작 주소를 의미한답니다. 배열의 원소에 접근할 때는 배열 이름과 상대적 거리를 의미하는 인덱스 값을 사용하는 것이 일반적이예요. 예를 들어 3번째 원소를 접근하려면 시작 위치에서 거리 2이므로 인덱스 2를 사용해요. 따라서 상..
1. 유튜브 동영상 강의 미디 분석 프로그램 유튜브 동영상 강의 2. 프로그램 소개 미디 파일은 여러 개의 청크들로 구성합니다. 청크는 청크 타입과 청크 길이와 데이타로 구성하고 있는데 헤더 청크와 트랙 청크가 있어요. 이 외에 자세한 사항은 프로젝트를 진행하면서 하나 하나 설명하기로 할게요. 프로젝트 제작 순서는 다음과 같습니다. 청크 분석 헤더 청크 분석 트랙 청크 분석 메타 이벤트 분석 미디 이벤트 분석 시스템 이벤트 분석 미디 분석 프로그램 미디 분석 프로그램은 C# 언어와 Windows Forms 기술을 사용하여 구현합니다. 프로젝트를 진행하면서 미디 파일의 구조와 의미를 설명하기로 할게요. 그럼 다음 강의에서 만나요.
유튜브 동영상 강의 Wafer 코팅 시뮬레이션 - 라이브러리 만들기 안녕하세요. 언제나휴일입니다. 1. 해야 할 일 Wafer 클래스를 정의하고 Double Buffering 가능한 DPanel을 정의했습니다. 그리고 Wafer의 코팅 상태를 시각화하는 부분을 작성했습니다. Wafer 코팅 시뮬레이션에서 Wafer 클래스는 WaferLineLib에 정의할 것입니다. 그리고 DPanel과 Waper를 시각화하는 WaferPanel은 WaferLineControlLib에 정의할 것입니다. 이번에는 WaferLineLib와 WaferLineControlLib를 만드는 실습을 할 거예요. 물론 앞에서 만든 Wafer 클래스를 WaferLineLib에 추가하고 DPanel과 Panel을 시각화하는 부분을 Wafe..
유튜브 동영상 강의 안녕하세요. 언제나 휴일입니다. 이번 강의는 Wafer 예광탄을 작성하는 실습입니다. 1. Wafer 클래스 소스 코드 namespace Wafer_예광탄 { /// /// Wafer 클래스 /// public class Wafer { static int last_wn;//가장 최근에 부여한 웨이퍼 일련 번호 readonly int wn;//웨이퍼 일련 번호 int[] cells = new int[100]; int now;//현재 코팅할 쉘 번호 /// /// 기본 생성자 /// public Wafer() { last_wn++; wn = last_wn;//웨이퍼 번호 순차 부여 } /// /// 현재 코팅하고 있는 쉘 번호 속성 - 가져오기 /// public int Now { get..
유튜브 동영상 강의 Wafer 코팅 시뮬레이션 - 반도체 장비 제어 시스템 1. 개요 Wafer 코팅 시뮬레이션은 Wafer 코팅 설비 추가, 코팅 등의 작업을 시뮬레이션하는 솔루션입니다. 솔루션을 구성하는 컴포넌트는 두 개의 Windows 응용 프로그램과 세 개의 라이브러리로 구성합니다. 두 개의 Windows 응용 프로그램은 “WaferLine 공장 시뮬레이션”과 “중앙관제”입니다. 두 응용 모두 Windows Forms 앱(.NET Framework)입니다. WaferLine 공장 시뮬레이션에서는 Wafer 코팅 라인을 추가, 라인에 Wafer 추가, 코팅액 추가, Spin 속도 조절, 코팅액 낙하 속도 조절, 라인 가동, 라인 멈춤 등을 할 수 있습니다. 중앙관제에서는 공장과 소켓으로 연결하여 공..
43. 매크로 구문 C언어에서는 자주 사용하는 표현을 약속하여 쉽게 표현할 수 있게 매크로 구문을 제공하고 있어요. 매크로 구문은 자주 사용하는 표현을 약속한 후 개발자가 매크로 구문을 사용하여 쉽게 코드를 작성하는 문법이예요. 개발자가 매크로 구문으로 코드를 작성하면 컴파일러가 기계어 코드로 번역하기 전에 약속한 구문으로 바꾸어 줘요. 이러한 과정을 전개라 부르며 컴파일 전에 수행해서 전처리 구문이라고도 불러요. C언어에서는 #include문으로 다른 파일의 내용을 포함시키거나 #define문으로 매크로 구문을 약속하는 것이 대표적이죠. #include #include “파일명” #include 문은 다른 파일에 있는 내용을 포함시키는 매크로 구문이예요. 개발도구를 설치하면서 함께 설치한 파일들이 있는..
유튜브 동영상 강의 번역 나래이터 만들기 프로젝트 소개 00;00 인사 00:26 개발할 번역 나래이터 프로그램 시연 02:38 정의해야 할 형식들 소개 03:00 제작할 WrapkakoLib 라이브러리 소개 04:15 제작할 WrapSpeechLib 라이브러리 소개 안녕하세요. 언제나 휴일에 언휴예요. 이번에는 Kakao 번역 API와 .NET 음성 Speech 기술을 Mash up해 볼게요. 두 개의 기술 모두 사용하는 것은 크게 어렵지 않습니다. 그리고 최근에 응용이나 앱, 웹에서는 이러한 것을 지원하려고 노력하는 것 같네요. 실제 해당 기술을 사용해 본 적이 있다면 프로그램 제작에 걸리는 시간은 1시간~2시간 정도입니다. 여기에서는 이러한 기술을 경험해 보려는 이들을 위해 기술별로 제작해 나갈게요..
유튜브 동영상 강의 [WPF] 번역 나래이터 - 번역 라이브러리 만들기 KakaoTransApi 소스 코드 using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text; using System.Web.Script.Serialization; namespace WrapKakaoLib { /// /// 언어 정보 열거형 /// public enum LanguageInfo { kr, en, jp, cn, vi, id, ar, bn, de, es, fr, hi, it, ms, nl, pt, ru, th, tr, MAX_LI } /// /// 카카오 음성 API - 정적 클래스 /// public..
유튜브 동영상 강의 [WPF] 번역 나래이터 - WrapSpeechLib 만들기 Narrator 소스 코드 using System.Collections.Generic; using System.Globalization; using System.Speech.Synthesis; using WrapKakaoLib; namespace WrapSpeechLib { /// /// 번역 나래이터 클래스 /// public class Narrator { static SpeechSynthesizer speecher = new SpeechSynthesizer(); static Dictionary voice_dics = new Dictionary(); static Narrator() { foreach (InstalledVoi..
유튜브 동영상 강의 번역 나래이터 구현 화면 배치 MainWindow.xaml.cs 소스 코드 using System.Collections.Generic; using System.Windows; using System.Windows.Controls; using WrapKakaoLib; using WrapSpeechLib; namespace 번역_나래이터_v0._1 { /// /// MainWindow.xaml에 대한 상호 작용 논리 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void btn_speek_Click(object sender, RoutedEventArgs ..
C언어 - 반복문, 별출력 00:20 반복문 01:14 [실습] while문 1에서 100까지 합계 구하기 02:30 [실습] do while문 1에서 100까지 합계 구하기 03:11 [실습] do while문 음수 입력 전까지 합계 구하기 04:34 [실습] for문 1에서 100까지 합계 구하기 05:43 별출력 05:51 [실습] 별출력 - 속이 빈 정사각형 출력 41. 반복문 (while, do while, for) 반복문은 특정 조건이 참일 동안 반복해서 구문을 수행하는 구문이예요. C언어에서는 세 가지 종류의 반복문을 제공합니다. while(조건 표현식) 반복 수행 구문; do 반복 수행 구문 while(조건 표현식); for(초기 수행문; 조건 표현문; 조건 변화 구문) 반복 수행 구문; ..
3. 입출력 개요 (cin, cout) C++ 입출력 개요 cin cout 여기에서는 앞으로 C++ 문법 학습하기 위해 필수적으로 사용할 입출력에 관한 사항을 간략하게 살펴보기로 할게요. C언어에서는 stdio.h 파일을 포함하여 표준 입출력 함수들을 사용했었죠. C++에서도 C언어에서 제공하는 함수들을 사용할 수 있어요. 하지만 C++언어에서 콘솔 화면에 출력하거나 키보드에서 입력받을 때 printf 함수나 scanf 함수를 사용하는 이들은 거의 없어요. C++ 언어에서는 iostream 파일을 포함하여 cout과 cin 개체를 사용할 수 있어요. iostream은 STL(Standard Template Library,표준 템플릿 라이브러리)에서 제공하는 클래스이며 cout과 cin은 미리 선언한 전역..
C++ 언어 소개 1. 들어가기에 앞서 이 책은 C언어를 학습한 이들을 이가 C++언어를 학습하기 위해 작성하였습니다. C++언어는 C언어와 변수나 연산, 함수 등의 기본 문법은 비슷하지만 클래스와 템플릿 문법을 있습니다. 특히 C++ 언어에서 클래스는 OOP(Object Oriented Programming, 개체(혹은 객체) 지향 프로그래밍) 방식으로 프로그래밍할 수 있게 새롭게 추가한 문법이죠. 이러한 특징으로 인해 C언어와 C++은 접근 방식에서 많은 차이를 갖고 있습니다. 이 책은 C++입문자를 위한 책이지만 단순히 C++문법을 다루고 있는 책은 아니예요. 오히려 C++에 새롭게 추가한 문법을 OOP에 어떻게 활용하는지에 관한 부분이 많습니다. 이를 위해 문법 외에도 OOP의 특징과 OOP 프로..
C언어 - 제어문 (조건문, 선택문) C언어 - 제어문 실습 (조건문, 선택문) 00:14 조건문 00:53 [실습] if 문 - 홀수일 때 출력 01:58 [실습] if else 문 - 3의 배수인지 판별하여 출력 02:53 선택문 03:49 [실습]if 문으로 학점 출력하기 06:10 [실습] switch case 문으로 학점 출력하기 39. 조건문 (if else) C언어에서는 조건에 따라 수행할 작업을 판단하거나 반복해서 수행하는 등의 제어문을 제공해요. 조건 표현식에 따라 구문을 수행하는 조건문과 조건 표현식이 참일 동안 반복해서 구문을 수행하는 반복문, 표현식의 값에 따라 수행할 위치를 선택하는 선택문 등이 있어요. 그리고 미리 특정 코드에 대응하는 표현을 약속하는 매크로 구문을 제공하고 있어..
1. 다음리터럴상수로초기값을설정하는선언문중에서오류가있는것을고르시오. a. char c = “hello”; b. int i = ‘a’; c. char c = 38; d. char c = 0xC; 더보기 답: a “hello”는 문자열이며 char 형식을 원소로 하는 배열이나 포인터 형식 변수로 사용할 수 있습니다. 2. 다음코드를수행했을때출력결과를예측하시오. printf(“%d\n”, 8^8); 더보기 답: ^ 연산은 비트 자리별로 같으면 0이고 다르면 1로 계산하는 연산입니다. 좌항과 우항이 같은 수이므로 모든 자리는 같으며 따라서 결과도 모든 자리가 0입니다. 3. 다음코드를수행했을때출력결과를예측하시오. printf(“%d\n”, 2
C언어 - 대입, 증감, 기타 연산자 00:14 대입 연산자 01:09 [실습] 대입 연산자 l-value 01:42 [실습] 복합 대입 연산자 02:19 [실습] 대입 연산자 우선 순위 03:27 증감 연산자 03:57 [실습] 증감 연산자 05:15 기타 연산자 05:28 [실습] 콤마 연산자 06:30 [실습] 형 변환 연산자 07:05 [실습] sizeof 연산자 07:45 [실습] 삼항 조건 연산자 35. 대입 연산자 =, +=, -=, *=, /=, %= 등 대입 연산은 변수의 값을 설정할 때 사용하는 연산이죠. 이러한 이유로 대입 연산의 좌항에는 상수 표현은 올 수 없으며 l- value라 불러요. 대입 연산자에는 우항의 값을 좌항에 대입하는 단순 대입 연산과 좌항과 우항의 값을 더하거나 빼..
C언어 - 비트 연산자, 쉬프트 연산자 00:19 비트 연산자 01:22 [실습] 비트 연산자 02:44 xor 연산을 이용한 대칭형 암호화 03:28 [실습] xor 연산을 이용한 대칭형 암호화 05:46 쉬프트 연산자 07:00 [실습] 쉬프트 연산 32. 비트 연산자 & | ^ ~ C언어에서는 비트 단위로 논리 연산을 수행하는 비트 연산을 제공하고 있어요. 비트 연산의 피연산자는 정수 형식이 올 수 있어요. 이항 연산자 &는 비트 단위로 논리곱 연산을 수행하죠. 예를 들어 6&5를 하면 6은 이진수로 110이고 5는 이진수로 101이므로 6&5의 연산 결과는 이진수 100이고 10진수 4예요. 이항 연산자 | 는 비트 단위로 논리합 연산을 수행하죠. 예를 들어 6|5의 연산 결과는 이진수 111 이..
[C언어] 산술, 논리, 비교 연산자 00:19 산술 연산 00:35 [실습] 부호 연산 01:35 [실습] 사칙 연산 04:05 [실습] 나머지 연산 05:32 논리 연산자 05:46 [실습] 논리 연산 07:18 [실습] 논리 연산에서 주의할 점 09:03 비교연산자 09:18 [실습] 비교 연산자 10:01 비교 연신에서 주의할 점 29. 산술 연산자 프로그래밍 언어는 관리해야 할 데이터를 위한 문법도 제공하지만 수행해야 할 코드를 작성하는 문법도 제공하죠. 이번에는 C언어에서 수행할 코드를 작성하는 가장 기본적인 문법인 연산자를 다룰게요. C언어에서는 사칙 연산이나 논리 연산, 비트 연산을 비롯하여 30여 가지의 연산자를 제공하고 있어요. 여러분은 책에 나온 예제 코드를 직접 작성하여 하나 하나 ..
C언어 - 표준 입출력 23. 표준 입출력 개요 2024년 4월 3일에 새롭게 제작하여 유튜브에 업로드할 예정입니다. 프로그래밍 언어의 문법을 익히고 프로그래밍 작성 능력을 키우려면 기본적인 입출력 기능은 사용할 수 있어야겠죠. C언에서는 다양한 입출력 방법을 제공하는데 여기에서는 표준 입출력 함수 중에 자주 사용하는 함수를 살펴볼게요. 이미 앞에서 설명없이 사용했던 printf 함수는 대표적인 표준 입출력 함수예요. 표준 입출력 함수를 사용하려면 stdio.h 파일 포함문이 필요하죠. #include 여기에서는 stdio.h에서 제공하는 많은 함수 중에 세 가지 표준 출력 함수와 다섯 가지 표준 입력 함수를 소개할게요. int printf(const char * format, … ); int putch..
21. 명명법 C언어에서는 변수 이름, 함수 이름, 사용자 정의 형식의 태그 이름 등을 개발자가 정할 수 있어요. C언어에서는 개발자가 정하는 이름은 다음 규칙을 따라야 하죠. 예약어를 사용할 수 없음 첫 문자로 숫자 문자를 사용할 수 없음 언더 바를 제외한 기호 문자를 사용할 수 없음 같은 블록 내에 같은 이름을 선언할 수 없음 참고로 예전에는 한글로 이름을 정할 수 없었는데 지금은 한글로 정할 수 있어요. 프로그래밍을 할 때 이름을 대충 정하면 생각이 나지 않아 확인하는 비용도 들어요. 여러 개발자가 같이 개발할 때는 이러한 문제로 예상하지 못한 비용이 추가로 발생하곤 하죠. 많은 개발자들은 서로 이해하기 쉽게 나름의 규칙을 정하여 이름을 결정하고 있어요. 이 책에서는 다음과 같은 규칙으로 이름을 결..
C언어 - 실수 표현과 메모리 구조 19. 실수는 근사치 0.1에서 0.5사이에 몇 개의 실수가 있을까요?\ 여러분이 아는 것처럼 무한 개의 실수가 존재하죠. 따라서 0.1과 0.5 사이의 모든 실수를 유한한 메모리에 표현할 수 없어요. 실제로 컴퓨터에서 실수 표현은 오차 범위 내에서 값을 표현하는 근사치예요. C언어에서는 실수 형식으로 float 형식과 double 형식을 제공해요. float 형식은 4바이트이며 double 형식은 8바이트예요. 그리고 C언어에서 실수 표현은 기본적으로 double 형식으로 취급하며 float 형식을 표현할 때는 뒤에 f를 붙여요. 그렇지만 C언어에서 실수 형식 사이에는 서로 묵시적 형변환을 제공해서 실수 뒤에 f를 붙이지 않아도 가능하답니다. 물론 값 잘림 현상이 발..
[C언어] Part 6. 정수 형식의 표현 범위와 Overflow 값 잘림 현상 17. 정수 형식의 표현 범위 char 형식과 unsigned char 형식은 정수를 표현할 때도 사용할 수 있다고 했어요. 두 가지 형식 모두 1바이트를 할당하여 256가지의 정수를 표현할 수 있답니다. unsigned char 형식은 부호 없는 정수만 표현하므로 0~0xFF(0~255)까지 표현 가능해요. char 형식은 최상위 비트가 0인 0x00~0x7F(0~127)까지는 부호없는 정수예요. 그리고 최상위 비트가 1인 0x80~0xFF(-128~-1)까지는 부호있는 정수죠. ◈ char 형식과 unsigned char 형식의 표현 범위 확인 #include int main() { char c = 0; unsigned ..
Part 5. 문자 형식과 ASCII 코드 15. ASCII 코드 C언어 - 문자 형식과 ASCII 코드 C언어에서 char 형식은 -128~127까지의 정수를 표현할 수 있는 정수 형식이예요. 형식 이름을 보면 알 수 있듯이 char 형식은 문자를 표현할 때 많이 사용하죠. 미국 표준 기구(ANSI, American National Standards Instutitute)에서는 영문 알파벳과 숫자 문자와 여러 기호를 아스키 코드로 정의했어요. 아스키 코드에는 128개의 문자를 약속하고 있답니다. 최초의 아스키 코드는 하드웨어 사이에서 주고 받는 신호를 약속한 것으로 제어 신호도 포함하고 있어요. char 형식이 8비트(1바이트)죠. 첫번째 비트는 0이고 나머지 비트를 아스키 코드를 이용하여 표현해요. ..
Part 4. 부호 있는 정수 표현 방법 12. 부호 있는 정수 표현 - 부호 비트 필드 C언어 부호있는 정수 표현, 부호 비트 필드, 1진 보수, 2진 보수 메모리에 부호있는 정수를 표현하는 방법은 여러가지 방법이 있어요. 그 중에 대표적인 방법이 부호비트 필드 방식, 1진 보수 방식, 2진 보수 방식이 있죠.(C언어의 정수 형식은 2진 보수 방식을 사용하고 있어요.) 이제 이 세가지 방법을 알아봅시다. 먼저 부호 비트를 이용하는 방법을 알아볼게요. 부호비트 필드 방식에서는 첫 번째 비트를 부호비트로 사용하는 방식이예요. 첫 번째 비트가 1이면 부호있는 정수이고 0이면 부호없는 정수인 것이죠. 그리고 나머지 비트는 크기를 나타내요. 예를 들어 8비트의 메모리에 10010001 값이 들어있다면 첫번째 비..
Part 3. 형식과 메모리 크기, 진수 표현 [디딤돌 C언어] Part 3. 형식과 메모리 크기, 진수 표현 9. 기본 형식(TYPE) 프로그래밍 언어에서는 데이터를 표현하는 문법으로 형식과 변수를 제공해요. 형식은 데이터의 종류와 표현 범위에 따라 메모리 크기와 범위를 약속하고 있어요. 실제 메모리가 필요할 때 형식을 지정하여 변수를 선언하면 약속한 메모리를 할당받아 사용할 수 있어요. C 언에에서 제공하는 형식에는 문자, 정수, 실수를 표현할 때 사용하는 기본 형식이 있어요. 그리고 여러개의 원소를 연속적인 메모리에 할당받아 사용하는 배열과 프로그램의 메모리 주소를 기억하는 포인터도 있죠. 이 외에 개발자가 프로그램에 필요한 형식을 정의하는 문법을 제공합니다. 개발자가 정의하여 사용하는 형식을 사용..
1. C언어는 Bell 연구소에서 운영체제(O/S)를 만드는 과정에서 사용한 B언어을 발전한 프로그래밍 언어입니다. B언어는 어떠한 운영체제를 만드는 과정에서 사용했나요? 더보기 답: Unix 2. 프로그래밍 언어에서 데이터 종류에 따라 필요한 메모리 사이즈와 표현 방법을 약속하는 것은 무엇입니까? 더보기 답: 형식 3. 콘솔 프로그램의 진입점 함수 이름은 무엇입니까? 더보기 답: main 4. 표준 입출력을 사용하기 위해 포함시켜야 하는 헤더 파일 이름은 무엇입니까? 더보기 답: stdio.h 5. 표준 출력 파일에 포멧에 맞게 출력하는 함수 이름은 무엇입니까? 더보기 답: printf 6. 편집한 소스 파일을 기계어로 번역하는 것을 무엇이라 부릅나요? 더보기 답: 컴파일 7. C언어에서 주석을 표현하..
[디딤돌 C언어] Part 2. 첫 번째 프로그램 Hello, World! 6. 첫 번째 프로그램 만들기 이제 처음으로 간단한 프로그램을 만들어 봐요. 프로그램 언어를 공부할 때는 머리로 이해하는 것도 필요하지만 받드시 개발 도구에서 만들어 보는 것이 필요해요. 책의 내용을 머리로 이해했다고 만족하지 마시고 개발도구로 만들어 보세요. 이번에 만들 프로그램은 콘솔 화면에 “Hello, World”를 출력하는 프로그램이예요. 여러분은 이 과정을 통해 개발 도구에서 C언어로 프로그램을 만드는 과정을 익힐 수 있어요. 그리고 C언어의 문법 요소도 간단히 살펴볼 수 있답니다. 여기에서는 Microsoft Visual Studio 2022 개발 도구를 사용할게요. (2023년 12월 26일 현재 동영상에서는 Vis..
C언어 - C언어 소개 [유튜브 동영상 강의]1. 들어가기에 앞서아래 동영상 강의는 예전에 만든 동영상 강의입니다.이 책은 컴퓨터 프로그래머를 꿈꾸는 이들을 위해 만들었어요.컴퓨터 프로그래머가 하는 작업 중에 가장 기본은 원하는 작업을 컴퓨터가 수행할 수 있게 논리를 전개하는 것이죠.그리고 컴퓨터가 수행할 수 있는 프로그램을 작성하기 위해 프로그래밍 언어와 개발 도구를 이용하는 것입니다.많은 이들은 컴퓨터 프로그래밍을 학습하는 것은 책을 보고 머리로 이해하는 것이라 생각하는 것 같아요.하지만 실제 컴퓨터 프로그래밍을 효과적으로 학습하려면 머리를 이용하는 것 외에도 자신의 논리를 종이에 적고 그림을 그리고 자료를 검색하고 아는 이들에게 물어보는 등의 사용할 수 있는 모든 자원을 활용하는 것이 좋습니다.사실..
1. 개요 및 알고리즘 안녕하세요. 언제나 휴일입니다. 이번에는 원형 큐 중에서 버퍼의 모든 공간을 사용하는 소스 코드입니다. 큐는 자료를 한쪽으로 보관하고 다른쪽에서 꺼내는 FIFO(First In First Out) 방식의 자료구조입니다. 큐에 자료를 보관하는 연산을 PUT 혹은 ENQUEUE라 말하고 꺼내는 연산을 GET 혹은 DEQUEUE라고 말합니다. 그리고 보관할 위치 정보를 rear, 꺼낼 위치 정보를 front라고 말해요. 원형 큐에서는 rear와 front를 다음 위치로 이동할 때 index = (index+1)%QSIZE 로 이동합니다. PUT 연산 IF Queue Is full (꽉차면) Overflow (버퍼오버플로우) Else (꽉차지않을때) Buffer[rear] = data (..
1. 소개 및 알고리즘 안녕하세요. 언제나 휴일이예요. 이번에는 버퍼를 동적으로 생성하는 원형 큐를 살펴보아요. 큐는 자료를 한쪽으로 보관하고 다른쪽에서 꺼내는 FIFO(First In First Out) 방식의 자료구조입니다. 큐에 자료를 보관하는 연산을 PUT 혹은 ENQUEUE라 말하고 꺼내는 연산을 GET 혹은 DEQUEUE라고 말합니다. 그리고 보관할 위치 정보를 rear, 꺼낼 위치 정보를 front라고 말해요. 원형 큐에서는 rear와 front를 다음 위치로 이동할 때 index = (index+1)%QSIZE 로 이동합니다. PUT 연산 IF Queue Is full (꽉차면) Overflow (버퍼오버플로우) Else (꽉차지않을때) Buffer[rear] = data (버퍼의 rear..