반응형

실습 54

[python] 함수 실습

함수 제작 과정 단계1: 해야 할 일 분석 단계2: 함수 이름을 결정하시오. 단계3: 입력 인자 개수를 판단하여 입력 매개 변수를 결정하시오. 단계4: 무엇을 반환할 것인지 결정하시오.(없을 수도 있습니다.) 단계5: 함수의 논리 코드를 의사 코드로 작성하시오. 단계6: 함수를 구현하시오. 단계7: 함수를 호출하여 사용하는 코드를 작성하시오. 실습 1. 소수(Prime Number)인지 판별하는 함수를 작성하시오. 사용 예=== 정수 입력: 3 소수입니다. 정수 입력: 8 합성수입니다. 정수 입력: 7 소수입니다. 정수 입력: 0 프로그램을 종료합니다. 더보기 def IsPrimeNo(num): for i in range(2,num): #반복 i in 구간(2~num-1) if num%i ==0:#조건 ..

[python] 제어문 실습

2020년 10월 22일 빅데이터 프로젝트 기반 스마트 물류 전문가 과정 다음의 문제를 해결하시오. #1. 두 개의 정수를 입력받아 큰 수를 출력하시오. ==예시== 첫 번째 수: 23 두 번째 수: 12 입력한 두 수 중에 큰 수는 23입니다. ==예시== 첫 번째 수: 12 두 번째 수: 35 입력한 두 수 중에 큰 수는 35입니다. 더보기 #1. 두 개의 정수를 입력받아 큰 수를 출력하시오. num1 = int(input("첫 번째 정수:"))#첫 번째 정수를 입력받는다. num2 = int(input("두 번째 정수:"))#두 번째 정수를 입력받는다. if(num1>num2):#조건 첫 번째 정수>두 번째 정수: print("입력한 두 수 중에 큰 수는 {0}입니다.".format(num1))#첫..

