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
Stránky: 1
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
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
Stránky: 1