Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 7.6.2012, 0:17   #1
Number3
Novi član
 
Član od: 27.12.2010.
Poruke: 10
Zahvalnice: 3
Zahvaljeno 0 puta na 0 poruka
Određen forumom Pomoc oko programa!!!

Treba mi pomoc oko zadatka iz paskala radi

Napisati program za nalazenje nule funkcije f(x)=2+x+arctgx metodom polovljenja sa zadatom tacnoscu i zadatim pocetnim intervalom. Resenje staviti u rastuci poredak sa jos 2 zadata broja koristeci procedure.

Ako moze neko da pokusa da uradi, ne znam cak ni o cemu se radi...Hvala unapred!
Number3 je offline   Odgovor sa citatom ove poruke
Stara 7.6.2012, 0:42   #2
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Pomoc oko programa!!!

Evo link sa wiki.

Fora je da uzmes interval sa krajnjim lijevim i desnim vrijednostima (obavezno suprotnog znaka), za koje si siguran da funkcija nije nula i zatim uzimas vrijednost koja se nalazi tacno na sredini tog intervala i pitas koliki je rezultat funkcije sa tom vrijednoscu. Ako je veci od 0, onda uzimas novi interval [krajnja lijeva vrijednost, trenutna vrijednost] ili ako je manji od nule [trenutna vrijednost, krajnja desna vrijednost] i ponavljas sve dok ne dobijes 0. Imas cak i ilustrovano.

Sad posto funkcija ima arctg mislim da ces da imas samo jednu nulu.

Kako da nadjes pocetne dvije vrijednosti?
Mozes da opalis for petlju sa vrijednostima od -1000 do +1000 i pamtis i onda ces da imas masu vrijednosti, i onda da izaberes neku negativnu i neku pozitivnu vrijednost. Nije bitno kolika je razlika, posto polovis interval. Ovaj algoritam ti se ponasa isto kao binarno trazenje tako da ti je slozenost logN za osnovu 2, a mozes odmah da provjeris da nisi naletio na nulu xD

Pozdrav.

Poslednja ispravka: clzola (7.6.2012 u 0:55)
clzola je offline   Odgovor sa citatom ove poruke
Stara 7.6.2012, 1:08   #3
Number3
Novi član
 
Član od: 27.12.2010.
Poruke: 10
Zahvalnice: 3
Zahvaljeno 0 puta na 0 poruka
Određen forumom Re: Pomoc oko programa!!!

Hvala sto zelis da pomognes Nedam se da neko moze da mi uradi ovo, ipak je u pitanju skolski zadatak. Nije meni zadat, nikada ovo nisam ucio. Pitali su me dal znam nekog ko zna ovo pa sam se setio ovog foruma
Number3 je offline   Odgovor sa citatom ove poruke
Stara 7.6.2012, 16:13   #4
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Pomoc oko programa!!!

Sad ne znam kolko je to skolski zadatak ? Mene je ovo vise za fakultet xD
Al' ne znam Pascal, znam C/C++.

Ovako bi to izgledao u C/C++:
Kod:
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;

double func(double x) {
    return 2 + x + atan(x);
    //return x + 2;
}

int main()
{
    double left = func(-10);
    double right = func(10);
    double mid = (left+right)/2;

    while( abs( func(mid) ) > 0.0001 ) {
        if(  func(mid) < 0 ) left = mid;
        else if ( func(mid)> 0 ) right = mid;

        mid = (left+right) / 2;
    }

    cout << mid;
    return 0;
}
Nadam se da ce jos neko da se javi pa da pogleda i ovaj moj kod posto nisam bas siguran da li je to to xD
(posto se radi u realnim brojevima, ne mozemo nikad da potrefimo tacan broj 0, tako da ja idem na preciznost do 0.0001 )
clzola je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku clzola na korisnoj poruci:
Number3 (7.6.2012)
Stara 7.6.2012, 17:38   #5
Todors
Član
 
Član od: 16.4.2010.
Lokacija: Pančevo
Poruke: 462
Zahvalnice: 41
Zahvaljeno 68 puta na 63 poruka
Određen forumom Re: Pomoc oko programa!!!

I meni ovo mnogo vise lici na fakultetski zadatak i zato mislim da preciznost treba da bude mnogo veca od 5 ili 6 decimala.
Todors je offline   Odgovor sa citatom ove poruke
Stara 7.6.2012, 23:58   #6
clzola
Član
 
Član od: 14.4.2010.
Lokacija: Podgorica
Poruke: 332
Zahvalnice: 61
Zahvaljeno 11 puta na 11 poruka
Određen forumom Re: Pomoc oko programa!!!

Na takmicenjima se obicno koristi preciznost na 4 decimale, ali naravno to nije problem, samo se doda jos jedna nula ispred 1 )

Ako neko ima da pogleda je li kod dobar
Ja nisam siguran da je to to, a radio sam ovo prije pola godine xD
clzola je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Procena računara alien Šta da kupim? 6942 17.12.2023 10:28
Pomoc oko programa u C-u absonic Programiranje 28 21.5.2012 23:27
PASTE teksta, pomoc hitno potrebna Kobilic Kvarovi 4 31.10.2011 15:48
Virus POMOC Kobilic otpaTci 11 9.5.2011 19:21
Kako postici anonimnost kod koriscenja P2P programa The Finest Serbian Since '82 Internet tehnologije 31 7.8.2007 1:35


Sva vremena su po Griniču +2 h. Sada je 0:36.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com