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: 5093 | Odgovora: 23 ] > FB > Twit

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 - pre 228 meseci
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]
 
Odgovor na temu

_v!rus_
BGD

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



+1 Profil

icon Re: Proizvoljan odabir vrednosti...04.07.2005. u 23:19 - pre 228 meseci
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]
 
Odgovor na temu

Đ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 - pre 228 meseci
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?
 
Odgovor na temu

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 - pre 228 meseci
Pa stavis x:=0;
 
Odgovor na temu

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 - pre 228 meseci
Il bolje postavi cijeli kod pa cemo tamo..
 
Odgovor na temu

Đ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 - pre 228 meseci
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.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 22:11 - pre 228 meseci
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]
 
Odgovor na temu

Đ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 - pre 228 meseci
Khmmm, ovaj, cini mi se da je odgovor od malo pre zalutao:)!
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

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

Veruj mi da nije
 
Odgovor na temu

Đ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 - pre 228 meseci
Citat:
Srki_82:...verujem da Passwd zna o cemu pricam...

Citat:
Srki_82: Veruj mi da nije ;)

Moze maaaalo jasnije?
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

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



+148 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...05.07.2005. u 23:10 - pre 228 meseci
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.


 
Odgovor na temu

Đ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 - pre 228 meseci
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?
 
Odgovor na temu

Toyo

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



+1 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...06.07.2005. u 02:26 - pre 228 meseci
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]
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

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



+148 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...06.07.2005. u 11:13 - pre 228 meseci
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...

 
Odgovor na temu

Đ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 - pre 227 meseci
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?
 
Odgovor na temu

Toyo

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



+1 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 21:05 - pre 227 meseci
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.
 
Odgovor na temu

Đ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 - pre 227 meseci
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?:)
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 22:06 - pre 227 meseci
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.
 
Odgovor na temu

Đ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 - pre 227 meseci
Mislim da mi je sad jasno! Nego... sad kad sam ovo ukapirao sa čime da nastavim, u Pascalu, naravno?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Proizvoljan odabir vrednosti i još par pitanja...07.07.2005. u 23:07 - pre 227 meseci
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.
 
Odgovor na temu

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

Strane: 1 2

[ Pregleda: 5093 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

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