Ponizej wklejam 2 linki do 2 list z zadaniami z algorytmow.
Czy ktos moglby mi pomoc i napisac mi jak najwiecej z tych list zadanek w pseudokodzie pascala?
linki do zadań:
Kod: Zaznacz cały
http://www.kk.jgora.pl/~hofman/dok/aisd
Kod: Zaznacz cały
http://www.kk.jgora.pl/~hofman/dok/aisd
Szemek
Lista I
1. Napisz algorytm zamiany liczby z systemu binarnego na dziesiętny. Następnie uogólnij
go na algorytm zamiany liczby z systemu p - tego na dziesiętny.
2. Napisz algorytm, który wyznacza NWD dwóch liczb. NWD(a, b) to taka liczba, która
dzieli zarówno a jak i b, i jest to dzielnik największy z możliwych, np. NWD(18,12)=6.
3. Napisz algorytm, który wyznaczy, ile cyfr ma podana liczba.
4. Napisz algorytm, który poda, jaka jest i-ta cyfra w podanej liczbie w zapisie dziesiętnym
poczynając od jej prawej strony.
5. Napisz aglorytm, który wyznaczy liczbę zer w n elementowym ciągu.
6. Napisz algorytm, który wyznaczy minimum w n – elementowym ciągu liczb całkowitych.
7. Napisz algorytm, który znajdzie najdłuższy podciąg składający się z samych zer w n
– elementowym ciągu zerojedynkowym. Wynikiem działania algorytmu powinna być
długość podciągu i numer elementu, od ktorego ten podciąg sie rozpoczyna. Jeżeli jest
kilka takich podciągów, wystarczy podać jeden dowolny. Zaproponuj strukturę danych,
w której bedziesz przechowywać ciąg zerojedynowy i uzasadnij swój wybór. Wskazówka:
Aby upewnić się, że Twój algorytm działa dobrze, przetestuj go dla ciągu składającego
się z samych zer.
8. Napisz algorytm, który znajdzie nadłuższy niemalejący podciąg w n – elementowym
ciągu liczb rzeczywistych. Wynikiem działania algorytmu powinna być długość pod-
ciągu i numer elementu, od którego ten podciąg sie rozpoczyna. Jeżeli jest kilka takich
podciągów, wystarczy podac jeden dowolny. Zaproponuj strukturę danych, w której be-
dziesz przechowywać ciąg i uzasadnij swój wybór. Wskazówka: Ciąg jednoelementowy
jest ciągiem niemalejącym o długości 1.
9. Napisz algorytm, który w n – elementowym ciągu liczb całkowitych znajduje liczbę
trójek sąsiednich liczb. Wskazówka: Trójka sąsiednich liczb to np. 2,1,2; 3,2,1; 1,2,3.
Ale 1,1,1 nie jest trójką sąsiednich liczb. Pięć sąsiednich liczb to trzy trójki.
10. Napisz algorytm, który wyznaczy liczbę wystąpień każdego elementu w n – elementowym
ciągu liczb rzeczywistych.
Lista II
1. Zapisz algorytm porządkowania bąbelkowego.
2. Zapisz algorytm porządkowania przez wybór.
3. Zapisz algorytm porządkowania przez wstawianie.
4. Podaj przykład ciągu, dla którego algorytm bąbelkowy wykonuje największą możliwą
liczbę porównań i przestawień elementów. Ile wynosi ta liczba? Czy potrafisz ją określić
w zależności od liczby elementów w ciągu?
5. Uzasadnij, że liczba porównań w algorytmie sortowania przez wybór wynosi \(\displaystyle{ \frac{n(n-1)}{2}}\) .
Czy coś się zmienia, jeśli elementy ciągu, który chcemy porządkować, są już posortowane (od
najmniejszego do największego)? A gdy są odwrotnie posortowane?
6. Przypuśćmy, że każdy element ciągu ma jedną z dwóch możliwych wartości (np. 0 lub 1).
Podaj algorytm porządkowania tego ciągu, w którym czas działania jest proporcjonalny
do liczby elementów.
7. Napisz algorytm scalający 2 posortowane ciągi liczb całkowitych w jeden posortowany
ciąg.