Innholdsfortegnelse:

Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring: 8 trinn
Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring: 8 trinn

Video: Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring: 8 trinn

Video: Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring: 8 trinn
Video: Python : Operators in a easy way | Added Subtitles | python for beginners 2024, November
Anonim
Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring
Interessant programmeringsveiledning for designer-programprosesskontroll-sløyfeerklæring

Programprosesskontroll- sløyfeerklæring

Fra dette kapitlet vil du komme i kontakt med en viktig og kraftfull kunnskapspunkt-løkkeerklæring.

Før du leser dette kapitlet, hvis du vil tegne 10 000 sirkler i programmet, kan du bare gjøre med en forferdelig metode. Det vil si å skrive 10 000 linjer med ellipsekode. De late kodedesignerne som vil forbedre effektiviteten for all del, ville definitivt ikke tillate at dette skjedde. Så, loop statement blir opprettet. Med denne uttalelsen kan du intuitivt føle kraften i datamaskinautomatisering.

Trinn 1: For sløyfe

Det er mange sløyfeerklæringer, blant dem er den mest brukte For Loop. Vi vet alle at funksjonstegning kontinuerlig opererer i omløp. Start fra den første setningen i begynnelsen, den vil implementere fra topp til bunn til siste setning. Etter at operasjonen er fullført, starter den på nytt fra den første setningen. For setning ligner litt på funksjonstegn. Kode innen uttalelse kan utføres gjentatte ganger.

Her er grammatikkstrukturen:

For (uttrykk 1; uttrykk 2; uttrykk 3) {

Sløyfe kropp

}

Det er åpenbart at setninger i loop body er det vi forventet å bli implementert gjentatte ganger. Uttrykk 1 brukes til å initialisere og tildele den første verdien til loop -variabelen. Uttrykk 2 er for sløyfetilstand. Uttrykk 3 vil oppdatere loop -variabelverdien.

Hva er loop -variabel? Det tilsvarer faktisk en lokal variabel. La oss se på et komplett forfatterskap.

for (int i = 0; i <10; i ++) {

Sløyfe kropp

}

For å realisere sløyfefunksjon, er setning hovedsakelig avhengig av en lokal variabel, som vil bli brukt ved sløyfeterminering. Den lokale variabelen i eksemplet ovenfor er i. Uttrykk 1 har fullført initialiseringen av den lokale variabelen. Senere, hver gang løkken opererer for en gangs skyld, må denne variabelen oppdateres. Blant eksemplet ovenfor brukes i ++ i uttrykk 3 for å realisere oppdateringsfunksjonen. Gjennom den vil variabelen øke 1 hver gang den oppdateres. Til slutt kan koden i loop -kroppen ikke sløyfes på ubestemt tid, ellers kan sistnevnte utsagn ikke utføres. Dermed trenger vi en terminal tilstand. Express 2 er bare for det. Her vil programmet bedømme om i er mindre enn 10. Hvis det er det, så fortsett å operere. Hvis det ikke er det, så hopp ut av løkken.

Derfor er operasjonssekvensen for setning akkurat slik.

Uttrykk 1 (initialisering av lokal variabel)

Uttrykk 2 (fornøyd, fortsett deretter å operere)

Loop body (første opplag)

Uttrykk 3 (oppdatering)

Uttrykk 2 (fornøyd, fortsett deretter å operere)

Loop body (andre sirkultaion)

Uttrykk 3 (oppdatering)

Uttrykk 2 (fornøyd, og fortsett deretter å operere)

Loop body (tredje opplag) …

Uttrykk 3 (oppdatering)

Uttrykk 2 (Ikke fornøyd, hopp deretter ut av løkken)

Du kan simulere denne sekvensen for utførelse i hodet ditt flere ganger. Men det er umulig å virkelig forstå koden uten å skrive den med hånden for en gangs skyld. Når vi ønsker å finne ut et merkelig konsept, kan vi skrive ut verdien i konsollen gjennom println -setningen.

Kodeksempel (5-1): ugyldig oppsett () {

for (int i = 0; i <10; i ++) {

println ("kjør");

}

}

Du kan telle antall kjøreutganger i konsollen. Her er det nøyaktig 10. Dette forteller deg hvor mange ganger koden i sløyfekroppen har blitt utført. Imidlertid kan vi fortsatt ikke oppdage hvilke endringer som faktisk har skjedd i sløyfen. Så vi kan prøve å endre karakter "kjøre inn i variabel" i ", og se hva som vil skje.

Kodeksempel (5-2): ugyldig oppsett () {

for (int i = 0; i <10; i ++) {

println (i);

}

}

Nå kan vi se verdien i i sløyfekroppen øker kontinuerlig. Senere kan vi bruke denne verdien til å forstå løpens nåværende prosess.

I kodeeksempel (5-2) endres verdien av i fra 0 til 9. Sammenlignet med de faktiske sløyfetidene ser det ut til å alltid ha 1 mindre. Hvis du ikke blir vant til det, kan uttrykket i parentes for for uttalelse skrives til følgende:

for (int i = 1; i <= 10; i ++)

Dermed korresponderer jeg rettferdig med sløyfetid. Betydningen av "<=" er mindre enn og lik. Så når jeg er lik 10, vil den fortsatt oppfylle betingelsen. Derfor vil det fungere en gang til sammenlignet med å bli skrevet inn i <10. Selv om det er start fra 1, er sløyfetidene fortsatt 10. Selvfølgelig, hvis det ikke er behov for noe spesielt, vil jeg foreslå at du bruker skrivemetoden i eksempel i begynnelsen. Senere vil vi introdusere vektor eller matrise for deg, som begge får elementet sitt med abonnementet. Og de standardiserte abonnementene starter alle fra 0. Å definere initialverdien til 0 er den relativt vanlige praksisen.

I eksemplet ovenfor, hvis vi skriver i er over 0, krasjer pogrammet. Fordi variabelen stadig øker, vil den aldri tilfredsstille denne betingelsen. Dette er akkurat som det aldri kan stoppes, slik at programmet vil løpe inn i endeløs løkke.

Lokale variabler i for-setningen kan ikke bare deklarere plasttyper, men også deklarere variabler i flytende typer. For eksempel kan det skrives som (float i = 0; i <10; i + = 0,02).

Trinn 2: Bruk for loop for å løse matematiske problemer

Husker du fortsatt en historie om matematiker Gauss i barndommen? På den tiden var Guass 10 år gammel. Læreren hans ønsket å tildele en oppgave i klassen, og spørsmålet var

1+2+3+4……+97+98+99+100=?

Hvis du regner med hendene, vil det ta deg lang tid. Men Guass ser ut til å ha funnet ut metoden for summering av den aritmetiske sekvensen allerede. Så like etter at spørsmålet er gitt, sa han enkelt ut svaret, noe som hadde overrasket læreren hans.

Nå husker vi kanskje ikke fremdeles hva som er summeringen av den aritmetiske sekvensen, men vi kan få svaret på en primitiv og voldelig måte. Og det er for loop. Siden det bare er et lite stykke kake for datamaskiner å telle, må vi beskrive spørsmålet til et språk som kan gjenkjennes av datamaskinen, så kan vi enkelt få svaret vårt.

Kodeksempel (5-3):

ugyldig oppsett () {

int svar = 0;

for (int i = 1; i <= 100; i ++) {

svar += i;

}

println (svar);

}

Jeg tror resultatet du får er det samme som svaret Guass rapporterte: det er 5050!

Tips: Navnet på lokale variabler i for loop kan endres etter ønske under forutsetning av at det overholder forskriftene om navngivning av navn. Du kan skrive det for å være (int k = 1; k <= 100; k ++). Hvis det ikke skjedde noen spesielle forhold, er det standard i som navnet på variabelen.

