/////////////////////////////////////////////////////////////////////////////////
// ITS – Visoka Škola Strukovnih Studija Za Informacione Tehnologije
// https://www.its.edu.rs
// Predmet: Osnovi Programiranja – Programski jezik
// Primer: Program za tabeliranje funkcije
// S=(1+X+X^1)+(1+X+X^2)+…..+(1+X+X^n)
///////////////////////////////////////////////////////////////////////////////
#include<stdio.h>
main()
{
/*Deklarisanje promenljivih*/
double X, Xmin, Xmax, dx, s=0, p=1,k;
int i, n;
/*Zaglavlje programa*/
printf(" *——————————————————–-*
");
printf(" | TABELIRANJE SUME S |
");
printf(" | S=(1+X+X^1)+….+(1+X+X^n) |
" );
printf(" *———————————————————*
");
/*Poruka korisniku o unosu minimalne vrednosti za X*/
printf("
>>Unesite minimalnu vrednost za X: Xmin=");
scanf("%lf",&Xmin);
/*Poruka korisniku o unosu maximalne vrednosti za X*/
printf("
>>Unesite maximalnu vrednost za X: Xmax=");
scanf("%lf",&Xmax);
/*Ispitivanje tacnosti unosa za trazene vrednosti Xmin i Xmax*/
if(Xmin>Xmax)
{
/*poruka korisniku o pogresnom unosu za date vrednosti */
printf("
*———————————*
");
printf(" | UNELI STE POGRESNE VREDNOSTI! |
");
printf(" | Xmin>Xmax |
");
printf(" *———————————*
");
return;
}
/*Poruka korisniku o unosu koraka dx*/
printf("
>>Unesite korak dx: dx=");
scanf("%lf",&dx);
/*Izracunavanje maximalnog broja koraka izmedju unetih Xmin i Xmax*/
k=Xmax-Xmin;
/*provera o tacnosti unosa koraka*/
if(dx>k)
{
/*Poruka korisniku o pogresnom unosu koraka dx*/
printf("
*——————————————-*
");
printf(" | UNELI STE POGRESNU VREDNOST! |
");
printf(" | Pogresna velicina koraka [dx>(Xmax-Xmin)] |
");
printf(" *——————————————- *
");
return;
}
/*Poruka korisniku o unosu stepena funkcije n*/
printf("
>>Unesite stepen funkcije n: n=");
scanf("%d",&n);
/*Zaglavlje tabele-za lepsi prikaz*/
printf("
+————+————+
");
printf(" | X | S |
");
printf(" +————+————+
");
/*Pocetak for petlje koja se krece od unetih Xmin do Xmax sa korakom dx*/
for(X=Xmin;X<=Xmax;X+=dx)
/*Pocetak bloka naredbe za X*/
{
/*Pocetak for petlje koja od stepena i=1 do unetog n-to
stepena sa uvecanjem za 1*/
for(i=1;i<=n;i++)
/*Pocetak bloka naredbe za stepen*/
{
/*izracunavanje zadate funkcije*/
p*=X;
s+=(1+X+p);
/*Kraj bloka naredbe za stepen*/
}
/*Ispis rezultata i tabeliranje funkcije*/
printf(" | %8.2f | %8.2f |
",X,s);
p=1;s=0;
/*Zatvaranje tabele*/
printf(" +————+————+
");
/*Kraj bloka naredbe zapromenljivu X*/
}
/*Ispisivanje praznog reda*/
printf("
");
}