[C# 실습,통신 제어] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

이전 게시글[C# 실습,공장 UI 구현] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션 이번에는 이전 게시글에 통신을 통해 제어할 수 있는 기능을 추가할 거예요. 1. 통신 제어 부분(DPM_SocketLib)은 클래스 라이브러리(.NET Framework)로 제작합니다. DMP_SocketLib에서는 앞에서 작성한 증착설비 라이브러리(DPMachineLib)를 참조합니다. MsgType.cs namespace DPM_SocketLib { /// /// 메시지 종류 /// public enum MsgType { /// /// 설비 추가 /// MSG_ADD_MAC=1, /// /// 페이지 추가 /// MSG_ADD_PAG, /// /// 설비 가동 /// MSG_STA_MAC, /// ///..

[C# 실습,공장 UI 구현] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

앞에서 반도체 증착공정 설비를 제작하고 이를 시각화하는 설비 컨트롤 예광탄 코드를 소개했어요. 설비 컨트롤 예광탄의 코드를 이용하여 설비 컨트롤 라이브러리를 만드세요. 이번 코드는 설비와 설비 커트롤 라이브러리를 참조하여 공장 UI에 관한 글입니다. 1. Form1의 이름을 MainForm으로 변경하세요.(파일이름을 바꾸세요.) 2. MainForm에 자식 컨트롤을 배치합니다. 설비를 추가할 수 있고 추가할 설비를 관리할 수 있는 컨트롤을 배치합니다. MainForm.Designer.cs namespace 증착_및_BurnInTest_공장_시뮬레이션 { partial class MainForm { /// /// 필수 디자이너 변수입니다. /// private System.ComponentModel.ICo..

[C# 실습, 시나리오] 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션

* 반도체 증착공정 및 Burn in 테스트 설비 시뮬레이션 * - 생산 라인 추가 - 증착 방법 설정(PVD, CVD, ALD) - PVD(물리기상증착법) 속도:100, 품질:88~98 - CVD(화학기상증착법) 속도:98, 품질:90~100 - ALD(원자층증착법) 속도:60, 품질:95~100 - 재료 추가 증착 이전 공정까지 진행한 반제품 개수 입력 - 가동 - 생산 라인을 선택 - 가동 멈춤 - 생산 라인을 멈춤 *생산한 제품은 테스트 공정을 수행한다. *설비에서 수행할 수 있는 기능을 원격(설비에서 떨어진 곳, 예:중앙 제어실)에서 제어할 수 있다.

[C# 실습] 레코드 코팅 - 기계(서버)와 제어기(클라이언트)

이전 게시글은 RCMachineControl을 제어하는 UI 프로그램에 관한 것입니다. 이번에는 이전 게시글의 UI 프로그램을 다른 프로그램에서 제어할 수 있게 변형할 거예요. 여기에서는 이전에 작성한 UI 프로그램에 서버 기능을 추가하여 레코드 코팅 기계라 말할게요. 그리고 클라이언트 기능과 함께 제어기도 함께 작성합니다. 통신으로 주고 받을 메시지 종류 Basic설정(1, 레코드 면적, 코팅 액 투입 구 반경, 스핀 스피드) 소스 레코드 추가(2, 개수,0,0) 코팅액 추가(3, 병수,0,0) 기계 가동(4,0,0,0) 기계 멈춤(5,0,0,0) 기계(서버 코드 수정) 패킷을 수신하였을 때 이를 폼에게 전달하기 위한 이벤트 인자 클래스와 대리자를 정의합니다. RecvPacketEventArgs.cs ..

[C# 실습] 레코드 코팅 - 기계 구현(Windows Forms)

이전 게시글에는 레코드 코팅 기계 컨트롤(RCMachineControl)을 만드는 코드를 소개했어요. 해당 글에서는 레코드 코팅 기계(RCMachine)개체를 Form1 Load시점에 하드코딩으로 만들어 컨트롤에 설정하고 가동하게 작성하였습니다. 이번에는 UI 컨트롤을 통해 레코드 코팅 기계 컨트롤을 제어하는 코드를 소개할게요. 1. Form1에 제어하기 위한 컨트롤을 추가 배치합니다. nud로 시작하는 컨트롤은 NumericUpdawn컨트롤입니다. 2. Form의 Load이벤트 핸들러와 각 버튼의 클릭 이벤트 핸들러를 추가한 후에 다음처럼 구현합니다. using Microsoft.Win32; using RCMachineControlLib; using System; using System.Windows...

[C# 실습, 사용자 정의 컨트롤 제작 예광탄] 레코드 코팅

1. 앞에서 작성하였던 RCMachine.cs와 CotingEventArgs.cs 파일로 구성한 클래스 라이브러리를 만듭니다. 2. Windows Forms 앱(.NET Framework) 프로젝트("RCManchine_공장_예광탄")를 생성합니다. 3. 생성한 프로젝트에 사용자 정의 컨트롤(Windows Forms)을 추가합니다. 파일명: RCMachineControl.cs 4. DPanel 클래스를 추가합니다. 더블 버퍼링이 가능한 패널을 정의한 클래스입니다. DPanel.cs namespace RCManchine_공장_예광탄 { public class DPanel:System.Windows.Forms.Panel { public DPanel() { SetStyle(System.Windows.Forms..

[C# 실습, 예광탄 소스] 레코드 코팅

시나리오 바로가기 예광탄 프로그램 유형: 콘솔 응용 프로그램 RCMachine.cs using System; using System.Threading; namespace 콘솔_예광탄 { public class RCMachine { public event CotingEventHandler OnCoting; int rarea; /// /// 레코드 단위 면적 /// public int RArea { get { return rarea; } set { Random rand = new Random(); rarea = value; cmaxavailcnt = rand.Next(200) + 900; } } /// /// 투입구 반경 /// public int CRadius { get; set; } /// /// 회전 ..

[C# 실습] 반도체 장비 관리 프로그램 - 3. 상세 구현

[C# 실습] 반도체 장비 관리 프로그램 [C# 실습] 반도체 장비 관리 프로그램 - 1. 단일체 패턴 표현 [C# 실습] 반도체 장비 관리 프로그램 - 2. 프로토 타이핑 Equipment.cs using System; namespace 반도체_월드 { internal class Equipment { string name;//장비명 readonly int seqno;//일련번호 int mcnt;//재료개수 int mpcnt;//생산개수 int pcnt;//테스트 완료 제품 개수 int scnt;//판매 개수 static int last_seqno;//가장 최근에 부여한 일련번호 internal int SeqNo { get { return seqno; } } internal int MCnt { get {..

반응형