Trinn 3: For sløyfetegning

Etter en serie med tilsynelatende kjedelig sengetøy, kan vi endelig komme inn i en mer interessant seksjon. Det er å bruke for loop for å tegne bilder. Vi kan sette til side den kjedelige matematiske beregningen nå. Vi designere er mer følsomme for grafikk.

Bruk for sløyfe for å tegne et sirkelarray

Når vi ønsker å bruke loop for å representere en gruppe gjentatte elementer, må vi sørge for at numeriske forhold til disse elementene er på forhånd, så kan vi bruke loop for å enkelt realisere det i stedet for å gjøre massivt gjentagelsesarbeid. Anta at hvis vi vil tegne en sirkelrekke like spredt i horisontal retning. Den dydige koordinaten er uendret mens den horisontale koordinaten endres. Og fra venstre til høyre øker den horisontale koordinaten stadig, og den økende avstanden er den samme. På dette tidspunktet kan vi bruke i in for loop for å få den horisontale koordinaten til hver sirkel.

Kodeksempel (5-4): ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (83, 51, 194);

noStroke ();

}

ugyldig trekning () {

for (int i = 0; i <7; i ++) {

ellipse (50,0 + i * 100,0, høyde/2,0, 80,0, 80,0);

}

}

50 står for startposisjonen til den første sirkelen i venstre. 100 i i * 100 representerer den økende avstanden.

Trinn 4: Bruk for loop til å tegne et tilfeldig rundpunkt

Ovenstående grafiske posisjon er forutsigbar. Dette vil minimere mye interesse. Vi kan bruke tilfeldig funksjon vi refererte til i forrige kapittel og prøve å skrive den i tegningsfunksjon.

Kodeksempel (5-5):

ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (0);

noStroke ();

}

ugyldig trekning () {

bakgrunn (0);

for (int i = 0; i <10; i ++) {

float randomWidth = tilfeldig (60,0);

ellipse (tilfeldig (bredde), tilfeldig (høyde), randomWidth, randomWidth);

}

}

Her er grunnen til at posisjonen til sirkelen blinker kontinuerlig på grunn av at hver gang funksjonen tilfeldig opererer for en gang, er resultatet tilfeldig. Fordi funksjonstegning er standard for å kjøre 60 bilder per sekund, så vil hver 10. sirkel trukket i et sekund endre posisjonen for 60 ganger. Denne raske blitsen gjør at bildet ser ut til å ha mer enn bare 10 sirkler. Endre en enkel verdi i programmet vil gi deg en helt annen effekt. Vi kan endre sløyfetidene ved å revidere terminaltilstanden. Den terminale tilstanden på bildet nedenfor er i <100

  1. Her er effekten når terminaltilstanden er i <1000:
  2. RandomSeed
  3. Hva kan jeg gjøre hvis jeg ikke vil at posisjonen til sirkelen genereres tilfeldig, så vel som blitsen? En metode er å bygge og lagre uavhengige variabler for hver sirkel og initialisere disse variablene i oppsettet. Tilordne disse variablene en tilfeldig verdi. Således, når vi bruker tegningsfunksjon innen draw, er det vi påkalte verdien som er lagret i variabler. Det vil ikke endre seg når som helst. For å tegne 10 sirkler kan vi bare bruke denne metoden. Men hva om vi vil tegne 1000 sirkler, eller 10 000 sirkler? Det vil være ganske plagsomt hvis vi bruker denne tradisjonelle metoden for å bygge disse variablene og gi den et navn. Vi trenger ikke å lære en ny variabel byggemetode. Her er en fleksibel metode som kan hjelpe oss med å nå dette målet. Det vil si å bruke randomSeed. La oss nå se på effekten etter å ha blitt brukt. Kodeksempel (5-6): [cceN_cpp theme = "dawn"] ugyldig oppsett () {størrelse (700, 700); bakgrunn (0); noStroke ();}
  4. ugyldig trekning () {

    bakgrunn (0);

    randomSeed (1);

    for (int i = 0; i <10; i ++) {

    float randomWidth = tilfeldig (20,0, 60,0);

    ellipse (tilfeldig (bredde), tilfeldig (høyde), randomWidth, randomWidth);

    }

    } [/cceN_cpp]

    Sammenlignet med koden før, har den ingen endringer, bortsett fra at radiusområdet for sirkelen endres fra 10 til utover 30 med en setning på ofSeedRandom bare. Etter å ha lagt til denne setningen, virker grafikken blitt statisk.

    Kall format:

    randomSeed (a);

    Blant dette formatet er innstillingen til a seed. Du må fylle et helt tall (skriv verdien for flytende punkt i P5, det vil ikke gå galt, men behandle det som et heltall) inn i det. Funksjonen til randomSeed er å sette frøet til tilfeldig verdi. Deretter vil det generere forskjellige tilfeldige matriser i henhold til forskjellige frø. Etter det påkaller vi funksjon tilfeldig slik at resultatet av retur er bestemt. Her er det bestemte ikke for resultatet er en bestemt verdi, men for den genererte matrisen. Det vil si at resultatet av retur er bestemt i forhold til påkallingstidene.

    Kodeksempel (5-7): [cceN_cpp theme = "dawn"] ugyldig oppsett () {

    randomSeed (0);

    for (int i = 0; i <5; i ++) {

    println (tilfeldig (10));

    }

    } [/cceN_cpp]

    Nå bruker vi println til å gjøre et eksperiment. Etter bruk av randomSeed, hver gang du lukker programmet og starter programmet på nytt, vil det gå tilbake til en streng med samme resultat. Verdien tilsvarer sekvensen en etter en. Hvis du sletter det, vil det hver gang gå tilbake til en annen verdi. Hvorfor har den denne innstillingen? Det er på grunn av den tilfeldige verdien i seg selv i programmet er pseudo tilfeldig. Resultatet virker tilfeldig, men det genereres faktisk av en fast og repeterbar beregningsmetode. Det tilsvarer å angi en primitiv verdi for randomSeed, så blir følgende resultat beregnet i henhold til dette frøet. Imidlertid, hvis vi ikke angir frøet, vil programmet som standard bruke dagens systemtid til å generere frø. Derfor er resultatet av hver operasjon annerledes. Eksemplet nedenfor kan hjelpe deg med å bedre forstå randomSeed.

    Eksempelkode (5-8): [cceN_cpp theme = "dawn"] ugyldig oppsett () {

    størrelse (700, 700);

    bakgrunn (0);

    noStroke ();

    }

    ugyldig trekning () {

    randomSeed (1);

    for (int i = 0; i <10; i ++) {

    float randomWidth01 = tilfeldig (10, 60);

    ellipse (tilfeldig (bredde), tilfeldig (høyde), randomWidth01, randomWidth01);

    println (randomWidth01);

    }

    randomSeed (1);

    for (int i = 0; i <10; i ++) {

    float randomWidth02 = tilfeldig (10, 60);

    ellipse (tilfeldig (bredde), tilfeldig (høyde), randomWidth02, randomWidth02);

    println (randomWidth02);

    }

    } [/cceN_cpp]

    Prøv å revidere den andre randomSeed (1) til randomSeed (0) og sammenligne de endelige resultatene.

    Tips: I P5 trenger vi bare å påkalle funksjon noLoop på slutten av trekningen, slik at vi kan få samme effekt. Funksjonen er å avslutte programmet. Det er ganske annerledes enn de ovennevnte arbeidsprinsippene i naturen.

Trinn 5: Bruk for Loop to Draw Line

Etter at vi har mestret bruken av randomSeed, kan vi prøve å endre tegningsfunksjonen. For eksempel, endre sirkeltegning til strektegning. Bare hvis vi designer noen endrede forskrifter til slutten av linjen, kan vi bruke mange linjer sammenflettet for å lage et unikt mønster.

