Stap 1: Intro en "gemakkelijke" antwoorden
Hier is de code die we voor dit deel (in cursief gebruiken zullen):
d = abs (input (' invoeren van nabijheid aan de kat in voeten: ')); Als d < 1 fprintf ('\nThis dicht bij een kat, je intelligentie is negligible\nand de uitlating van uw verklaringen is op een hoge. \n') DISP ('(u '' RE A KITTY!)') elseif d > = 20 fprintf ('\nThis verre van een kat, je intelligentie is niet ongunstig affected\nand de uitlating van uw verklaringen is op een minimale. \n') anders
En hier is de lijn door lijn uitleg:
d = abs (input (' invoeren van nabijheid aan de kat in voeten: '));
Twee dingen zijn hier gedaan. De eerste is dat het gebruikt van de ingangsfunctie , een getal wordt worden ingevoerd. Vervolgens de absolute waarde is genomen met behulp van de functie abs en dit gewijzigde nummer wordt opgeslagen als d. De absolute waarde wordt genomen omdat-5 voeten van een kat is nog steeds 5 voeten.
In de meeste programmeertalen, moet u altijd het einde van een regel van een verklaring (zoals x 5 =) met een puntkomma. In MATLAB, jij niet maar als u dat niet doet, wordt het resultaat getoond. Puntkomma's onderdrukken het resultaat. Dus:
1) x = 5
x =
5
2) x = 5;
(niets)
Als d < 1 fprintf ('\nThis dicht bij een kat, je intelligentie is negligible\nand de uitlating van uw verklaringen is op een hoge. \n') DISP ('(u '' RE A KITTY!)')
Als de afstand minder dan één voet, het toont het bericht "deze dicht bij een kat, je intelligentie is te verwaarlozen en de uitlating van uw verklaringen is op een hoge." en daarna "(je bent een poes!)", verwijzen naar de alt-tekst van de XKCD Grappig. De functie fprintf wordt eerst gebruikt omdat de zin te lang voor een regel is en fprintf staat u toe te voegen newline tekens gemakkelijk met \n. \N aanbrengend zorgt overal voor de rest van de zin gaan naar de volgende regel. Er zijn drie in deze verklaring. Merk op hoe er is geen ruimte tussen 'te verwaarlozen' '\n' en 'en'. Het kan ook maakt niet uit hoe lang de lijn loopt in de code. Tenzij je naar de volgende regel, beschouwt MATLAB het als één instructie. Maar zonder de newline tekens, kip u de functie, sommige tekst zullen afgesneden worden.
Naast de disp functie wordt gebruikt voor de "(je bent een poes!)" omdat is eenvoudiger te gebruiken en de zin past op één regel.
Houd er rekening mee:
-Er zijn twee sets van haakjes omdat de disp functie één set gebruikt om te werken en de meesage zelf haakjes is, d.w.z. dat het bericht is (je bent een KITTY) niet je een POES.
-Omdat de disp functie werkt door alle tekst tussen de twee 'enkele aanhalingstekens' weer te geven, kunt u niet een enkele wuote in het woord "you 're", zoals die de functie eindigen zal. Om deze reden, moet u twee enkele aanhalingstekens (niet een dubbel aanhalingsteken) om weer te geven van een enkel aanhalingsteken wanneer het programma wordt uitgevoerd.
elseif d > = 20 fprintf ('\nThis verre van een kat, je intelligentie is niet ongunstig affected\nand de uitlating van uw verklaringen is op een minimale. \n') elseif
Simpel gezegd meer: als een vraag stelt. Als de situatie van toepassing is, de binnenkant van de if -instructie wordt gedaan en het programma laat de if -instructie. Als het niet van toepassing, gaat het programma naar de volgende optie in de if -instructie. Dit kan anders zijn of elseif. Als het andersis, dan is het programma uitgevoerd wat is binnen no matter what, en vervolgens verlaat. Als het elseif (een combinatie van anders en als), het wordt gecontroleerd of de nieuwe voorwaarde. Met behulp van de elseif is hetzelfde als het gebruik van else, en vervolgens binnen die anders verklaring zetten een nieuwe if -instructie. elseif is gewoon sneller.
Hoe dan ook, de elseif vraagt als d is groter dan of gelijk aan (> =) 20. Als het is, verschijnt een nieuwe bericht vergelijkbaar met hoe het voorheen, opnieuw gebruikend fprintf.
anders...
Dit deel van het programma wordt uitgevoerd als de afstand tussen de twee grenzen van 1 en 20 is. Het bevat het grootste deel van de code en "echte" werk omvat door de computer, niet "gemakkelijke antwoorden".
We rijden!