Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Læringsmål:

  • Strengebehandling
  • Funksjoner
  • BetingelserStrenger

Pensum:

  • Kap 7

a)

  • 3.7 - User-Defined Functions That Return a Single Value
  • 4.1 - The if statement
  • 7.2 - Operations on Strings
  • 7.3 - The 'is' Functions for Strings

a) Et palindrom er et ord som staves likt begge veier (f.eks. 'abba' eller det finske ordet 'smulalums'). Lag en funksjon, isPalindrome(word) som returnerer true om word er et palindrom; false ellers.

TipsMatlabs innebygde funksjon, strcmp, kan være nyttig. Det er ikke lov å benytte seg av funksjonen fliplr.



b) Utvid funksjonaliteten slik at funksjonen kan ta inn en setning og sjekke om den er et palindrom.

...

Test med palindromet: 

Alle reisetrette skal ete laks etter te, sier Ella.

c)

Man ønsker å hente ut den lengste biten av et stykke DNA avgrenset av en bestemt start- og stoppsekvens. Disse oppgis å være "ATG" (start) og "TAG" (stop). DNAet gis som en lang streng av bokstavene: A, T, G og C. Funksjonen skal starte tellingen på nytt hver gang startstrengen gjentas og tellingen skal avsluttes hver gang stopstrengen gjentas.
Lag en funksjon, sequenceFinder som tar inn tre strenger: sequence, start og stop. Den skal returnere den lengste strengen mellom start og stopp sekvensene.

Hint: Matlabs innebygde funksjon, isletter, kan være nyttig.

 

 

c) Lag en funksjon, containsSubstring(first, second), som tar inn to strenger og sjekker om den første strengen inneholder den andre. Dersom den gjør det, returneres den første posisjonen den forekommer på (fra 1), ellers returneres -1. Det er ikke lov å bruke Matlabs innebygde funksjon, strfind.                                                                                                                                                                                                   

Code Block
titleEksempel på kjøring
>> containsSubstring('ITGK er det beste faget', 'best')

ans =

		13

 

 

 Test programmet ditt med følgende streng: 'TATGCGCATGCATCAGTACCGATTACATAGCTACG'. Svaret skal da være 'CATCAGTACCGATTACA'.