Pereiti prie turinio

Informatikos VBE


Rekomenduojami pranešimai

4. 2, 4, 7

20. Darbas(y, x, x1, y1)

4. nezinau be man atrodo blogai. as pasirinkau 1 4 7

20. tikrai blogai

 

Aš tai 20. kažkodėl tokį rašiau:

Darbas(x*y,x,x1,y1);

O 23 kartais ne

k:=0;
for i:=a to b do
  if X[i] mod 2 <>0 then
     k:=k+1;

?

20tas atrodo gerai :). Idomiai isvartyta. Turbut uzkaitys.

23ta galima ir sitaip, jokio skirtumo taigi.

Redagavo Tommis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aš tai 20. kažkodėl tokį rašiau:

Darbas(x*y,x,x1,y1);

O 23 kartais ne

k:=0;
for i:=a to b do
  if X[i] mod 2 <>0 then
     k:=k+1;

?

 

20. Katik patikrinau su savo atsakymu, viską gerai gauna ;]

program T1;

 

procedure Darbas (a,b:integer; var c,d:integer);

begin

c:=a mod b;

d:=a div b;

end;

 

var x,y,x1,y1:integer;

begin

x:=7; y:=5;

Darbas(y,x,y1,x1);

Writeln(x, ' ', y, ' ', x1, ' ', y1);

Readln;

end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Antras uždavinys

 

U2.txt

3 5
Petras Rasa*********
3 1 5 8 10
5 6 7 8 9
Rita Jurgis*********
6 5 8 5 8
9 8 7 6 5
Rasa Linas**********
10 10 10 10 10
8 8 8 8 8

Kur žvaigždutės - tarpai.

 

Pasirašiau paprastą programėlę duomenų nuskaitymui

 

[1] program test;
[2] var h: text;
[3]     porosVardas: String[20];
[4]     x, y, poruSk, teisejuSk: integer;
[5] begin
[6]   Assign(h, 'U2.txt');
[7]   Reset(h);
[8]   Readln(h, poruSk, teisejuSk);
[9]   for x:=1 to poruSk do
[10]     begin
[11]       Readln(h, porosVardas);
[12]       Read(h, y);
[13]     end;
[14]   Close(h);
[15] end.

 

Sukompiliavus ir paleidus metama klaida: "Run time error Nr. 106 - Bad numeric format".

Pakeitus 12 eilutę į Read(h, x);, klaidos nebelieka. x - vienintelis kintamasis, į kurį be klaidos nuskaitomas skaičius.

 

 

Paaiškinkit, kur čia klaida?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

20. Katik patikrinau su savo atsakymu, viską gerai gauna ;]

program T1;

 

procedure Darbas (a,b:integer; var c,d:integer);

begin

c:=a mod b;

d:=a div b;

end;

 

var x,y,x1,y1:integer;

begin

x:=7; y:=5;

Darbas(y,x,y1,x1);

Writeln(x, ' ', y, ' ', x1, ' ', y1);

Readln;

end.

MantasP variantas irgi tinka, gali patikrinti.

Redagavo Tommis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Antras uždavinys

 

U2.txt

3 5
Petras Rasa*********
3 1 5 8 10
5 6 7 8 9
Rita Jurgis*********
6 5 8 5 8
9 8 7 6 5
Rasa Linas**********
10 10 10 10 10
8 8 8 8 8

Kur žvaigždutės - tarpai.

 

Pasirašiau paprastą programėlę duomenų nuskaitymui

 

[1] program test;
[2] var h: text;
[3]     porosVardas: String[20];
[4]     x, y, poruSk, teisejuSk: integer;
[5] begin
[6]   Assign(h, 'U2.txt');
[7]   Reset(h);
[8]   Readln(h, poruSk, teisejuSk);
[9]   for x:=1 to poruSk do
[10]     begin
[11]       Readln(h, porosVardas);
[12]       Read(h, y);
[13]     end;
[14]   Close(h);
[15] end.

 

Sukompiliavus ir paleidus metama klaida: "Run time error Nr. 106 - Bad numeric format".

Pakeitus 12 eilutę į Read(h, x);, klaidos nebelieka. x - vienintelis kintamasis, į kurį be klaidos nuskaitomas skaičius.

 

 

Paaiškinkit, kur čia klaida?

 

tai kad tu tik viena skaiciu nuskaitai. Reikejo sitaip:

for y:= 1 to teisejuSk do
Read(h,y);
for y:= 1 to teisejuSk do
Read(h,y);

Redagavo Tommis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

program test;
var h: text;
   porosVardas: String[20];
   x, y, z, poruSk, teisejuSk: integer;
begin
 Assign(h, 'U2.txt');
 Reset(h);
 Readln(h, poruSk, teisejuSk);
 for x:=1 to poruSk do
   begin
     Readln(h, porosVardas);
     for y:=1 to teisejuSk do
       Read(h, z);
     for y:=1 to teisejuSk do
       Read(h, z);
   end;
 Close(h);
end.

 

Ta pati klaida.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

program test;
var h: text;
   porosVardas: String[20];
   x, y, z, poruSk, teisejuSk: integer;
begin
 Assign(h, 'U2.txt');
 Reset(h);
 Readln(h, poruSk, teisejuSk);
 for x:=1 to poruSk do
   begin
     Readln(h, porosVardas);
     for y:=1 to teisejuSk do
       Read(h, z);
Readln(h);
     for y:=1 to teisejuSk do
       Read(h, z);
Readln(h);
   end;
 Close(h);
end.

bandyk taip.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ką gi... Testas tai buvo visiškai easy, liko gerų 40min. apmąstymams. Keista, kad šitiek elementarių klaidų pas kai kuriuos pasitaikė, o va antroji egzamino dalis... Užduotys per sunkios ir kokio velnio į VBE jas deda dvi? Juk vienos pilnai užtektų. Per ~20min supyliau pirmą programą (net pats stebėjausi), o tada ir prasidėjo... Regis, viską supratau, visi algoritmai logiški ir teisingi, bet ! Nesuko nei vieno while ciklo. Galvojau pabaigoj paieškosiu klaidos, bet tuomet ir prasidėjo visas skubėjimas bei rašymas „belekaip“. Rezultate, dvi parašytos programos: pirmosios principas geras, tačiau rezultatas – visiškos pievos, antroji - geras pradinių duomenų rezultatas, tačiau sumaltas kodas ir bloga rikiavimo procedūra. Kokie kitų įspūdžiai dėl programavimo užduočių? Beje, egzaminą mum pratesė vos 5min, nors asmeniškai, nekorektiški pradiniai duomenys rūpesčių nesudarė.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Įdomu užskaitys tokį ar ne Darbas(5*x,y+2, x1, y1). :)

 

Na, programos buvo sudėtingesnės už praeitų metų, tačiau lengvesnės nei 09 metų. Tad tie, kurie buvo išsisprendę bent paskutinių dviejų metų egzaminų praktines užduotis, turėtų padaryti ir šiandienines.

 

 

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aš tai irgi nesuspėjau su antra užduotim, dar su pirma kažką ten suvėliau. Tai vat, nelabai kaip su tom užduotim. O testas, tai tikrai easy, gerai, kad bent tas geras bus :D. Įdomu ant kiek galima išlaikyt jei testas geras, ir šiek tiek parašęs abiejų programų..

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ei chebra pasidalinam testo atsakymais ;]

 

Pradėsiu nuo savęs:

1. C

2. 2;3

3. Suliejo langelius; uždėjo rėmelius

4. 1;4;7

5. D

6. 10;0

7. =MAX(B3:B8); =MIN(C3:C8); =AVERAGE(B3:B8)

8. =$B$3*$B$4*B7*C7; =IF(B11>B12; "TAIP"; "NE")

9. Hipertekstu; tinklapiu

10. D

11. C

12. B

13. B

14. D

15. 3;1;2

16. C

17. B

18. 5;5

19. 0;13

20. Darbas(y,x,y1,x1)

21. B;C

22. 7;11

23. a<b; 5 to 15; k mod 2 = 0 ; Writeln(X[ i])

 

Laukiu ir jūsų atsakymų :)

 

1. D

3. Nemanau, kad buvo sulieti langeliai, parašiau, kad ištrinti

8. Antroj formulė rašiau „>=“, o ne „>“

23. manau, turėtų būti

k := 0;
for i := a to b do
 if X[i] mod 2 = 1
   then k := k + 1;

ant C++ atitinkamai

k = 0;
for(int i = a; i <= b; i++)
 if(X[i] % 2)
   k++; 

 

Programos man pasirodė lengvesnės negu ankstesnių metų, nors bent jau nebuvo tiek daug knisimosi su string'ais.

Redagavo wi_lius
Nuoroda į pranešimą
Dalintis kituose puslapiuose

program programa;
const
   duom = 'U1duom.txt';
   rez  = 'U1rez.txt';
type
   mas = array[1..100] of integer;
var
   vyr_k, vyr_d,
   mot_k, mot_d:mas;
   Pirstiniu_kiekis:integer;

Procedure Nusiskaitymas();
var D:text;
   i,
   lytis, ranka, dydis:integer;
begin
assign(D, duom); reset(D);
readln(D, Pirstiniu_kiekis);
for i:=1 to Pirstiniu_kiekis do
   begin
   readln(D, lytis, ranka, dydis);
   if lytis = 3 then
        if ranka = 1 then vyr_k[dydis] += 1
                     else vyr_d[dydis] += 1
   else if ranka = 1 then mot_k[dydis] += 1
                     else mot_d[dydis] += 1;
   end;
close(D);
end;

Function Poru_Kiekis(a, b:mas):integer;
var i, kiek:integer;
begin
kiek := 0;
for i:=1 to 100 do
   begin
   while (a[i] > 0) and (b[i] > 0) do
       begin
       kiek += 1;
       a[i] -= 1;
       b[i] -= 1;
       end;
   end;
Poru_Kiekis := kiek;
end;

Function Likusios_Pirstines(a, b:mas):integer;
var i, kiek:integer;
begin
kiek := 0;
for i:=1 to 100 do
   begin
   while (a[i] > 0) and (b[i] > 0) do
       begin
       a[i] -= 1;
       b[i] -= 1;
       end;
   kiek += a[i] + b[i];
   end;
Likusios_Pirstines := kiek;
end;

Procedure Irasymas();
var R:text;
begin
assign(R, rez); rewrite(R);
writeln(R, Poru_Kiekis(mot_k, mot_d));
writeln(R, Poru_Kiekis(vyr_k, vyr_d));
writeln(R, Likusios_Pirstines(mot_k, mot_d));
writeln(R, Likusios_Pirstines(vyr_k, vyr_d));
close(R);
end;

Begin
Nusiskaitymas;

Irasymas;
End.

Įdėjau ir pirmają praktinę užduotį :), beveik identiškai ir egzamine parašiau, tik ten komentavau...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

program test;
var h: text;
   porosVardas: String[20];
   x, y, z, poruSk, teisejuSk: integer;
begin
 Assign(h, 'U2.txt');
 Reset(h);
 Readln(h, poruSk, teisejuSk);
 for x:=1 to poruSk do
   begin
     Readln(h, porosVardas);
     for y:=1 to teisejuSk do
       Read(h, z);
Readln(h);
     for y:=1 to teisejuSk do
       Read(h, z);
Readln(h);
   end;
 Close(h);
end.

bandyk taip.

 

Veikia. Pamiršau Readln paskutinį, pirmąjį buvau užrašęs per egzaminą, bet neveikė, tai taip ir palikau, be abejų readln(h). Aprašiau tik poros record'ą(Pascal), klaidingą skaitymo procedūrą ir rikiavimo procedūra likus porai minučių užrašiau. Gal gausiu kokius 5 taškus... Paskutines 20min, per kurias jau sugalvotus antros programos funkcijų/procedūrų algoritmus reikėjo tik užrašyti, iššvaisčiau prie smulkmenos :(

 

 

 

7. nepadejau skliaustu ir = , 9. Universalusis adresas , Hipertekekstas , daugiau panasei viskas iki 19 , nepamenu visu

 

Parašius be '=' ženklo 2010 metų egzamine nemažino balų, bet jei skliaustus pamiršai - bus 0.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

su ta antra programa tikrai yra klaidinimas,ten buvo skaiciai pirmoj eilutei 5 5, o ne 3 5, mums niekas is vykdytoju nepasake kad tai klaida, dar per testa ant lapo pasirasiau visus algoritmus, o surinkusi pamaciau klaida, ir negalejau suprasti kas ne taip, a be nuskaitymo ir ne bandziau viska surinki toliau, nes kazkaip visada toliau rasau programa, jej parasyta jos dalis veikia. jau 11 45 mums pasake viska irasyti i atmintine,o 12 00 as jau stovejau lauke, as manau kad tai yra 15 min pavogimas is musu. taip pat mes patys turejome surinki duomenu failus, kas irgi reikalauja laiko. tada iseina kad dvi programas mes turime padaryti per valanda. o palyginus su praeitais metais antroje programoje buvo gal penkis kartus daugiau veiksmu, kurios reikejo atlikti. net neatsizvelgiant i tai, kad buvo mazai laiko, manau kad su ta klaida jie ateme is musu labai daug nervu ir balu,ir manau kad mes galime parasyti apeliacija, ar koki kita skunda, as jau pradejau tuo uzziimti. galime pareikalauti arba priskirima uz ta antra programa visu 25 balu, nes pavyzdziui as tikrai moku atlikti visus tuos veiksmus. arba pareikalauti kad mes perlaikytume egzamina per pakartotine sessija, arba nors praktine dali, be testo. as ruosiausi kita savaite isvaziuoti, bet jau grazinau bilietus, nes noriu kovoti iki galo. man su sitais rezultatais stoti i universiteta, as rytoj rasau apeliacija, jejgu yra tokiu, kas su manimi sutinka, mano pastas yra [email protected] , rasykite kas is Vilniaus,susitarsim del laiko, kada jus galetumete pisirasyti, ir manau kad kituose miestuose kas nors galetu irgi tuo uzziimti, nes tai yra labai svarbu ir turime kovoti uz savo teises.

