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 05. 06. 2011 13:32

květoslav
Příspěvky: 31
Reputace:   
 

Pascal, Delphi příkaz (readln;)

Zdravím, mám tady trochu odlehčenou verzi euklidovy věty... chci se zeptat proč se mi program zavírá a nečeká na odenterování. Příkaz readln; bez parametru jsem nakonci uvedl.  Je někdo schopný vysvětlit proč při použítí příkazu, pro načtení dvou čísel readln(a,b) stačí na konci programu uvést readln; jednou ... a při použití read(a,b) musím na konci readln; uvést dvakrát jinak se mi program vždy zavře. A ještě zda za while do má být příkaz begin . Děkuju za odpověď.
program jjj;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  x,y,a,b:integer;

begin
  read(a,b);
  x:=a;
  y:=b;
  while x<>y do
  if x>y then
    x:=x-y
  else
    y:=y-x;
  writeln(x:3);
  readln;
  readln;
end.






A omlouvám se za bordel v sekci ostatní...

Offline

  • (téma jako vyřešené označil(a) květoslav)

#2 05. 06. 2011 20:14

Stýv
Vrchní cenzor
Příspěvky: 5710
Reputace:   215 
Web
 

Re: Pascal, Delphi příkaz (readln;)

ten první readln "sežere" konec toho řádku s čísly a,b. druhej readln čeká na novej řádek. když použiješ readln(a,b), tak žádnej konec řádku nezbyde, a tedy už první readln čeká na novej řádek.

blok begin-end je třeba použít, jenom když potřebuješ obalit víc příkazů. když tam máš jenom jeden příkaz (u tebe if-then-else), tak to není třeba

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson