C1

Utorok

package sk.upjs.cvicenie01;

import sk.upjs.jpaz2.Turtle;

public class Fraktalka extends Turtle {

        public void vlocka(int uroven, double rozmer) {
                if (uroven == 0) {
                        // bazu rekurzie
                        // robim nic
                } else {
                        for (int i = 0; i < 6; i++) {
                                this.step(rozmer);
                                this.vlocka(uroven - 1, rozmer / 3);
                                this.step(-rozmer);
                                this.turn(60);
                        }
                }
        }

        public void vlocka(double rozmer) {
                if (rozmer < 1) {
                        // bazu rekurzie
                        // robim nic
                } else {
                        for (int i = 0; i < 6; i++) {
                                this.step(rozmer);
                                this.vlocka(rozmer / 3);
                                this.step(-rozmer);
                                this.turn(60);
                        }
                }
        }

        public void stvorec(int uroven, double rozmer) {
                if (uroven == 0) {

                } else {
                        for (int i = 0; i < 4; i++) {
                                step(rozmer);
                                turn(-90);
                                stvorec(uroven - 1, rozmer / 3);
                                turn(90);
                                turn(90);
                        }
                }
        }

        public void stvorec(double rozmer) {
                if (rozmer < 1) {

                } else {
                        for (int i = 0; i < 4; i++) {
                                step(rozmer);
                                turn(-90);
                                stvorec(rozmer / 3);
                                turn(90);
                                turn(90);
                        }
                }
        }

        public void plus(int uroven, double rozmer) {
                if (uroven == 0) {

                } else {
                        for (int i = 0; i < 4; i++) {
                                step(rozmer);
                                plus(uroven - 1, rozmer / 2);
                                step(-rozmer);
                                turn(90);
                        }
                }
        }

}
 
package sk.upjs.cvicenie01;

import sk.upjs.jpaz2.*;

public class Launcher {

        public static void main(String[] args) {
                // put your code here
                WinPane wp = new WinPane();
                Fraktalka f = new Fraktalka();
                wp.add(f);

                // f.vlocka(6,80);
                // f.stvorec(12,100);
                // f.plus(2, 80);


                f.turn(45);
                f.step(2);

                f.turn(-45);
                f.setPosition(150, 100);
                f.step(2);
                wp.remove(f);

        }
}

Štvrtok

package sk.upjs.cvicenie01;

import sk.upjs.calltree.CallTree;

public class TestFibonacciho {

        public static int maxUroven = 0;
        public static int pocetVolani = 0;

//      public static int fibonacci(int n) {
//              CallTree.markCall(n);
//             
//              if (n == 0) {
//                      CallTree.markReturn(0);
//                      return 0;
//              }
//
//              if (n == 1) {
//                      CallTree.markReturn(1);
//                      return 1;
//              }
//
//              int vysledok = fibonacci(n - 2) + fibonacci(n - 1);
//              CallTree.markReturn(0);
//              return vysledok;
//      }

        public static int fibonacci(int n, int uroven) {
                if (maxUroven < uroven) {
                        maxUroven = uroven;
                }
                pocetVolani++;

                if (n == 0) {
                        return 0;
                }

                if (n == 1) {
                        return 1;
                }

                int vysledok = fibonacci(n - 2, uroven + 1) + fibonacci(n - 1, uroven + 1);
                return vysledok;
        }

        public static void main(String[] args) {
                System.out.println(fibonacci(4, 1));
                System.out.println("max uroven vnorenia je: " + maxUroven);
                System.out.println("pocet volani bol: " + pocetVolani);
        }
}
package sk.upjs.cvicenie01;

import sk.upjs.calltree.CallTree;

public class DalsieUlohy {

        public static int sucet(int[] p, int odIdx, int poIdx) {
                CallTree.markCall(odIdx, poIdx);
                if (odIdx > poIdx)
                        return 0;

                if (odIdx == poIdx)
                        return p[odIdx];

                if (odIdx < poIdx)
                        return p[odIdx] + sucet(p, odIdx + 1, poIdx);

                return 0;
        }

        public static int sucet2(int[] p, int odIdx, int poIdx) {
                CallTree.markCall(odIdx, poIdx);
                if (odIdx > poIdx)
                        return 0;

                if (odIdx == poIdx)
                        return p[odIdx];

                if (odIdx < poIdx) {
                        int stred = (odIdx + poIdx) / 2;
                        return sucet2(p, odIdx, stred) + sucet2(p, stred + 1, poIdx);
                }
                return 0;
        }

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                int[] p = { 4, 7, 2, 4, 2, 4, 6, 8, 2 };
                sucet2(p, 0, 8);
        }

}