Avatar billede baent Nybegynder
07. november 2002 - 17:09 Der er 11 kommentarer og
1 løsning

Afbryder while under udførelse?

Vi skal lave et program som udfører en funktion så længe en betingelse er opfyldt, hvilket vi vil gøre med en while-løkke. Så snart betingelsen ikke længere er opfyldt skal den afbryde med det samme! Dvs. den skal ikke længere udføre funktionen som er inde i while-løkken, men gå til næste skridt i programmet.

Derfor: vil while-løkken gøre den givne funktion færdig, før den chekker om betingelsen er opfyldt, ELLER vil den kontinuert chekke om betingelserne er opfyldt, og dermed afbryde så snart disse ikke længere er opfyldt?

Forstår I det? Hvis der er spørgsmål, så skriv!
Avatar billede chries Nybegynder
07. november 2002 - 17:12 #1
Den tjekker kun når den er oppe i toppen. Dvs én gang pr gennemløb af koden i while løkken.
Avatar billede driis Nybegynder
07. november 2002 - 17:13 #2
While løkken fungerer sådan

1. Kontrollerer om udsagn er sandt - hvis ikke, springes ud af løkken.
2. Udfører alt mellem { .... }
3. Går til 1.

Derfor er i til jeres brug nok nødt til at tjekke for om betingelsen er opfyldt nogen gange (eksempelvis) i løbet af indholdet i while løkken, og så evt. springe ud af while med break;
Avatar billede jpk Nybegynder
07. november 2002 - 17:18 #3
break hopper ud af løkken...
Avatar billede baent Nybegynder
07. november 2002 - 17:19 #4
Men kan man så lave et kontinuert check? Helt konkret laver vi et program som udfører en funktion sålænge reset-knappen ikke er trykket ind. Den skal afbryde den igangværende funktion uanset hvor langt den er nået. Den må altså ikke gøre den igangværende proces færdig.

driis>> ...og så evt. springe ud af while med break;

Hvad mener du med det? Med en switch funktion eller hvad?
Avatar billede jpk Nybegynder
07. november 2002 - 17:22 #5
while(true)
{
  if(stop)
    break;
}
Avatar billede baent Nybegynder
07. november 2002 - 17:29 #6
While (reset is not true)
{
  if (reset is true)
    break;
  else (udfør funktion)
}
Men så vil den jo stadig udføre funktionen, ikke? Og dermed ikke afbryde før den er udført...
Avatar billede baent Nybegynder
07. november 2002 - 17:30 #7
Ja, vi er jo - som i nok kan læse - ikke de største hajer til programmering....
Avatar billede driis Nybegynder
07. november 2002 - 17:40 #8
baent >> Du skulle vel ikke hænde at gå på Ingeniørhøjskolen i Århus ?
Avatar billede driis Nybegynder
07. november 2002 - 17:42 #9
I bliver simpelthen nødt til at kontrollere om reset aktiveres et antal gange med passende mellemrum, imens jeres funktion udføres.
Avatar billede baent Nybegynder
07. november 2002 - 17:43 #10
Hvad får dig til at tro det?
Avatar billede baent Nybegynder
07. november 2002 - 18:00 #11
Nej, vi går ikke på Ingeniøhøjskolen, men - efter hvad vi kan forstå - har vi åbenbart et tilsvarende problem. Vi skal lave et program til en Harddrinkautomat :-)
Avatar billede baent Nybegynder
07. november 2002 - 20:44 #12
Takker for hjælpen. Fandt selv ud af en metode.

Mvh Bænt (og Benno88)
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