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

Proizvoljan odabir vrednosti i još par pitanja...

[es] :: Pascal / Delphi / Kylix :: Proizvoljan odabir vrednosti i još par pitanja...

Strane: 1 2

[ Pregleda: 1819 | Odgovora: 23 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Proizvoljan odabir vrednosti i još par pitanja...04.07.2005. u 22:57

U pitanju je pascal, naravno. Interesuje me da li promenljiva moze da proizvoljno uzme vrednost iz skupa nekih brojeva i kako se to moze izvesti.
Na primer, imam promenljivu x koja treba da uzme neku vrednost, bilo koju, u rasponu od 1 do 10! Kako?

Hvala...

[Ovu poruku je menjao Đole dana 05.07.2005. u 15:32 GMT+1]
04.07.2005. u 22:57 

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.pat-pool.bgd.sbb.co.yu.



Profil

icon Re: Proizvoljan odabir vrednosti...04.07.2005. u 23:19
Prvo na pocetak programa stavis jedno [Randomize;], pa onda koristis f-je [Succ(Random(10))]

off-topic:
Mada, ne postoji pojam "bilo koji broj", ne samo u racunarskom svetu, nego u svetu uopste, cak i brojevi koji tebi padnu na pamet su necim uzrokovani, pa nisu "bilo koji" ;)

[Ovu poruku je menjao _v!rus_ dana 05.07.2005. u 00:20 GMT+1]
04.07.2005. u 23:19 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti...05.07.2005. u 14:28
Hvala na brzom odgovoru!
Da ne bih otvarao novu temu postavicu jos jedno pitanje ovde:
Naime, kako da na kraju ciklusa sa naredbama repeat i until, promenljive resetuju odnosno 'izgube' vrednosti koje su primile u tom istom ciklusu?
05.07.2005. u 14:28 

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 15:05
Pa stavis x:=0;
05.07.2005. u 15:05 

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 15:07
Il bolje postavi cijeli kod pa cemo tamo..
05.07.2005. u 15:07 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:02
Dakle, znam nesto pascala iz skole, sto smo sad radili u trecog godini pa sam odlucio da nastavim dalje. Uzeo sam malo da se igram, i pala mi na pamet igra u kojoj trebas da pogodis broj iz tri pokusaja. Evo i kod-a, ako ima nekih gluposti nemojte mi se smejati. Pomoc je dobrodosla i ocekujem je!
Code:
Program Pogodi_broj;
var tezina,odgovor,S,i,x,p:integer;
    Pokusaj:array[1..3] of integer;

    kraj:boolean;
Procedure Odabir_tezine;
begin
  writeln('Izaberi nivo tezine');
  writeln('1. Lako');
  writeln('2. Umereno');
  writeln('3. Tesko');
  repeat
    readln(Tezina);
    if Tezina=1 then S:=5;       // ove brojeve treba da bira
    if Tezina=2 then S:=25;     //  nasumicno, ali sada stoji ovako
    if Tezina=3 then S:=50;     //  radi lakseg testiranja!
    if Tezina>3 then writeln('Aj biraj ponovo!');
  until (Tezina=1) or (Tezina=2) or (Tezina=3);
end;
begin
  kraj:=false;
  repeat
  Odabir_tezine;
  writeln('Pogadjaj!');
  while(i<3) do
  for i:=1 to 3 do
  begin
    readln(Pokusaj[i]);
    p:=i;
    if Pokusaj[i]<S then writeln('Veci je');
    if Pokusaj[i]>S then writeln('Manji je');
    if Pokusaj[i]=S then i:=3;
    if Pokusaj[i]=S then writeln('Bravo');
  end;
  if (Pokusaj[1]=S) or (Pokusaj[2]=S) or (Pokusaj[3]=S) then writeln('Bravo, to je trazeni broj!');
  if p=3 then writeln('Nemate vise pokusaja');
  writeln('Zelite li jos jednu partiju?');
  readln(odgovor);
  if odgovor=1 then Kraj:=false;
  if odgovor=2 then Kraj:=true;
  until Kraj=true;
  readln(x);
end.
05.07.2005. u 22:02 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:11
Lepo... mozda bi mogao to da uradis uz pomoc Turbo Vision-a (rad sa prozorima, misem, dialozima, dugmicima... u Pascalu... verujem da Passwd zna o cemu pricam ). Jeste da ces morati da se malo pomucis, ali ce vredeti

BTW: Ovo je najkraci moguci program (Turbo Vision) u TP 7
Code:
program TVProba;

uses
  App;

var
  A: TApplication;

begin
  A.Init;
  A.Run;
  A.Done;
end.

Ima podrsku za misa (klikom na donji levi ugao u kojem pise Alt + X ce izaci iz programa, ima podrsku za Accelerator keys... skoro sve kao Windows, ali se sve iscrtava obicnim karakterima).

[Ovu poruku je menjao Srki_82 dana 05.07.2005. u 23:15 GMT+1]
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
05.07.2005. u 22:11 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:19
Khmmm, ovaj, cini mi se da je odgovor od malo pre zalutao:)!
05.07.2005. u 22:19 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:22
Citat:
Đole: Khmmm, ovaj, cini mi se da je odgovor od malo pre zalutao!

Veruj mi da nije
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
05.07.2005. u 22:22 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:31
Citat:
Srki_82:...verujem da Passwd zna o cemu pricam...

Citat:
Srki_82: Veruj mi da nije ;)

Moze maaaalo jasnije?
05.07.2005. u 22:31 

peromalosutra
Ivan Rajkovic
Banjaluka

Član broj: 54774
Poruke: 397
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 23:10
Evo ti slican program koji sam ja prije radio. Na pocetku mozes da odaberes procenat laznih odgovora (bilo bi prelako kad bi ti program stalno govorio istinu). Kod i nije nesto uredan (to mi nije jaca strana), ali radi.

PS: probaj za procenat laznih unjeti 100 :-)
Code:

Program Pogadjanje;
Uses WinCrt;                      {ili stav vec}
const brojeva=1000;
Var prlaznih,broj,pokusaj,odabir,br:integer;

Procedure pocetak;
Begin
Randomize;
Broj:=Random(brojeva);       {bira broj koji ces da pogadjas}
Write ('Unesi procenat laznih odgovora: ');
Readln (Prlaznih);
Clrscr;
End;

Procedure istina;
Begin
If pokusaj<broj then writeln ('Broj je veci.')
else if pokusaj>broj then writeln ('Broj je manji.')
else writeln ('Pogodio si!');
End;

Procedure laz;
var t:integer;
Begin
t:=random (2);               {odlucuje da li ce reci da je veci ili manji}        
If t=0 then writeln ('Broj je veci.')
else writeln ('Broj je manji.');
End;

Begin
pocetak;
Repeat
Write ('>');
Readln (pokusaj);            {odlucuje da li ce da slaze ili kaze istinu}
odabir:=random (100);
if odabir>prlaznih then istina
else laz;
inc (br);
writeln;
Until pokusaj=broj;
ClrScr;
Writeln ('Procenat laznih odgovora: ',prlaznih);
Writeln ('Br. pogodjen iz ',br,'. pokusaja.');
end.

ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
05.07.2005. u 23:10 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...06.07.2005. u 00:32
Hmmm... Ovaj prosli kod mi bas i nije pomogao, nazalost!
Mene u stvari interesuje kako da promenljive 'izgube' vrednost, znaci, da budu kao na samom pocetku izvrsavanja programa... Da li je to moguce uraditi nekako?
06.07.2005. u 00:32 

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...06.07.2005. u 02:26
Pa to ti bas tako nece proci.
1. Izbegavaj da u for petlji menjas vrednost i (to tako ne bi smelo da se radi)
2. s ti predstavlja samo nivo tezine do kojeg se bira broj a ti moras da uvedes novu promenljivu r naprimer koja ce da generise broj izmedju tog intervala.
3. taj niz u koji smestas prethosne odgovore nije potreban

Evo ja sam prepravio nesto pa mozda ce da radi, samo sto je pokusaj integer (a ne niz) i uvedene su varijable r: integer, nadjen: boolean koje treba da dopises.
Znaci samo glavni program:
Code:

begin
  kraj:=false;
  repeat
   Odabir_tezine;
   writeln('Pogadjaj brojeve izmedju 0 - !', S);
   nadjen := false;
   r := random(S)+1;
   i := 0;
  while(i<3) and not nadjen do
   begin
    inc(i);
    readln(Pokusaj);
    if Pokusaj<r then writeln('Veci je')
     else if Pokusaj>r then writeln('Manji je')
     else nadjen := true;
   end;
   if nadjen then writeln('Bravo') else writeln('Ne ne ne. Gotov si.');
   writeln('Zelite li jos jednu partiju?');
   readln(odgovor);
  until (odgovor =2);
  readln;
end.




[Ovu poruku je menjao Toyo dana 06.07.2005. u 03:28 GMT+1]
06.07.2005. u 02:26 

peromalosutra
Ivan Rajkovic
Banjaluka

Član broj: 54774
Poruke: 397
*.dialup.blic.net.

Jabber: peromalosutra@elitesecurity.org
Sajt: computer-stuff.freehostia..


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...06.07.2005. u 11:13
Pa moj kompajler inicijalizuje vrijednost "brojnih" (integer,longint,real..) varijabli na 0, logickih (boolean) na true, a za char nisam siguran, ali je lako provjeriti. Dakle ako hoces da ti varijeble budu kao na pocetku programa samo navedes, npr. s:=0; ili b:=true; (iako neki kompajleri drugacije inicijalizuju varijable, na primjer na minint i slicno).

