Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, artėja informacinių technologijų egzaminas tad norėjau pasidomėti gal kas turi išsisprendęs 2006 metų valstybinio egzamino uždavinius? Nes, man kyla keletas klausimų sprendžiant juos. Jei kas atsiustu sprendimus ar padėtų būčiau be galo dėkingas.

Rudenį buvau išsisprendęs dėl įdomumo :)

 

program varza;
const
LAIKMENA_SKAITYT = 'Duom1.txt';
LAIKMENA_RASYT = 'Rez1.txt';
MAX_DALIU = 100;
MAX_LAIDININKU = 50;
var
laikmena : text;
dalies_varza, bendra_varza : real;
dalys, laidininkai, i, sk : integer;
varzos : array[1..MAX_LAIDININKU] of real;
begin
assign(laikmena, LAIKMENA_SKAITYT);
reset(laikmena);
readln(laikmena, dalys);
if dalys > MAX_DALIU then
	close(laikmena)
else
begin
	while not eof(laikmena) do
	begin
		read(laikmena, laidininkai);
		if laidininkai <= MAX_LAIDININKU then
		begin
			dalies_varza := 0;
			sk := 0;
			for i := 1 to laidininkai do
			begin
				sk := sk + 1;
				read(laikmena, varzos[sk]);
				dalies_varza := dalies_varza + 1 / varzos[sk];
			end;
			bendra_varza := bendra_varza + 1 / dalies_varza;
		end;
	end;
	close(laikmena);
	assign(laikmena, LAIKMENA_RASYT);
	rewrite(laikmena);
	writeln(laikmena, bendra_varza:0:2);
	close(laikmena);
end;
end.

 

program kelione;
const
LAIKMENA_SKAITYT = 'Duom2.txt';
LAIKMENA_RASYT = 'Rez2.txt';
type
Stoteles =
record
	pavadinimas : string[15];
	atstumas : real;
end;
Laikai =
record
   pavadinimas : string[15];
   laikas : integer;
 end;
var
stot : array[1..100] of stoteles;
laik : array[1..100] of laikai;
stot_sk, greitis, isvyk_val, isvyk_min : integer;
function Laikas (atstumas, greitis : real) : integer;
begin
// Salygoj buvo duota Trunc()
Laikas := Round(atstumas / greitis * 60);
end;
procedure Duomenys;
var
f : text;
i : integer;
begin
assign(f, LAIKMENA_SKAITYT); reset(f);
// Issaugom nustatymus
readln(f, stot_sk, greitis, isvyk_val, isvyk_min);
for i := 1 to stot_sk do
   // Nuskaitom stoteliu duomenis
   readln(f, stot[i].pavadinimas, stot[i].atstumas);
close(f);
end;
procedure Skaiciavimas;
var
i, atskaitos_laikas : integer;
begin
// Nustatom pradini isvykimo laika (min.)
atskaitos_laikas := 60 * isvyk_val + isvyk_min;
for i := 1 to stot_sk do
begin
	// Apskaiciuojam atvykimo i stoteles laika (min.)
	laik[i].pavadinimas := stot[i].pavadinimas;
	laik[i].laikas := atskaitos_laikas + Laikas(stot[i].atstumas, greitis);
	atskaitos_laikas := laik[i].laikas;
end;
end;
procedure Rezultatai;
var
f : text;
i, val, min : integer;
begin
assign(f, LAIKMENA_RASYT); rewrite(f);
for i := 1 to stot_sk do
begin
	// Laika is minuciu pasiverciam i valandas ir minutes
	val := laik[i].laikas div 60;
	min := laik[i].laikas mod 60;
	writeln(f, laik[i].pavadinimas, val, ' val. ', min, ' min.');
end;
close(f);
end;
begin
duomenys;
skaiciavimas;
rezultatai;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

As pirma pasidariau taip

 

program varzos;
 var ats : real;
//--------------Duomenu skaitymo ir skaiciavimo procedura-----------------------
 procedure duviename(var ats : real);
var F : text;
	i, j : integer;
	n, nn : integer;
	varzusuma, varza : real;
 begin
 varzusuma := 0;
Assign(F, 'duom.txt');
Reset(F);
ReadLn(F, n);
for i := 1 to n do begin
  Read(F, nn);
  for j := 1 to nn do begin
	Read(F, varza);
	varzusuma := varzusuma + 1 / varza;   //Paskaiciuoju vienos eilutes varza
  end;
ats := ats + 1 / varzusuma;			   //Ir pridedu ja prie bendros
varzusuma := 0;						   //Tada nunulinu, naujai eilutei:)
end;
 Close(F)
 end;
//--------------Rasymo procedura------------------------------------------------
 procedure Rasyti(ats : real);
var G : text;
 begin
Assign(G, 'rez1.txt');
Rewrite(G);
WriteLn(G, ats:15:2);
 Close(G)
 end;
//---------------Programa-------------------------------------------------------
begin
 Duviename(ats);
 Rasyti(ats)
end.

 

Pas Yahoo viskas gerai, bet uz stiliu negautum tasku :D

O uz antra aciu, galvojau sudetingai ta laika kaipnors skaiciuot, o galim taip paprastai, pasirodo.. :D

Redagavo yankyssimo
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na aš dar nesiruošiu informos egzaminui (9kl :D), bet išsprendžiau dėl įdomumo. Sprendimai: varžos ir kelionė. Už stilių taškų nesitikiu :D

 

P.S. Toje kelionėje skaičiuojant su Trunc() gaunami ne tokie atsakymai, kaip pavyzdyje. Matosi, kad pavyzdyje su Round() skaičiuota. Nežinau, kodėl taip durnai ten gavosi.

 

P.S. Tie "reikšmę atspindintys kintamųjų vardai" užknisa :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Mokykliam bus tik MicroShit Office paketo programos...

Man tai atrodo siek tiek (la

bai) durna, kad moko tik Microsoft produktais naudotis ir pagal juos rengia egzaminus.

 

Kodel ne OpenOffice? Ir isvis ant Linux visas mokslas galetu vykti. Pirmiausia, tai kiek valstybe sutaupytu pinigu ant Microsoft'o licenciju. O zmones vistiek ismoktu naudotis Windows'ais, jei noretu. O palaipsniui gal ir visa lietuva, o ypac pradedancios versla imones, kurioms microsoft'u licencijos tikrai brangiai atseina, pereitu prie nemokamu OpenSource alternatyvu. :D

 

Bet speju, kad Microsoft'as kamnors kieknors slapcia sumoka, todel ir toliau mokisimes pagal mokama programine iranga... :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kodėl? Kokias stiliaus klaidas matai?

 

Na reiktu rasyt su didziosiom raidem: "WriteLn, ReadLn, Assign, Reset, EoLn, duomenu failai is didziuju rasomi pvz pas tave turetu but 'F'" Na dar gal atskirt kazkaip reiketu progamu dalis visas. Na nezinau, jei uz tai neatimtu stiliaus tasku, tai uz ka tada jie skiriami..? :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Na reiktu rasyt su didziosiom raidem: "WriteLn, ReadLn, Assign, Reset, EoLn, duomenu failai is didziuju rasomi pvz pas tave turetu but 'F'" Na dar gal atskirt kazkaip reiketu progamu dalis visas. Na nezinau, jei uz tai neatimtu stiliaus tasku, tai uz ka tada jie skiriami..? :D

Programavimo stiliaus (kultūros) vertinimas

 

Svarbiausi programos vertinimo kriterijai:

 

* Nuoseklumas (teksto išdėstyme, vardų parinkime, skaidyme į dalis ir t.t.);

 

* Paprastumas (programa yra lengvai modifikuojama);

 

* Aiškumas (programą lengvai gali suprasti kiti);

 

* Bendrumas (programa lengvai pritaikoma įvairioms naujai iškylančioms situacijoms);

 

Detalesni kriterijai:

 

* Programa apiforminama laikantis programavimo technologijos principų: struktūrizuotai parenkant tinkamas struktūras, prasminius vardus, užrašant komentarus;

 

* Programos struktūra atitinka reikalavimus (yra antraštė);

 

* Visame tekste laikomasi vienodų ir aiškių teksto išdėstymo taisyklių;

 

* Kintamųjų vardai ir kiti vardai visoje programoje rašomi vienodu stiliumi;

 

* Programa parengta laikantis struktūriškumo – uždavinio sprendimas suskaidytas į atskirų veiksmų grupes

 

* Gebama išvengti nereikalingų globaliųjų parametrų: procedūros bei funkcijos gauna duomenis ir grąžina rezultatus naudojant parametrus;

 

* Parinktos tinkamos duomenų struktūros; jos aprašomos programos teksto pradžioje ir galioja visoje programoje; nėra lokaliųjų duomenų struktūrų;

 

* Laikomasi vaizdžių teksto skyrybos taisyklių: po skyrybos ženklų paliekamas tarpas, operacijų ženklai atskiriami tarpais ir pan.;

 

* Komentuojamos esminės teksto vietos, veiksmų grupės, kintamieji, nusakoma procedūrų bei funkcijų paskirtis;

 

* Duomenų (rezultatų) failai atidaromi tik tuomet kai jų reikia ir uždaromi iš karto kai jų nebereikia;

 

* Nevartojami taip vadinami „magiški“ skaičiai programose, vietoj jų naudojamos konstantos; naudojamos simbolinės konstantos, o ne konstantų kodai;

 

* Vengiama neįprastų triukų ir konstrukcijų;

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

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