Pereiti prie turinio

Problema dėl Free Pascal


Rekomenduojami pranešimai

Sveiki, turiu problemėlią aš nesu visiškai "žalias" tokiuose reikaluose, bet būna programų kuriu nesuprantu tai vat man informatikos mokytoja uždavė parašyti programą su Free Pascaliu.Ji skamba taip:

"Buvo rašytas egzaminas. Reikia rasti didžiausią ir mažiausią pažymį, bei visų rašiusių mokinių vidurkį (pažymiai vedami tol kol įvedamas netinkamas pažymys pvz. 11, 0,...)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nelabai aišku, kurioj vietoj kyla kėblumų.

 

Šiaip siūlau skaldyti į mažesnes užduotėles ir jas pasirašius pereiti prie sekančios.

 

pvz.:

 

  1. Pasirašyti pažymių nuskaitymą (ciklas iki netinkamo skaičiaus)
  2. Įkomponuoti mažiausio pažymio paiešką. (žiūrėti kiekvieną įvestą elementą ir jei jis mažiausias, tai min_Element := nuskaitytas element)
  3. Vidurkio skaičiavimui naudoti du kintamuosius (suma - kur sudėsi visus įvestus pažymius ir pažymių skaičius, kur žiūrėsi iš kiek dalinti reikia). Tada pasirašyk funkciją kuri paskaičiuoja vidurkį pagal sumą ir pažymių skaičių ir viskas.

Žinoma, gal užduotis ir sudėtingesnė. Gal čia reikia iš failo skaityti mokinių vardus, atskirai ieškoti jų vidurkio, tuomet jų vidurkio vidurkį skaičiuot.

 

Bet iš sąlygos (pažymiai vedami tol kol įvedamas netinkamas pažymys pvz. 11, 0,...) , tai taip ir suprantu.

 

Tad siūlau sukonkretinti klausimą. taip sutaupysi ir savo laiko (kol gausi teisingą atsakymą) ir mūsų laiką, kol suprasim kas tau nėra aišku :)

Redagavo Dzhonis
Nuoroda į pranešimą
Dalintis kituose puslapiuose
program pazymiai;
var pazymys, suma, kiek,
   max, min:integer;
   vidurkis :real;

begin

Writeln ('Iveskite pazymius');
readln (pazymys);
max := pazymys; min := pazymys;
while ((pazymys > 0) and (pazymys <= 10)) do
      begin
           if pazymys < min then min := pazymys;
           if pazymys > max then max := pazymys;
           suma := pazymys + suma;
           kiek := kiek + 1;
           readln (pazymys);
      end;
vidurkis := suma / kiek;

writeln;
writeln ('Didziausias pazymys - ', max);
writeln ('Maziausias  pazymys - ', min);
writeln ('Vidurkis - ', vidurkis:6:2);

readln;
end.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

program pazymiai;
var pazymys, suma, kiek,
   max, min:integer;
   vidurkis :real;

begin

Writeln ('Iveskite pazymius');
readln (pazymys);
max := pazymys; min := pazymys;
while ((pazymys > 0) and (pazymys <= 10)) do
  	begin
           if pazymys < min then min := pazymys;
           if pazymys > max then max := pazymys;
           suma := pazymys + suma;
           kiek := kiek + 1;
           readln (pazymys);
  	end;
vidurkis := suma / kiek;

writeln;
writeln ('Didziausias pazymys - ', max);
writeln ('Maziausias  pazymys - ', min);
writeln ('Vidurkis - ', vidurkis:6:2);

readln;
end.

 

Na, ką aprašiau teoriškai čia parašyta kodo eilutėmis :) nežinau ar tai padės tau išmokti (tai kad pateikiama iš karto visa programa), bet problema lyg ir išspręsta.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei pirmas skaicius bus daugiau uz 10 arba maziau uz 1 ismes klaida :P

 

Geras pastebėjimas, dabar nemes klaidos.

 

program pazymiai;
var pazymys, suma, kiek,
   max, min:integer;
   vidurkis :real;

begin

Writeln ('Iveskite pazymius');
readln (pazymys);
max := pazymys; min := pazymys;
while ((pazymys > 0) and (pazymys <= 10)) do
       begin
           if pazymys < min then min := pazymys;
           if pazymys > max then max := pazymys;
           suma := pazymys + suma;
           kiek := kiek + 1;
           readln (pazymys);
       end;
if (kiek <> 0) then begin
vidurkis := suma / kiek;

writeln;
writeln ('Didziausias pazymys - ', max);
writeln ('Maziausias  pazymys - ', min);
writeln ('Vidurkis - ', vidurkis:6:2);


end else
writeln ('WTF tu vedi?');
readln;
end.

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

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