Kodeksempel (5-9):

[cceN_cpp theme = "dawn"] ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (0);

}

ugyldig trekning () {

randomSeed (0);

for (int i = 0; i <2000; i ++) {

flyte x1 = bredde/2,0;

float x2 = tilfeldig (50,0, 650,0);

slag (255, 20);

linje (x1, 50, x2, 650);

}

} [/cceN_cpp]

Lag Simple Brush

Tilbake til for loop igjen. Eksemplene ovenfor er ikke interaktive. Hvis vi ønsker å få resultatet til å bli mer interessant, kan vi ikke glemme å kombinere mouseX og mouseY i koden vår.

Kodeksempel (5-10):

[cceN_cpp theme = "dawn"] ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (255);

noStroke ();

}

ugyldig trekning () {

for (int i = 0; i <1000; i ++) {

fyll (0, 30);

flyte x = mouseX + tilfeldig (-50, 50);

flyte y = musY + tilfeldig (-50, 50);

ellips (x, y, 2, 2);

}

} [/cceN_cpp]

Det opprettes en "spredningspunkt" -børste. Fordi hvert intensive mini -rundepunkt er basert på musens posisjon, kan det bevege begrensede retninger fra de fire retningene til venstre, høyre, opp og ned. Så den endelige formspredningen til børsten ligner en firkant.

Kodeksempel (5-11):

[cceN_cpp theme = "dawn"] ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (255);

noStroke ();

}

ugyldig trekning () {

for (int i = 0; i <1000; i ++) {

flyteforhold = mouseX/(float) bredde;

flyte x = mouseX + tilfeldig (-50, 50);

flyte y = musY + tilfeldig (-50, 50);

fyll (0, forhold * 255, 255 * (1 - forhold), 30);

ellips (x, y, 2, 2);

}

}

[/cceN_cpp]

Hvis vi bruker verdien av mouseX for å påvirke fyllfargen, får vi en mye mer magisk fargegradient.

Trinn 6: For Loop Nested

For loop kan hekkes. Du kan skrive en for -sløyfe igjen i for -løkken. Når du trenger å tegne en todimensjonal prikkmatrise, kan du velge denne metoden.

Kodeksempel (5-12):

[cceN_cpp theme = "dawn"] ugyldig oppsett () {

størrelse (700, 700, P2D);

bakgrunn (202, 240, 107);

}

ugyldig trekning () {

fyll (0);

for (int i = 0; i <5; i ++) {

for (int j = 0; j <5; j ++) {

flyte x = 150 + i * 100;

flyte y = 150 + j * 100;

ellipse (x, y, 60, 60);

println (i + ":" + j);

}

}

}

[/cceN_cpp]

For å bruke den nestede løkken for første gang, må du finne ut dens logiske forhold. Kodeimplementeringen i programmet er alltid fra opp til bunn. Derfor er den første implementerte definitivt den ytterste løkken. Hver gang den ytre sløyfen opererer for en gangs skyld, vil den interne sløyfen kontinuerlig fungere til den ikke lenger kan tilfredsstille tilstanden. Etter det vil den starte den andre ytre sløyfe -operasjonen. Etter at den andre operasjonen startet, vil den interne sløyfen fortsette å implementere til den ikke kan tilfredsstille betingelsen. En slik repetisjon gjør den til alle betingelser ikke kan oppfylles og den hopper ut av løkken.

I koden ovenfor har sløyfelegemet i den ytre sløyfen operert totalt 5 ganger, mens sløyfekroppen i den interne sløyfen har operert 25 ganger. Innen 25 ganger, i henhold til forskjellen i i, j -verdi, kan vi sikre den horisontale og vertikale koordinaten til sirkelen separat. Jeg har lagt inn en del av utskriften, du kan observere datautgangen og tenke på endringen. Bare med to nestede løkker kan vi oppleve alle kombinasjonene av i, j data.

Tips

For sløyfe i det andre laget kondenserer vanligvis med Tab i begynnelsen. Dette kan gjøre kodestrukturen mer tydelig. Du må navngi lokale variabler i de to lagene for loop med forskjellige navn. Blant den er "i", "j", "k" den mest brukte.

Fleksibel bruk "i", "j"

De to variabelnavnet "i", "j" representerer lokale variabler for de to lagene for for loop. Eksemplet nedenfor vil utdype forståelsen din for "i" "j". I henhold til den forskjellige verdien av "i", "j", kan vi legge inn parametere for å gruppere elementene.

Kodeksempel (5-13): [cceN_cpp theme = "dawn"] ugyldig oppsett () {

størrelse (700, 700);

bakgrunn (0);

noStroke ();

}

ugyldig trekning () {

bakgrunn (0);

fyll (250, 233, 77);

for (int i = 0; i <7; i ++) {

for (int j = 0; j <7; j ++) {

pushMatrix ();

translate (50 + i * 100, 50 + j * 100);

// Innstilling 1

// flytevinkel = sin (millis ()/1000.0) * PI/2;

// Innstilling 2

// flyteforhold = i/7,0;

// flytevinkel = sin (millis ()/1000,0 + forhold * (PI/2)) * PI/2;

// Innstilling 3

flyteforhold = (i * 7 + j) /49,0;

flytevinkel = sin (millis ()/1000,0 + forhold * (PI/2)) * PI/2;

rotere (vinkel);

rectMode (SENTRUM);

// Tegn bilde 1

rett (0, 0, 80, 80);

// Tegn bilde 2

// rett (0, 0, 100, 20);

// Tegn bilde 3

// rett (0, 0, forhold * 50);

popMatrix ();

}

}

} [/cceN_cpp]

Kode Forklaring

rectMode (SENTRUM) kan endre tegningsmetoden for kvadrat. De to opprinnelige to parametrene for rect brukes til å definere koordinaten til venstre øvre hjørne av kvadratet. Etter at vi har startet denne kommandoen, vil disse to parameterne brukes til å angi koordinaten for det firkantede midtpunktet. Fordi her opererer vi paterrn -rotasjonen gjennom rotasjon, så vi må bruke denne metoden for å trekke midtpunktet til det opprinnelige punktet i koordinaten.

millis () henter tiden fra programstart til i dag. Enheten er ms. Denne verdien vil påvirke den endrede hastigheten til sin utgangsverdi. Hvis vi skriver millis direkte, er den endrede skalaen for stor. Dermed må vi dele det med 1000,0.

I denne delen av koden bruker vi kommentarsymbolet "//" for å skjule flere innstillinger. Du kan skifte effekter ved å starte eller lukke. For eksempel, hvis vi starter setninger bak "Innstilling 3", må vi bruke kommentarsymbol for å lukke kodeblokker bak "Innstilling 1" og "Innstilling 2". Når det gjelder eksempler på denne lignende programstrukturen med forskjellige lokale variabler, kan vi skrive i dette formatet. Dermed trenger vi ikke å lagre flere tekniske dokumenter separat. Vi kan bruke denne ferdigheten ofte under trening og opprettelse og bevare noen tilfredsstillende parameterinnstillinger.

Blant det er påvirkningen av i, j -verdien til programmet hovedsakelig representert ved å flytte "Innstilling 1 (Innstilling 2) (Innstilling 3)". Du kan sammenligne resultatene nedenfor.

Tegn bilde 1: Innstilling 1

Tegn bilde 1: Innstilling 2

Tegn bilde 1: Innstilling 3

Tegn bilde 2: Innstilling 1

Tegn bilde 2: Innstilling 2

Tegn bilde 2: Innstilling 3

I innstilling 1 har vi ikke brukt i og j for å påvirke rotasjonsvinkelen til hvert element. Dermed kan vi se at bevegelsen til hvert element er den samme. Mens vi var i innstilling 2, har vi brukt i verdi og både i og j i innstilling 3. Til slutt har de påvirket parameterinngangen til funksjonssyn gjennom forholdet. Dette har endret den periodiske endringen av vinkel. På grunn av den faktiske effekten av innstilling 2 og innstilling 3 ikke er så åpenbar i den animerte grafikken, kan vi observere den fra følgende skjermbilde.

Tegn bilde 2 (venstre: innstilling 2; høyre: innstilling 3)

Tegn bilde 3 (Venstre: Innstilling 2; Høyre: Innstilling 3)

I det første bildet brukes forholdet for å påvirke den firkantede rotasjonsvinkelen. Mens det andre bildet, er det ised å kontrollere radius av sirkelen direkte. Vi kan se at den har brukt i verdi setning:

flyteforhold = i/7,0;

Dens vertikkelelementendring er konsekvent. Fordi den horisontale koordinaten for å kontrollere bildet bare er avhengig av verdien av i, så vil pattermer med samme horisontale koordinat være de samme. Og verdien av forholdet, rotasjonsvinkelen og sirkelradiusen er også den samme.

Samtidig bruker vi i, j setning:

flyteforhold = (i * 7 + j) /49,0;

Det kan beskrive "gradient". Her, med metoden for å multiplisere en faktor, har den kombinert påvirkning av rader og kolonner. Så hvert element er forskjellig.

Trinn 7: Mens Loop

Det er en bror for for loop. Det er mens loop. Hva for loop kan gjøre, mens loop kan gjøre det også. Men frekvensen for mens loop i creativeCoding er ikke høy som for loop.

Kodeksempel (5-14): [cceN_cpp theme = "dawn"] ugyldig oppsett () {

int a = 0;

mens (a <10) {

println (a);

a ++;

}

} [/cceN_cpp]

Grammatikkstrukturen til while er lettere å forstå enn for. Vi kan lage variabler før mens -setning. Fyll deretter ut et uttrykk innenfor rammen. Når den er fornøyd, kan du bruke setningene i sløyfekroppen. Til slutt legger vi et uttrykk i loop -kroppen for å oppdatere variablene, så mens loop er ferdig. Når det gjelder sikrede sløyfetid, bruker vi ofte for løkke. Når det gjelder uendelig variabel verdi, anbefaler vi deg å bruke mens loop.

Synes at:

Prøv å bruke alle slags grunnleggende elementer for å erstatte tegneelementer i loop for å lage forskjellige pensler.

Kombiner med trigonometrisk funksjon referert i forrige kapittel, prøv å revidere "spredningspunkter" -børste til rundbørste.

Prøv å lage en todimensjonal prikkmatrise med bare en for loop.

Forhåndsvisning av neste kapittel Som med dette kurset vil du finne hver ny kunnskap du lærer, og muligheten for å spille vil umiddelbart øke mye. Programmet er en pandoraboks. Alt du kan forestille deg, det kan gjøre det for deg. Så det er ingen grunn til at vi ikke lærer dette språket som kan kommunisere med datamaskiner. I vårt neste kapittel vil vi introdusere en annen prosesskontrollerklæring hvis du vil. Den kan kontrollere prosessflyten og generere mer kompliserte og foranderlige resultater. Med if-setning kan du enkelt lage dine egne teksteventyrspill! Denne artikkelen kommer fra designer Wenzy. Relative Readings: Interesting Programming Guidance for Designer-Processing Initial Touch Interesting Programming Guidance for Designer-Create Your First Processing Program Interesting Programming Guidance for Designer –Få bildet ditt kjørende (del én) interessant programmeringsveiledning for designer - få bildet ditt til å kjøre (del to)

Trinn 8: Kilde

Denne artikkelen er fra:

Hvis du har spørsmål, kan du kontakte : [email protected].

Anbefalt: