• Nie Znaleziono Wyników

WSWZ — Laboratorium – perl Jarosław Piersa 2014-01-14

N/A
N/A
Protected

Academic year: 2021

Share "WSWZ — Laboratorium – perl Jarosław Piersa 2014-01-14"

Copied!
2
0
0

Pełen tekst

(1)

WSWZ — Laboratorium – perl

Jarosław Piersa 2014-01-14

Zadanie 1 (tradycyjne)

Napisz skrypt, który się przywita z użytkownikiem (Hello World, print).

Zadanie 2

Napisz skrypt, wczyta dwie liczby całkowite a i b, i obliczy sumę kwadratów liczb pomiędzy a i b (do wykorzystania: for).

Zadanie 3

Napisz skrypt, który czyta plik ./dane.txt i wypisuje jego zawartość (do wykorzystania: uchwyty plików).

Zadanie 4

Napisz skrypt, który do pliku ./wynik.txt zapisuje kopię zawartości pliku ./dane.txt.

Zadanie 5

Napisz skrypt, który tworzy plik ./obrazek.svg i renderuje w nim dziesięć prostokątów stycznych wierzchołkami.

<?xml version="1.0" standalone="no"?>

<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"

"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg xmlns="http://www.w3.org/2000/svg" version="1.1"

width="800px" height="600px" >

<!-- tu definicje prostokatow, jeden po drugim -->

<rect width="200" height="100" x="50" y="20"

fill="rgb(0,0,255)" stroke-width="1" stroke="rgb(0,0,0)"/>

<!-- koniec definicji prostokatow -->

</svg>

Zadanie 7 (patrz kolokwium)

Robot startuje w puncie (0,0), czyta instrukcje z pliku (zadane jako argument wywołania) i zgodnie z nimi podąża w lewo, w prawo, do góry lub do dołu poruszając się o określoną liczbę kroków. Napisz skrypt, który czyta plik z instrukcjami i generuje plik svg z narysowaną trasą ruchu robota.

http://www.w3.org/TR/SVG11/

Zadanie 8

Napisz skrypt, który sprawdzi czy podane argumenty programu są plikami w systemie (do wykorzystania: ARGV).

1

(2)

Zadanie 9

Napisz skrypt, który przeczyta plik tekstowy policzy ile w pliku jest różnych wystąpień słów. Na koniec skrypt powinien wyświetlić słowa wraz z liczbą wystąpień (do wykorzystania: tablice hashowane).

Zadanie 10

Napisz skrypt, który na podstawie pliku z logami (lub na ultrze60: last) wygeneruje raport: dla każdego użytkownika ile razy dany użytkownik logował się danego dnia tygodnia (poniedziałek, wtorek, środa...).

Zadanie Domowe — translator

Napisz skrypt w perlu, który będzie prostym (by nie rzec: prymitywnym) tłumaczem tekstu z języka polskiego na angielski (lub w drugą stronę, wybór języka jest dowolny, ale wskazane aby składał się przede wszystkim z liter łacińskich). Słownik wg którego dokonywane jest tłumaczenie jest przechowywany w pliku ./slownik.txt i zawiera linia po linii słowo w języku polskim, spację, słowo w języku angielskim (wskazane dołączyć swój własny słownik). Skrypt przetwarza plik tekstowy podany jako pierwszy argument wywołania, tłumaczy go prostym zastępowaniem słów przez ich odpowiedniki i wypisuje rezultat na ekran. (można dołączyć własne pliki tekstowe). Proszę przewidzieć sytuację gdy słowa nie ma w słowniku.

Zadanie Domowe — Prawie trójkąt Pascala

Napisz skrypt w perlu, który wykona następujący algorytm:

1. rozważmy tablicę dwuwymiarową max na max elementów tab 2. pierwszy wiersz tab wygląda: (1, 0, ..., 0)

3. dla wierszy i = 2..max obliczamy i-ty wiersz tab:

• pierwszy element wiersza jest równy jeden

• dla pozostałych j: niech s jest sumą elementów j-tego i (j − 1)-go wiersza poprzedniego (tzn.: (ten, co stoi nad nim + ten, co stoi nad nim i na lewo) )

• j-ty element = s mod 2

• Zauważ, że bez dodania „mod 2” byłby to tradycyjny trójkąt Pascala. Zauważ, że w tablicy są tylko zera i jedynki 4. skrypt wyrenderuje plik svg rozmiarze (max + 1) × (max + 1) i nazwie ./WSWZ zad18 Nazwisko Imie.svg

5. jeżeli na współrzędnych (i, j) w tablicy stoi wartość 1, to wydrukuje w danym miejscu mały prostokąt 1 × 1 (lub dla lepszego efektu — trójkąt prostokątny), jeżeli stoi wartość 0, to nie wydrukuje nic.

6. zadanie da się wykonać wykorzystując tylko dwie tablice 1 × max (zamiast max × max), a nawet jedną tablicę 1 × max (a nawet i bez tablic, ale wtedy jest trochę trudniej...)

i − 1, j − 1 i − 1, j

i, j − 1 i, j

2

Cytaty

Powiązane dokumenty

Czytelnik taki, korzystając z zamieszczonych w publikacji omówień, będzie mógł podjąć ukierunkowane naukowym wywodem autorów rozważania nad ewolucją każdego z

[r]

Skonstruuj (lub przeanalizuj gotową) sieć bayesowską z wykorzystaniem węzła decyzyjnego (decision node, action node) do podjęcia decyzji czy zabrać parasol i węzła wypłaty

[r]

Jedna osoba edytuje plik tekstowy w środowisku Lixuxowym druga — Windowsowym.. Czy nadal można

• rozszerz polecenie, aby usuwało również komentarze wieloliniowe – wskazówka: złam linię przed rozpoczęciem każdego komentarza – złam linię po zamknięciu komentarza. –

• jeżeli locale jest ustawione na PL pl to domyślnym separatorem dziesiętnym będzie przecinek — niezrozumiały dla awka, taki plik należy uprzednio przetworzyć (np sedem

Skrypt może zadawać pytania „Czy Twoja liczba to X?”, „Czy Twoja liczba jest większa od X?”, „Czy Twoja liczba jest mniejsza od