본문 바로가기

프로그램/C# 1000제34

C# 1제] C# 프로그래밍 입문 CHAPTER 2. p105 2.12 (1) 삼각형의 넓이 구하기 문제] 삼각형의 세변의 길이를 읽고 다음 공식에 의해 삼각형의 넓이를 구하는 프로그램을 작성하시오. 참고풀이1] using System; namespace Chapter2 { class P105_2_12_1 { static void Main(string[] args) { int a, b, c;//삼각형의 3변의 길이 변수 double l;//세변의 길이 합 나누기 2의 값을 넣을 변수 double Sum;//세변의 지수값 합할 변수 double s;//삼각형의 넓이 저장할 변수 //세변을 입력받는다. Console.Write("삼각형의 세변의 수를 입력하세요.(예:456) : "); a = Console.Read() - '0'; b = Console.Read() - '0'; c = Console.Read.. 2021. 7. 20.
C# 예제8] C# 프로그래밍 입문 CHAPTER 1. p33 스레드 스레드(thread)란 순차 프로그램과 유사하게 시작, 실행 그리고 종료의 순서를 가진 제어의 흐름(flow of execution)이다. 또한 멀티스레드(multithread) 시스템이란 이와 같은 스레드가 하나의 프로그램 내에 여러 개 존재할 수 있는 시스템이다. C#은 응용 프로그램의 병행 처리를 위해 스레드 개념을 지원하고 있으며 스레드를 생성하고 실행시키고 제어하는 방법을 제공해 주고 있다. C#에서 스레드도 델리게이트를 이용하여 처리한다. 먼저 ThreadStart 델리게이트를 통하여 스레드 몸체에 해당하는 메소드를 연결한 후 생섣왼 델리게이트 객체를 매개변수로 스레드 객체를 생성한다. 이때 C#에서 멀티스레드를 지원하기 위해 제공된 System.Threading 네임스페이스르 포함해야 한다... 2021. 7. 19.
C# 예제7] C# 프로그래밍 입문 CHAPTER 1. p32 제네릭 프로그래밍 언어에는 자료형이 존재하고 자료형에 따라 자료를 표현/저장/연산하는 방법이 다르기 때문에 동일한 작업도 자료형에 따라 각기 다른 프로그램을 작성해야 한다. 이런 불편을 해소하기 위해 도입된 개념이 제네릭(generics)이며 자료형을 매개변수로 가질 수 있다. C#에서 지원하는 제네릭 프로그램 단위에는 클래스, 구조체, 인터페이스 그리고 메소드가 있다. 자료형을 매개변수로 갖는 제네릭 클래스(generic class)를 범용 클래스 또는 포괄 클래스라 번역할 수 있다. 참고 예제] using System; using System.Collections.Generic; using System.Text; namespace Chapter1 { class Stack { private StackType[.. 2021. 7. 18.
C# 예제6] C# 프로그래밍 입문 CHAPTER 1. p31 이벤트 이벤트(event)란 사용자 행동에 의해 발생하는 사건을 의미하며 어떤 사건이 발생한 것을 알리기 위해 보내는 메시지로 간주할 수 있다. 즉, 객체에 발생한 사건을 자신이나 다른 객체에 통지하여 그에 대한 행위를 하도록 시키는 구조를 말하며 그래픽 사용자 인터페이스(GUI:Graphical User Interface) 프로그래밍에서 많이 사용되는 기법이다. C#에서는 델리게이트를 이용하여 이벤트를 처리한다. 참고예제] using System; using System.Collections.Generic; using System.Text; namespace Chapter1 { class EventApp { public EventHandler MyEvent; //이벤트를 선언 void MyEventHandle.. 2021. 7. 17.
C# 예제5] C# 프로그래밍 입문 CHAPTER 1. p28 델리게이트 델리게이트(delegate)란 메소드를 참조하기 위한 방법론으로 C#에서는 주로 이벤트와 스레드를 처리하기 위한 프로그래밍 기법으로 사용된다. 델리게이트는 C/C++언어에서의 함수 포인트(function pointer)와 유사한 기능을 제공하지만 함수 포인터보다는 객체 지향적이며 타입이 안정적이다. 델리게이트를 정의하고 델리게이트의 객체를 생성하는 것은 기본적으로 클래스를 정의하고 클래스의 객체를 만드는 것과 비슷하지만 델리게이트 객체를 통하여 메소드를 호출한다는 점이 특징적이다. 참고예제] using System; using System.Collections.Generic; using System.Text; namespace Chapter1 { delegate void SampleDelegate(); .. 2021. 7. 16.
C# 예제4] C# 프로그래밍 입문 CHAPTER 1. p27 연산자 중복 연산자 중복(operator overloading)이란 시스템에서 제공한 연산자를 새로운 의미를 갖도록 재정의 하는 것이다. 특정한 클래스를 위한 연산자를 재정의하면 마치 시스템에서 제공한 연산자처럼 사용할 수 있다. 이와 같이 클래스에 적합한 연산자를 정의함으로써 자료 추상화를 이룰 수 있으며 프로그램의 유지보수가 매우 쉬워진다. 다만, 시스템에서 제공한 모든 연산자를 재정의 할 수 있는 것은 아니다. 연산자 중복은 의미만을 재정의할 수 있을 뿐 연산 순위나 결합 법칙 등 문법적인 규칙은 변경할 수 없다. 참고 예제] using System; using System.Collections.Generic; using System.Text; namespace Chapter1 { class Even { int.. 2021. 7. 15.
C# 예제3] C# 프로그래밍 입문 CHAPTER 1. p25 프로퍼티 프로퍼티(property)란 클래스의 private 필드를 형식적으로 다루는 일종의 메소드로 간주할 수 있다. 즉, 클래스의 private 필드는 정보은닉(information hiding)을 위해 다른 클래스에서는 임의로 접근이 허용되지 않지만 대응되는 프로퍼티를 통하여 다른 클래스에서 형식적으로 접근할 수 있는 방법이 제공되는 것이다. 하나의 프로퍼티는 값을 지정하는 set접근자와 값을 참조하는 get접근자로 구성된다. 프로퍼티의 참조 위치가 왼쪽에 있으면 set접근자가 프로퍼티의 참조 위치가 오른쪽에 있으면 get접근자가 자동으로 결정된다. 참고예제] using System; using System.Collections.Generic; using System.Text; namespace Chapte.. 2021. 7. 14.
C# 예제2] C# 프로그래밍 입문 CHAPTER 1. p23 스트링 참고예제] using System; using System.Collections.Generic; using System.Text; namespace Chapter1 { class P23_ex1_3 { static void Main(string[] args) { string s="Hello"; s += " World"; Console.WriteLine(s + "!"); } } } 참고예제 결과] 대한민국의 아름다운 영토, 독도의 여름 2021. 7. 13.
C# 표제1] C# 프로그램 입문(Introduction to C# Programming) 제 목 : C# 프로그래밍 입문 지은이 : 오세만, 이양선, 김정숙, 이창환, 손윤식 출판사 : 생능출판 C#(C sharp)은 마이크로소프트사의 앤더스 헬스버그(Anders Hejlsberg)에 의해 고안된 언어로 단순한 콘솔 응용 프로그램부터 인터넷 및 분산환경 시스템, 모바일 시스템을 위한 응용 프로그램, 게임과 같은 멀티미디어 콘텐트에 이르기까지 다양한 소프트웨어를 쉽게 제작할 수 있도록 설계된 범용 프로그래밍 언어이다. C#은 .NET환경에 최적화되어 있으며 컴포넌트 기반의 소프트웨어 개발 패러다임을 지원하는 컴포넌트 지향 프로그래밍 언어이다. C#언어는 C계열에 속하는 프로그래밍 언어이다. C언어로부터 연산자와 문장 등 기초적인 프로그래밍 언어의 기능을 상속받았고 C++언어로 부터는 주로 객체.. 2021. 7. 12.
C# 예제1] C# 프로그래밍 입문 CHAPTER 1. p21 자료형 ▶ C#의 자료형은 크게 값형(value type)과 참조형(reference type)으로 분류할 수 있다. ▶ 값형 : 숫자형, 문자형, 부울형, 열거형, 구조체형 - 숫자형 * 정수형 부호있는 정수형 : sbyte(8bit), short(16bit), int(32 bit), long(64bit) 부호없는 정수형 : byte(8bit), ushort(16bit), uint(32bit), ulong(64bit) * 실수형 : float(32bit), double(63bit) * 십진형(10연산을 수행) : decimal(128bit) * 문자형(Unicode 사용) : char(16bit) * 부울형(true, false만 사용, 다른 자료형으로 변환 안됨) : bool(8bit) ▶ 참조형 : 클래스.. 2021. 7. 12.
반응형