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.
Tips: Matlabs 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(sequence, start, stop)
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 | ||
---|---|---|
| ||
>> containsSubstring('ITGK er det beste faget', 'best')
ans =
13 |
Test programmet ditt med følgende streng: 'TATGCGCATGCATCAGTACCGATTACATAGCTACG'.
Svaret skal da være 'CATCAGTACCGATTACA'
.