Pereiti prie turinio

Informatikos VBE 2013


Rekomenduojami pranešimai

Do with kreipiasi į įrašo tipo kintamąjį taip, kad vėliau užtenka pavartoti tik jo vienos skilties pavadinimą (šiuo atveju po do with A užtenka rašyti Vardas, minutes ar sekundes, užuot rašius A.Vardas, A.minutes, A.sekundes).

 

Do with pagreitina rašymą, kai keliskart kreipiamasi į įrašo tipo kintamąjį, bet egzamine galima drąsiai apsieiti ir be jo.

Tokio gero dalyko nežinojau :o.

 

Norėjau paklausti, čia aš vienas funkcijų ir procedūrų kintamuosius aprašau?

procedure pvz(štai šitus)

. :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tokio gero dalyko nežinojau :o.

 

Norėjau paklausti, čia aš vienas funkcijų ir procedūrų kintamuosius aprašau?

procedure pvz(štai šitus)

. :D

 

Mano manymu, egzamine (jei nereikalauja kitaip) geriausia apsirašyt funkcijų ir procedūrų kintamuosius, išskyrus duomenų nuskaitymo ir įrašymo procedūras.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mano manymu, egzamine (jei nereikalauja kitaip) geriausia apsirašyt funkcijų ir procedūrų kintamuosius, išskyrus duomenų nuskaitymo ir įrašymo procedūras.

"apsirašyt funkcijų ir procedūrų kintamuosius", tai čia, kaip mano pavyzdyje ar pagr. programoje? Išvis susisuko viskas :lol:

Nuoroda į pranešimą
Dalintis kituose puslapiuose

"apsirašyt funkcijų ir procedūrų kintamuosius", tai čia, kaip mano pavyzdyje ar pagr. programoje? Išvis susisuko viskas :lol:

 

Aš turiu galvoje, kad nedarai tų kintamųjų globalių kaip čia:

 

procedure pvz;

 

O darai juos lokalius kaip čia:

 

procedure pvz(a1, a2 : integer; b1 : masyvas; var c1, c2 : integer; var c3 : masyvas);

 

Jeigu tu kalbi apie kintamųjų apsirašymą programos viršuje su type, tai apsirašyti verta tik tada, jei kurioje nors procedūroje kaip parametrus naudoji lokalius kintamuosius, kurie nėra paprasti kaip integer, string ar char, o sudėtingesni kaip masyvai ar įrašai. Tada būtinai reikia apsirašyti viršuje, pvz:

 

type masyvas = array[1..Max] of integer

 

arba, pvz:

 

type irasas = record

... : integer;

... : string;

end;

Redagavo JohnSmith
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Aš turiu galvoje, kad nedarai tų kintamųjų globalių kaip čia:

 

procedure pvz;

 

O darai juos lokalius kaip čia:

 

procedure pvz(a1, a2 : integer; b1 : masyvas; var c1, c2 : integer; var c3 : masyvas);

 

Jeigu tu kalbi apie kintamųjų apsirašymą programos viršuje su type, tai apsirašyti verta tik tada, jei kurioje nors procedūroje kaip parametrus naudoji lokalius kintamuosius, kurie nėra paprasti kaip integer, string ar char, o sudėtingesni kaip masyvai ar įrašai. Tada būtinai reikia apsirašyti viršuje, pvz:

 

type masyvas = array[1..Max] of integer

 

arba, pvz:

 

type irasas = record

... : integer;

... : string;

end;

Aš štaip aprašau beveik visas programas, savamokslis, nematęs kitų kodo:

 

program uzd6_Knygos;
const Z=100;   //max 100 gali balstuoti
type Tmass=array[1..Z] of integer;
       knyga = record
    pavadinimas : string[40];
    balai : Tmass;
    kiekis : integer;
    balvidurk : real;
       end;
   knygos=array[1..10] of knyga; //iraso tipo masyvas.  max  10 knygu
//------------------------------------------------------------------------------
procedure skaitymas( var n, k  : integer; var knyg : knygos);
var i, j, viso : integer;
   f : text;
begin
assign(f,'U2.txt'); reset(f);
 readln(f,n,k);

   for i:=1 to k do
    begin
    viso:=0;
   read(f, knyg[i].pavadinimas);
   knyg[i].kiekis:=0;                //skaitymo procedura
     for j:=1 to n do               //pavadinimas, kokie balai, ju suma ir vidurkis
       begin
        read(f, knyg[i].balai[j]);
          if  knyg[i].balai[j]<>0 then         //kiek balu duota<nekaitant 0>
            knyg[i].kiekis:=knyg[i].kiekis+1;
        end;
          for j:=1 to n do
           begin
            viso:=viso+knyg[i].balai[j];         //viso balu
            end;
           knyg[i].balvidurk:=viso/knyg[i].kiekis;        //balu vidurkis
         readln(f);
   end;
end;
//------------------------------------------------------------------------------
function ivertdaugk(k : integer; knyg : knygos) : string[40];
var i, max, skaic, ind :  integer;
   indeksas: Tmass;
begin
max:=0;   skaic:=1;
ind:=0;
for i:=1 to k do
   if knyg[i].kiekis>max then max:=knyg[i].kiekis; // randa kiek buvo daugiausiai balsuota uz knyga kartu
         for i:=1 to k do
           begin
            if knyg[i].kiekis=max then  //kiek knygu surinko vienoda kieki balu
               begin
                    indeksas[skaic]:=i;
                    skaic:=skaic+1;
                    ind:=ind+1;          //paskutinis indekso masyvo elementas bus paskutines knygos indeksas
               end;                      //arba kitaip - paskutine knyga sarase surinkusi max yra ta knyga
           end;
    ivertdaugk:= knyg[indeksas[ind]].pavadinimas;
end;
//------------------------------------------------------------------------------
function ivertmazk(k : integer; knyg : knygos) : string[40];
var i, min, skaic : integer;
   indeksas : Tmass;
begin
i:=1;
min:=knyg[i].kiekis;
skaic:=1;
   for i:=2 to k do
    if knyg[i].kiekis<min then min:=knyg[i].kiekis; //randa kiek kartu maziausiai buvo balsuota uz knyga
      for i:=1 to  k do
        begin
           if knyg[i].kiekis=min  then
           begin                           //kiek knygu surinko minimuma
            indeksas[skaic]:=i;
            skaic:=skaic+1;
           end;
        end;
        ivertmazk:=knyg[indeksas[1]].pavadinimas;   //pirma knyga sarase kuri surinko minimuma ir yra ta knyga
end;
//------------------------------------------------------------------------------
procedure rusiuoti(k : integer; var knyg : knygos);       //rusiuojame iraso tipo masyva mazejimo tvarka pagal
var i,j : integer;                                          // balu vidurki
    rusiavimas : boolean;
    save : knyga;
begin
    for i:=1 to k do
     for j:=i to k do
        if knyg[i].balvidurk<knyg[j].balvidurk then
          begin
            save:=knyg[j];
            knyg[j]:=knyg[i];
            knyg[i]:=save;
           end;
end;
//------------------------------------------------------------------------------
function vid1knyg(k : integer; knyg : knygos) : real;
var i : integer;
   all : real;
begin                               //randa koks yra vidutinis 1 knygos balas
all:=0;
   for i:=1 to k do
      all:=all+knyg[i].balvidurk;
      vid1knyg:=all/k
end;
//------------------------------------------------------------------------------
procedure rasymas(k : integer; daugk,mazk: string[40]; knyg : knygos);
var i: integer;
   rez : text;
begin
assign(rez,'U2.rez.txt'); rewrite(rez);                     //rasymo procedura
for i:=1 to k do
    begin
     Writeln(rez, knyg[i].pavadinimas:40,' ',knyg[i].kiekis:3,' ', knyg[i].balvidurk:2:2);
    end;
    Writeln(rez,daugk:40);
    Writeln(rez,mazk:40);
    Writeln(rez,vid1knyg(k, knyg):2:2);
    close(rez);
end;
//------------------------------------------------------------------------------

var n, k : integer;                       //pagrindine programa
   knyg : knygos;
   daugk, mazk : string[40];
begin
skaitymas(n,k, knyg);
daugk:=ivertdaugk(k, knyg);
mazk:=ivertmazk(k, knyg);//Jei yra kelios tokios knygos, turi buti spausdinama ta, kuri pradiniame sarase(yra pirmutine)
rusiuoti(k,knyg);       //sitoje vietoje primutinis sarasas pasikeicia, todel reikejo rasti tas         (arba paskutine)
rasymas(k, daugk,mazk,knyg);    //reiskmes pries rusiavima.
end.

 

Nežinau ar čia teisingas būdas, ar išvis tokio kaip ir nėra, visi būdai teisingi :D

 

P.S. nesijuokit iš kai kurių dalių, patobulinta variantą kažkur paslepęs esu :D

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal kas žinot kaip su Word'u nustatyti kiekvienam puslapiui skirtingas antraštes(Header)?

 

EDIT: dar vienas klausimas, kaip padaryti, kad numeruojant iliustracijas pirmiau eitų skaičius o tik po to etiketė?

Kad būtų ne pav. 1, o 1 pav.

Redagavo Cibulinskis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal kas žinot kaip su Word'u nustatyti kiekvienam puslapiui skirtingas antraštes(Header)?

 

EDIT: dar vienas klausimas, kaip padaryti, kad numeruojant iliustracijas pirmiau eitų skaičius o tik po to etiketė?

Kad būtų ne pav. 1, o 1 pav.

 

 

Ten yra mygtukas 'Skirtinga pirmame' ir 'Skirtingi lyginiuose ir nelyginiuose', kai atsidarai antraštės skiltį viršuje. Kaip atsakei į antrą klausimą? Nors žinau kur, man wordas neleidžia to padaryti.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Gal kas žinot kaip su Word'u nustatyti kiekvienam puslapiui skirtingas antraštes(Header)?

 

EDIT: dar vienas klausimas, kaip padaryti, kad numeruojant iliustracijas pirmiau eitų skaičius o tik po to etiketė?

Kad būtų ne pav. 1, o 1 pav.

Jeigu nori unikalios antraštės, o ne, kad kartotusi kas nelyginį ar lyginį puslapį daryk taip:

Žymeklį nustatyk to puslapio viršuje(ne antraštėje), dėk lūžį - "paskesnis puslapis", tada paspausk ant savo antraštės, ir dizaino sekcijoj paspausk "sieti su ankstesne", pakeiti į norimą užrašą, ištrini naujai atsiradusi tuščia lapą ir voolia :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, noriu jūsų patrimo :) Namuose naudoju ir egzaminui ruoštis ketinu su 2013 metų Office... kaip manot, ar verta įsirašyt 2010 metų versiją ar nėra didelio skirtumo?

Tai susižinok koks office packas bus ten kur tu laikysi, nes pas mus mokykloj bus seniausias galimas, t.y. 2007 metų offisas

Redagavo Sinid
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esat gal kas issprende, pavizdines siu metu uzduotis programavimo ?

 

Radau apie Žvejus, gal nelabai gražiai parašyta, bet štai:

 

program Bevarde2;
type Zvejai = record
               vard : string[10];
               d,
               a,
               b,
               c,
               vis : integer;
              end;
     Daugiausia = record
                   vard : string[10];
                   viso,
                   skai : integer;
                  end;
     Mas = array [1..100] of Zvejai;
var Z : Mas;
    D : Daugiausia;
    duom, rez : text;
    n, i, j, a, b, c : integer;

procedure Skaitymas (var n : integer; var Z : Mas);
 begin
  ReadLn(duom, n);
  for i := 1 to n do
   begin
    ReadLn(duom, Z[i].vard, Z[i].d);
     for j := 1 to Z[i].d do
      begin
       Read(duom, a);
       Z[i].a := Z[i].a + a;
       Read(duom, b);
       Z[i].b := Z[i].b + b;
       Read(duom, c);
       Z[i].c := Z[i].c + c;
       Z[i].vis := Z[i].a + Z[i].b + Z[i].c;
       ReadLn(duom);
      end;
   end;
 end;

procedure Spausdinti (var n : integer; var Z : Mas);
 begin
  for i := 1 to n do
   WriteLn(rez, Z[i].vard,' ',Z[i].a,' ',Z[i].b,' ',Z[i].c);
  WriteLn(rez, D.vard, D.viso);
 end;

function Geriausias (var n : integer; var Z : Mas) : integer;
 var o : integer;
 begin
  D.viso := Z[1].vis;
  for i := 1 to n do
   if D.viso < Z[i].vis then begin
                         D.viso := Z[i].vis;
                         D.skai := i;
                        end;
  Geriausias := D.skai;
 end;

begin
Assign(duom,'U2.txt');
Assign(rez,'U2rez.txt');
Reset(duom);
Rewrite(rez);
Skaitymas(n, Z);
Geriausias (n, Z);
for i := 1 to n do
 begin
  if i = D.skai then begin
                      D.vard := Z[i].vard;
                      D.viso := Z[i].vis;
                     end;
 end;
Spausdinti(n, Z);
Close(duom);
Close(rez);
end.

 

Ir dar tas Skaičių dalumas (čia mano pačios sugalvota, nors šiaip šitam yra tam tikra procedūra, kažkur turėjau ir ją, bet jau pasimetė):):

 

program Bevarde1;
var i, t, s, d, v, r : longint;
    rezultatas : longint;
begin
for i := 1000 to 9999 do
 begin
  t := i div 1000;
  s := (i - t * 1000) div 100;
  d := (i - s * 100) div 10;
  v := i - d * 10;
  r := (t + s + d + v) mod 3;
  if r = 0 then rezultatas := rezultatas + 1;
 end;
WriteLn(rezultatas);
end.

Redagavo Kristina00
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Žvejai:

program Antra_uzduotis;
type Mas = array [0..3] of integer;
    Duomenys = record
      vardas :string[10];
      Zuvys  :Mas;
    end;
    Masyvas = array [1..100] of Duomenys;
// Duomenu nuskaitymo procedura
procedure Skaitymas(var Z :Masyvas; var n :integer);
var i,j,d :integer;
   karosai, kuojos, karpiai :integer;
   F :text;
begin
Assign(F,'U2.txt');
Reset(F);
 ReadLn(F,n);
 for i := 1 to n do
  begin
   ReadLn(F,Z[i].vardas,d);
   for j := 1 to d do
    begin
     Read(F,karosai,karpiai,kuojos);
     Z[i].Zuvys[0] += karosai + karpiai + kuojos;
     Z[i].Zuvys[1] += karosai;
     Z[i].Zuvys[2] += karpiai;
     Z[i].Zuvys[3] += kuojos;
     Readln(F);
    end;
  end;
Close(F);
end;
// Funkcija surandanti geriausio zvejo numeri masyve
function Geriausias_zvejys(Z :Masyvas; n :integer) : integer;
var i, max, ind :integer;
begin
max := Z[1].Zuvys[0];
for i := 2 to n  do
   if max < Z[i].Zuvys[0] then begin
                                  max := Z[i].Zuvys[0];
                                  ind := i end;
Geriausias_zvejys := ind;
end;
// Atsakymu rasymas
procedure Rezultatai(Z :Masyvas; n :integer);
var R :text;
   i :integer;
begin
Assign(R,'U2Rez.txt');
Rewrite(R);
 for i := 1 to n do
  begin
   Write(R,Z[i].vardas,Z[i].Zuvys[1]:5,Z[i].Zuvys[2]:5,Z[i].Zuvys[3]:5);
   WriteLn(R);
  end;
 Write(R,Z[Geriausias_zvejys(Z,n)].vardas,Z[Geriausias_zvejys(Z,n)].Zuvys[0]);
Close(R);
end;
var Zvejai :Masyvas;               // Zveju masyvas
   n      :integer;               // Zveju skaicius
begin
 Skaitymas(Zvejai,n);
 Rezultatai(Zvejai,n);
end.

 

 

Batai:

program Batai;

type Mas = array [1..100] of integer;

var n     :integer;
   lytis,
   koja,
   dydis : Mas;

procedure Skaitymas;
var D :text;
   i, j :integer;
begin
Assign(D,'U1.txt');
Reset(D);
ReadLn(D,n);
 for i := 1 to n do
  begin
    Read(D,lytis[i],koja[i],dydis[i]);
    ReadLn(D);
  end;
Close(D);
end;

function Skaiciavimas(gim:integer) : integer;
var i, j, kiek :integer;
begin
kiek := 0;
for i := 1 to n - 1 do
 for j:= i + 1 to n do
   if (lytis[i] = gim) and (lytis[j] = gim) and
   (koja[i] <> koja[j]) and (dydis[i] = dydis[j]) then begin
                                                        kiek +=  1;
                                                        lytis[i]:= 0;
                                                        lytis[j]:= 0;
                                                        koja[i] := 0;
                                                        koja[j] := 0;
                                                        dydis[i]:= 0;
                                                        dydis[j]:= 0
                                                       end;
Skaiciavimas := kiek;
end;

procedure Rasymas;
var R :text;
begin
Assign(R,'U1Rez.txt');
Rewrite(R);
WriteLn(R,Skaiciavimas(4));
WriteLn(R,Skaiciavimas(3));
Close(R);
end;

begin
 Skaitymas;
 Rasymas;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

na va wordas/excelis išmokti. Paskalis jau įpusėjo, naujų dalykų atradau, pagreitėjo rašymo procesas, geriau viską suprantu. Pasikėliau kartelę surinkt 78+ taškus :D

 

2010 metų 1 užd.

 

program sachmatai1;
const   S = 6; // viso 6 skirtingos figureles
type   Viso=array[1..C] of integer;
var x : viso;
   n : integer;
//------------------------------------------------------------------------------
procedure skaityk;
var f : text;
   i, a, j  : integer;
begin
assign(f, 'U2.txt'); reset(f);
readln(f,n);
for i:=1 to n do
   begin
       for j:=1 to S do
           begin
            read(f, a);
            x[j]+=a;
           end;
   readln(f);
   end;

  x[1]div= 8;
  x[2]:= x[2] div 2;
  x[3]:= x[3] div 2;
  x[4]:= x[4] div 2;
  x[5]:= x[5] div 1;
  x[6]:= x[6] div 1;
close(f);
end;
//------------------------------------------------------------------------------
function kiek : integer;
var i, min : integer;
begin
min:=x[1];
   for i:=2 to n do
       if  x[i]<min then min:=x[i];
   kiek:=min;
end;
//------------------------------------------------------------------------------
procedure rasyk;
var rez : text;
begin
assign(rez,'U2rez.txt'); rewrite(rez);
Writeln(rez, kiek);
close(rez);
end;
//------------------------------------------------------------------------------
begin
skaityk;
rasyk;
end.

Gal kas gudriau/trumpiau sugebėjot?

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Klausimėlis, jeigu norėčiau rasti ne pirmą esantį elementą sąraše, bet paskutinį, tarkim jei yra keli surinke max taškų, štaip veiks?:

 

function valdovas : integer;
var i, max, index : integer;
begin
max:= diev[1].task;
for i:=2 to n do
   begin
       if diev[i].task>max then
           begin
           max:=diev[i].task;
           index:=i;
           end
       else if (diev[i].task=max) and (diev[i].lyg<diev[index].lyg) then
           index:=i;
       else if (diev[i].task=max) and (diev[i].lyg=diev[index].lyg) then
           index:=i;  
   end;
   valdovas:=index;
end;

 

Arba paprastesnė:

function kas : integer;
var i, min, index : integer;
begin
min:=x[1];
   for i:=2 to n do
       if  x[i]<min then
        begin 
          min:=x[i];
          index:=i;
        end
       else if x[i]=x[index] then 
          index:=i;
   kas:=index;
end;

Redagavo Peupeu
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip Excel'yje sukurti tokią diagramą(apibraukta raudonai) turint tokį excel failą(apibraukta juodai)? Kokia tvarka, reikia žymėti stulpelius?

pažymėk sritis, kuriu tau reikia sukurk stulpelinę diagramą, tada ant to stulpelio, kur peversti reik i linijinę spausk dešinį pelės klavišą (keistį tipą) ir tiek. Jei nesuprasi ar dar turėsi klausimų klausk, turiu padaręs visas šias užduotis(galiu atsiūst visas) :)

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