Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 21. 06. 2011 21:36

ExSh00t
Příspěvky: 224
Reputace:   
 

Pochopenie ReadLn a WriteLn

program NajSpolDelitel;
uses crt;
var NUMBER1, NUMBER2: longint;

{******PODPROGRAM******}
function DELITEL (A, B: longint):longint;
var C:longint;
begin
while B <> 0 do
    begin
     C := A mod B;
     A := B;
     B := C
    end;
DELITEL := A;
end;

{******HLAVNY PROGRAM******}
begin
ClrScr;
WriteLn('(Program na urcenie najvacsieho spolocneho delitela 2 cisiel) Zadaj 2 prirodzenecisla.');
Read(NUMBER1);
Write(' ');
Read(NUMBER2);
WriteLn('Najvacsi spolocny delitel je ',DELITEL(NUMBER1, NUMBER2),'.');
ReadLn
end.

-takto sa program ukončí aj ked nerozumiem prečo...chcem docielit toho, aby po zadani NUJMBER1 urobil program medzeru a uživatel vloží len NUMBER2 bez stlačenia Enteru či medzerniku.
-ak pridám ešte jeden ReadLn program funguje, takisto ak zmenim Read(NUMBER2); ReadLn funguje
-ale stále robí automaticky medzeru a Read NUMBER2 na novy riadok pri čom nie je napisane ReadLn(NUMBER2);, ak tak je program robí dva riadky, nechápem teraz ako vôbec tie príkazy fungujú, niečo mi riadne uniká...

Offline

 

#2 21. 06. 2011 22:13

janca361
.
Příspěvky: 3284
 

Re: Pochopenie ReadLn a WriteLn

↑ ExSh00t:
Pokud chápu tvůj problém... tak možná využij tohoto:
Readln, writeln odřídkuje - tj. přečte/vypíše a udělá ENTER
exituje ještě write a read, který jen přečte/vypíše a mezeru neudělá, ale tu vložíš jednoduše pomocí write(' ')

Offline

 

#3 22. 06. 2011 06:27 — Editoval Honzc (22. 06. 2011 06:47)

Honzc
Příspěvky: 4641
Reputace:   248 
 

Re: Pochopenie ReadLn a WriteLn

↑ ExSh00t:
Zkus hlavní program takto:
begin
  ClrScr; //to tam asi ani nemusí být
  WriteLn(' Program na urcenie najvacsieho spolocneho delitela 2 cisiel');
  Write(' Zadaj 2 prirodzene cisla, oddelene medzerou ');
  ReadLn(NUMBER1,NUMBER2);
  WriteLn(' Najvacsi spolocny delitel je ',DELITEL(NUMBER1,NUMBER2),'.');
  ReadLn; //čeká na  ENTER a pak skončí
end.

Samozřejmě, až budeš vkládat ta dvě čísla, tak je napíšeš na jeden řádek, uděláš mezi nimi mezeru a potom dáš ENTER.

Po editaci
A nebo takto:
begin
  ClrScr; //to tam asi ani nemusí být
  WriteLn(' Program na urcenie najvacsieho spolocneho delitela 2 cisiel');
  WriteLn(' Zadaj 2 prirodzene cisla ');
  Write(' ');
  ReadLn(NUMBER1);
  Write(' ');
  ReadLn(NUMBER2);
  WriteLn(' Najvacsi spolocny delitel je ',DELITEL(NUMBER1,NUMBER2),'.');
  ReadLn;
end;

Tady ale stejně budeš muset vždy po zadání čísla dát ENTER.

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson