프로젝트 & 과제/2학년

[랜덤] 랜덤 수 생성기

qqlzzb 2022. 1. 15. 17:54

개요

프로그래밍 언어 : 매트랩

과제 수행 날짜 : 2019.09.26

과제 개요 : matlab으로 최소/최대값, 자리수를 입력받아 그 범위에 해당하는 랜덤 수를 생성하는 프로그램 구현

 

코드 설명

//최소 최대값 입력받아 저장
flag = 0;
a = get(handles.edit1,'String');
A = str2num(a);
b = get(handles.edit2,'String');
B = str2num(b);

//에러 처리
if(B<A)
	flag = 1;
    e = sprintf('\nError');
    set(handles.text5,'String',e);
end

r = (B-A).*rand(1,1)+A;

//자리수 입력받아 출력
if((get(handles.radiobutton1, 'Value')==1 && flag==0) //버튼 1이 눌림(0)
	set(handles.text5, 'String',sprintf('\n%d', round(r)));
end
if((get(handles.radiobutton2, 'Value')==1 && flag==0) //버튼 2가 눌림(0.1)
	set(handles.text5, 'String',sprintf('\n%.1f', r));
end
if((get(handles.radiobutton3, 'Value')==1 && flag==0) //버튼 3이 눌림(0.01)
	set(handles.text5, 'String',sprintf('\n%.2f', r));
end
if((get(handles.radiobutton4, 'Value')==1 && flag==0) //버튼 4가 눌림(0.001)
	set(handles.text5, 'String',sprintf('\n%.3f', r));
end

flag는 최소값이 최대값보다 작은지 확인하기 위함이다. 사용자로부터 100 이상 0 이하와 같은 범위가 입력되었을 경우 Error라고 화면에 띄운다. 최소 최대값을 각각 변수 a, b에 저장하고 string으로 받았기 때문에 숫자로 변환한다.

 

rand 함수는 0부터 1 사이의 난수를 발생시키므로, 입력받은 최대값과 최소값으로 범위를 재설정한다.

 

자리수는 4개의 라디오 버튼으로 입력받으므로, 각 버튼에 따라 출력 형식을 다르게 설정한다. GUI는 아래와 같이 생성한다.

랜덤수 생성기 GUI

결과