เราได้รับจำนวนเต็มบวกของหลัก และภารกิจคือการคำนวณการนับเลขคี่และเลขคู่ในตัวเลขโดยใช้ PL/SQL
PL/SQL คือการรวมกันของ SQL ร่วมกับคุณสมบัติขั้นตอนของภาษาโปรแกรม ได้รับการพัฒนาโดย Oracle Corporation ในช่วงต้นทศวรรษ 90 เพื่อเพิ่มความสามารถของ SQL
PL/SQL เป็นหนึ่งในสามภาษาการเขียนโปรแกรมหลักที่ฝังอยู่ในฐานข้อมูล Oracle พร้อมกับ SQL และ Java
ป้อนข้อมูล − จำนวนเต็ม =23146579
ผลผลิต
count of odd digits in a number are : 5 count of even digits in a number are : 3
คำอธิบาย − ในจำนวนที่กำหนด เรามี 2, 4, 6 เป็นเลขคู่ ดังนั้นการนับเลขคู่ในตัวเลขคือ 3 และเรามี 3, 1, 5, 7 และ 9 เป็นเลขคี่ ดังนั้นจึงนับเลขคี่ใน เบอร์ 5
ป้อนข้อมูล − จำนวนเต็ม =4567228
ผลผลิต
count of odd digits in a number are : 2 count of even digits in a number are : 5
คำอธิบาย − ในจำนวนที่กำหนด เรามี 5 และ 7 เป็นเลขคี่ ดังนั้นการนับเลขคี่ในตัวเลขคือ 2 และเรามี 4, 6, 2, 2 และ 8 เป็นเลขคู่ ดังนั้นการนับเลขคู่ในตัวเลขคือ 5.
แนวทางที่ใช้ในโปรแกรมด้านล่างมีดังนี้
-
ป้อนตัวเลขในตัวแปรประเภทจำนวนเต็มของประเภทข้อมูล NUMBER ที่ใช้ใน PL/SQL
-
ใช้ความยาวของประเภท VARCHAR(50) ซึ่งอธิบายขนาดความยาวสูงสุดที่สามารถจัดเก็บได้
-
นำตัวแปรสองตัวมานับเลขคี่และนับเป็นเลขคู่และตั้งค่าเริ่มต้นเป็น 0
-
เริ่มวนรอบสำหรับตั้งแต่ 1 จนถึงความยาวในขณะที่ส่งตัวเลขไปให้
-
ภายในลูป กำหนดความยาวเป็น substr(number, i, 1)
-
ตอนนี้ ให้ตรวจสอบว่า IF mod ของความยาว 2 ตัวไม่เท่ากับ 0 แล้วเพิ่มจำนวนเลขคี่ในตัวเลข
-
มิฉะนั้น ให้เพิ่มจำนวนหลักคู่เป็นตัวเลข
-
พิมพ์ผลลัพธ์
ตัวอย่าง
DECLARE digits NUMBER := 23146579; length VARCHAR2(50); count_odd NUMBER(10) := 0; count_even NUMBER(10) := 0; BEGIN FOR i IN 1..Length(digits) LOOP length := Substr(digits, i, 1); IF mod(length, 2) != 0 THEN count_odd := count_odd + 1; ELSE count_even := count_even + 1; END IF; END LOOP; dbms_output.Put_line('count of odd digits in a number are : ' || count_odd); dbms_output.Put_line('count of even digits in a number are : ' || count_even); END;
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -
count of odd digits in a number are : 5 count of even digits in a number are : 3