Низови

Низ је сложени тип податка. Представља “скуп” података истог типа. Сваки од појединачних података унутар низа назива се елеменат низа и може му се приступити на основу његовог редног броја у низу. Низ се описује помоћу имена низа (заједничко је за све елементе низа, а сваки елеменат поред имена низа има и свој редни број), типа променљиве елемената низа и величине низа, односно броја елемената низа. Наставите са читањем

Модуларно програмирање – задаци

1. Написати програм који претвара правоугле координате у поларне. Применити модуларно програмирање и глобалне променљиве.

/* podaci.h - globalni podaci u zasebnoj datoteci + deklaracija funkcije */
double x,y,r,fi; /*definicija globalnih podataka*/
void polar ();
/* funkcija.c - definicija funkcije u zasebnoj datoteci*/
#include"podaci.h"
#include
extern double x,y,r,fi; /* deklaracija globalnih podataka*/
void polar ()/*definicija funkcije*/
{
	r=sqrt(x*x+y*y);
	fi=(x==0&&y==0)?0:atan2(y,x);
}
/* glavni program u zasebnoj datoteci */
#include"podaci.h"
#include
extern double x,y,r,fi; /* deklaracija globalnih podataka*/
void polar (void);/*deklaracija (prototip) funkcije - ne mora, ali nije greska ako se i ovde deklarise */
int main()
{	while(printf("x,y?"),scanf("%lf%lf",&x,&y),x!=1E38)
	{	polar();/* kada koristimo globalne promenljive funkcja polar nema parametre, zato sto su podaci koje ona koristi – globalne promenljive */
		printf("r,fi=%f, %f\n",r,fi);
	}
	return 0;
}

2. Формирати програмски модул који израчунава реципрочну вредност броја (1/x) и n-ти степен броја x. У главном програму израчунати formula

/* funkcije.h */
float rec (float x);
float xn (float x,int n);
/* funkcije.c */
float rec (float x){return 1/x;}
float xn (float x,int n)
{
int i;float f=1;
for(i=1;i<=n;i++)f=f*x;
return f;
}
/* glavni program */
#include 
#include "funkcije.h"
int main()
{
    int i,n;float x,s=1;
    printf("unesi x i n");scanf("%d%f",&n,&x);
    for(i=1;i<=n;i++)s=s+rec(i*x);
    printf("s=%f",s);
    return 0;
}

3. Применом програмског модула из претходног задатка у главном програму израчунати formula1

/* glavni program. Ostali fajlovi se dodaju u projekat pomocu Add files to project */
#include 
#include "..\recxnan\funkcije.h" /*ovde navodimo putanju do fajla! */
int main()
{
    int i,n;float x,s=1;
    printf("unesi x i n");scanf("%d%f",&n,&x);
    for(i=1;i<=n;i++)s=s+rec(i*xn(x,i));
    printf("s=%f",s);
    return 0;
}

4. Применом програмског модула из претходног задатка у главном програму израчунати вредност израза formula2

/* glavni program. Kao i u prethodnom zadatku, i ovde fajlove programskog modula treba dodati pomocu Add files to project */
#include 
#include "..\recxnan\funkcije.h" /*ovde navodimo putanju do fajla! */

int main()
{
    float x,a,b,c,y;
    printf("unesi x,a,b,c");scanf("%f%f%f%f",&x,&a,&b,&c);
y=a*xn(x,4)+b*xn(x,2)+c;
printf("y=%f",y);
    return 0;}

Структура програмског система

Било би непрактично понављати прототипове функција и декларације глобалних променљивих датог програмског модула у свакој датотеци програмског система у којима се они користе. Уместо тога, уз сваки програмски модул прави се и једна специјална датотека, која представља заглавље модула и садржи све информације које могу бити потребне преводиоцу за језик C при провери исправности коришћење елемената модула. Уобичајено је да проширење имена (екстензија) тих датотека буде .h. Садржај такве датотеке укључује се у превођење садржаја неке датотеке директивом преводиоца #include чији је општи облик: Наставите са читањем

Рад са пројектима у развојном окружењу CodeBlocks

Када се пишу програмски системи састављени од већег броја програмских модула (датотека и заглавља) неопходно је креирати тзв. пројекат, јер ће на тај начин програм преводилац знати да све те датотеке и заглавља треба заједно да обрађује. Наравно, датотека и заглавље из једног пројекта могу се укључити у друге пројекте! Наставите са читањем

Дефиниција и декларација података и функција

Идентификатори података, типова, симболичких константи итд, који су дефинисани на почетку тела функције (главног програма или потпрограма), локални су за ту функцију. То значи да они могу да се користе само унутар те функције. Наставите са читањем