ปัญหา
เขียนโปรแกรมอ่านตัวเลขสองตัว x และ n แล้วคำนวณผลรวมของความก้าวหน้าทางเรขาคณิต
1+x+x2+x3+x4+……….+xn
แล้วพิมพ์ x,n แล้วรวม
วิธีแก้ปัญหา
วิธีแก้ปัญหาในการคำนวณความก้าวหน้าทางเรขาคณิตในภาษาซีมีดังต่อไปนี้ -
อัลกอริทึม
อ้างอิงอัลกอริทึมเพื่อคำนวณความก้าวหน้าทางเรขาคณิต
ขั้นตอนที่ 1 - เริ่ม
ขั้นตอนที่ 2 - ทำซ้ำ
ขั้นตอนที่ 3 - อ่านค่าสำหรับ x และ n ที่รันไทม์
ขั้นตอนที่ 4 - ถ้า n> 0 แล้ว
ขั้นตอนที่ 4.1:for i =0 to n do
ขั้นตอนที่ 4.1.1:sum =sum +pow(x,i)
ขั้นตอนที่ 4.1.2:i =i+1
ขั้นตอนที่ 4.2:พิมพ์ x, n และ sum
ขั้นตอนที่ 5 – อย่างอื่น
ขั้นตอนที่ 5.1:พิมพ์ค่า n ไม่ถูกต้อง
ขั้นตอนที่ 5.2:ไปทำซ้ำ (ไปยังขั้นตอนที่ 2)
ขั้นตอนที่ 6 - สิ้นสุดหาก
ขั้นตอนที่ 7 – หยุด
ผังงาน
รับด้านล่างเป็นแผนผังลำดับงานสำหรับอัลกอริทึมในการคำนวณความก้าวหน้าทางเรขาคณิต -
โปรแกรม
ต่อไปนี้เป็นโปรแกรม C เพื่อ คำนวณความก้าวหน้าทางเรขาคณิต −
#include <stdio.h> #include <conio.h> #include <math.h> main(){ int x,n,sum=0,i; start: printf("enter the values for x and n:"); scanf("%d%d",&x,&n); if(n>0){ for(i=0;i<=n;i++){ sum = sum+pow(x,i); } printf("The sum of the geometric progression is:%d",sum); } else{ printf("not a valid n:%d value",n); getch(); goto start; } }
ผลลัพธ์
เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
enter the values for x and n:4 5 The sum of the geometric progression is:1365