[pascal] program v procedure nejde?

Programovacie jazyky, rady, poradňa...
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

[pascal] program v procedure nejde?

Príspevok od používateľa BX »

Zdravim... Mam taky dotaz: Urobil som nieco taketo a ked som to chcel dat do jedneho programu aj s inymi vecami tak som to strcil do procedury. Problem je ze v procedure vypluva podivne hodnoty, zatial co normalne samotny ide :? Nieze by mi to nejako extra vadilo, no neviem pochopit preco roby to co roby...
Viete mi to nejako vysvetlit? :)

Kód: Vybrať všetko

uses crt;

var a,b,i,x:integer;

begin
     clrscr;
     write('Zadaj cislo ktore chces nasobit: ');
     readln(a);
     write('Napis cislo ktorym chces nasobit: ');
     readln(b);
      for i:=1 to b do x:=(x+a);
     writeln(x);
     readln;
end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

to by si mal skôr ukázať ako to máš v tej procedúre. Zrejme sa ti tam prekrívajú nejaké premenné
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

No do procedury to dam takymto sposobom, nemyslim ze je na tom nieco zle (alebo je?)

Kód: Vybrať všetko

uses crt;

procedure nasobenie;
var a,b,i,x:integer;

begin
     clrscr;
     write('Zadaj cislo ktore chces nasobit: ');
     readln(a);
     write('Napis cislo ktorym chces nasobit: ');
     readln(b);
      for i:=1 to b do x:=(x+a);
     writeln(x);
     readln;
end;

begin
 nasobenie;
end.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

premennú x nikde neinicializuješ. V závislosti od kompilátora môže nadobúdať nulu, alebo nejakú náhodnú hodnotu. Predtým neš s ním (nie s kompilátorom, ale s tým x-kom) začneš robiť by si mal x nastaviť na nulu
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

Super, zas som o nieco mudrejsi :) Vdaka(zase :-D)
Masaker
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1123
Registrovaný: 02 feb 2006, 16:03
Bydlisko: BA
Kontaktovať používateľa:

Príspevok od používateľa Masaker »

za clrscr daj: x:=0; audiotrack neves kde zohnat nejaku online vyukovu prirucku k pascalu? .. bo mame neschopneho profesora a nejak nas neuci ako by mal ..tak sa chcem zdokonali na vlastnu päst..
dik
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Masaker:
skus pohladat tu - http://www.hojko.com/chcete-si-precvici ... 61227.html
pripadne tu mas aj nejake knihy :)
http://www.martinus.sk/?uItem=32919
http://www.martinus.sk/?uItem=32918

BX: preco to neriesie jednoduchsie - x:=a*b; ? :)
Masaker
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1123
Registrovaný: 02 feb 2006, 16:03
Bydlisko: BA
Kontaktovať používateľa:

Príspevok od používateľa Masaker »

lebo x si musi zadefinovat ze na zaciatku procesu je 0. .aspon tak to chapem ja
a ten program je inac trosku zbytocne dodrbany.. ja by som to riesil inac...
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

No v tom mas pravdu, ale mohol by to spravit len takto :)

Kód: Vybrať všetko

     clrscr; 
     write('Zadaj cislo ktore chces nasobit: '); 
     readln(a); 
     write('Napis cislo ktorym chces nasobit: '); 
     readln(b); 
     x:=a*b;
     writeln(x); 
     readln;
//edit:
Hm okej, nic som nepovedal. :D
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

A ak má zadanie aby určil súčin dvoch čísel len pomocou sčítavania? :)
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

ano chcel som urobit nasobenie len pomocou scitania, podobne som urobil aj delenie a odmocnenie... len mocnenie mam trochu problem urobit :)
A Masaker ja viem ze si chcel pomoct ale to ze mam dat x:=0 som zistil uz z prispevku audiotrack-a :-D inak ja mam jednu knihu z ktorej som sa ucil ja, ale neviem ci ti bude dobra (teda ci chces pre pokrocileho, alebo chces "zacat") :)
Tom1622
Expert
Expert
Príspevky: 196
Registrovaný: 24 dec 2007, 23:48

Príspevok od používateľa Tom1622 »

Nechci Vám do toho kecat , ale není problém v proměnných ? Textové nelze počítat ?
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Príspevok od používateľa BX »

Tom1622: Problem bol v inicializacii premennej x... z toho co si napisal som nepochopil co myslis, ake textove? :?
Kazdopadne to uz ide... :)
Napísať odpoveď