24
ПРОГРАМИРАЊЕ 2 ПРОГРАМИРАЊЕ 2 9 9 . Функције . Функције Аутор: Бранимир Јакши Аутор: Бранимир Јакши

9 - FUNKCIJE

  • Upload
    -

  • View
    234

  • Download
    1

Embed Size (px)

DESCRIPTION

Funkcije programski jezik c

Citation preview

ПРОГРАМИРАЊЕ 2ПРОГРАМИРАЊЕ 2

99. Функције. Функције

Аутор: Бранимир ЈакшићАутор: Бранимир Јакшић

Задатак 93:Задатак 93:Саставити функцију која врши сабирање два цела броја, а затим Саставити функцију која врши сабирање два цела броја, а затим саставити програм који тестира функцију и исписује резултат.саставити програм који тестира функцију и исписује резултат.

програмски код или скраћени запис:програмски код или скраћени запис:

испис на екрануиспис на екрану

Задатак 94:Задатак 94:Саставити функцију за одређивање максимума два цела броја, а затим Саставити функцију за одређивање максимума два цела броја, а затим саставити програм који ће за унета четири цела броја одредити највећи саставити програм који ће за унета четири цела броја одредити највећи користећи претходну функцију и исиписати резултат.користећи претходну функцију и исиписати резултат.

програмски код испис на екранупрограмски код испис на екрану

Задатак 95:Задатак 95:Саставити програм за израчунавање и исписивање суме квадрата свих Саставити програм за израчунавање и исписивање суме квадрата свих бројева, само парних и само непарних за унете границе интервала. бројева, само парних и само непарних за унете границе интервала. Користити функције за израчунавање збира квадрата.Користити функције за израчунавање збира квадрата.програмски код испис на екранупрограмски код испис на екрану

Задатак 96:Задатак 96:Саставити програм који исписује суму цифара за унете границе Саставити програм који исписује суму цифара за унете границе интервала. За рачунање суме цифара формирати одговарајућу функцију.интервала. За рачунање суме цифара формирати одговарајућу функцију.

програмски код испис на екранупрограмски код испис на екрану

Задатак 97:Задатак 97:Саставити програм који коришћењем функција одређује највећи Саставити програм који коришћењем функција одређује највећи заједнички делилац и најмањи заједнички садржалац два природна заједнички делилац и најмањи заједнички садржалац два природна броја. Програм треба да захтева унос све док не прочита нулу за један од броја. Програм треба да захтева унос све док не прочита нулу за један од два унета природна броја.два унета природна броја.програмски кодпрограмски код

испис на екрануиспис на екрану

Задатак 98:Задатак 98:Саставити програм који за дато Саставити програм који за дато n n рачуна и исписује суму рачуна и исписује суму S=1!+2!+3!+...S=1!+2!+3!+...+n!+n!. За рачунање факторијела користити одговарајућу функцију.. За рачунање факторијела користити одговарајућу функцију.

програмски код испис на екранупрограмски код испис на екрану

Задатак 99:Задатак 99:Саставити функцију за степеновање бројева. Затим саставити програм Саставити функцију за степеновање бројева. Затим саставити програм који помоћу формиране функције врши рачунање за дати број и степен и који помоћу формиране функције врши рачунање за дати број и степен и исписује резултат.исписује резултат.

програмски кодпрограмски код

испис на екрануиспис на екрану

Задатак 100:Задатак 100:Саставити програм који исписује све просте бројеве мање од 500. Саставити програм који исписује све просте бројеве мање од 500. Користити функцију за одређивање простих бројева.Користити функцију за одређивање простих бројева.

програмски код испис на екранупрограмски код испис на екрану

