Naredimo program, ki nam bo izračunal razdaljo med dvema točkama v pravokotnem koordinatnem sistemu.
VHOD:
IZHOD:
Razdaljo med točkama izračunamo s pomočjo evklidske razadalje po formuli:
ALGORITEM:
Če hočemo napisati računalniški program, potrebujemo za njegovo realizacijo knjižnico funkcij, ki nam omogočajo izračun kvadratnega korena in kvadrata. Te funkcije majdemo v knjižnici math.h.
Za izračun kvadrata lahko uporabimo funkcijo, ki omogoča potenciranje. Funkcija ima ime pow, njena vhoda pa sta osnova in elsponent. V našem primeru bi izraz (x1-x2)2 z
pow((x1-x2),2).
Za izračun kvadratnega korena obstaja funkcija sqrt, ki prejme kot vhod izraz, za katerega želimo izračunati kvadratni koren. V našem primeru bi izraz √((x1-x2)2 + (y1-y2)2 ) zapisali z
sqrt(pow((x1-x2),2) + pow((y1-y2),2));
Poglejmo si sedaj, kako zapišemo naš program:
// Program za izraèun razdalje med dvema toèkama
#include <iostream>
using namespace std;
#include <math.h>
int main()
{
float x1, y1, x2, y2;
float razdalja;
cout << "Vpisi kordinate prve tocke (x,y):";
cin >> x1 >> y1;
cout << "Vpisi kordinate druge tocke (x,y):";
cin >> x2 >> y2;
razdalja = sqrt(pow((x1-x2),2) + pow((y1-y2),2));
cout << "Razdalja med tockama je: " << razdalja << endl;
return 0;
}
V naslednji tabeli je podanih še nekaj najpogosteje uporabljenih funkcij iz knjižnice math.h:
sqrt(x) |
kvadratni koren |
exp(x) |
potenciranje e na x |
log(x) |
dvojiški logaritem |
log10(x) |
desetiški logaritem |
fabs(x) |
absolutna vrednost |
ceil(x) |
zaokrožuje navzgor |
floor(x) |
zaokrožuje navzdol |
pow(x,y) |
potenciranje x na y |
sin(x), asin(x), sinh(x)sin(x) cos(x), acos(x), cosh(x) tan(x), atan(x), tanh(x) |
trigonometrične funkcije - x je v radianih |
Nasvet:
Pri uporabi funkcij iz razreda math.h pazite kakšne vrednosti pošiljate v te funkcije (npr. kvadratnega korena za negativna števila ni možno izračunati).
Odgovorite na naslednja vprašanja:
Katero ime funkcije se uporablja pri izračunu kvadratnega korena?
Katero ime funkcije se uporablja pri izračunu potence ( x na y)?
Katero ime funkcije se uporablja pri zaokroževanju aritmetičnega izraza navzgor?
Katero ime funkcije se uporablja pri zaokroževanju aritmetičnega izraza navzdol?
Katera imena funkcij se uporabljajo za trigonometrične funkcije?
Namig: Odkljukati je potrebno 3 alineje