You are on page 1of 15

Електротехничка школа Приједор

Николе Пашића 4
Приједор

Матурски рад из програмирања


Примјери задатака у језику С++

Ментор: Ученик:
Грујо Комадара, проф. Стефан Драгић, IV4

Приједор, мај 2019.


Примјери задатака у језику С++ Стефан Драгић, IV-4

САДРЖАЈ

1. Увод.....................................................................................................................................1
2. Задаци..................................................................................................................................2
2.1 Први задатак...............................................................................................................2
2.2 Други задатак..............................................................................................................3
2.3 Трећи задатк................................................................................................................4
2.4 Четврти задатак..........................................................................................................5
2.5 Пети задатак................................................................................................................6
2.6 Шести задатак.............................................................................................................7
2.7 Седми задатак.............................................................................................................8
2.8 Осми задатак...............................................................................................................9
2.9 Девети задатак............................................................................................................9
2.10 Десети задатак.......................................................................................................10
3. Закључак...........................................................................................................................11
4. Литература........................................................................................................................12
Примјери задатака у језику С++ Стефан Драгић, IV-4

1. УВОД
C++ (сиːˌплʌсˈплʌс ) је програмски језик опште намјене који је развио Бјарне
Строуструп као продужетак Ц језика. Има императивне, објектно-оријентисане и
генеричке функције програмирања, а истовремено пружа могућности за манипулацију
меморије ниског нивоа. Готово се увијек имплементује као компајлирани језик, а многи
произвођачи обезбеђују C++ компајлере, укључујући Free Software Foundation,
Microsoft, Intel i IBM, тако да је доступан на многим платформама.

C++ је дизајниран са склоношћу према системском програмирању и уграђеном


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

C++ је стандардизован од стране међународне организације за стандардизацију (ISO),


са најновијом стандардном верзијом ратифицираном и објављеном од стране ISO-а у
децембру 2017. као ISO / IEC 14882: 2017 (неформално познат као C++ 17). C++
програмски језик је првобитно стандардизован 1998. као ISO / IEC 14882: 1998, који је
затим измијењен C++ 03, C++ 11 и C++ 14 стандардима. Тренутни C++ 17 стандард
замјењује ове са новим могућностима и проширеном стандардном библиотеком. Прије
почетне стандардизације 1998. године, C++ је развио дански компјутерски научник
Бјарне Строуструп из Белл Лабса од 1979. године као продужетак језика Ц; желио је
ефикасан и флексибилан језик сличан оном Ц који је такође омогућио функције високог
нивоа за организацију програма. C++ 20 је следећи планирани стандард који се прати
тренутни тренд нове верзије сваке три године. C++ рангиран је на четвртом мјесту у
популарности према IЕЕЕ спектру Тop Programming Language рангирања. Учење C++
је мудра инвестиција за све програмере.

Као и код C, C++ подржава четири типа управљања меморијом: статичке објекте за
трајање складиштења, објекте трајања складиштења нити, објекте аутоматског трајања
складиштења и објекте динамичког трајања меморије.

1
Примјери задатака у језику С++ Стефан Драгић, IV-4

2. ЗАДАЦИ
2.1 Први задатак
Начинити програм који за два унешена броја са тастатуре и њихове операције одради
дату операцију.

#include <iostream>
using namespace std;
int main() {
int a, b, s, r, p;
float k;
char o; //разлика између чар и стринг је у томе сто са чар могу радити ар оп
cout << "Prvi broj= ";
cin >> a; cout << endl;
cout << "Drugi broj= ";
cin >> b;
cout << endl;
cout << "Upisite znak aritmeticke operacije koju zelite izvrsiti. \n Operacija
je "; //\n знак за прекид реда тј, да се курсор постави у нови ред
cin >> o;
cout << endl;
switch (o) //прихватамо промјенљиву за коју бирамо случај
{
case '+': //ако је корисник притиснуо са тастатуре знак +, извршиде се сабирање
s = a + b;
cout << "Zbir dva broja je " << s << endl;
break; //прекид овог случаја ако притиснути знак није + него неки други
case '-': //ако је корисник притиснуо са тастатуре знак-, изврши се одузимање
r = a - b; cout << "Razlika dva broja je " << r << endl;
break;
case '*':
p = a * b;
cout << "Proizvod dva broja" << endl;
break;
case '/':
if (b == 0) //угњездена if структура, јер ако је дјелилац 0, нема смисла
дијелити
{
cout << "djelilac ne moze biti nula" << endl;

break;
}
else {
k = a / b;
cout << "Kolicnik dva broja je " << k << endl;
break;
}

deafult: //ако је корисник притиснуо неки знак којег нема у претходним


случајевима
cout << "Pogresan izbor!" << endl;
break;
}
system("PAUSE");
return 0;
}

2
Примјери задатака у језику С++ Стефан Драгић, IV-4

Слика 1: Први задатак

2.2 Други задатак


Направити програм који сабира троцифрене бројеве унешене са тастатуре:

#include <iostream>
using namespace std;
int funk(int br) //именовање функције и декларисање улазних промјенљивих које функција
узима из програма
{

int s, d, j, p, zbir;
s = br / 100; //цјелобројно дијељење даје нам само цијели број, а остатак
одсјеца
p = br % 100; //модуо прихвата остатак, а одсјеца цијели дио коликчника

d = p / 10;
j = p % 10;
zbir = s + d + j;
return zbir;
}
int main() //Главни програм
{
int broj, rezultat;
cout << "Unesite jedan trocifran broj ";
cin >> broj;
cout << endl;

if (broj > 999 || broj < 100) //логички оператор || „или“ . Доња наредба ће се
извршити ако је било који од израз испуњен
{
cout << "Uneseni broj nije trocifren";
}
else {
rezultat = funk(broj); //позивање функције
cout << "Zbir cifara trocifrenogbroja je " << rezultat << endl;
}
system("PAUSE");
return 0;
}

Слика 2: Други задатак

3
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.3 Трећи задатк


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

#include <iostream>
#include <cmath>// укључивање библиотеке
using namespace std;
int main() {

float broj, stepen, rezultat;


cout << "Unesite broj koji zelite stepenovati ";// испис на екрану
cin >> broj;// унос са екрана
cout << "Unesite stepen broja ";
cin >> stepen;
rezultat = pow(broj, stepen); //математичка наредба за степеновање
cout << "stepen broja je " << rezultat << endl;

system("pause");
return 0;
}

Слика 3: Трећи задатак

4
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.4 Четврти задатак


Напиши програм који на основу унешеног полупречника и висине ваљка, одређује
његову површину и запремину.
Кроз овај задатак желим да прикажем:
 дефинисање константе
 дефинисање промјенљиве типа флоат

#include <iostream>
using namespace std;
int main() {

double P, V, h, r; //на овај начин дефинишемо промјењиве


const float PI = 3.14159; //дефинисање константе
cout << "Unesite poluprecnik r="; //порука која се шаље на екран за унос
података
cin >> r; //прикупљање податак са тастатуре
cout << "unesite visinu h=";
cin >> h;
P = r * r*PI + h * 2 * r*PI;
V = 2 * r*PI*h;

cout << "Povrsina valjka =" << P << endl;


cout << "Zapremina valjka =" << V << endl;

system("pause");
return 0;
}

Слика 3: Четврти задатак

5
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.5 Пети задатак


Начинити програм који бројеве исписује уназад.

#include <iostream>
using namespace std;
int main() {
int i, k, n;
pocetak:
cout << "Donja granica je = ";
cin >> k;
cout << "Gornja granica je = ";
cin >> n;
if (n <= k) //провјерава да ли је доња граница мања од горње
{
cout << "Granice nisu validne, pokusajte ponovo" << endl;
goto pocetak;
}
else {
i = n; //неком и додјељује се вриједност горње границе
do //наредба do значи да се петља унутар витичастих заграда понавља док
не буде задовољен услов израз у while наредби
{
cout << i; //исписује i, односно у првом пролазу горњу границу
(задњи број)
--i; //i се смањује за 1 јер је интервал уређен низ по растућем
редослиједу
cout << endl;
} while (i >= k); //петља се врти док се одузимањем горњег броја за 1 не
дође до тога да је једнак доњој граници
}
system("PAUSE");
return 0;
}

Слика 4: Пети задатак

6
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.6 Шести задатак


Начинити програм који за унешени троцифрен броје даје комбинацију цифара најмањег
троцифреног броја.

#include <iostream>
using namespace std;
int funk(int s, int d, int j)
{
int a;
if (s < d) { swap(s, d); };
if ((s < j) && (s != 0))
{
swap(s, j);
};
if ((d != 0) && (d < j))
{
swap(d, j);
}; a = s + d * 10 + j * 100;
return a;
}
int main(int argc, char *argv[]) {
int n, d, j, p, s, najmanji;
cout << "Unesite trocifren broj ";
cin >> n; if (n > 999 || n < 100) {
cout << "Broj nije trocifren!" << endl;
}
else {
s = n / 100; p = n % 100; d = p / 10; j = p % 10;
}

najmanji = funk(s, d, j);


cout << "najmanji troifren broj od datih cifara je : " << najmanji << endl;
system("PAUSE"); return 0;
}

Слика 5: Шести задатак

7
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.7 Седми задатак


Таблица множења

#include <iostream>
using namespace std;
int main() {
int k, n, p, broj;
ponovo:
cout << "Unesite donju granicu za mnozenje ";
cin >> k;
cout << "Unesite gornju granicu do koje se ispisuje mnozenje ";
cin >> n;
cout << "Unesite broj sa kojim zelite da mnozite ";
cin >> broj;
if (k > n)
{
cout << "donja granica je veca od gornje, pokusajte ponovo";

goto ponovo;
}
else {
for (int i = k; i <= n; i++) //приступ интервалу:
{
p = i * broj; //производ броја са текућим бројем из интервала
cout << i << " * " << broj << "=" << p; //испис производа
cout << endl;
p = 1; //додјељивање производу вриједност 1 јер сад петља опет
креће из почетка само са следећим бројем интервала
}
} system("PAUSE");
return 0;
}

