Monthly Archives: January 2014

Zadania – skrypty w bashu

  1. Napisz skrypt, który będzie zmieniał rozszerzenie plików w danym katalogu. Skrypt przyjmuje trzy parametry: rozsz1 rozsz2 katalog i będzie zmieniał rozszerzenie plikom, które dotąd miały rozszerzenie rozsz1 na rozsz2 w katalogu katalog.
  2. Korzystając z funkcji read napisz skrypt, który zsumuje wartość drugiej i trzeciej kolumny w pliku podanym jako argument. Przykładowy plik znajduje się tutaj.
  3. Napisz skrypt korzystający z funkcji ls, który wyświetli łączny rozmiar plików w katalogu, w którym został wywołany.
  4. Napisz skrypt, który spakuje (uzywając polecenia tar) wszystkie pliki o rozmiarze większym niż 1MB w katalogu, w którym został wywołany. Można testować używając np. pliku z pierwszego zadania zaliczeniowego.
  5. Napisz skrypt sumujący wszystkie swoje parametry o nieparzystych numerach.
  6. Napisz skrypt, który wypisze swoje parametry w odwrotnej kolejności.

Zadania powtórkowe

  1. Dana jest tablica kwadratowa A rozmiaru n x n wypełniona liczbami całkowitymi. Napisz funkcje sum_iter(A) i sum_rec(A) zwracające tablicę B, która na pozycji (i, j) ma sumę wszystkich pozycji (k, l) z tablicy A, dla których 0 ≤ k ≤ i i 0 ≤ l ≤ j.
  2. Niech S(f, n) oznacza sumę wartości funkcji f dla wszystkich liczb naturalnych od 0 do n. Funkcja g zdefiniowana jest tak:
    • g(0) = 1
    • g(n) = S(g, n-1) + 6, dla n > 0.

    Funkcja h natomiast zdefiniowana jest tak:

    • h(0) = 2
    • h(n) = S(h, n-1) – S(g, n-1) + 6, dla n > 0.

    Napisz rekurencyjne i iteracyjne wersje funkcji g i h. Która z nich działa szybciej? Spróbuj policzyć h(25) dla każdej z nich.

  3. Napis s został zakodowany w taki sposób, że wszystkie jego spółgłoski i samogłoski zostały ułożone w odwrotnej kolejności, tzn. pierwsza samogłoska została zamieniona kolejnością z ostatnią, następnie druga z przedostatnią, itd. Analogicznie postępowano ze spółgłoskami. Napisz procedurę decode(s), która zdekoduje napis s zakodowany opisanym szyfrem.

Bash – zajęcia 1

Prezentacje:
http://www.mimuw.edu.pl/~gorecki/wdi/Wdi1u.pdf
http://www.mimuw.edu.pl/~gorecki/wdi/Wdi2u.pdf
http://www.mimuw.edu.pl/~gorecki/wdi/Wdi3u.pdf
http://www.mimuw.edu.pl/~gorecki/wdi/Wdi4u.pdf

Zadania:

  1. W pliku avgs.txt dana jest lista miejscowości wraz ze średnią temperaturą w grudniu. Posortuj ją używając potoków w kolejności rosnącej średniej temperatury.
  2. Wypisz nazwę i rozmiar 5 największych plików z katalogu domowego.
  3. Przeszukaj swój katalog domowy rekurencyjnie i znajdź wszystkie wystąpienia plików o tej samej nazwie (mogą się różnić co najwyżej wielkością liter). Na wyjściu chcemy dostać takie nazwy poprzedzone liczbą wystąpień.
  4. Policz liczbę takich nieunikalnych nazw plików z poprzedniego zadania.
  5. Wypisz do pliku bests.txt początek, koniec i score z pliku dmel.gff posortowane po score do pliku best_scores.txt.
  6. Wypisz wartości score z wygenerowanego pliku best_scores.txt na pozycjach od 1000 do 2000.