Пошто у С-у не постоји логички тип података, Пошто у С-у не постоји логички тип података, уколико се ради о некој функцији која треба дауколико се ради о некој функцији која треба да врати вредност тачно или нетачно, као што јеврати вредност тачно или нетачно, као што је случај са овом, тада је она типа случај са овом, тада је она типа intint и враћа 1 ако и враћа 1 ако треба да врати тачнотреба да врати тачно,, а 0 ако треба да врати а 0 ако треба да врати нетачно. Из тог разлога ова функција је типа нетачно. Из тог разлога ова функција је типа intint и и у зависности од (не)испуњења услова враћа сеу зависности од (не)испуњења услова враћа се вредност 0 или вредност 1.вредност 0 или вредност 1.

Задатак 101:Задатак 101:Саставити програм који рачуна и исписује вредност Ојлерове функције Саставити програм који рачуна и исписује вредност Ојлерове функције позитивног целог броја унетог са улаза. Под Ојлеровом функцијом φ(позитивног целог броја унетог са улаза. Под Ојлеровом функцијом φ(nn) ) подразумевамо број бројева подразумевамо број бројева mm, таквих да је 1≤, таквих да је 1≤mm<<nn и да су и да су mm и и nn узајамно узајамно прости. Ојлерова функција, као и прости. Ојлерова функција, као и NZDNZD((mm,,nn) рачунати у посебним ) рачунати у посебним функцијама.функцијама.

програмски код испис на екранупрограмски код испис на екрану

Задатак 102:Задатак 102:Саставити програм којим се исписују сви Нивенови бројеви друге Саставити програм којим се исписују сви Нивенови бројеви друге стотице. Нивенов број је број који је дељив са сумом својих цифара. стотице. Нивенов број је број који је дељив са сумом својих цифара. Формирати две функције, једна за рачунање суме цифара, а друга за Формирати две функције, једна за рачунање суме цифара, а друга за одређивање да ли је дати број Нивенов (ако јесте враћа 1, ако није враћа одређивање да ли је дати број Нивенов (ако јесте враћа 1, ако није враћа 0).0).

програмски кодпрограмски код

испис на екрануиспис на екрану

Задатак 103:Задатак 103:Кондензатор капацитета Кондензатор капацитета CC се пуни из једносмерног извора напона се пуни из једносмерног извора напона UU00

преко отпорника отпора преко отпорника отпора RR. Напон на кондензатору временски расте по . Напон на кондензатору временски расте по релацији док напон на отпорнику опада по изразу релацији док напон на отпорнику опада по изразу ..

Саставити програм који ће учитати вредност капацитета Саставити програм који ће учитати вредност капацитета CC у у микрофарадима, отпора микрофарадима, отпора RR у килоомима и напона у килоомима и напона UU00 у волтима и у волтима и

израчунати и исписати вредности напона на кондензатору и отпорнику за израчунати и исписати вредности напона на кондензатору и отпорнику за tt од 0 до од 0 до RR**C C са кораком са кораком RR**CC/10./10.

испис на екрануиспис на екрану

0 1t

RCcu t U e

0r cu t U u t

програмски кодпрограмски код

Задатак 103:Задатак 103:

Задатак 104:Задатак 104:Саставити програм који ће табеларно приказати вредности функцијаСаставити програм који ће табеларно приказати вредности функција и . Променљива и . Променљива xx треба да узима треба да узима вредности од 1 до учитаног вредности од 1 до учитаног xminxmin ((xminxmin<1) тако да се свако наредно <1) тако да се свако наредно x x смањи за учитану вредност корака смањи за учитану вредност корака dxdx ( (dxdx <0.1). <0.1).

1

sin xf x

x

22

2 1

sin xf x f x

x

програмски код испис на екранупрограмски код испис на екрану

Задатак 104:Задатак 104:

Задатак 105:Задатак 105:Саставити функцију која израчунава еСаставити функцију која израчунава еxx на основу првих неколико на основу првих неколико (n) (n) чланова Тејлоровог реда , а затим саставитичланова Тејлоровог реда , а затим саставити

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

програмски код испис на екранупрограмски код испис на екрану

1 2 3 4

0

1 ...! 1! 2! 3! 4!

ix

i

x x x x xe

i

