Pereiti prie turinio

Informatikos VBE 2013


Rekomenduojami pranešimai

Tai kažką ne taip darai turbūt. :)

 

Gal kas galit parašyt koduką, kaip surast dažniausiai/rečiausiai pasikartojantį įrašą masyve?

Galima su dvimačiu, 1 vietoj skaičius, antroj kiek kartų kartojasi, jei su vienmačiu tai a gali būti kiek kartojasi, o i tas skaičius, bet yra kabliukų tokiu būdu, galima su įrašais.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Galima su dvimačiu, 1 vietoj skaičius, antroj kiek kartų kartojasi, jei su vienmačiu tai a gali būti kiek kartojasi, o i tas skaičius, bet yra kabliukų tokiu būdu, galima su įrašais.

Pasidariau pats :)

   tikraskiek := 0;
   kiek := 0;
   for i := 1 to 7 do
   begin
       narys := mas[i];
       for j := 1 to 7 do
       begin
           if narys = mas[j] then
           kiek := kiek + 1;
       end;
       if kiek > tikraskiek then
       begin
           tikraskiek := kiek;
           kuris := i;
       end;
       kiek := 0;
   end;
   Writeln(kuris, ' ', tikraskiek);

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

štai man iškilo toks klausimas su lietuviškais rašmenimis (C++ programavimo kalba, Codeblocks aplinka). Jei pavyzdžiui rezultatų faile bus parašyta "Egle" vietoj "Eglė" ar užskaitys testą? Nes C++ kalboje iškraipo tuos lietuviškus rašmenys.. Kaip galima išspręsti šią problemą?

 

Taip pat įdomu, koks Wordas (lietuviškas ar angliškas) bus pateiktas egzamino metu?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki,

 

štai man iškilo toks klausimas su lietuviškais rašmenimis (C++ programavimo kalba, Codeblocks aplinka). Jei pavyzdžiui rezultatų faile bus parašyta "Egle" vietoj "Eglė" ar užskaitys testą? Nes C++ kalboje iškraipo tuos lietuviškus rašmenys.. Kaip galima išspręsti šią problemą?

 

Taip pat įdomu, koks Wordas (lietuviškas ar angliškas) bus pateiktas egzamino metu?

setlocale(LC_ALL, "Lithuanian") pradzioj kodo. Be to, nezinau kaip siais metais, bet praejusiais metais jei testu nepraeidavo, tai koda tikrindavo patys, tai jei del tokio dalyko nesigautu tai manau tasku neatimtu.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

setlocale(LC_ALL, "Lithuanian") pradzioj kodo. Be to, nezinau kaip siais metais, bet praejusiais metais jei testu nepraeidavo, tai koda tikrindavo patys, tai jei del tokio dalyko nesigautu tai manau tasku neatimtu.

o paskalyje galima koduotę pakeist?

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kalbant apie prieš tai iškeltą problemą. Mano supratimu ir kiek anksčiau skaičiau vertinimo instrukciją pradiniai duomenys ir rezultatų kintamieji gali būti globaliaisiais.

 

setlocale(LC_ALL, "Lithuanian") pradzioj kodo. Be to, nezinau kaip siais metais, bet praejusiais metais jei testu nepraeidavo, tai koda tikrindavo patys, tai jei del tokio dalyko nesigautu tai manau tasku neatimtu.

Dėkui, tai padėjo komentarams. Bet atrodo pradiniams ir rezultatų failams tai neveiksminga vis tiek išveda kažkokius neaiškius simbolius, kai aitdarau antrą karta duomenų failą arba atidarau rezultatų failą.. Gal reikia dar kokią eilutę pridėt? :|

Redagavo sOnnY
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pasidariau pats :)

   tikraskiek := 0;
   kiek := 0;
   for i := 1 to 7 do
   begin
       narys := mas[i];
       for j := 1 to 7 do
       begin
           if narys = mas[j] then
           kiek := kiek + 1;
       end;
       if kiek > tikraskiek then
       begin
           tikraskiek := kiek;
           kuris := i;
       end;
       kiek := 0;
   end;
   Writeln(kuris, ' ', tikraskiek);

 

tikraskiek:=0;
for i:=1 to n do
begin
kiek:=0;
narys:=mas[i];
for j:=1 to n do
	if mas[j]=narys then
		kiek+=1;
if kiek>tikraskiek then
   BEGIN
	tikraskiek:=kiek;
	kuris:=i;			
   end;
end;

truputi patobulinau, BEGIN IR END rašyk tik tada, kai atlieki daugiau nei vieną veiksmą :)

 

Kalbant apie prieš tai iškeltą problemą. Mano supratimu ir kiek anksčiau skaičiau vertinimo instrukciją pradiniai duomenys ir rezultatų kintamieji gali būti globaliaisiais.

 

 

Dėkui, tai padėjo komentarams. Bet atrodo pradiniams ir rezultatų failams tai neveiksminga vis tiek išveda kažkokius neaiškius simbolius, kai aitdarau antrą karta duomenų failą arba atidarau rezultatų failą.. Gal reikia dar kokią eilutę pridėt? :|

mano atrodo, pradiniai duomenys visada be LT rašmenų būna, :ph34r:

offisas priklausys nuo to, kur laikysi, kalba metai ir t.t., Riešėje bus 2007 lietuviškas, jei kam idomu :rolleyes:

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kalbant apie prieš tai iškeltą problemą. Mano supratimu ir kiek anksčiau skaičiau vertinimo instrukciją pradiniai duomenys ir rezultatų kintamieji gali būti globaliaisiais.

 

 

Dėkui, tai padėjo komentarams. Bet atrodo pradiniams ir rezultatų failams tai neveiksminga vis tiek išveda kažkokius neaiškius simbolius, kai aitdarau antrą karta duomenų failą arba atidarau rezultatų failą.. Gal reikia dar kokią eilutę pridėt? :|

UTF-8 koduote arba Unicode duomenu faila issisaugok, o ne ANSI, tada turetu veikt, nes jei duomenu faila atsidarai antra kart ir pasikeite buna, tai ryskiai notepadas sugadina.

Redagavo hafnis1324
Nuoroda į pranešimą
Dalintis kituose puslapiuose

tikraskiek:=0;
for i:=1 to n do
begin
kiek:=0;
narys:=mas[i];
for j:=1 to n do
	if mas[j]=narys then
		kiek+=1;
if kiek>tikraskiek then
   BEGIN
	tikraskiek:=kiek;
	kuris:=i;			
   end;
end;

truputi patobulinau, BEGIN IR END rašyk tik tada, kai atlieki daugiau nei vieną veiksmą :)

 

 

mano atrodo, pradiniai duomenys visada be LT rašmenų būna, :ph34r:

offisas priklausys nuo to, kur laikysi, kalba metai ir t.t., Riešėje bus 2007 lietuviškas, jei kam idomu :rolleyes:

 

Būtų labai gerai, jei input'as be lt rašmenų būtų. Bet parošiamojoje knygoje pagal atnaujintą VBE programą buvo daug uždavinių būtent su lietuviškais rašmenimis pradiniame faile..

Nuoroda į pranešimą
Dalintis kituose puslapiuose

gal kas esat padaręs 2013 VBE bandomojo egzamino pirmąją programavimo užduotį su skaičiaus dalumu?

 

Pascal:

program skaiciu_daluumas;

const   cmin=1000;
       cmax=9999;

var a,b,c,d,i,rezultatas:integer;
begin
   rezultatas:=0;
   for i:=cmin to cmax do
   begin
       a:=i div 1000;
       b:=i mod 1000 div 100;
       c:=i mod 100 div 10;
       d:=i mod 10;
       if (a+b+c+d) mod 3=0 then
       rezultatas:=rezultatas+1;
   end;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pascal:

program skaiciu_daluumas;

const   cmin=1000;
       cmax=9999;

var a,b,c,d,i,rezultatas:integer;
begin
   rezultatas:=0;
   for i:=cmin to cmax do
   begin
       a:=i div 1000;
       b:=i mod 1000 div 100;
       c:=i mod 100 div 10;
       d:=i mod 10;
       if (a+b+c+d) mod 3=0 then
       rezultatas:=rezultatas+1;
   end;
end.

dėkui :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pascal:

program skaiciu_daluumas;

const   cmin=1000;
       cmax=9999;

var a,b,c,d,i,rezultatas:integer;
begin
   rezultatas:=0;
   for i:=cmin to cmax do
   begin
       a:=i div 1000;
       b:=i mod 1000 div 100;
       c:=i mod 100 div 10;
       d:=i mod 10;
       if (a+b+c+d) mod 3=0 then
       rezultatas:=rezultatas+1;
   end;
end.

mane šitas pratimas įžeidė :lol: nerašo skaidyt skaičiaus, tik pasako, kada dalinasi, o vertinimas kitoks...

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiandien diskutavom grupėje per konsultaciją, tai dėl tų pačių globalių ir lokalių kintamųjų nuomonės išsiskyrė, vis dėlto, priėjom išvadą, kad geriau naudot lokalius, kadangi mažesnė tikimybė, kad kokia reikšmė bus iškraipyta, kadangi kai yra globalūs, tai gali iškraipyt reikšmes nepastebint, nebent apsisaugot juos kopijuot, o tada jau padidėja nežinomujų, o kai yra lokalūs, tada tiesiog be var atsisiunti reikšme, ir gali daryti ką nori

Redagavo Perkumelynes
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiandien diskutavom grupėje per konsultaciją, tai dėl tų pačių globalių ir lokalių kintamųjų nuomonės išsiskyrė, vis dėlto, priėjom išvadą, kad geriau naudot lokalius, kadangi mažesnė tikimybė, kad kokia reikšmė bus iškraipyta, kadangi kai yra globalūs, tai gali iškraipyt reikšmes nepastebint, nebent apsisaugot juos kopijuot, o tada jau padidėja nežinomujų, o kai yra lokalūs, tada tiesiog be var atsisiunti reikšme, ir gali daryti ką nori

Jeigu apgalvotai darai, neįškraipys tų globalių ir šeip reikia prižioplint, kad taip atsitiktų, sutinkų lokalūs geriau. Bet atsižvelgsių į laiką, kuriuos naudot :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Šiandien diskutavom grupėje per konsultaciją, tai dėl tų pačių globalių ir lokalių kintamųjų nuomonės išsiskyrė, vis dėlto, priėjom išvadą, kad geriau naudot lokalius, kadangi mažesnė tikimybė, kad kokia reikšmė bus iškraipyta, kadangi kai yra globalūs, tai gali iškraipyt reikšmes nepastebint, nebent apsisaugot juos kopijuot, o tada jau padidėja nežinomujų, o kai yra lokalūs, tada tiesiog be var atsisiunti reikšme, ir gali daryti ką nori

 

Betgi koks skirtumas, ar tu nusikopijuosi kažkuriuos kintamuosius suteikdamas kitą pavadinimą ar rašysi kaip lokalius, nes lokalūs kintamieji taip pat yra kopija. Vadinasi, nežinomųjų skaičius nepadaugės, o net jei ir padaugėtų - kas čia tokio?

 

Ten gal kokį kartą ar kitą gresia iškraipymas, tačiau tai nereiškia, kad visi procedūrų ar funkcijų kintamieji privalo būti lokalūs. O kaip tu sakai, kad mažesnė tikimybė, kad kokia reikšmė bus iškraipyta, tai čia tas pats, kas sakyt, jog mažesnė tikimybė suklysti / pražiopsoti iškraipymą. Tik jei būsi atidus, tų klaidų ir taip nedarysi...

 

Taigi naudoti lokalius kintamuosius gal ir geriau, bet toli gražu nebūtina. (Bent man taip atrodo :lol:)

Redagavo JohnSmith
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Betgi koks skirtumas, ar tu nusikopijuosi kažkuriuos kintamuosius suteikdamas kitą pavadinimą ar rašysi kaip lokalius, nes lokalūs kintamieji taip pat yra kopija. Vadinasi, nežinomųjų skaičius nepadaugės, o net jei ir padaugėtų - kas čia tokio?

 

Ten gal kokį kartą ar kitą gresia iškraipymas, tačiau tai nereiškia, kad visi procedūrų ar funkcijų kintamieji privalo būti lokalūs. O kaip tu sakai, kad mažesnė tikimybė, kad kokia reikšmė bus iškraipyta, tai čia tas pats, kas sakyt, jog mažesnė tikimybė suklysti / pražiopsoti iškraipymą. Tik jei būsi atidus, tų klaidų ir taip nedarysi...

 

Taigi naudoti lokalius kintamuosius gal ir geriau, bet toli gražu nebūtina. (Bent man taip atrodo :lol:)

 

 

Taip kopijuoji, bet juos jau turi apsirašyti vienoje vietoje. O mano atveju, aš per kiekvieną procedūrą turiu x skirtingų tipų, reikšmių, bet užtat visada žinau, ką jis kokioj procedūroj daro, man nebereikia, x1,x2,x3,x4......

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Taip kopijuoji, bet juos jau turi apsirašyti vienoje vietoje. O mano atveju, aš per kiekvieną procedūrą turiu x skirtingų tipų, reikšmių, bet užtat visada žinau, ką jis kokioj procedūroj daro, man nebereikia, x1,x2,x3,x4......

 

Sutinku, bet kai turi mažai laiko ir jei yra tokių kintamųjų, kuriuos procedūra ar funkcija keičia, bet vėliau jie reikalingi nepakeisti, tai gali pasidaryti jų kopijas (t.y. pagalbinius kintamuosius) apsirašydamas po procedūros ar funkcijos pavadinimu prie var.

 

Šitaip pasidarysi kopijas tik tų kintamųjų, kurie išsikraipo, bet negaiši laiko visus kintamuosius darydamas lokalius.

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ą...