Arpeggio zadaci

Prof. dr Igor Dejanović (igord at uns ac rs)

Kreirano 2023-01-16 Mon 18:17, pritisni ESC za mapu, m za meni, Ctrl+Shift+F za pretragu

Sadržaj

1. Priprema

1.1. Kreiranje i aktivacija virtualnog okruženja

Virtuelna Python okruženja služe za izolaciju instaliranih biblioteka po projektu.

Upotrebom venv modula kreirati i aktivirati virtualeno Python okruženje.

python -m venv venv         # Po završetku ispitati sadržaj kreiranog venv foldera
source venv/bin/activate    # Na Windowsu venv\Scripts\activate.bat

1.2. Instalacija Arpeggio biblioteke

Klonirati i instalirati u develop modu Arpeggio projekat

$ git clone git@github.com:textX/Arpeggio.git
$ pip install -e Arpeggio

Provera da je ispravno instalirano:

$ python -c 'import arpeggio; print(arpeggio.__version__)'
1.11.0.dev

Takođe se može proveriti i sa pip:

$ pip list
Package    Version     Location
---------- ----------- -------------------------------
Arpeggio   1.11.0.dev0 /home/igor/repos/textX/Arpeggio
pip        20.2.3
setuptools 49.2.1

1.3. Primeri

  • Nalaze se u folderu examples unutar projekta.
  • Svaki folder ima README.md koji objašnjava primer i kako se pokreće.

2. Calc zadaci

2.1. Uvod

  • Analizirati calc primer.
  • Obratiti pažnju na definisanje prioriteta i asocijativnosti opearcija.
  • Analizirati debug izlaz pri izvršavanju.
  • Analizirati dot fajlove koji se kreiraju u debug modu (vidi odgovarajući README.md). dot fajlovi se mogu pregledati i u specijalizovanim pregledačima (na primer xdot).

2.2. Operacija stepenovanja

Proširiti calc primer da podrži operaciju stepenovanja ^.

2^3^4 \(\Rightarrow 2^{3^{4}}\)

Obratiti pažnju na prioritet operacije i asocijativnost.

2.3. Podrška za varijable

Dodati podršku za varijable.

Primer:

a = 5
b = 9

5 * a + (b / (a^2 + b^3))

2.4. Podrška za funkcije

Dodati podršku za skup matematičkih funkcija (videti math modul u Python-u).

Primer:

a = 4
b = 78

sin(a+b) * b / (a^3 + cos(b))

3. Robot zadaci

3.1. Uvod

  • Analizirati robot primer.
  • Obratiti pažnju na semantičku analizu robot programa.
  • Analizirati debug izlaz pri izvršavanju.
  • Analizirati dot fajlove koji se kreiraju u debug modu (vidi odgovarajući README.md). dot fajlovi se mogu pregledati i u specijalizovanim pregledačima (na primer xdot).

3.2. Broj koraka

Proširiti robot primer tako da je moguće navesti broj koraka kod svake komande. Broj koraka je opcion. Ako nije dat podrazumevano je 1.

Primer:

begin
    up 5
    down
    left 3
    down 2
end

3.3. for petlja

Dodati podršku za for petlje.

Primer:

begin
    left 5
    for i in 5..10
        up i
        down 3
    endfor
    up 10
    left
end