Задатак 106:Задатак 106:Саставити програм за рачунање суме Саставити програм за рачунање суме и исписивање њене вредности за дато и исписивање њене вредности за дато nn, , k k и и tt употребом функције за употребом функције за рачунање комбинација .рачунање комбинација .

програмски код испис на екранупрограмски код испис на екрану

... 1

1 2tn n n n

Sk k k k t

n

k

Задатак 107:Задатак 107:а) Саставити функцију која врши конверзију малих слова у велика. Затим а) Саставити функцију која врши конверзију малих слова у велика. Затим тестирати функцију за унети текст. Унос текста се завршава сигналомтестирати функцију за унети текст. Унос текста се завршава сигналом EOF.EOF.б) Саставити функцију која врши конверзију великих слова у мала. б) Саставити функцију која врши конверзију великих слова у мала. Затим тестирати функцију за унети текст. Унос текста се завршава Затим тестирати функцију за унети текст. Унос текста се завршава сигналомсигналом EOF. EOF.

програмски код а) б) испис на екранупрограмски код а) б) испис на екрану

а)а)

б)б)

Задатак 108:Задатак 108:Саставити рекурзивну функцију за одређивање факторијела целог броја, Саставити рекурзивну функцију за одређивање факторијела целог броја, а затим је тестирати у главном програму за унети цео број а затим је тестирати у главном програму за унети цео број nn и исписати и исписати добијени резултатдобијени резултат..

програмски код испис на екранупрограмски код испис на екрану

РЕКУРЗИВНЕ ФУНКЦИЈЕРЕКУРЗИВНЕ ФУНКЦИЈЕ

Задатак 109:Задатак 109:Саставити рекурзивну функцију која врши сабирање првих Саставити рекурзивну функцију која врши сабирање првих n n бројева, а бројева, а затим тестирати функцију за дато затим тестирати функцију за дато nn и исписати добијени резултат. и исписати добијени резултат.

програмски код испис на екранупрограмски код испис на екрану

Задатак 110:Задатак 110:Саставити рекурзивну функцију која исписује првих Саставити рекурзивну функцију која исписује првих n n бројева у обрнутом бројева у обрнутом редследу, а затим тестирати функцију за дато редследу, а затим тестирати функцију за дато nn..

програмски код испис на екранупрограмски код испис на екрану

Задатак 111:Задатак 111:Саставити рекурзивну функцију која одређује и исписује Саставити рекурзивну функцију која одређује и исписује nn-ти члан -ти члан Фибоначијевог низа, а затим тестирати функцију за дато Фибоначијевог низа, а затим тестирати функцију за дато nn. . Фибоначијев низ је: Фибоначијев низ је: ff11=1, f=1, f22=1, f=1, fii=f=fi-1i-1+f+fi-2i-2, i=3, 4, 5, ..., i=3, 4, 5, ...

програмски код испис на екранупрограмски код испис на екрану

Задатак 112:Задатак 112:Ханојске куле: Дата су три штапа, и на једном од њих Ханојске куле: Дата су три штапа, и на једном од њих nn дискова дискова различитих пречника,различитих пречника, поређаних тако да мањи диск лежи на већем. поређаних тако да мањи диск лежи на већем. Потребно је преместити све дискове на трећи штап у истом поретку, тако Потребно је преместити све дискове на трећи штап у истом поретку, тако што се премешта један по један диск, коришћењем сва три штапа, и у што се премешта један по један диск, коришћењем сва три штапа, и у сваком тренутку на сваком од штапова диск може да лежи само на већем сваком тренутку на сваком од штапова диск може да лежи само на већем диску.диску.Саставити рекурзивну функцију која омогућује пребацивање дискова по Саставити рекурзивну функцију која омогућује пребацивање дискова по горе наведеном правилу, а затим тестирати функцију за унети број (горе наведеном правилу, а затим тестирати функцију за унети број (nn) ) дискова.дискова.

испис на екрануиспис на екрану

програмски кодпрограмски код

испис на екрануиспис на екрану

Задатак 112:Задатак 112: