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

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;}

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се /  Промени )

Google photo

Коментаришет користећи свој Google налог. Одјавите се /  Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се /  Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се /  Промени )

Повезивање са %s