Professional Documents
Culture Documents
I Kolokvijum 2022-2023 - Grupa a + RESENJA
I Kolokvijum 2022-2023 - Grupa a + RESENJA
Programiranje
I kolokvijum – Grupa A
Ime i prezime: _________________________ Broj indeksa:__________
1. (C++) Napisati program koji za uneti realni broj x izračunava vrednost funkcije 𝑓(𝑥).
Ulazni podaci: -5, -12.3 Ulazni podaci: 0, Ulazni podaci: 12, Ulazni podaci: 29.333,
5.893 22 124
𝑛 𝑖
𝑖! + 2 1
𝑆=∑ 2 ∙ ∑𝑗
𝑥 + 𝑖 2
𝑖=1 𝑗=1
n=2 n=5
x = -0.5 x = 3.33
Izlaz: Izlaz:
S = -4.28571 S = 176.797
Univerzitet u Beogradu 11.04.2023. god.
Tehnički fakultet u Boru
1. (C++) U prodavnici sportske opreme je organizovan veliki popust za sve članove ‘Super
kartice’, i nešto manji popust za ostale kupce. Kupci koji poseduju ‘Super karticu’ dobijaju
najjeftiniji proizvod za samo 1 dinar, a na najskulji ostvaruju 10% popusta. Ostali kupci,
dobijaju najjeftiniji proizvod za samo 1 dinar. Popust za najjeftiniji proizvod se može
ostvariti samo ukoliko je njegova cena manja od 100 dinara.
Napisati program koji sa ulaza učitava celi broj n, veći od 0, koji predstavlja broj kupljenih
artikala kupca. Pomoću funkcije ‘Unos’, izvršiti učitavanje elemenata niza. Zatim, pomoću
funkcije ‘Izracunaj’, uraditi proveru da li je kupac član ‘Super kartice’ (1 – da) ili nije (0 –
ne), i shodno tome obračunava ukupnu cenu za datog kupca. Na samom kraju ispisati sumu
cena sa obračunatim popustom za datog kupca.
Primer 1: Primer 2:
Unesite cene artikla: 296, 103, 22 Unesite cene artikla: 107, 23.99, 25, 196.7, 13.99
Provera (float a[], int n): Provera (float a[], int n):
return Suma = (296 – 10%) + 103 + 1 return Suma = 107 + 23.99 + 25 + 196.7 + 1
Izlaz: Ukupan iznos računa je: 370.4 Izlaz: Ukupan iznos računa je: 353.69
REŠENJE
2. (C++) Napisati program koji za uneti realni broj x izračunava vrednost funkcije 𝑓(𝑥).
int main() {
double x, y;
cout << "Unesite vrednost x = ";
cin >> x;
if (x < 0) {
y = cos(x) - 2*x;
}
else if (x < 12) {
y = 15 - abs(pow(x, 2) - 3);
}
else if (x < 25) {
y = sqrt(pow(x, 3) - 2) + (5.00 / 3.00) * x;
}
else {
y = (6 * x - 7) - exp(2.12);
}
cout << "Y (" << x << ") = " << y;
return 0;
}
#include <iostream>
#include <cmath>
int main() {
int n;
float x, s1 = 0;
while (n <= 0) {
cout << "Greska prilikom unosa broja n." << endl;
cout << "Unesite n = ";
cin >> n;
}
cout << endl;
4. (C++) U prodavnici sportske opreme je organizovan veliki popust za sve članove ‘Super
kartice’, i nešto manji popust za ostale kupce. Kupci koji poseduju ‘Super karticu’ dobijaju
najjeftiniji proizvod za samo 1 dinar, a na najskulji ostvaruju 10% popusta. Ostali kupci,
dobijaju najjeftiniji proizvod za samo 1 dinar. Popust za najjeftiniji proizvod se može
ostvariti samo ukoliko je njegova cena manja od 100 dinara.
Napisati program koji sa ulaza učitava celi broj n, veći od 0, koji predstavlja broj kupljenih
artikala kupca. Pomoću funkcije ‘Unos’, izvršiti učitavanje elemenata niza. Zatim, pomoću
funkcije ‘Izracunaj’, uraditi proveru da li je kupac član ‘Super kartice’ (1 – da) ili nije (0 –
ne), i shodno tome obračunava ukupnu cenu za datog kupca. Na samom kraju ispisati sumu
cena sa obračunatim popustom za datog kupca.
I način:
#include <iostream>
using namespace std;
float a[50];
void Unos(int n) {
cout << "Unesite cene artikala: " << endl;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
}
void Izracunaj(int n) {
int super_kartica;
float suma = 0;
cout << "Da li kupac ima Super karticu (1 - da, 0 - ne): ";
cin >> super_kartica;
while (super_kartica < 0 || super_kartica>1) {
cout << "Greska prilikom unosa. Unesite vrednost ponovo." << endl;
cout << "Da li kupac ima Super karticu (1 - da, 0 - ne): ";
Univerzitet u Beogradu 11.04.2023. god.
Tehnički fakultet u Boru
if (super_kartica == 1) {
for (int i = 0; i < n; i++) {
if (i == pozicija_max) {
a[i] = a[i] - a[i] * 10/100;
suma += a[i];
}
else if (i == pozicija_min) {
if (a[i] <= 100) {
a[i] = 1;
}
suma += a[i];
}
else {
suma += a[i];
}
}
}
else if (super_kartica==0) {
for (int i = 0; i < n; i++) {
if (i == pozicija_min) {
if (a[i] <= 100) {
a[i] = 1;
}
suma += a[i];
}
else {
suma += a[i];
}
}
}
else {
cout << "Doslo je do greske. Pokusajte ponovo." << endl;
}
if (suma) {
cout << "Ukupan iznos racuna je: " << suma << endl;
}
else {
cout << "Doslo je do greske. Pokusajte ponovo." << endl;
}
}
int main() {
int n;
cout << "Unesite broj kupljenih artikala: ";
cin >> n;
Unos(n);
Univerzitet u Beogradu 11.04.2023. god.
Tehnički fakultet u Boru
Izracunaj(n);
return 0;
}
II način:
#include <iostream>
using namespace std;
float a[50];
void Unos(int n) {
cout << "Unesite cene artikala: " << endl;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
}
cout << "Da li kupac ima Super karticu (1 - da, 0 - ne): ";
cin >> super_kartica;
while (super_kartica < 0 || super_kartica>1) {
cout << "Greska prilikom unosa. Unesite vrednost ponovo." << endl;
cout << "Da li kupac ima Super karticu (1 - da, 0 - ne): ";
cin >> super_kartica;
}
cout << endl;
if (super_kartica == 1) {
for (int i = 0; i < n; i++) {
if (i == pozicija_max) {
a[i] = a[i] - a[i] * 10/100;
suma += a[i];
}
else if (i == pozicija_min) {
if (a[i] <= 100) {
a[i] = 1;
}
suma += a[i];
}
else {
suma += a[i];
}
}
}
else if (super_kartica==0) {
for (int i = 0; i < n; i++) {
Univerzitet u Beogradu 11.04.2023. god.
Tehnički fakultet u Boru
if (i == pozicija_min) {
if (a[i] <= 100) {
a[i] = 1;
}
suma += a[i];
}
else {
suma += a[i];
}
}
}
else {
cout << "Doslo je do greske. Pokusajte ponovo." << endl;
}
if (suma) {
cout << "Ukupan iznos racuna je: " << suma << endl;
}
else {
cout << "Doslo je do greske. Pokusajte ponovo." << endl;
}
}
int main() {
int n;
cout << "Unesite broj kupljenih artikala: ";
cin >> n;
Unos(n);
Izracunaj(a, n);
return 0;
}