Iako nisam siguran bas zasto ti to treba...
ivan@ivan-desktop:~$ ./encrypt.run
*** stack smashing detected ***: ./encrypt.run terminated
Aborted (core dumped)
06.07.2005. u 11:13 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 20:14
Code:
Program Pogodi_broj;
var tezina,Pokusaj,odgovor,S,i:integer;
    kraj,pogodjen:boolean;
Procedure Odabir_tezine;
begin
  writeln('Izaberi nivo tezine');
  writeln('1. Lako');
  writeln('2. Umereno');
  writeln('3. Tesko');
  repeat
    randomize;
    readln(Tezina);
    if Tezina=1 then S:=Random(10);
    if Tezina=2 then S:=Random(50);
    if Tezina=3 then S:=Random(100);
    if (Tezina<1) or (Tezina>3) then writeln('Aj biraj ponovo!');
  until (Tezina=1) or (Tezina=2) or (Tezina=3);
end;
begin
  repeat
  Odabir_tezine;
  case Tezina of
  1:writeln('Broj koji trebas da pogodis se nalazi u intervalu od 1-10');
  2:writeln('Broj koji trebas da pogodis se nalazi u intervalu od 1-50');
  3:writeln('Broj koji trebas da pogodis se nalazi u intervalu od 1-100');
  end;
  kraj:=false; pogodjen:=false; Pokusaj:=0;
  i:=0;
  writeln('Pogadjaj');
  while (i<3) and (pogodjen=false) do
  begin
    i:=i+1;
    readln(Pokusaj);
    if Pokusaj<S then writeln('Veci je');
    if Pokusaj>S then writeln('Manji je');
    if Pokusaj=S then pogodjen:=true;
  end;
  if (Pokusaj<>S) then writeln('Nemate vise pokusaja');
  if pogodjen=true then writeln('Svaka cast, ',S,' je trazeni broj!');
  writeln('Zelite li jos jednu partiju?');
  repeat
  readln(odgovor);
  if odgovor=1 then Kraj:=false
  else if odgovor=2 then Kraj:=true
  else writeln(' DA(1) ili NE(2)? ');
  until (odgovor=1) or (odgovor=2);
  until Kraj=true;
  writeln('Tresni ENTER za izlazak.');
  readln;
end.

Jeeeeee, radi! Hvala vam svima na pomoci!
Jedino sto mi nije jasno je:
Code:
while (i<3) and (pogodjen=false) do

...zasto ide and umesto or?
07.07.2005. u 20:14 

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 21:05
Pa zamisli da pogodis iz prve:
tada je i=1 a pogodjen =true

(i<3) or (pogodjen=false) bi dalo tacan izraz i program bi ponovo usao u while.

Evo malo logike: A and B <-> not (not A or not B)
znaci ako bas insistiras sa OR, mogao bi da pises: while not ((i>=3) or (pogodjen=true)), to bi doslo na isto.

Pozdrav.
07.07.2005. u 21:05 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 21:29
A zasto bi ponovo usao u while kada je... eto, da uzmem tvoj prime i=1 a pogodjen =true. Dakle on ce vrsiti ono sto se nalazi u ciklusu dok se jedan od uslova ne porusi. U ovom slucaju pogodjen=true i on bi trebao da preskoci ciklus... Zar ne! Bar meni tako zvuci logicno, ali koliko vidim, ja sam nesto pogresno shvatio... Valjda ce mi se razjasniti?:)
07.07.2005. u 21:29 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 22:06
While (while = dok je) se izvrsava sve dok je izraz tacan, a Repeat Until (until = sve dok ne bude) sve dok je izraz netacan... mozda ce ti sad biti lakse.
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
07.07.2005. u 22:06 

Đole
Mladenovac

Član broj: 1931
Poruke: 68
*.smin.sezampro.yu.

Sajt: www.var-plast.com


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 22:38
Mislim da mi je sad jasno! Nego... sad kad sam ovo ukapirao sa čime da nastavim, u Pascalu, naravno?
07.07.2005. u 22:38 

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1402
82.208.201.*

ICQ: 246436949


Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 23:07
Pocni da ucis Turbo Vision u Pascalu. Ako imas TP7 onda imas i Turbo Vision. To su objekti za rad sa misem, prozorima i slicno. Ako budem imao vremena napisacu ovaj tvoj program koristeci Turbo Vision pa ces videti kako to izgleda.
DirectX na srpskom | GLScene na srpskom

There are only 10 types of people in this world; those who understand binary and those who don't.
07.07.2005. u 23:07 

[es] :: Pascal / Delphi / Kylix :: Proizvoljan odabir vrednosti i još par pitanja...

Strane: 1 2

[ Pregleda: 1819 | Odgovora: 23 ]

Postavi temu Odgovori

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