InfografikaAlgorytm
Infografika pokazuje, czym jest algorytm, na prostym przykładzie z życia codziennego.
Infografika pokazuje, czym jest algorytm, na prostym przykładzie z życia codziennego.
Jeśli trzeba przeanalizować napis znak po znaku, najlepiej zrobić to za pomocą pętli for
. Wartość początkowa zmiennej będącej wynikiem powinna być tzw. pustym napisem. Wynikiem zdefiniowanej poniżej funkcji papuga(string napis)
jest napis z podwojoną każdą literą. Zmodyfikuj kod tak, aby po uruchomieniu skryptu otrzymać napis z potrojoną każdą literą.
Zdefiniuj funkcję ile(string s, char z)
, której parametrami są ciąg znaków oraz znak A, C, G lub T, a wynikiem jest lista wystąpień danego znaku w ciągu znaków. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ile("CAATAAAAA", 'T')
jest 1
.ile("TCTAAAGATATCGGG", 'A')
jest 5
.Zdefiniuj funkcję pary(string s)
, której parametrem jest łańcuch DNA, a wynikiem – liczba wystąpień par jednakowych symboli (np. TTAT – 1, TTTA – 2, TATA – 0). Sprawdź działanie funkcji dla podanych poniżej parametrów.
pary("TGATTCTGAACAAGTGTT")
jest 4
.pary("TGATATTCGATGTGAAAAAGTCATACTGTT")
jest 6
.Odwrotne uzupełnienie łańcucha DNA to ciąg utworzony przez odwrócenie danego ciągu i dopełnienie każdego symbolu, tj. zamiany A na T i odwrotnie oraz C na G i odwrotnie (np. CTGA → AGTC → TCAG). Zdefiniuj funkcję oduz(string s)
, której parametrem jest łańcuch DNA, a wynikiem jego odwrotne uzupełnienie. Sprawdź działanie funkcji dla podanych poniżej parametrów.
oduz("TGACCCA")
jest TGGGTCA
.oduz("TGATATTCGATGTGAAAAA")
jest TTTTTCACATCGAATATCA
.Przeanalizuj dane w tabeli i zdefiniuj funkcję ta(string s)
, której parametrem jest łańcuch DNA, a wynikiem – łańcuch DNA z gwiazdką (*) w miejscu symboli C, G i T. Sprawdź działanie funkcji dla podanych poniżej parametrów.
ta("TGACCCA")
jest **A***A.
ta("TGATATTCGATGTGAAAAA")
jest **A*A****A****AAAAA.
Zdefiniuj funkcję codruga(string napis)
, której wynikiem jest napis z pominiętym co drugim znakiem. Sprawdź działanie funkcji dla podanych poniżej parametrów.
codruga("aksamitka")
jest asmta
.codruga("chaber")
jest cae
.Zdefiniuj funkcję wspak(string napis)
, której wynikiem jest napis ze znakami przestawionymi od końca do początku. Rozwiązanie zapisz za pomocą pętli. Sprawdź działanie funkcji dla podanych poniżej parametrów.
wspak("aloes")
jest seola
.wspak("dalia")
jest ailad
.Zdefiniuj funkcję lustro(string napis)
, której wynikiem jest napis z połączonym napisem wspak. Sprawdź działanie funkcji dla podanych poniżej parametrów.
lustro("aster")
jest asterretsa
.lustro("peonia")
jest peoniaainoep
.Zdefiniuj funkcję przeplot(string napis)
, której wynikiem jest napis powstały z oryginalnego napisu poprzez dostawienie po każdej literze znaku z danego napisu, ale od końca. Sprawdź działanie funkcji dla podanych poniżej parametrów.
przeplot("azalia")
jest aaziallaizaa
.przeplot("mniszek")
jest mkneizsszienkm
.Metoda find()
zwraca pozycję pierwszego wystąpienia frazy w tekście, podanej jako argument, lub zwraca wartość string::npos
w sytuacji, gdy fraza nie zostanie odszukana. Przeanalizuj poniższy fragment kodu.
Korzystając z klasy string
, można wykonywać operacje na tekście. Poniżej zamieszczono opisy działania podstawowych metod klasy string
.
A. odczytywanie długości tekstu
B. dołączenie nowego tekstu na koniec istniejącego tekstu
C. wstawianie nowych znaków we wskazanym miejscu istniejącego tekstu
D. usuwanie fragmentu tekstu
Przeanalizuj poniższy kod.
Przeanalizuj poniższy fragment kodu.
Odległość Hamminga między dwoma łańcuchami DNA oznacza liczbę symboli, którymi różnią się oba łańcuchy. Odległość Hamminga między łańcuchami s
i t
o tej samej długości wynosi 8. Niepasujące symbole są zaznaczone kolorem:
s
– CAGGCTACTACCGGTAT,t
– CATCGTAATGCAGGGCT.Zdefiniuj funkcję hamming(string s, string t)
, gdzie s
i t
to łańcuchy o tej samej długości. Wynikiem funkcji jest liczba będąca odległością Hamminga między danymi łańcuchami. Sprawdź działanie funkcji dla podanych poniżej parametrów.
hamming("CAGGTT", "CAGGTT")
jest 0.
hamming("CAGGCTACTACCGGTAT", "CATCGTAATGCAGGGCT")
jest 8
.w = "laseczek"
?for (int i = 0; i < w.size(); i++) cout << w[i] << endl;
w = "kaktus"
w wyniku działania polecenia cout << w[5] << endl;
?w = "wiaderko"
w wyniku działania polecenia cout << w.size();
?