Avatar billede jgthb Nybegynder
25. juli 2006 - 00:13 Der er 14 kommentarer og
1 løsning

stop i løkke

Hej

findes der en kommando til at hoppe ud af en løkke, ligesom man kan hoppe ud af et program ved 'close'.
Avatar billede arne_v Ekspert
25. juli 2006 - 00:30 #1
ja

if noget then break;
Avatar billede stone Forsker
25. juli 2006 - 00:33 #2
du kan også bruge repeat until din løkke køre indtil en bestemt betingelse er opfyldt
Avatar billede jgthb Nybegynder
25. juli 2006 - 00:49 #3
ok tak for begge svar, men arne v, gav svaret jeg søgte, så du får den store ære af de 15 point :)
læg et svar
Avatar billede jgthb Nybegynder
25. juli 2006 - 00:50 #4
hvad siger i øvrigt til dette her:
http://www.eksperten.dk/spm/722180

i kan godt få point for at svare, hvis i vil
Avatar billede arne_v Ekspert
25. juli 2006 - 01:16 #5
kommer her
Avatar billede martinlind Nybegynder
25. juli 2006 - 09:01 #6
og Exit spinger ud af en procedure/function
Avatar billede kroning Nybegynder
25. juli 2006 - 18:18 #7
En anden måde er at bruge Goto, det vækker minder om de helt helt gamle dage med basic :-)

var
    i : integer;
  label Afslut;
begin
    for i:=1 to 20 do
      if i=10 then
        Goto Afslut;

    Afslut:
  showmessage(IntToStr(i));
end;
Avatar billede martinlind Nybegynder
25. juli 2006 - 18:23 #8
kroning............ det er lige før du står til en kvaje bajer for den Goto, Hmmmm

( Ved godt den findes, men den skal glemmes og dø i stilhed )
Avatar billede kroning Nybegynder
25. juli 2006 - 19:11 #9
Hæ, jeg regnede nok med at den post ville være årsag til en del kaffe/cola i den gale hals.
Avatar billede hrc Mester
25. juli 2006 - 20:06 #10
kroning: Det reserverede ord "goto" er for hård kost for det uskyldige øre. Lav derfor tre "ava maria repeatus"-løkker efterfulgt af "Bodsøvelser for uøvede" s. 3 til 9. Tag dernæst en uge på vand og brød og dine synder vil være dig tilgivet!

Der er "break" og der er "continue" som også burde nævnes samtidig.

En break hopper ud af løkken mens en continue skipper resten af koden i løkken og starter forfra.

  // Et "break"-eksempel ser således ud:

  i := 0;
  while true do begin
    inc(i);
    if i = 100 then
      break;

    // noget kode her (udføres 99 gange)
  end;

  // Et "Continue"-eksempel ser således ud:

  i := 0; 
  while (i < 100) do begin
    inc(i);
    if odd(i) then
      continue;

    // Noget kode her (udføres kun ved hvert andet gennemløb)
  end; 

I øvrigt. Hvis man designer sine løkker ordentligt er der aldrig brug for "continue" eller "break" - begge anser jeg som syntaktiske fejl der har sneget sig over i Pascal fra C

-  og ja, jeg ved godt at spørgsmålet er afsluttet. Jeg har bare skrivesyge efter snart 3 ugers ferie ...
Avatar billede arne_v Ekspert
26. juli 2006 - 01:28 #11
Pascal er så vidt jeg ved ældre end C, så det er næppe derfra goto kommer.

Jeg vil tro at Pascal har arvet goto fra Algol.
Avatar billede martinlind Nybegynder
26. juli 2006 - 09:07 #12
I kan jo spørge Anders hvorfor han "tog goto med" i turbo og delphi :)
Avatar billede hrc Mester
26. juli 2006 - 11:23 #13
arne_v: "goto" er en pest der har være med fra dag 1, men det var nu "break" og "continue" jeg mente.
Avatar billede arne_v Ekspert
27. juli 2006 - 01:46 #14
Anders tog goto med fordi Wirth havde taget det med
Avatar billede arne_v Ekspert
27. juli 2006 - 01:48 #15
break og continue var ikke med i Algol og er heller ikke med i standard Pascal

Anders kan meget vel have ladet sig inspirere af C til dem

jeg vil bemærke at Modula-2 og Oberon begge har en exit med samme funktion som break,
så Wirth må jo ikke finde den helt ubrugelig
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester