Užduotys

PRADEDANTIEJI - 1 KLASĖS UŽDUOTYS

  • 28. Užduotis.

    Padarykite kiek įmanoma panašesnį į pateiktą pavyzdį. Turi būti du stačiakampiai pirmas nuo kairės krašto iki pelytės ir antras nuo pelytės iki dešinės galo. Turi būti nupieštos rodyklės

  • Sprendimas

    Raktiniai žodžiai, kuriuos panaudosime: void, setup(), size, rect, ellipse, background. Ekrano dydis 400 ilgio ir 400 aukščio (400x400 pikseliai)

    							1. void setup()
    							{
    							size(400, 400);
    							}
    							2. tada rašome void draw()
    							{  
    							3. parašome, ad turėtume foną, komanda  background(200, 255, 230); ir trys kintamieji (skaičiai). 
    							Pirmas skaičius raudonos spalvos intensyvumas  	
    							Antras skaičius žalios spalvos intensyvumas
    							Trečias skaičius mėlynos spalvos intensyvumas
    							prisiminkite: skaičiaus invensyvumas galimas nuo 0 iki 255 (kuo didesnis skaičius tuo daugiau bus tos spalvos).
    							fill(?,?,?); vietoje klaustukų turime įrašyti skaičių, kad gautime spalvą.
    							rect(?, ?, ?, ?);  - stačiakampis, kuriam reikia 4 kintamųjų (skaičių). 
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius stačiakampio ilgis
    							Ketvirtas skaičius stačiakampio aukštis.
    							Mums dar reiks apskritimo.
    							Apskritimą nubrėžti naudosime raktažodį ellipse(?, ?, ?, ?) ir 4 kintamuosius (skaičius)
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius elipsės ilgis
    							Ketvirtas skaičius elipsės aukštis.
  • Atsakymas

    Atsakymas skirtas pasitikrinti

  • 29. Užduotis.

    Padarykite kiek įmanoma panašesnį į pateiktą pavyzdį. Turi būti trys pakreiptos linijos, kurios judės iš kairės į dešinę.

  • Sprendimas

    Raktiniai žodžiai, kuriuos panaudosime: void, setup(), size, rect, ellipse, background. Ekrano dydis 400 ilgio ir 400 aukščio (400x400 pikseliai)

    							1. void setup()
    							{
    							size(400, 400);
    							}
    							2. tada rašome void draw()
    							{  
    							3. parašome, ad turėtume foną, komanda  background(200, 255, 230); ir trys kintamieji (skaičiai). 
    							Pirmas skaičius raudonos spalvos intensyvumas  	
    							Antras skaičius žalios spalvos intensyvumas
    							Trečias skaičius mėlynos spalvos intensyvumas
    							prisiminkite: skaičiaus invensyvumas galimas nuo 0 iki 255 (kuo didesnis skaičius tuo daugiau bus tos spalvos).
    							fill(?,?,?); vietoje klaustukų turime įrašyti skaičių, kad gautime spalvą.
    							rect(?, ?, ?, ?);  - stačiakampis, kuriam reikia 4 kintamųjų (skaičių). 
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius stačiakampio ilgis
    							Ketvirtas skaičius stačiakampio aukštis.
    							Mums dar reiks apskritimo.
    							Apskritimą nubrėžti naudosime raktažodį ellipse(?, ?, ?, ?) ir 4 kintamuosius (skaičius)
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius elipsės ilgis
    							Ketvirtas skaičius elipsės aukštis.
  • Atsakymas

    Atsakymas skirtas pasitikrinti

PAŽENGĘ - 2 KLASĖS UŽDUOTYS

  • 29. Užduotis.

    Padarykite kiek įmanoma panašesnį į pateiktą pavyzdį. Turi būti trys pakreiptos linijos, kurios judės iš kairės į dešinę.

  • Sprendimas

    Raktiniai žodžiai, kuriuos panaudosime: void, setup(), size, rect, ellipse, background. Ekrano dydis 400 ilgio ir 400 aukščio (400x400 pikseliai)

    							1. void setup()
    							{
    							size(400, 400);
    							}
    							2. tada rašome void draw()
    							{  
    							3. parašome, ad turėtume foną, komanda  background(200, 255, 230); ir trys kintamieji (skaičiai). 
    							Pirmas skaičius raudonos spalvos intensyvumas  	
    							Antras skaičius žalios spalvos intensyvumas
    							Trečias skaičius mėlynos spalvos intensyvumas
    							prisiminkite: skaičiaus invensyvumas galimas nuo 0 iki 255 (kuo didesnis skaičius tuo daugiau bus tos spalvos).
    							fill(?,?,?); vietoje klaustukų turime įrašyti skaičių, kad gautime spalvą.
    							rect(?, ?, ?, ?);  - stačiakampis, kuriam reikia 4 kintamųjų (skaičių). 
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius stačiakampio ilgis
    							Ketvirtas skaičius stačiakampio aukštis.
    							Mums dar reiks apskritimo.
    							Apskritimą nubrėžti naudosime raktažodį ellipse(?, ?, ?, ?) ir 4 kintamuosius (skaičius)
    							Pirmas skaičius atstumas nuo krašto.
    							Antras skaičius atstumas nuo viršaus.
    							Trečias skaičius elipsės ilgis
    							Ketvirtas skaičius elipsės aukštis.
  • Atsakymas

    Atsakymas skirtas pasitikrinti

ŽINOVAI 3-4 KLASĖS UŽDUOTYS

  • 28 Užduotis

    Turime rašyti ten kur pelytė. Koordinates ir simbolius saugome masyvuose. Paspaudus pelyte turi viskas išsitrinti

  • Sprendimas
    pamoka28 tekstas
  • 29 Užduotis

    Turime padaryti kaip parodyta, turi būti 3 užrašai. Vienas iš jų turi suktis.

  • Sprendimas
    pamoka28 tekstas
  • 30 Užduotis

    Turime nupiešti gėlytes, kurios bus atvaizduojamos, bet kurioje vietoje ir skirtingo dydžio.

  • Sprendimas
    pamoka30

IŠMANANTYS 5-8 KLASĖS UŽDUOTYS

  • 28 Užduotis .

    Reikia sukurti programą, kaip parodyta. Turime atvaizduoti nuotrauką ir turime keisti nuotraukos spalvų intencyvumą priklausomai nuo pelytės pozicijos. Kuo labiau į dešinę tuo šviesesnė nuotrauką. (Šviesumas turi padidėti iki 10 kartų).

  • Sprendimas
    pamoka28
  • 29 Užduotis .

    Reikia sukurti programą, kaip parodyta. Turime sukurti 10 kamuoliu su atsitiktiniais skaičiais (nuo 1 iki 100). Pirmiausia reikia padaryti, kad rodytų atsitiktinius kamuoliukus. Antroje eilėje turi rodyti surušiuotus kamuoliukus. Rūšiavimas turi būti nuo mažiausio iki didžiausio. Rūšiavimo algoritmas burbulo metodas(bubble). Stipresniems atvaizduoti su animacija.

  • Sprendimas

    Be animacijos

    pamoka29m

    Su animacija

    pamoka29
  • 30 Užduotis .

    Reikia sukurti programą-žaidimą gyvatėlę kaip parodyta.

  • Sprendimas

    gyvatelė sprendimas

    pamoka30

EKSPERTŲ UŽDUOTYS 

  • 1. Užduotis

    Pagal pateiktą pavyzdį, padarykite įdentišką vaizdą. Kad būtų lengviau susigaudyti koordinatėse, paspaudus ant paveikslėlio pelytės mygtuku gausime foną su koordinatėmis.

    Turime kintamuosius, kurie pateikti kode. Reikia tuos kintamuosius panaudoti, kad gautme tokį pat vaizdą kaip pateikta. pvz line(a, f, b, g);

    Reiks panaudoti: line, rect, ellipse, triangle

  • Sprendimas
    Programuojame processing programoje arba paspaudus mygtuką "programuoti" turėsime langą, kuriame atliksime veiksmus analogiškus processing programai.
    Nustatome ekrano dydį: size(600, 600);
    NoStroke() raktažodžiu nustatome, kad būtų paveikslėliai be linijų kraštinėse.
    Nustatome fono spalvą pasinaudojus background(?); ? - [0..255].
    Stačiakampiui piešti pasinaudojame rect(?, ?, ?, ?);  ? - [0..255].
    Elipsei piešti pasinaudojame ellipse(?, ?, ?, ?);  ? - [0..255].
    Norint piešti figūrą turime rašyti taip: 
    	beginShape();         
    	vertex(?, ?);
    	...
    	...
    	vertex(?, ?);
    	endShape();  
    Norime piešti tik dalį ar visą ellipsę - naudosime arc(?, ?, ?, ?, ?, ?);
    1 parametras atstumas nuo krašto.
    2 atstumas nuo viršaus.
    3 elipsės ilgis.
    4 elipse aukštis.
    5 kokiu kampu pradėsime piešti.
    6 kokiu kampu baigsime piešti.
    Galimos kampo reikšmės nuo 0 iki 2*PI kas atitinka (0..360). Skaičius galime daryti ir didesnius bet jie yra kartotiniai ir neturi prasmės.
  • Atsakymas

    Atsakymas skirtas pasitikrinti

    void setup() {
    	size(600, 600);
    	noStroke();
    	background(140);
    	fill(170);
    	rect(0, 0, width, 20);
    	fill(160);
    	rect(0, height-100, width, 100);
    	fill(110);
    	rect(0, height-110, width, 10); 
    	fill(180);
    	rect(width/2-300/2, height-200, 300, 10);     
    	rect(width/2-260/2, height-190, 260, 15);     
    	rect(width/2-260/2, height-175, 10, 100);     
    	rect(width/2+260/2-10, height-175, 10, 100);    
    	fill(110);
    	rect(width/2-260/2, height-75, 10, 5);         
    	rect(width/2+260/2, height-75, -10, 5);
    	fill(160);
    	rect(width/2-260/2, height-190, 260, 5);      
    	fill(200);
    	rect(width/2+150, height-140, 70, 10);   
    	rect(width/2+150, height-130, 10, 60);   
    	rect(width/2+210, height-130, 10, 60);   
    	fill(220, 50, 110);
    	rect(width/2+150, height-150, 70, 10);    
    	fill(110);
    	rect(width/2+150, height-75, 10, 5);    
    	rect(width/2+210, height-75, 10, 5);
    	fill(180);
    	rect(width/2+150, height-130, 10, 5);    
    	rect(width/2+210, height-130, 10, 5);
    	fill(200);
    	rect(width/2-180, height-140, 200, 10);   
    	rect(width/2-180, height-140, 10, 70);    
    	rect(width/2+10, height-130, 10, 60);    
    	fill(220, 50, 110);
    	rect(width/2-180, height-150, 200, 10);   
    	fill(110);
    	rect(width/2-180, height-75, 10, 5);      
    	rect(width/2+10, height-75, 10, 5);
    	fill(180);
    	rect(width/2-180, height-130, 10, 5);
    	rect(width/2+10, height-130, 10, 5);
    	fill(255, 40);
    	ellipse(width/2, 290, 50, 50);   
    	fill(255, 30);
    	ellipse(width/2, 290, 60, 60);   
    	fill(255, 20);
    	ellipse(width/2, 290, 70, 70);   
    	fill(255, 10);
    	ellipse(width/2, 290, 80, 80);   
    	fill(255, 150);                 
    	ellipse(width/2, 290, 40, 40);
    	fill(30);
    	rect(width/2-2, 0, 4, 250);      
    	fill(60);
    	rect(width/2-50, 250, 100, 50); 
    	fill(0, 200, 255);
    	rect(0, 100, 80, 300);  
    	fill(35, 190, 95);
    	rect(0, 300, 80, 100);   
    	fill(220, 220, 255);
    	beginShape();         
    	vertex(0, 200);
    	vertex(40, 230);
    	vertex(40, 300);
    	vertex(0, 300);
    	endShape();
    	fill(200, 200, 235);
    	rect(40, 230, 40, 70);  
    	fill(90, 90, 95);
    	beginShape();
    	vertex(0, 200);        
    	vertex(80, 200);
    	vertex(80, 240);
    	vertex(40, 240);
    	endShape();
    	fill(70, 70, 75);
    	rect(15, 190, 20, 10);  
    	fill(200, 130, 215);
    	rect(0, 240, 10, 30);   
    	fill(100);
    	rect(0, 100, 80, 10);    
    	rect(80, 100, 10, 300);  
    	rect(0, 260, 80, 10);    
    	fill(120);
    	rect(0, 400, 100, 10);  
    	fill(100);
    	rect(0, 410, 90, 30);   
    	fill(80);
    	rect(0, 410, 90, 10);
    	fill(40);
    	rect(0, 110, 110, 4);
    	ellipse(110, 112, 12, 12);
    	fill(255, 150);
    	rect(50, 110, 50, 270);   
    	rect(50, 110, 50, 15);    
    	fill(200);
    	rect(width-110, 190, 110, 170);
    	fill(230, 175, 0);
    	rect(width-100, 200, 100, 150);
    	fill(190, 140, 0);
    	ellipse(width/2-20, height-240, 30, 30); 
    	ellipse(width/2+15, height-240, 30, 30);  
    	fill(0, 150, 0);
    	ellipse(width/2-25, height-248, 3, 3);   
    	fill(200, 150, 0);
    	ellipse(width/2, height-240, 30, 30);    
    	fill(0, 150, 0);
    	ellipse(width/2+3, height-250, 3, 3);
    	fill(0, 150, 255);
    	arc(width/2, height-240, 80, 80, 0, PI); 
    	fill(0, 120, 230);
    	rect(width/2-42, height-240, 84, 5);     
    	fill(255, 30);
    	rect(width/2-100, height-250, 30, 50);   
    	rect(width/2+100, height-250, -30, 50);
    	fill(185, 15, 15, 150);
    	rect(width/2-95, height-230, 20, 25);    
    	rect(width/2+95, height-215, -20, 10);
    	fill(50);
    	rect(width-35, height-125, 20, 25, 10, 10, 0, 0);
    } 
  • 2. Užduotis

    Pagal pateiktą pavyzdį, padarykite įdentišką vaizdą.

    Reiks panaudoti: cos, sin, sukurti objektą, radians, dinaminį masyvą (pvz.: ArrayList)

  • Sprendimas
    
    							
  • Atsakymas

    Atsakymas skirtas pasitikrinti

    int maxAge = 100;  
    ArrayList obj; 
    boolean pause = false;     
    void setup() {
    size(500, 500);
    background(120, 110, 100);
    obj = new ArrayList();
    for (int i=0; i < 3; i++) {
    Objektas f = new Objektas(width/2, height/2);
    obj.add(f);
    }
    }
    void draw() {
    if (!pause) {
    for (int i=obj.size()-1; i>=0; i-=1) {
    	Objektas f = obj.get(i);
    	f.update();
    	if (f.distFromCenter >= width/2-50 || f.age > maxAge) {
    		obj.remove(i);
    	}
    	f.display();
    }
    if (frameRate < 30) {
    	setup();
    }
    }
    }
    
    
    
    
    
    class Objektas {
    float angleChangeAmt = radians(8);
    float speed =          1;
    float chanceSplit =    2;
    float splitAngle =     radians(16);
    float x, y, prevX, prevY;
    float angle;
    float distFromCenter;
    int age = 0;
    Objektas(float _x, float _y) {
    x =     _x;
    y =     _y;
    prevX = x;
    prevY = y;
    angle = random(0, TWO_PI);
    }
    Objektas(float _x, float _y, float _angle) {
    x = _x;
    y = _y;
    angle = _angle;
    }
    void update() {
    age += 1;
    distFromCenter = sqrt(pow(width/2-x, 2) + pow(height/2-y, 2));
    angle += random(-angleChangeAmt, angleChangeAmt);
    prevX = x;
    prevY = y;
    x += cos(angle) * speed;
    y += sin(angle) * speed;    
    if (random(100) < chanceSplit) {
    	Objektas f = new Objektas(x, y, angle+splitAngle);
    	obj.add(f);
    	angle -= splitAngle;
    }
    }
    void display() {    
    stroke(255, 245, 235, 60);
    line(prevX, prevY, x, y);
    }
    }
    									
     
  • 7 Užduotis

    Padarykite taip, kaip parodyta programoje. Turime panaudoti rekursija atvaizduojant paveikslėlį. Atvaizdavimui nesinaudoti žinomo dydžio ciklu.

  • video aprašai
  • Atsakymas
    									int lygisMin = 3;
        int lygisMax = 10;
        float ilgis = 70;
        
        float kampasMin = PI/24;
        float kampasMax = PI/6;
    
        void recursiveTree (int lygis, float ilgis, float kampas){
            if (lygis>0){  
                pushMatrix();           
                rotate (kampas);         
                line (0,0,0,-ilgis);   
                pushMatrix();           
                translate(0,-ilgis);   
                scale (0.85f);          
                recursiveTree (lygis-1, ilgis, kampas);  
                popMatrix();  
                popMatrix(); 
                pushMatrix();
                rotate (-kampas);
                line (0,0,0,-ilgis);
                pushMatrix();
                translate(0,-ilgis);
                scale (0.85f);
                recursiveTree (lygis-1, ilgis, kampas);
                popMatrix();
                popMatrix();
            }
        }
    
        public void setup() {
            size(500, 500);
            stroke(27, 25, 9);
            strokeWeight(3);
        }
    
        public void draw() {
            background(color(245,247,232));
            
            float kampasP = map (mouseX, 0, width, kampasMin, kampasMax); 
            int lygis = (int)map (mouseY, height,0, lygisMin, lygisMax); 
            
            pushMatrix(); 
            translate (width/2, height); 
            recursiveTree (lygis, ilgis, kampasP); 
            popMatrix(); 
        }
      
Redaktorius