Pereiti prie turinio

Pascal reikia pagalbos


Rekomenduojami pranešimai

Kaip is masyvo isrinkti maziausia elementa?

 

program Masyvai_1e;

var
   M : array[1..6] of real;
   i : integer;
   min : real;

begin
 writeln('Iveskite masyvo elementus');

 for i := 1 to 6 do

 begin

 read(M[i]);

 if min > M[i]

 then min := M[i];

 end;

 writeln('min = ', min : 7 : 2);
 readln;

 Readln;

end.

 

Bandau taip bet man nesigauna min = 0.ka darau ne taip?

Buciau labai dekingas uz pagalba aciu.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
program Masyvai_1e;

var
   M : array[1..6] of real;
   i : integer;
   min : real;

begin
 writeln('Iveskite masyvo elementus:');

 for i := 1 to 6 do
   readLn(M[i]);

 min := M[1]; // tari, kad pirmas masyvo elementas yra mažiausias


 //žiūri, ar nuo antro elemento iki galo (6) yra mažesnių. Jeigu yra, tai priskiri mažesnį:
 for i:=2 to 6 do
   if min > M[i] then min := M[i];



 writeln('min = ', min : 7 : 2);
 readln;

 Readln;

end.

Redagavo gretutes
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Beja, pirmasis nurodytas variantas, parašytas temos autoriaus, yra ženkliai efektyvesnis, nei po to pateikti pasiūlymai. Jis neveikė tik todėl, kad "min" nuo pradžių neturi jokios reikšmės. Tad tik pakoregavus "if" eilutę gaunamas ~dvigubai efektyvesnis veikimas:

 

program Masyvai_1e;

var
   M : array[1..6] of real;
   i : integer;
   min : real;

begin
 writeln('Iveskite masyvo elementus');

 for i := 1 to 6 do

 begin

 read(M[i]);

 if (min > M[i]) or (i = 1)

 then min := M[i];

 end;

 writeln('min = ', min : 7 : 2);

end.

 

Beja, Readln programos pabaigoj - labai didelis blogis ir labai "bad practise". Čia prastų informatikos mokytojų "hack'as", kad būtų atvaizduoti rezultatai. Vietoj to, pakaktų tiesiog atsidaryt konsolę (cmd) ir per ją paleisti programą. Tada viskas išliktų.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Čia yra ženkliai per maža programa, kad ją dar reikėtų į kažką skaidyt. Tiesiog šitaip kodas daug paprasčiau skaitomas. Be to, tamstos pasiūlytame variante viskas taip pat vienoje funkcijoje, tik ji ženkliai didesnė ir atlieka daug papildomų nereikalingų veiksmų. "For" loop'as nėra kita funkcija :).

 

taksas027 -> sutinku, bet nevisi su FPS programuoja :)

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