Pereiti prie turinio

Informatikos VBE 2013


Rekomenduojami pranešimai

teorinei daliai kaip nors ruošiatės? Jei taip tai ką skaitot? Nelabai internete medžiagos radau, nebent egzamino programa ir tada googlinti, bet ir tai ne visad būna tiksliai apibrėžtos sąvokos.

Per pamoką davė iš knygų "Pasaulis kompiuteryje" 2 dalies pasiskaityt, čia radau lyg tais nete sukelta http://gabija.simnet.lt/it/pk/home.html

Jeigu ką 5 skyrius

Redagavo Sinid
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, visi čia per daug vien į tą programavimą žiūrit, niekad jis nebuvo jau toks sunkus per vbe, o dabar prijungus b lygį, tai tikrai neturėtų užduotys sunkėti.

Geriau pasakykit, kaip y ašį pastatyt ant nulinės x reikšmės.

(Apačioj parodyt kaip reik, o pas mane viršuj prie kairės pusės prilipęs) :)

post-18601-0-46705600-1371297615_thumb.png

Redagavo doncatas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, visi čia per daug vien į tą programavimą žiūrit, niekad jis nebuvo jau toks sunkus per vbe, o dabar prijungus b lygį, tai tikrai neturėtų užduotys sunkėti.

Geriau pasakykit, kaip y ašį pastatyt ant nulinės x reikšmės.

(Apačioj parodyt kaip reik, o pas mane viršuj prie kairės pusės prilipęs) :)

 

Naudok taškinę (dviejų reikšmių), o ne linijinę diagramą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nežinau, visi čia per daug vien į tą programavimą žiūrit, niekad jis nebuvo jau toks sunkus per vbe, o dabar prijungus b lygį, tai tikrai neturėtų užduotys sunkėti.

Geriau pasakykit, kaip y ašį pastatyt ant nulinės x reikšmės.

(Apačioj parodyt kaip reik, o pas mane viršuj prie kairės pusės prilipęs) :)

ašies nustatymuose nustatyk minimalią reikšmę

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mano šachmatai:

 

program Turnyras;
   var duom, rez : text;
   n, i, j, kiek, skc, check : integer;
   figuros : array[1..6] of integer;

   procedure skaitymas;
   begin
       assign(duom, 'C:\DuomenysTurnyras.txt');
       reset(duom);
       Readln(duom, n);
       check := 0;

       if (n < 1) OR (n > 100) then
       check := 1 else
       begin
           for i := 1 to n do
           begin
               for j := 1 to 6 do
               begin
                   Read(duom, skc);
                   figuros[j] := figuros[j] + skc;
               end;
           end;
           close(duom);
       end;
   end;


   procedure skaiciavimas;
   begin
       i := 0;
       kiek := 0;

       while i<1 do
       begin
           if (figuros[1] div 8 = 0) OR (figuros[2] div 2 = 0) OR (figuros[3] div 2 = 0) OR (figuros[4] div 2 = 0) OR (figuros[5] div 1 = 0) OR (figuros[6] div 1 = 0) then
           i := i + 1 else
           begin
               kiek := kiek + 1;
               figuros[1] := figuros[1] - 8;
               figuros[2] := figuros[2] - 2;
               figuros[3] := figuros[3] - 2;
               figuros[4] := figuros[4] - 2;
               figuros[5] := figuros[5] - 1;
               figuros[6] := figuros[6] - 1;
           end;
       end;
   end;


   procedure irasymas;
   begin
       assign(rez, 'C:\RezultataiTurnyras.txt');
       rewrite(rez);
       if check = 1 then
       Writeln(rez, 'Neteisingi duomenys (1 =< N =< 100)') else
       Writeln(rez, kiek);
       close(rez);
   end;

begin
   skaitymas;
   skaiciavimas;
   irasymas;
   Writeln('Atsakymas iðsaugotas');
 Readln;
end.

 

Iškilo toks klausymas. Ar galima procedūras rašyti be kintamųjų, tiesiog skaitymas, irasymas ir t.t.? Tiesiog procedūrų viduj laikyti tuos pačius kintamuosius ir nerašyti, pvz, skaitymas(n, i), irasymas(kiek) ir t.t.?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mano šachmatai:

 

program Turnyras;
           *
           *
 Writeln('Atsakymas iðsaugotas');    //Darbas su ekranu
 Readln;                             //Darbas su ekranu
end.

 

Iškilo toks klausymas. Ar galima procedūras rašyti be kintamųjų, tiesiog skaitymas, irasymas ir t.t.? Tiesiog procedūrų viduj laikyti tuos pačius kintamuosius ir nerašyti, pvz, skaitymas(n, i), irasymas(kiek) ir t.t.?

 

Per egzą šitų dalykų nepalik, nes prarasi 2 taškus galima sakyti dėl nieko.

Redagavo Cibulinskis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip, tas:

http://www.sugimnazija.lt/_informatika/valstybinis.htm

Čia turbūt kažkas pats sudėjo, nes skiriasi nuo oficialių.

 

Nežinau, neišsprendžiau niekaip su tais žirniais. Labai daug if ir viskas susimaišo. Gal 3 kartus bandžiau iš naujo. Visų kitų metų užduotis tai nesunkiai išsprendžiu.

 

Tau išėjo išspręsti?

galit uzdavinio salyga su zirniais numest, nes nerandu nuorodoj?

edit:radau

Redagavo ubhart
Nuoroda į pranešimą
Dalintis kituose puslapiuose

2010 m. bandomoji (ta su žirniais):

http://www.sugimnazija.lt/_informatika/valstybinis/2010_bandomasis/VBE_band_2010.pdf

Čia turbūt kažkas pats sudėjo, nes oficiali tai kitokia.

 

aišku, kad galima B-)

 

O nebaudžia? :D

Aš visada globaliuosius naudoju. (Mažos programos, nereikia iš naujo rašyti kintamūjų)

Redagavo Offline67
Nuoroda į pranešimą
Dalintis kituose puslapiuose

2010 m. bandomoji (ta su žirniais):

http://www.sugimnazija.lt/_informatika/valstybinis/2010_bandomasis/VBE_band_2010.pdf

Čia turbūt kažkas pats sudėjo, nes oficiali tai kitokia.

 

 

 

O nebaudžia? :D

Aš visada globaliuosius naudoju. (Mažos programos, nereikia iš naujo rašyti kintamūjų)

o už ką turėtų baust? :blink: . Funkcija veikia, funkcija skaičiuoja, ko daugiau reikia :lol:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tarkim, yra eilutė

e := '5 81 6 2 12 9';

 

tai aš, norėdamas šias reikšmes priskirt masyvui, cikle darau taip:

 

poz := Pos(' ', e);

skc := e(poz-1);

mas := skc;

Delete(e, 0, poz)

 

Čia priskiri pirmą skaičių, tada jį nutrini (iki tarpo) ir eilutės pradžia jau būna kitas skaičius ir t.t. O ką daryt, jei eilutė tokia:

 

e := '5 81 6 2 12 9';

 

Kai kur yra ne po vieną, o du tarpai?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

o už ką turėtų baust? :blink: . Funkcija veikia, funkcija skaičiuoja, ko daugiau reikia :lol:

Bet funkcija/programa veikia ir tada kai būna neprasmingai pavadinti kintamieji, nekomentuojama, nėsilaikoma "stiliaus", kuris mano manymu yra nesąmone, bet už tai taškai yra nuimami :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

o už ką turėtų baust? :blink: . Funkcija veikia, funkcija skaičiuoja, ko daugiau reikia :lol:

 

Baus :D. Parašyta reikalavimuose, 4.2.4.punkte:

,,Naudoti parametrus rašant procedūras ar funkcijas"

Tik dabar nežinau, ką ten rašyti. Gal tik kokį vieną kintamąjį įmesiu. Dėl visa ko. Globalieji žymiai paprasčiau, ypač tokiose mažose programose.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tarkim, yra eilutė

e := '5 81 6 2 12 9';

 

tai aš, norėdamas šias reikšmes priskirt masyvui, cikle darau taip:

 

poz := Pos(' ', e);

skc := e(poz-1);

mas := skc;

Delete(e, 0, poz)

 

Čia priskiri pirmą skaičių, tada jį nutrini (iki tarpo) ir eilutės pradžia jau būna kitas skaičius ir t.t. O ką daryt, jei eilutė tokia:

 

e := '5 81 6 2 12 9';

 

Kai kur yra ne po vieną, o du tarpai?

 

Nebūtina trinti eilutės, kad gautum skaičius. Pvz., aš į string tipo masyvą "mas" skaičius sukėliau taip:

 

 e := '5 81   6 2  12 9';
 skaiciukiekis := 0;
 i := 1;
 while i <= length(e) do
   begin
     if e[i] <> ' '
       then begin
              skaiciukiekis := skaiciukiekis + 1;
              mas[skaiciukiekis] := e[i];
              while (i < length(e)) and (e[i] <> ' ') do
                begin
                  i := i + 1;
                  if e[i] <> ' '
                    then mas[skaiciukiekis] := mas[skaiciukiekis] + e[i];
                end;
            end;
     i := i + 1;
   end;

Redagavo JohnSmith
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Baus :D. Parašyta reikalavimuose, 4.2.4.punkte:

,,Naudoti parametrus rašant procedūras ar funkcijas"

Tik dabar nežinau, ką ten rašyti. Gal tik kokį vieną kintamąjį įmesiu. Dėl visa ko. Globalieji žymiai paprasčiau, ypač tokiose mažose programose.

 

Čia punktas iš VBE programos, tai reiškia, kad reikia tiesiog mokėti naudoti parametrus, tačiau nemanau, jog neturėtų atimti taškų, kai tam tikrose procedūrose jų nepanaudosi. Pavyzdžiui, žiūrint į 2010 m. vertinimo instrukcija, niekur neminima, kad atimami taškai: http://nec.lt/failai/1723_IT_-1-vert-2010.pdf

Redagavo Sqx
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei kas rašėt su C++ ta su žirniais

#include<iostream>
#include<fstream>

using namespace std;
//--------------------------------funkcijų prototipai---------------------------
void skaitymas(int& n, int& n1, int& n2, int pirkejai[]);
void skaiciuoju(int n, int n1, int n2, int pirkejai[], int& n1p, int& n2p, int& kiek, int& parduotapask);
void irasau(int n1p, int n2p, int kiek, int parduotapask);
//------------------------------------------------------------------------------
int main(){
   int n1, //pakuociu po viena kg skaicius
       n2, //pakuociu po 2 kg skaicius
       n, //pikeju skaicius
       pirkejai[100],
       n1p = 0,
       n2p = 0,
       kiek = 0, //kiek zmoniu gavo nors viena pakuote
       parduotapask; //kiek parduota paskutiniam
   skaitymas(n, n1, n2, pirkejai);
   skaiciuoju(n, n1, n2, pirkejai, n1p, n2p, kiek, parduotapask);
   irasau(n1p, n2p, kiek, parduotapask);
system("Pause");
return 0;

}
//-----------------------------skaitymo iš failo funkcija-----------------------
void skaitymas(int& n, int& n1, int& n2, int pirkejai[]){
    ifstream fd("Z1.txt");
    fd >> n1 >> n2 >> n;
    for(int i = 1; i <= n; i++){
            fd >> pirkejai[i];
    }
    fd.close();
}
//-------------------------------skaiciavimo funkcija---------------------------
void skaiciuoju(int n, int n1, int n2, int pirkejai[], int& n1p, int& n2p, int& kiek, int& parduotapask){
    int temp = 0;
    int temp2;
    temp = n1 + n2*2;
    for(int i = 1; i <= n; i++){
            if(temp > 0){
                    kiek++;
                    parduotapask = 0;
            }
            if(temp > 1){
                    temp2 = pirkejai[i] / 2;
                    while(temp > 1 && temp2 > 0){
                               temp -= 2;
                               temp2 -= 2;
                               n2p++;  
                               parduotapask += 2; 
                    }
            }
            if(temp > 0){
                    temp2 += pirkejai[i] % 2;
                    while(temp > 0 && temp2 > 0){

                               temp--;
                               temp2--;
                               n1p++;  
                               parduotapask++;
                    }
            }
    } 
}
//----------------------------irasymo funkcija----------------------------------
void irasau(int n1p, int n2p, int kiek, int parduotapask){
    ofstream fr("Z1Rez.txt");
    fr << n1p <<" "<<n2p <<endl;
    fr << kiek <<endl;
    fr << parduotapask <<endl;
    fr.close();
}

Bet man asmeniškai čia nieko sunkaus nepasirodė, arba čia aš per paprastai išsprendžiau. Gal uždavinuku kokiu sunkesniu turit? Žadėjau spręstis iš kokių olimpiadų pirmų etapų, bet bijau kad nebūtų ne programinės ir naudos nebus.

 

O dėl globalių kintamųjų iš kart taškus prarandat, ne pagal programą rašot. Dėl to man ypač IT VBE nepatinka, yra tiek naudingų funkcijų ir bibliotekų su kuriom kai kurias programas per 20 eil įmanoma parašyt, o turim po 100 rašyt vien dėl to, kad funkcija neprograminė..

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei kas rašėt su C++ ta su žirniais

#include<iostream>
#include<fstream>

using namespace std;
//--------------------------------funkcijų prototipai---------------------------
void skaitymas(int& n, int& n1, int& n2, int pirkejai[]);
void skaiciuoju(int n, int n1, int n2, int pirkejai[], int& n1p, int& n2p, int& kiek, int& parduotapask);
void irasau(int n1p, int n2p, int kiek, int parduotapask);
//------------------------------------------------------------------------------
int main(){
   int n1, //pakuociu po viena kg skaicius
       n2, //pakuociu po 2 kg skaicius
       n, //pikeju skaicius
       pirkejai[100],
       n1p = 0,
       n2p = 0,
       kiek = 0, //kiek zmoniu gavo nors viena pakuote
       parduotapask; //kiek parduota paskutiniam
   skaitymas(n, n1, n2, pirkejai);
   skaiciuoju(n, n1, n2, pirkejai, n1p, n2p, kiek, parduotapask);
   irasau(n1p, n2p, kiek, parduotapask);
system("Pause");
return 0;

}
//-----------------------------skaitymo iš failo funkcija-----------------------
void skaitymas(int& n, int& n1, int& n2, int pirkejai[]){
    ifstream fd("Z1.txt");
    fd >> n1 >> n2 >> n;
    for(int i = 1; i <= n; i++){
            fd >> pirkejai[i];
    }
    fd.close();
}
//-------------------------------skaiciavimo funkcija---------------------------
void skaiciuoju(int n, int n1, int n2, int pirkejai[], int& n1p, int& n2p, int& kiek, int& parduotapask){
    int temp = 0;
    int temp2;
    temp = n1 + n2*2;
    for(int i = 1; i <= n; i++){
            if(temp > 0){
                    kiek++;
                    parduotapask = 0;
            }
            if(temp > 1){
                    temp2 = pirkejai[i] / 2;
                    while(temp > 1 && temp2 > 0){
                               temp -= 2;
                               temp2 -= 2;
                               n2p++;  
                               parduotapask += 2; 
                    }
            }
            if(temp > 0){
                    temp2 += pirkejai[i] % 2;
                    while(temp > 0 && temp2 > 0){

                               temp--;
                               temp2--;
                               n1p++;  
                               parduotapask++;
                    }
            }
    } 
}
//----------------------------irasymo funkcija----------------------------------
void irasau(int n1p, int n2p, int kiek, int parduotapask){
    ofstream fr("Z1Rez.txt");
    fr << n1p <<" "<<n2p <<endl;
    fr << kiek <<endl;
    fr << parduotapask <<endl;
    fr.close();
}

Bet man asmeniškai čia nieko sunkaus nepasirodė, arba čia aš per paprastai išsprendžiau. Gal uždavinuku kokiu sunkesniu turit? Žadėjau spręstis iš kokių olimpiadų pirmų etapų, bet bijau kad nebūtų ne programinės ir naudos nebus.

 

O dėl globalių kintamųjų iš kart taškus prarandat, ne pagal programą rašot. Dėl to man ypač IT VBE nepatinka, yra tiek naudingų funkcijų ir bibliotekų su kuriom kai kurias programas per 20 eil įmanoma parašyt, o turim po 100 rašyt vien dėl to, kad funkcija neprograminė..

Kas tie globalus kintamieji?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Bet man asmeniškai čia nieko sunkaus nepasirodė, arba čia aš per paprastai išsprendžiau. Gal uždavinuku kokiu sunkesniu turit? Žadėjau spręstis iš kokių olimpiadų pirmų etapų, bet bijau kad nebūtų ne programinės ir naudos nebus.

 

O dėl globalių kintamųjų iš kart taškus prarandat, ne pagal programą rašot. Dėl to man ypač IT VBE nepatinka, yra tiek naudingų funkcijų ir bibliotekų su kuriom kai kurias programas per 20 eil įmanoma parašyt, o turim po 100 rašyt vien dėl to, kad funkcija neprograminė..

max vieną tašką nuims už globalius kintamuosius:) pasiskaityk vertinimo instrukciją, bent man taip atrodo http://nec.lt/failai/1723_IT_-1-vert-2010.pdf :ph34r:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nebūtina trinti eilutės, kad gautum skaičius. Pvz., aš į string tipo masyvą "mas" skaičius sukėliau taip:

 

 e := '5 81   6 2  12 9';
 skaiciukiekis := 0;
 i := 1;
 while i <= length(e) do
   begin
     if e[i] <> ' '
       then begin
              skaiciukiekis := skaiciukiekis + 1;
              mas[skaiciukiekis] := e[i];
              while (i < length(e)) and (e[i] <> ' ') do
                begin
                  i := i + 1;
                  if e[i] <> ' '
                    then mas[skaiciukiekis] := mas[skaiciukiekis] + e[i];
                end;
            end;
     i := i + 1;
   end;

 

Tavo kodas pirmą skaičių visada parašo su tarpu. Tarkim, 1_ (du simboliai išvis). Su kitais skaičiais gerai.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Dėl to man ypač IT VBE nepatinka, yra tiek naudingų funkcijų ir bibliotekų su kuriom kai kurias programas per 20 eil įmanoma parašyt, o turim po 100 rašyt vien dėl to, kad funkcija neprograminė..

Tai tipo negalima naudot sort, max/min_element ir pan funkcijų? Kur taip parašyta? :|

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...