PLSQL을 사용하여 배열에서 가장 큰 요소 인쇄(Oracle Application Express 11g에서)
그러나 PLSQL을 사용하여 동일한 것을 인쇄하는 것을 생각해 보셨습니까?
여기서는 Oracle Application Express 11g에서 PLSQL을 사용하여 어레이에서 가장 큰 요소를 인쇄하는 방법을 보여드리겠습니다.
전제 조건
논리로 시작합시다
가장 큰 요소를 인쇄하려면 먼저 0이 가장 큰 요소라고 가정하고 maxnum이라는 변수를 선언하고 0을 다음과 같이 할당해야 합니다.
int maxnum = 0;
(여기서 0은 어레이에 속하거나 속하지 않을 수 있음)경우에 따라 사람들은 배열의 첫 번째 요소를 가장 큰 요소로 선언하기도 합니다.
지금,
루프를 사용하여 maxnum이 현재 요소보다 작은지 여부를 확인합니다. true이면 현재 요소로 대체하고 false이면 건너뜁니다. 처럼,
if (maxnum < current_element)
maxnum = current_element;
루프 종료 후 maxnum의 값은 올바른 ans가 됩니다.
PLSQL로 시작합시다
PLSQL에서 위의 코드를 작성하려면 다음에 대해 알아야 합니다.
1. 진술의 선언.
PLSQL의 선택적 섹션이며 변수, 커서, 하위 프로그램 등을 정의하는 데 사용됩니다.
DECLARE
로 시작합니다.예:
DECLARE
num INTEGER := 20;
2. 실행 가능한 명령.
이것은 필수 섹션이며 이 블록에 포함된 모든 명령문은 실행 가능한 명령문입니다.
BEGIN
와 END
사이에 있습니다.예:
DECLARE
num INTEGER := 20;
BEGIN
dbms_output.put_line(num);
num := num + 30;
dbms_output.put_line(num);
3. 변수, 연산자 및 데이터 유형.
PLSQL에서 변수 이름을 지정하는 것은 다른 프로그래밍 언어와 크게 다르지 않습니다.
짝수 연산자도 +,-,*,/와 같지만 여기서 =는 :=로, ==는 =로 나타냅니다.
PLSQL의 데이터 유형은 다릅니다.
여기서 문자열은 VARCHAR2, int는 INTEGER, NUMBER(Scale, Precision) 등으로 표현됩니다.
이미지 출처: 오라클 문서
4.조건
다른 프로그래밍 언어와 마찬가지로 PLSQL에도 조건문이 있습니다.
여기서 IF ELSE는 다음과 같이 구현됩니다.
IF <condition> THEN
<statement 1>;
ELSE
<statement 2>;
END IF;
여러 IF 문에 대해
IF <condition 1> THEN
<statement 1>;
ELSIF <condition 2> THEN
<statement 2>;
ELSIF <condition 3> THEN
<statement 3>
ELSE
<statement 4>
END IF;
5. 루프
PLSQL에는 세 가지 유형의 루프가 있습니다.
(a) 기본 루프
(b) For 루프
(c) 동안 루프
기본 루프 구문:-
LOOP
<statements>
<exit condition>
END LOOP;
For 루프 구문:-
FOR i IN <start>..<stop> LOOP
<statements>
END LOOP;
While 루프 구문:-
WHILE <condition> LOOP
<statements>
END LOOP;
참고: 이 루프 문은 실행 문 사이에 있어야 합니다.
6. 어레이
PLSQL에서 배열을 선언하기 위해 다음과 같이 명령문을 작성합니다.
type <array_datatype_name> IS VARRAY(<size>) OR <DATATYPE>;
<array_variable_name> <array_datatype_name>;
예를 들어:
DECLARE
type intarray is VARRAY(10) OF INTEGER;
myarray intarray(10,20,30,40,50,60,70,80);
7. 출력문
PLSQL의 명령문을 인쇄하려면 다음을 사용합니다.
dbms_output.put_line(<statement>);
문자열에 연결하기 위해 이중 파이프
||
를 사용합니다.처럼,
dbms_output.put_line('Hello '||'World!');
코드 작성부터 시작하겠습니다.
그래서 여기서 우리는 배열에서 가장 큰 요소에 대한 코드를 작성하고 있습니다.
따라서 먼저 필요한 변수를 선언해야 합니다.
DECLARE
type intarray is VARRAY(10) OF INTEGER;
myarray intarray;
total INTEGER;
maxnum INTEGER;
이제 실행 가능한 명령문 내부의 논리를 사용하겠습니다.
BEGIN
myarray := intarray(12,43,56,32,88,46,67,50,66,74);
total := myarray.count;
maxnum := 0;
FOR i IN 1..total LOOP
IF maxnum < myarray(i) THEN
maxnum := myarray(i);
END IF;
END LOOP;
dbms_output.put_line('Maximum number in the array is '|| maxnum);
END;
따라서 최종 코드는 다음과 같습니다.
DECLARE
type intarray is VARRAY(10) OF INTEGER;
myarray intarray;
total INTEGER;
maxnum INTEGER;
BEGIN
myarray := intarray(12,43,56,32,88,46,67,50,66,74);
total := myarray.count;
maxnum := 0;
FOR i IN 1..total LOOP
IF maxnum < myarray(i) THEN
maxnum := myarray(i);
END IF;
END LOOP;
dbms_output.put_line('Maximum number in the array is '|| maxnum);
END;
이것은 출력을 제공합니다:
Oracle Application Express 11g에서:
이 작은 블로그를 통해 주셔서 감사합니다. 잘못된 부분이 있으면 아래에 댓글을 달아주세요. 피드백과 제안을 주저하지 마십시오.
Reference
이 문제에 관하여(PLSQL을 사용하여 배열에서 가장 큰 요소 인쇄(Oracle Application Express 11g에서)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/niktipaul/printing-the-largest-element-from-an-array-using-plsql-in-oracle-application-express-11g-f4p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)