Guest exodus Ierakstīts Decembris 5, 2006 Share Ierakstīts Decembris 5, 2006 sveiki tie kas kautko saprot no pascal, rakstiju kvadrātvienādojuma ax2+bx+c=0 atrisinājuma progu bet man izmet divus erorus tape proga neiet! erori- DIVISION BY ZERO INVALID FLOATING POINT OPERATION LŪDZU PALĪDZIET SEIT ARĪ PROGAS TEKSTS: USES CRT; VAR A,B,D,K:INTEGER; R,X,F,V:REAL; M:REAL; C:CHAR; BEGIN WRITELN('VERTIBA A`); READLN(A); WRITELN(`VERTIBA B`); READLN(B); WRITELN(`VERTIBA C`); READLN(D); R:=SQR(B)-4*A*D; X:=-B/(2*A); V:=-B+SQRT( R )/(2*A); M:=-B-SQRT( R )/(2*A); BEGIN IF A=0 THEN WRITE(`TAS NAV KVADRĀTVIENĀDOJUMS`) ELSE IF R<0 THEN WRITE(`REĀLAS SAKNES NAV`) ELSE IF R=0 THEN WRITE(`X IR` , X:0:2) ELSE WRITELN(`VIENA SAKNE IR`,V:0:2); WRITELN(`OTRA SAKNE IR`,M:0:2); C:READKEY; CLRSCR; END; END. KUR IR KĻŪDA????? Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 y = ax (kvadraataa) + bx + c? 9taas klases viela... Maajas darbus ar steigu pildi? Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 y = ax (kvadraataa) + bx + c? 9taas klases viela... Maajas darbus ar steigu pildi? NJU JA MATENE NAV STIPRĀ PUSE BET NO KOMPJIEM LIETAS LABI AIZLEC TAPE CINOS AR PROGRAMESANU :-D Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 Nevajag jau kliegt, ne jau ''uzbraukt'' Tev gribeeju, patieshaam jautaaju... Paskatiisimies veelreiz: Ko tieshi Tu grasies atrisinaat ar Pascal paliidziibu? Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 paskaalu neesmu kustinaajis jau 11 gadus bet kaapeec tu raksti X:0:2 ? kas tas pa stelii ? Kapeec ne X:2 NU TO RAKSTU LAI NORĀDĪTU VIETAS AIZ KOMATA JO TAS MAN REĀLS SKAITLIS Nevajag jau kliegt, ne jau ''uzbraukt'' Tev gribeeju, patieshaam jautaaju... Paskatiisimies veelreiz: Ko tieshi Tu grasies atrisinaat ar Pascal paliidziibu? ES TAK NEKLIEDZ :-? nju kā vēlos atrisināt kvādrātvien. noradot ko darīt datoram ar if palīdzību. Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 Atrisinaat pashu kvadraatvienaadojumu? Kmm, vai arii Tev koordinaates parabolas virsotnei jaauzzin? :wink: Link to comment Share on other sites More sharing options...
voltrix Decembris 5, 2006 Share Decembris 5, 2006 Pirmkārt vaitad paskālā kvadrātsakni raksta SQR vai tomēr SQRT Pirmkārt vaitad paskālā kvadrātsakni raksta SQR vai tomēr SQRT Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 tu to if a=0 pamet uz augšu drusk, citādāk vispirms division by 0 errors uzmetas, un tad tikai ir if a=0. tb, vari to if-u palikt zem a ievadīšanas uzreiz. edit: Tas, protams, gadījumā, ja a=0 tiek ievadīts Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 1) tur kur ir SQR ir aprēķināts diskriminants un tur jābūt kvadrātam, tev taisnība ka SQRT ir kvadrātsakne. 2) paldie dievam parabolas zaru kordinātas nav jāuzzin bet kad pametu if a=0 uz augsu tad vinjs visu parējo prasa ARĪ PACELT jo vis saistās kopā tad trūkst then un tad else bet pie else jau ir atkal IF Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 (labots) ..2) paldie dievam parabolas zaru kordinātas nav jāuzzin... Patiesiibaa vinjas nebija nemaz tik gruuti apreekjinaat, protams, lai tagad uzrakstiitu kaa vinjas jaareekjina, buutu vien jaameklee rokaa aljgebras graamata... Nu un reekjinaat Pascal'aa jau arii ir savdabiigaak, ko tad tas dizhi liidzeetu, ja arii uzrakstiitu kaa taas koordinaates reekjina... Bet nu arii labi, Tev vinjas nevajag. Edit: Nee nee, ne jau zaru kordinaatas, bet parabolas virsotnes kordinaates. Labots Decembris 5, 2006 - krelin Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 ar pacelt augšā es domāju pārcelt vienkārši noņem to If a=0 statementu no apakšas un paliec zem input a; Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 itka viss uzrakstīts ka vaig pat pie daziem noteiktiem skaitliem proga nostrādā un parāda ka viena sakne tik un otra ti bet teksti ko vaidzetu izmest par to ka tas nav kvadr.v. un ka realas saknes nav- viss tas apstājas pie eroriem, nu diviem ko jau minēju! nu tad es parcelu un paqrāda THEN EXPECTED vinjs prasa parējo kam jaseko aiz if Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 tu nekad programmējis neesi vai kā? protams ka vajag then aiz if'a. Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 tu nekad programmējis neesi vai kā? protams ka vajag then aiz if'a. nu piedod tikai saku mācīties pirms mēneša Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 anyway, novāc IF A=0 THEN WRITE(`TAS NAV KVADRĀTVIENĀDOJUMS`) ELSE IF R<0 pārveido par IF R<0 IF A=0 THEN WRITE(`TAS NAV KVADRĀTVIENĀDOJUMS`) noliciec zem A ievades Link to comment Share on other sites More sharing options...
Guest ADEX Decembris 5, 2006 Share Decembris 5, 2006 Uzzīmē vispirms algoritma blokshēmu uz papīra. Tev algoritmā ir vairākas kļūdas. Paziņojumu "REĀLAS SAKNES NAV" Tu nesagaidīsi, jo pirms tam tiks vilkta kvadrātsakne no negatīva skaitļa. Arī B var būt negatīvs, bet no B tiek vilkta kvadrātsakne bez jebkādas pārbaudes. Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 MĒĢINU KO DARIT LIETAS LABA TAGAD... TIKAI KADEĻ UZREIZ JAGRUZĪ KA ESU IESĀCĒJS VISI TAK TADI REIZ BIJĀT... ITKA SHEMA MAN IR UZĪMĒTA UN VEL TO ZĪMĒJA KURSR VADĪTĀJS. :???: Link to comment Share on other sites More sharing options...
Guest ADEX Decembris 5, 2006 Share Decembris 5, 2006 Es jau negruzīju. ;-) Vienkārši norādu uz kļūdām. Ja blokshēma ir, tad vai nu tā nav pareiza, vai arī nepareizi "pārtulkota" Pascal'ā. Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 BET KO IZTEIKS TAS JA MAINĪŠU FORMULU ATRAŠANĀS VIETAS? PIEMERAM PIRMS BEGIN ATSTAŠU TIKAI DISKRIMINANTA FORMULU! TIKAI KUR LIKT PAREJĀS... :-D Link to comment Share on other sites More sharing options...
argonaut Decembris 5, 2006 Share Decembris 5, 2006 mēģināju šito taisīt uz Visual Prolog. tikai nezinu, kā var no ievadītā string tipa dabūt real.. piemēram, vienkārši ievadīt skaitli un izvadīt tā kvadrātu: class kvadr predicates atr : (real Sk, real Rez) procedure (i,o). kvIO : () procedure(). end class kvadr implement kvadr clauses atr(Sk,Rez):-Rez = Sk * Sk. kvRun():- console::write("Ievadi skaitli!\n"), Va = console::readLine(), Sk = Va, %Kļūda: The expression has type '::string', which is incompatible with the type '::real' atr(Sk,Rez), console::write("Kvadrāts ir, ", Rez, "\n"). end implement kvadr noteikti i kāda iebūvēta type convert funkcija, bet slinkums un nav laika meklēt :oops: varbūt kāds zin? Link to comment Share on other sites More sharing options...
Borja Decembris 5, 2006 Share Decembris 5, 2006 Aiz neko dariit - uzraxtiiju. 8) USES CRT; VAR A,B,D,K:INTEGER; R,X,F,V:REAL; M:REAL; C:CHAR; BEGIN WRITELN('VERTIBA A`); READLN(A); WRITELN(`VERTIBA B`); READLN(B); WRITELN(`VERTIBA C`); READLN(D); R:=SQR(B)-4*A*D; IF A=0 THEN WRITE(`TAS NAV KVADRĀTVIENĀDOJUMS`) ELSE IF R<0 THEN WRITE(`REĀLAS SAKNES NAV`) ELSE begin X:=-B/(2*A); V:=-B+SQRT( R )/(2*A); M:=-B-SQRT( R )/(2*A); IF R=0 THEN WRITE(`X IR` , X:0:2) ELSE begin WRITELN(`VIENA SAKNE IR`,V:0:2); WRITELN(`OTRA SAKNE IR`,M:0:2); end; C:READKEY; CLRSCR; END; END. Link to comment Share on other sites More sharing options...
Guest ADEX Decembris 5, 2006 Share Decembris 5, 2006 Borja, 1) nav labi mājasdarbus cita vietā pildīt, 2) kas notiks, ja B būs negatīvs? Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 Es jau protams neko, bet man kaut kā no matemātikas stundām pamastkolā atmiņā palicies ka R = b^2 - 4ac , nevis R = sqrt(b) - 4ac.. Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 (labots) Diskriminantu reekjina: D = b (kvadraataa) - 4ac Edit: Mljin, te jau laikam domaaja, kaa Pascal'aa pieraksta... Paarcentos. :roll: Labots Decembris 5, 2006 - krelin Link to comment Share on other sites More sharing options...
Guest ADEX Decembris 5, 2006 Share Decembris 5, 2006 Tomēr pareizi. Pascal'ā Sqr(x) tiešām ir x kvadrātā nevis kvadrātsakne no x Bet cita mājasdarbus pildīt vienalga nav labi. ;-) Link to comment Share on other sites More sharing options...
Krelin Decembris 5, 2006 Share Decembris 5, 2006 ADEX, norakstiit ir labaak? :wink: Link to comment Share on other sites More sharing options...
Luuseens Decembris 5, 2006 Share Decembris 5, 2006 Ok, atvainojos. Arī paskālu neesmu aizticis kādus gadiņus 5 Link to comment Share on other sites More sharing options...
Guest exodus Decembris 5, 2006 Share Decembris 5, 2006 eu dzeki jus te interesantas lietas samuķijuši kamer nebiju, visiem paldies būs ko papētīt man personīgi nav galvenais norakstīt bet saprast jo man ta nav obligata nodarbe Link to comment Share on other sites More sharing options...
argonaut Decembris 5, 2006 Share Decembris 5, 2006 tomēr piespiedos un pārvarēju slinkumu class kvadr predicates kvRun : () procedure(). end class kvadr implement kvadr class predicates atr : (real A, real B, real C, real X1, real X2) determ (i,i,i,o,o). clauses atr(A, B, C, X1, X2):- if A = 0 then console::write("Tas nav kvadrātvienādojums!\n"), fail end if, D = B * B - 4 * A * C, if D < 0 then console::write("Nav reālu sakņu!\n"), fail end if, X1 = (-B + math::sqrt(D))/2/A, X2 = (-B - math::sqrt(D))/2/A. kvRun():- console::write("Kvadrātvienādojums: ax^2+bx+cx=0 \nIevadi a!\n"), Astr = console::readLine(), console::write("Ievadi b!\n"), Bstr = console::readLine(), console::write("Ievadi c!\n"), Cstr = console::readLine(), conversion5x::str_real(Astr,A), conversion5x::str_real(Bstr,B), conversion5x::str_real(Cstr,C), atr(A,B,C,X1,X2), console::write("X1 = ", X1, " X2 = ", X2, "\n"), fail(). kvRun(). end implement kvadr Link to comment Share on other sites More sharing options...
Guest Storm336 Decembris 17, 2006 Share Decembris 17, 2006 Nedomaaju, ka vajadzeetu iispashi aizrauties ar programmeeshanu, ja pat ar pashu primitiivaako kavadraatvienaadojumu nevar tikt galaa... kas tad buus taalaak? XD Link to comment Share on other sites More sharing options...
Krelin Decembris 17, 2006 Share Decembris 17, 2006 Kas buus taalaak? Motivaacija, par spiiti visam, tomeer samaaciities un ''izkosties'' cauri tam. ;-) Link to comment Share on other sites More sharing options...
mefisto Decembris 17, 2006 Share Decembris 17, 2006 uses crt; var a,b,c:integer; r,x:real; begin clrscr; write('vertiba a :`); readln(a); write(`vertiba b :`); readln(b); write(`vertiba c :`); readln(c); if a=0 then writeln(`tas nav kvadraatvienaadojums.`) else begin r:=sqr(b)-4*a*c; if r < 0 then write(`reaalas saknes nav.`) else begin if r=0 then begin x:=-b/(2*a); writeln(`x ir` , x:0:2); end else begin x:=-b+sqrt( r )/(2*a); writeln(`viena sakne ir`,x:0:2); x:=-b-sqrt( r )/(2*a); writeln(`otra sakne ir`,x:0:2); end; end; end; readkey; end. Man nav uz kā pārbaudīt vai nav kļūdu. Bet tavā sākotnējajā progā bija vairākas kļūdas tu veic sakņu aprēķināšanu pirms pārbaudi vai a <> 0. readkey; var atrasties arī bez mainīgā. kamdēļ tev tik daudz tos mainīgos vajag ? tu neatkarīgi no determinanta veic visu veidu sakņu aprēķinus, Tādas nu man tāš tēzes par tavu kodu. edit : vienu kļūdu pielaboju .. nepareizs mainīgais. Link to comment Share on other sites More sharing options...
Recommended Posts
Izveido kontu, vai pieraksties esošajā, lai komentētu
Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas
Izveidot jaunu kontu
Piereģistrējies un izveido jaunu kontu, tas būs viegli!
Reģistrēt jaunu kontuPierakstīties
Jums jau ir konts? Pierakstieties tajā šeit!
Pierakstīties tagad!