dar noriu pridurti, kad ten, kur as laikiau egamina, is 25 zmoniu programuoti liko tik 5 zmones, 4 is mano mokyklos ir vienas zmogus is kitos, nors laike 3 mokyklos kartu. manau, kad apeliacijoje reikia nurodyti ir zmoniu skaiciu kurie nuejo programuoti, ir kiek is ju yra nepatenkinti.

Alina.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Alina, tavo poziuris saunus, taciau jiem iskiltu keblumu sprendziant kam priskirti tuos 25 balus, kam ne. Jei priskirtu visiem, tai butu beprasmiska.. Nes visiem balai kiltu, pereinamasis balas taip pat.. Ir tie 25 taskai nieko nereikstu. Jei priskirti tik daliai zmoniu, tai kiti pradetu kelti veja, kodel jiem priskyre juos, o mum ne. Perlaikyti irgi abejoju ar visi sutiks. Mano akimis ziurint, tai yra tokia kvaila situacija.. Bet jau kaip minejau, mano mokykloj ta klaida pamate praejus ~30min nuo praktines dalies pradzios, tai visu atsiprase ir egzamina pratese 10min.

Redagavo manchiuuus
Nuoroda į pranešimą
Dalintis kituose puslapiuose

program programa;
const
   duom = 'U2duom.txt';
   rez  = 'U2rez.txt';
type
   taskai = array[1..10] of integer;
   irasas = record
       vardai:string[20];
       Technika:taskai;
       Artistiskumas:taskai;
       end;
   mas = array[1..100] of irasas;
var
   Poros:mas;
   Teiseju_kiek, Poru_kiek:integer;

Procedure Nuskaitymas();
var D:text;
   i, j:integer;
begin
assign(D, duom); reset(D);
readln(D, Poru_kiek, Teiseju_kiek);
for i:=1 to Poru_kiek do
   begin
   readln(D, Poros[i].vardai);
   for j:=1 to Teiseju_kiek do
       read(D, Poros[i].Technika[j]); readln(D);
   for j:=1 to Teiseju_kiek do
       read(D, Poros[i].Artistiskumas[j]); readln(D);
   end;
close(D);
end;

Function Balai(a:taskai):integer;
var i, suma, max, min:integer;
begin
suma := 0; max := -maxint; min := maxint;
for i:=1 to Teiseju_kiek do
   begin
   suma += a[i];
   if max < a[i] then max := a[i];
   if min > a[i] then min := a[i];
   end;
Balai := suma - min - max;
end;

Procedure Rikiavimas(var a:mas);
var i, j:integer;
   laik:irasas;
begin
for j:=1 to Poru_kiek do
for i:=1 to Poru_kiek-1 do
   begin
   if Balai(a[i].Technika) + Balai(a[i].Artistiskumas) < Balai(a[i+1].Technika) + Balai(a[i+1].Artistiskumas) then
       begin
       laik := a[i+1];
       a[i+1] := a[i];
       a[i] := laik;
       end;
   end;
end;

Procedure Irasymas();
var R:text;
   i:integer;
begin
assign(R, rez); rewrite(R);
Rikiavimas(Poros);
for i:=1 to Poru_kiek do
   writeln(R, Poros[i].vardai, ' ',Balai(Poros[i].Technika) + Balai(Poros[i].Artistiskumas));
close(R);
end;

Begin
Nuskaitymas;

Irasymas;
End.

Įkėliau ir antrają praktinę užduotį :). Tik nesuprantu kodėl kompas spausdindamas nepadeda 20 simbolių tarpo?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Įkėliau ir antrają praktinę užduotį :). Tik nesuprantu kodėl kompas spausdindamas nepadeda 20 simbolių tarpo?

Man lygiai taip pat nedėdavo to tarpo, vėliau supratau, kad čia dėl to, kad kai tu pildei U2duom.txt failą, įrašei tik poros vardą, tačiau nedėjai po to vardo tarpų, kad užpildytų 20 simbolių. :) Viskas gerai pas tave.

 

 

 

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