Слика 6: Седми задтак

8
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.8 Осми задатак


Начинити програм који рачуна суму факторијела.

#include <iostream>
using namespace std;
int main()
{
long i, n, fakt, s;
cout << "unesi broj n" << endl;
cin >> n;
for (s = 0, fakt = 1, i = 1; i <= n; i++)//почетно стање, услов, прираст
{
fakt *= i;
s += fakt;
}
cout << "Suma = " << s << endl << endl;

system("pause");
return 0;
}

Слика 7: Осми задатак

2.9 Девети задатак


Написати продграм који проналази и исписује на екран све троцифрене бројеве код
којих је сума цифри дјељива са 7.

#include <iostream>
using namespace std;
int main()
{
int s, d, j; //стотине, десетице, јединице...
for (int i = 100; i < 1000; i++) //петља врти све 3-цифрене бројеве
{
int temp = i;
j = temp % 10; //издвајамо редом цифре броја тако што
temp /= 10; //прво тражимо остатак при дјељењу
d = temp % 10; //са 10, а затим број и дјелимо са 10
temp /= 10; //да се ослободимо задње цифре i
s = temp % 10; //омогућимо тражење нове
int sum = s + d + j;
if (sum % 7 == 0) //провјеравамо да ли је сума дјељива са 7
cout << i << endl; //ако јесте, исписујемо број
}
system("pause");
return 0;
}

Слика 8: Девети задатак

9
Примјери задатака у језику С++ Стефан Драгић, IV-4

2.10 Десети задатак


Направити програм који приказује највећи заједнички јелилац за 2 природна броја , и
број којим можемо подјелити број да нема остатка.

#include<iostream>
using namespace std;
int main()
{
long int broj1, broj2, ostatak, pom_broj;
cout << "Unesite prvi broj: ";
cin >> broj1;
cout << "Unesite drugi broj: ";
cin >> broj2;
if ((broj1 == 0) && (broj2 == 0))//први услов ,ако су оба броја 0, && је i
{
cout << "Pogresan unos" << endl;
system("Pause");
return 0;
}
if (broj1 < 0) broj1 = -broj1;//претвара број у позитиван број
if (broj2 < 0) broj2 = -broj2;//претвара број у позитиван број
if ((broj1 == 1) && (broj2 == 1))//ако су оба броја 1,онда
cout << "nzd je 1" << endl;// израчунавање NZD
if (broj1 < broj2)//услов
{
pom_broj = broj1;//помоћни број
broj1 = broj2;
broj2 = pom_broj;
}
do
{
ostatak = broj1 % broj2;//рачунање по модулу
broj1 = broj2;
broj2 = ostatak;
} while (ostatak != 0);//остатак није 0
cout << "Najveci zajednicki djelilac (NZD)je: " << broj1 << endl;
cout << endl;
system("Pause");
}

Слика 9: Десети задатак

10
Примјери задатака у језику С++ Стефан Драгић, IV-4

3. ЗАКЉУЧАК
Кроз C++ живот, његов развој и еволуција је вођен низом принципа:

 Она мора бити вођена стварним проблемима и њене особине би требале бити
одмах корисне у стварним програмима.
 Свака карактеристика треба да буде изведива (са разумно очигледним начином
да се то уради).
 Програмери би требали бити слободни да бирају свој стил програмирања, а тај
стил треба у потпуности подржати C++.
 Дозвољавање корисне функције је важније од спречавања сваке могуће
злоупотребе C++-а.
 Она треба да обезбједи простор за организовање програма у одвојеним, добро
дефинисаним дјеловима и обезбједи простор за комбиновање одвојено
развијених дијелова.
 Нема имплицитних кршења система типа (али дозвољава експлицитне
прекршаје; то јест, оне које је програмер изричито затражио).
 Кориснички креирани типови морају имати исту подршку и перформансе као и
уграђени типови.
 Неискориштене функције не би требале негативно утицати на креиране извршне
датотеке (нпр. У нижим перформансама).
 Испод C++-а не би требало бити језика (осим асемблерског језика).
 C++ би требао радити заједно с другим постојећим програмским језицима,
умјесто да његује властиту засебну и некомпатибилну програмску околину.
 Ако је програмерска намјера непозната, дозволите програмеру да је одреди
пружањем ручне контроле.

11
Примјери задатака у језику С++ Стефан Драгић, IV-4

4. ЛИТЕРАТУРА
(2019). Преузето са cplusplus: http://www.cplusplus.com
codecademy. (2019, 4 12). Преузето са https://www.codecademy.com/learn/learn-c-plus-plus
IT REŠENJA. (2019, 4 2). Преузето са http://www.itresenja.com
KRAUS, L. (2007). POGRAMSKI JEZIK C++. BEOGRAD: AKADEMSKA MISAO.
Znanje. (2019, 4 7). Преузето са znanje.org: http://www.znanje.org

1.

12
Примјери задатака у језику С++ Стефан Драгић, IV-4

Датум предаје:______________

Коментар:

Датум одбране: _____________ Оцjена__________ (___)

Комисија:
Председник _______________
Испитивач _______________
Члан _______________

13

You might also like