Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problematican program za izracunavanje parametara kola (pascal)

[es] :: Pascal / Delphi / Kylix :: Problematican program za izracunavanje parametara kola (pascal)

[ Pregleda: 1664 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

kUdtiHaEX
Beograd, Yugoslavia

Član broj: 3372
Poruke: 2598
*.vdial.verat.net

ICQ: 167621705
Sajt: www.webhost.co.yu


+4 Profil

icon Problematican program za izracunavanje parametara kola (pascal)07.04.2004. u 10:20 - pre 244 meseci
Pozdrav. Poprilicno sam iznerviran jer nikako ne mogu da nateram glupi program da pise po fajlu. Evo source-a:

Citat:

program poet_domaci(input,output,ff);

const

Us=0.025;
max=50; //maximalan broj prolazakroz petlju koja polovi segmenate
var
BR,Poc,a,iis,E,R,U,I,pol:real;
uslov:boolean;
ff:text;

function f(I:real):real; //racuna f-ju od struje i=is(e^((e-ri)/us-1)
var
pom,s:real;
begin
s:=(E-R*I)/Us;
pom:=exp(S);
s:=I-iis*pom+iis;
f:=s;
end;

Begin
assign(ff,'resenje.txt');
rewrite(ff);
writeln('Unesite struju Is u amperima:');
readln(iis);
writeln('Unesite ems E u voltima:');
readln(e);
writeln('Unesite otpornost R u omima:');
readln(R);
BR:=1;
poc:=E/R; // struja diode ne moze biti veca od ove vrednosti, zbog i=(e-u)/r, a u je >0
a:=0; //struja diode ne moze biti negativna, jer u tom smeru dioda ne propusta struju

if f(a)*f(poc)<0 then //tada trazimo nulu funkcije, jer su vrednosti funkcija pocetnih
begin //koordinata razlicitog znaka
uslov:=true;
while (BR<max) and (abs(poc-a)>0.000001) do //trazimo nulu funkcije do preciznosti 0.000001
begin
pol:=(a+poc)/2; //polovina segmenta
if f(pol)*f(a)<0 then //provera da li je nula izmedju pol i a
begin
poc:=pol;
I:=poc; // struju postavljam na pol koja se sve vise svakim prolazom
end //priblizava stvarnoj vrednosti struje (tj. nuli f-je)
else //ako nije izmedju pol i a, nula je izmedju pol i poc
begin
a:=pol;
I:=a;
end;
BR:=BR+1; //broj prolaza kroz petlju
end;
end else //ako su vrednosti funkcija pocetnih koordinata istog znaka
writeln (ff,'Nula nema ili ima paran broj nula.'); //resenje se ispisuje u datoteku

if uslov then //ako smo nasli nulu
begin
U:=E-R*I;
writeln;
writeln (ff,'Napon diode U je ', U:3:3, ' volti, a struja diode I je ',I:6:6, ' ampera.');
close(ff);
end;
end.


Radili smo na nekom levom Pascal-u koji u sebi nema build, medjutim prilikom RUN-a davao je izlaz u resenje.txt. Sada kada sam poneo source kuci (jer doticni nema build) i iskompajlirao program, nemam izlaz u pomenuti txt fajl.
Kada sam umesto rewrite(...) stavio reset(...) program je samo pucao. Ima li iko ideju gde sam pogresio?
Internet ne cini ljude glupima. Internet cini ljudsku glupost dostupnijom (TM by me)

Webhost Hosting Services
 
Odgovor na temu

kUdtiHaEX
Beograd, Yugoslavia

Član broj: 3372
Poruke: 2598
*.vdial.verat.net

ICQ: 167621705
Sajt: www.webhost.co.yu


+4 Profil

icon Re: Problematican program za izracunavanje parametara kola (pascal)07.04.2004. u 11:25 - pre 244 meseci
Nasao sam resenje problema. Problem je u formuli s:=(E-R*I)/Us. Kada se stave velike vrednosti tipa 50 necega :) program ne radi, cim stavim vrednosti do 20 on radi :D Sad cu optimizovati formulu :D
Internet ne cini ljude glupima. Internet cini ljudsku glupost dostupnijom (TM by me)

Webhost Hosting Services
 
Odgovor na temu

kUdtiHaEX
Beograd, Yugoslavia

Član broj: 3372
Poruke: 2598
*.verat.net

ICQ: 167621705
Sajt: www.webhost.co.yu


+4 Profil

icon Re: Problematican program za izracunavanje parametara kola (pascal)08.04.2004. u 06:39 - pre 244 meseci
Nisam uspeo da resim problem sa formulom, help?
Internet ne cini ljude glupima. Internet cini ljudsku glupost dostupnijom (TM by me)

Webhost Hosting Services
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Problematican program za izracunavanje parametara kola (pascal)

[ Pregleda: 1664 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.