Skip to content

Линијска структура програма (задаци – геометрија)

Задаци преузети са petlja.org и прилагођени за програмски језик C.

1. Спортиста се на почетку тренинга загрева тако што трчи по ивицама правоугаоног терена дужине a метара и ширине b метара. Напиши програм којим се одређује колико метара претрчи спортиста док једном обиђе терен.

Дужина коју претрчи спортиста док једном обиђе терен једнака је обиму тог терена тј. збиру двоструких вредности дужине и ширине терена.

#include <stdio.h>
int main(void)
{
    int a, b, O;
    printf("Unesite duzinu terena: ");
    scanf("%d", &a);
    printf("Unesite sirinu terena: ");
    scanf("%d", &b);
    O = 2 * a + 2 * b;
    printf("Sportista pretrci %d metara dok obidje teren", O);
    return 0;
}

Тест пример:

Unesite duzinu terena: 90
Unesite sirinu terena: 45
Sportista pretrci 270 metara dok obidje teren

2. Напиши програм који на основу задате ширине и висине листа папира у милиметрима одређује његову површину у квадратним милиметрима.

Површина листа папира једака је производу висине и ширине папира.

#include <stdio.h>
int main(void)
{
    int a, b, P;
    printf("Unesite sirinu papira: ");
    scanf("%d", &a);
    printf("Unesite visinu papira: ");
    scanf("%d", &b);
    P = a * b;
    printf("Povrsina papira je %d kvadratnih milimetara", P);
    return 0;
}

Тест пример:

Unesite sirinu papira: 210
Unesite visinu papira: 297
Povrsina papira je 62370 kvadratnih milimetara

3. Напиши програм којим се израчунава полупречник и обим круга чија је површина P.

Из познате површине круга P=r2π може да се одреди полупречник r=√(P/π). Када је израчунат полупречник, обим круга израчунава се формулом O=2rπ. Константу π можеш дефинисати const float PI = 3.14; или користити предефинисану константу M_PI из библиотеке math.h. Пошто 3.14 није довољно прецизно, а тешко је памтити велики број децимала броја π , користи предефинисану константу M_PI.

#define _USE_MATH_DEFINES
#include <stdio.h>
#include <math.h>
int main(void)
{
    float P, r, O;
    printf("Unesite povrsinu kruga: ");
    scanf("%f", &P);
    r = sqrt(P / M_PI);
    printf("Poluprecnik kruga je %f\n", r);
    O = 2 * r * M_PI;
    printf("Obim kruga je %f", O);
    return 0;
}

Тест пример:

Unesite povrsinu kruga: 300
Poluprecnik kruga je 9.772050
Obim kruga je 61.399601

4. Фудбалски терен дужине a метара и ширине b метара треба оградити оградом, тако да је растојање ограде од линије терена r метара. Напиши програм који одређује дужину ограде у метрима.

Дужине страница ограде су a+2r и b+2r, па је дужина ограде 2((a+2r)+(b+2r)), што је једнако 2(a+b+4r).

#include <stdio.h>
int main(void)
{
    int a, b, r, o;
    printf("Unesite duzinu terena: ");
    scanf("%d", &a);
    printf("Unesite sirinu terena: ");
    scanf("%d", &b);
    printf("Unesite rastojanje ograde od linije terena: ");
    scanf("%d", &r);
    o = 2 * (a + b + 4 * r);
    printf("Duzina ograde je %d", o);
    return 0;
}

Тест пример:

Unesite duzinu terena: 90
Unesite sirinu terena: 45
Unesite rastojanje ograde od linije terena: 5
Duzina ograde je 310

5. Напиши програм који израчунава и исписује растојање између тачака A и B задатих својим координатама Ax,Ay и Bx,By.

Растојање између тачака A и B једнако је √((Bx−Ax)2+(By−Ay)2).

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
    float ax, ay, bx, by, ab;
    printf("Unesite koordinate tacke A: ");
    scanf("%f%f", &ax, &ay);
    printf("Unesite koordinate tacke B: ");
    scanf("%f%f", &bx, &by);
    ab = sqrt(pow((bx-ax), 2) + pow((by-ay), 2));
    printf("Rastojanje izmedju tacaka je %g", ab);
    return 0;
}

Тест пример 1:

Unesite koordinate tacke A: 0 0
Unesite koordinate tacke B: 1 1
Rastojanje izmedju tacaka je 1.41421

Тест пример 2:

Unesite koordinate tacke A: 0 1
Unesite koordinate tacke B: 1 1
Rastojanje izmedju tacaka je 1

6.