Zadania

  1. Z dwóch list o tej samej długości zrobić listę par kolejnych elementów.
  2. Z listy par $[(x1,y1),(x2,y2),....,(x_n,y_n)]$ zrobić listę o długości $2n$ zawierającą pary po kolei $[x1,y1,x2,y2,....]$.
  3. Mająć listę 9-ciu elementów L, zrobić z niej macierz 3x3 $M$ tak by $M_{ij} = L[3i+j]$, dla $i,j=0,1,2$.
  4. Napisz algorytm wyliczający część wspólną dwóch zadanych prostokątów o bokach równoległych do osi układu współrzędnych. Napisz procedurę rysującą oba prostokąty oraz procedurę generującą losowe dane wejściowe.
  5. Napisz algorytm wyliczający najmniejszy prostokąt o bokach równoległych do osi układu współrzędnych, zawierający dwa zadane prostokąty o bokach równoległych do osi układu współrzędnych. Napisz procedurę rysującą oba prostokąty oraz procedurę generującą losowe dane wejściowe.
  6. Sprawdź, czy dwa odcinki na płaszczyźnie zadane porzez współrzędne końców przecinają się. Napisz procedurę rysującą oba odcinki oraz procedurę generującą losowe dane wejściowe.
  7. Sprawdź, czy dane dwa równoległoboki na płaszczyźnie przecinają się. Równoległoboki mają boki dowolnie nachylone do osi współrzędnych i zadane są poprzez współrzędne czterech rogów podanych zgodnie z ruchem wskazówek zegara. Napisz procedurę rysującą oba równoległoboki oraz procedurę generującą losowe dane wejściowe.
  8. Dana jest lista liczb całkowitych. Należy tak poprzestawiać w niej elementy, żeby najpierw były elementy ujemne, potem równe zero, a na końcu dodatnie. Napisz procedurę testującą algorytm na losowych danych.
  9. Napisz program znajdujący w zadanej liście liczb całkowitych, długość najdłuższego stałego segmentu (spójnego fragmentu tablicy). Napisz procedurę testującą algorytm na losowych danych.
  10. Dane są dwie listy A i B liczb całkowitych. Obie są posortowane rosnąco. Należy traktując A i B jako reprezentacje dwóch zbiorów wypisać (operacją print) część wspólną tych zbiorów. Napisz procedurę testującą algorytm na losowych danych.
  11. Dane są dwie listy A i B liczb całkowitych. Obie są posortowane rosnąco. Należy traktując A i B jako reprezentacje dwu zbiorów wypisać (operacją print) sumę tych zbiorów. Napisz procedurę testującą algorytm na losowych danych.
  12. Dane są dwie listy A i B liczb całkowitych o długościach N i M > 0. Napisz program sprawdzający, czy A jest podciągiem B (tzn. czy istnieje funkcja f, rosnąca, z 1..N w 1..M, t. ze A[i]=B[f(i)]). Napisz procedurę testującą algorytm na losowych danych.
  13. Dana lista A liczb całkowitych o co najmniej dwóch elementach. Napisz program odwracający kolejność elementów w A. Napisz procedurę testującą algorytm na losowych danych.
  14. Dana lista A liczb całkowitych i liczba naturalna k > 1. Napisz program realizujący przesunięcie cykliczne w prawo o k pól, czyli przesuwający zawartość pola A[i] na A[(i+k) mod N] dla każdego i < N. Napisz procedurę testującą algorytm na losowych danych.
  15. Dana jest lista A liczb całkowitych. Sprawdź, czy jest w niej element wystepujący więcej niż N/2 razy i jeśli tak - wskaż go. Napisz procedurę testującą algorytm na losowych danych.
  16. Liczby ciagu Fibonacciego otrzymuje się poprzez dodanie do siebie dwóch poprzednich liczb ciągu. Dwie pierwsze to 1 i 2. Napisz program obliczający sumę wszystkich parzystych liczb tego ciągu, które są mniejsze od 4 milionów.

In [ ]:


In [ ]: