Pereiti prie turinio

Informatikos VBE 2013


Rekomenduojami pranešimai

Sveiki, uždarbiečiai. Iki infės egzo liko +- 2,5 dienos. Kaip nuotaikos, kaip ruošiatės? :D Aš šiuo metu graužiu programavimo šaknis iš knygos "Šiuolaikiškas žvilgsnis į programavimą C++", nes mokykloje, deja, nebuvo programavimo modulio, savarankiškai mokinausi ganėtinai vangiai, todėl dabar liko dar 10 temų išeit per šias gražias keletą dienų. Gal programavimo vilkai, kurie jau tvirtai jaučiatės laikydami ar išlaikę seniau šį egzaminą, kokių patarimukų nepagailėsit, į ką, jūsų manymu, turėčiau atkreipti didžiausią dėmesį?

Beje, kokių rezultatų siekiate? Realiai man užtektų 80 vbe balų, todėl galiu prarasti 25 taškus :D

Redagavo eimis236
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mano sprendimas su maršrutais (gal kas esat darę):

 

program Bevardė19;

   Type irasas = record
       numeris : integer;
       tipas : string[14];
       stoteles : integer;
       atstumai : array[1..49] of integer;
   end;

   Type irasas2 = record
       skaicius : integer;
       ilgis : integer;
   end;


   var duom, rez : text;
   n, i, j, priemone, ilgis, ilgiausias, ilgiausioilgis, trumpiausias, trumpiausioilgis : integer;
   marsrutai : array[1..100] of irasas;
   tarpas : char;
   rezultatai : array[1..3] of irasas2;
   tipas, ilgiausiotipas, trumpiausiotipas : string;


begin
   ///////////////////////////////////////////////////////////////////Skaitymas iš failo, duomenų rašymas į masyvą
   assign(duom, 'C:\DuomenysMarsrutai.txt');
   reset(duom);
   Readln(duom, n);

   for i := 1 to n do
   begin
       Read(duom, marsrutai[i].numeris, tarpas);
       Read(duom, marsrutai[i].tipas, marsrutai[i].stoteles);
       for j := 1 to marsrutai[i].stoteles - 1 do
       Read(duom, marsrutai[i].atstumai[j]);
       Readln(duom);
   end;
   close(duom);

   /////////////////////////////////////////////////////////////////Apskaičiuoja kiekvienos transp. priemonės maršrutų skaičių ir bendrą ilgį, išsaugo į masyvą
   for i := 1 to n do
   begin
       tipas := Copy(marsrutai[i].tipas, 0, 4);

       if tipas = 'auto' then
           priemone := 1 else if tipas = 'mikr' then
               priemone := 2 else
                   priemone := 3;

       for j := 1 to marsrutai[i].stoteles - 1 do
       begin
           ilgis := ilgis + marsrutai[i].atstumai[j];
       end;

       rezultatai[priemone].skaicius := rezultatai[priemone].skaicius + 1;
       rezultatai[priemone].ilgis := rezultatai[priemone].ilgis + ilgis;
       ilgis := 0;

   end;

   /////////////////////////////////////////////////////////////////Apskaičiuoja ilgiausią maršrutą
   ilgiausias := marsrutai[1].numeris;
   ilgiausioilgis := 0;
   for i := 1 to marsrutai[1].stoteles - 1 do
   ilgiausioilgis := ilgiausioilgis + marsrutai[1].atstumai[i];
   ilgiausiotipas := marsrutai[1].tipas;

   ilgis := 0;
   for i := 1 to n do
   begin
       for j := 1 to marsrutai[i].stoteles - 1 do
           begin
               ilgis := ilgis + marsrutai[i].atstumai[j];
           end;
       if ilgis > ilgiausioilgis then
       begin
           ilgiausias := marsrutai[i].numeris;
           ilgiausioilgis := ilgis;
           ilgiausiotipas := marsrutai[i].tipas;
       end;

   ilgis := 0;
   end;

   /////////////////////////////////////////////////////////////////Apskaičiuoja mažiausią atstumą
   trumpiausias := marsrutai[1].numeris;
   trumpiausioilgis := marsrutai[1].atstumai[1];
   trumpiausiotipas := marsrutai[1].tipas;
   for i := 1 to n do
   begin
       for j := 1 to marsrutai[i].stoteles - 1 do
       begin
           if marsrutai[i].atstumai[j] < trumpiausioilgis then
           begin
              trumpiausias := marsrutai[i].numeris;
              trumpiausioilgis := marsrutai[i].atstumai[j];
              trumpiausiotipas := marsrutai[i].tipas;
           end
       end;
   end;


   /////////////////////////////////////////////////////////////////Išsaugo rezultatus
   assign(rez, 'C:\RezultataiMarsrutai.txt');
   rewrite(rez);

   if rezultatai[1].skaicius = 0 then
   Writeln(rez, 'autobusas      nėra') else
   Writeln(rez, 'autobusas      ', rezultatai[1].skaicius, ' ', rezultatai[1].ilgis);

   if rezultatai[2].skaicius = 0 then
   Writeln(rez, 'mikroautobusas nėra') else
   Writeln(rez, 'mikroautobusas ', rezultatai[2].skaicius, ' ', rezultatai[2].ilgis);

   if rezultatai[3].skaicius = 0 then
   Writeln(rez, 'troleibusas    nėra') else
   Writeln(rez, 'troleibusas    ', rezultatai[3].skaicius, ' ', rezultatai[3].ilgis);

   Writeln(rez, ilgiausiotipas, ' ', ilgiausias, ' ', ilgiausioilgis);
   Writeln(rez, trumpiausiotipas, ' ', trumpiausias, ' ', trumpiausioilgis);

   close(rez);
end.

 

Kaip galvojat, ar įmanoma gauti 20/25 taškų, jei palieki tokį plain kodą - be funkcijų, procedūrų ir pan? Vertinime rašo, kad duoda 20 taškų, jei programa pateikia teisingus visų testų rezultatus.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mano sprendimas su maršrutais (gal kas esat darę):

 

---

 

Kaip galvojat, ar įmanoma gauti 20/25 taškų, jei palieki tokį plain kodą - be funkcijų, procedūrų ir pan? Vertinime rašo, kad duoda 20 taškų, jei programa pateikia teisingus visų testų rezultatus.

esu padaręs, dariau dar neįgudęs, kodas baisus, bet veikia :lol: . O dėl taškų tai turbūt gautum, jei testus praeitum, jei ne - būtų nekažką :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

As cia is sono komentara, tai niekaip nesuprantu, kodel jus visi isimyleje tuos globalius kintamuosius? Niekas niekur ju nenaudoja ir net nepatartina ju naudot. Jei siesit ateiti su programavimu, tai siulau faktiskai pamirst juos.

egzaminas = laikas, globalūs kintamieji = laiko taupymas. Nieks čia nieko neįsimylėjęs, tiesiog laiką gaišti su lokaliais kintamaisiais, rašydamas trumpą kodą. :rolleyes:

 

jei siesit ateiti su programavimu, tai siulau faktiskai pamirst juos.
:D :D :D prajuokinai :lol: (nesakau, kad netiesa, tiesiog...)
Nuoroda į pranešimą
Dalintis kituose puslapiuose

egzaminas = laikas, globalūs kintamieji = laiko taupymas. Nieks čia nieko neįsimylėjęs, tiesiog laiką gaišti su lokaliais kintamaisiais, rašydamas trumpą kodą. :rolleyes:

 

:D :D :D prajuokinai :lol: (nesakau, kad netiesa, tiesiog...)

Aha, ziauriai laiko pritaupysi, minute, dvi? Seems legit. Dar kaip dabar atsimenu kokius 3 ar 4 metus atgal kai i Kazicko konkursa vaziuodavau, tai reikalavimuose net isryskinta budavo "Nenaudot globaliu kintamuju". Na bet tiek to, nesigincysiu, jus geriau zinot vistiek :)

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

As cia is sono komentara, tai niekaip nesuprantu, kodel jus visi isimyleje tuos globalius kintamuosius? Niekas niekur ju nenaudoja ir net nepatartina ju naudot. Jei siesit ateiti su programavimu, tai siulau faktiskai pamirst juos.

Tai pala, pala, nereikia prašyti globaliųjų, o tada lokaliuosius procedūroje ir tada priskirti kiekvienam lokaliam po globalujį? Kalbu apie tai, kas yra skliausteliuose. Čia žymiai daugiau darbo ir lengva susipainioti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai pala, pala, nereikia prašyti globaliųjų, o tada lokaliuosius procedūroje ir tada priskirti kiekvienam lokaliam po globalujį? Kalbu apie tai, kas yra skliausteliuose. Čia žymiai daugiau darbo ir lengva susipainioti.

reikia, taip daugiau darbo. Susipainiot galima, bet reikia galvoti ką kur statyti, jei naudoji funkciją procedūroje ar panašiai :|

 

Aha, ziauriai laiko pritaupysi, minute, dvi? Seems legit. Dar kaip dabar atsimenu kokius 3 ar 4 metus atgal kai i Kazicko konkursa vaziuodavau, tai reikalavimuose net isryskinta budavo "Nenaudot globaliu kintamuju". Na bet tiek to, nesigincysiu, jus geriau zinot vistiek :)

netgi 10-20min. galima sutaupyti. Jau geriau viską padarysiu ir prarasiu tuos 2 taškus už globalius, negu vieną su puse programos ir prarasiu 15 :rolleyes:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

10-20 min.? Kaip? Jei rašant tokias programas galima sutaupyti tiek laiko, tai aš galėčiau sutrumpinti savo programavimą valandomis :o

 

Tų lokalių kintamųjų rašymas darant VBE užduotis (su Pascal) tik atima laiką, nes reikia papildomai parašyti nemažai teksto, įsitikinti, ar nepalikai klaidų, nesumaišei naujų lokalių kintamųjų vardų. Galbūt 10 min nuo kiekvienos ilgesnės programos. O juk lokalūs kintamieji VBE užduotyse daugiausiai nereikalingi, nes dauguma procedūrų, (skaitymo, rašymo ir kitos) veikia tik po 1 kartą su vienais konkrečiais duomenimis, tai kam apsunkinti sau gyvenimą su lokaliais...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tų lokalių kintamųjų rašymas darant VBE užduotis (su Pascal) tik atima laiką, nes reikia papildomai parašyti nemažai teksto, įsitikinti, ar nepalikai klaidų, nesumaišei naujų lokalių kintamųjų vardų. Galbūt 10 min nuo kiekvienos ilgesnės programos. O juk lokalūs kintamieji VBE užduotyse daugiausiai nereikalingi, nes dauguma procedūrų, (skaitymo, rašymo ir kitos) veikia tik po 1 kartą su vienais konkrečiais duomenimis, tai kam apsunkinti sau gyvenimą su lokaliais...

O tai kam tada rasomos funkcijos ir proceduros, jei jos vistiek tik po viena karta bus ivykdytos? Kodel nekist visko i pagrindine programa? Tam viskas ir daroma, kad kodas butu optimalus, kad atitinkamus veiksmus prireikus galetum naudot daug kartu be didesnio rasymo, o ivedant globalius kintamuosius proceduros ir funkcijos faktiskai praranda nauda.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

O tai kam tada rasomos funkcijos ir proceduros, jei jos vistiek tik po viena karta bus ivykdytos?

VBE jos rašomos tam, kad patikrinti mūsų žinias ar išvis mokame tai daryti. Visi mes žinom, kad jos praranda esmę ir t.t., nereikia pamokslauti, kiek žinau lietuviai nemėgsta kai juos "moko". :)

 

Perskaičiau šviežią vykdymo instrukciją :

 gali naudotis rašymo priemonėmis (pieštuku, tamsiai mėlynai rašančiu rašikliu), trintuku ir skaičiuotuvu be

tekstinės atminties, t. y. skaičiuotuvu, kurio klaviatūra neturi pilno lotyniškojo raidyno;

Redagavo Peupeu
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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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