Pomoć oko zadatka s mature

poruka: 21
|
čitano: 5.486
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
offline
Pomoć oko zadatka s mature

Pozdrav,

 

vjerujem da je lagan zadatak, ali ne mogu skužiti, ne znam jesam li na dobro podforumu.

 

Koju će vrijednost imati varijabla t nakon izvođenja dijela programa?
t := 0;
za i := 1 do 4 činiti
{
    t := i;
   za j := 1 do i činiti
        t := t + 2 * i;

 
0 0 hvala 0
14 godina
offline
Pomoć oko zadatka s mature

I koliko je tebi doslo t?

The best thing about having a penis is sharing it with people who don't
 
0 0 hvala 0
16 godina
offline
Re: Pomoć oko zadatka s mature
Hazar kaže...

Pozdrav,

 

vjerujem da je lagan zadatak, ali ne mogu skužiti, ne znam jesam li na dobro podforumu.

 

Koju će vrijednost imati varijabla t nakon izvođenja dijela programa?
t := 0;
za i := 1 do 4 činiti
{
    t := i;
   za j := 1 do i činiti
        t := t + 2 * i;

 Ako uzmeš da se ovo "do 4" znači da se 4 ne uzima onda i odmah možeš na korak gdje je t=i=3 i ideš u unutarnju petlju gdje sada imaš brojač do 3 jer je i=3 što onda opet znači da brojač uključuje 1 i 2 (znači bez 3).

 

Po tome imaš:

 

t = 3 + 2 * 3 = 9 (za j =1)

t = 9 + 2*3 = 15 (za j=2)

 

i po tome ispada da je t=15

 

Prvo se radi unutarnja petlja pa ideš prema van, ali nema puno smisla raditi prije i=3 jer ti se t uvijek postavi u vrijednost i na početku vanjske varijable.

 

EDIT: ipak ispada da se 4 mora uzeti (čudna mi je ova sintaksa na hrvatskom) pa je t=36 u tom slučaju, ali princip je isti.

Koristite blage riječi i jake argumente
Poruka je uređivana zadnji put sri 24.6.2020 14:45 (Dodinho).
13 godina
offline
Re: Pomoć oko zadatka s mature
CalvinRi kaže...

I koliko je tebi doslo t?

 U rješenjima piše da je t=36, ali to nisam nikako uspio dobit.

16 godina
offline
Pomoć oko zadatka s mature

Definitivno je 36. 

 

Imaš spoljnu for ("za") petlju koja ide od 1 do 4 i unutrašnju koja ide od 1 do trenutne vrednosti brojača spoljašnje petlje.

 

Svaki put kad ti se promeni "i" (tj brojač spoljašnje petlje), prvo se uradi t:=i, što ti automatski uništi sav prethodni rad, tako da je sve što se dešava za i=1, 2 i 3 nebitno, bitan je samo poslednji prolaz kroz petlju, kada je i=4.

 

Elem, za i = 4, prvo se dodeli t=4, a zatim se u unutrašnjoj petlji još četiri puta (for j = 1 to i) uradi t := t + 2*i, tj t se uveća za dvostruku vrednost i. A pošto je i sve to vreme jednako 4, onda je 2*i=8, tj t koje je na početku 4 se još četiri puta uveća za 8, što daje rezultat 36.

WP/WM fanovi, prestanite više lagat ovaj napaćeni narod, nemate to pravo!
Moj PC  
4 0 hvala 0
14 godina
offline
Pomoć oko zadatka s mature

Meni je dolazilo 15, s tim da sam isao i < 4, nisam bio siguran da li je to <= ili <

The best thing about having a penis is sharing it with people who don&#39;t
 
0 0 hvala 0
16 godina
offline
Re: Pomoć oko zadatka s mature
CalvinRi kaže...

Meni je dolazilo 15, s tim da sam isao i < 4, nisam bio siguran da li je to <= ili <

 Imaš solidan argument za žalbu kada budu bile. U programiranju kada se uzima "do 4" misli se <4 i to znači da se 4 ne uključuje.

Koristite blage riječi i jake argumente
15 godina
odjavljen
offline
Pomoć oko zadatka s mature

Tu glavni problem što se postavljač zadatka pravio pametan i išao prevoditi sintaksu pseudokoda...

Privatne poruke su za privatne razgovore. Ne odgovaram na općenita pitanja vezana uz neku temu.
 
2 0 hvala 0
16 godina
offline
Pomoć oko zadatka s mature

Ako takav pseudokod nije standardan u nastavnom programu, onda je autor zadatka napravio poveći faul.

 

Inače, upotreba domaćeg izraza koji je potrebno prevesti na engleski da bi se precizno znalo o čemu se radi je besmislena.

WP/WM fanovi, prestanite više lagat ovaj napaćeni narod, nemate to pravo!
Moj PC  
0 0 hvala 0
11 godina
offline
Re: Pomoć oko zadatka s mature
Dodinho kaže...

 Imaš solidan argument za žalbu kada budu bile. U programiranju kada se uzima "do 4" misli se <4 i to znači da se 4 ne uključuje.

Cesto je u jezicima kao C/C++ i poljima gdje indeksi pocinju s 0, no onda je obicaj i da petlja krene od 0, a ne 1 kao ovdje.
Ali opcenito bas i nema nekog pravila, tako da i dalje ima valjan razlog za zalbu - trebalo je naglasit tipa i=1 do 4 ukljucivo ili nesto tako.

 

 

@Ivan(4) - "Inače, upotreba domaćeg izraza koji je potrebno prevesti na engleski da bi se precizno znalo o čemu se radi je besmislena."

Ovo je problem prijevoda programskog koda u pseudokod, a ne hrv vs eng. Na engleskom imas isti problem "for i:=1 to 4" - jel 4 ukljucen ili ne. Tako da tu ne pomaze ni prijevod na engleski, ni travari ni voda sa korita Ivanova...

16 godina
offline
Pomoć oko zadatka s mature

Nikada nisam naišao na programski jezik niti primer pseudokoda u kome for i:=1 to 4 ne uključuje 4, a verujem da je isto i sa maturantima. Stoga ovu konstrukciju ne smatram ni najmanje dvosmislenom.

WP/WM fanovi, prestanite više lagat ovaj napaćeni narod, nemate to pravo!
Moj PC  
1 0 hvala 0
15 godina
offline
Pomoć oko zadatka s mature

-zadatak više liči na birtijski trik.. :) tj klasičan 'problem' calculatora tj pravila

2+2*2= .. 6 ili 8.

po redosljedu, običan calc =8, po pravilima mat. operacija =6.

-kompajler-interpreter..  basic-pithon ili c i ovisno o opcijama možemo imati različite rezultate.

-zato se koriste zagrade koje eliminiraju nedoumice-dubioze dok pseudokod u ovom primjeru služi upravo tome.. tj ako su školski primjeri tad točan rezultat može biti 8 jer tako radi običan calc (kojeg imate u win, probajte u standard .. probajte u znanstvenom modu).

-pošto je ovo programski zadatak, petlja.. tad nisu primarno matematička pravila ta koja određuju što zapravo trebamo-želimo, tj nije stvar točnog rezultata nego brojač ima sasvim drugu namjenu u programiranju, npr dohvaćanje podatka a tad ne vrijedi matematičko pravilo više operacije nego ono što programer želi-treba.

 

-zato, kad god je potrebno, treba koristiti zagrade.

-pseudo kod ovisi o jeziku-cilju.. pa tako i čitanje-interpretacija.

 

kao dodatni problem za školski zadatak, ima beskorisnu-nepotrebnu liniju t=nešto prije j-petlje..

 

rekao bi da je ovo primjer lošeg primjera.. :) da ne ulazimo u programske petlje koje mogu biti s uvjetima kao while-whend-until s izlazom na dnu ili vrhu + exit u sredini ili kad možemo po potrebi odrediti drugi uper-lower bound matrice (uobičanjeno sve kreće od nulte-0 ali može od bilo koje vrijednosti, npr 1.. dok u fornextu može biti i step itd. itd..

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
Poruka je uređivana zadnji put čet 25.6.2020 0:01 (ihush).
 
0 0 hvala 0
11 godina
offline
Re: Pomoć oko zadatka s mature
Ivan(4) kaže...

Nikada nisam naišao na programski jezik niti primer pseudokoda u kome for i:=1 to 4 ne uključuje 4, a verujem da je isto i sa maturantima. Stoga ovu konstrukciju ne smatram ni najmanje dvosmislenom.

Ako si uglavnom radio u Javi ili C/C++, onda nemas '1 to 4' vec imas i<4 ili i<=4, moras eksplicitno definirat jel 4 ukljucen ili nije, nema nagadjanja.

A sto se tice ovog "Nikada nisam naišao na programski jezik", slican primjer bi bio Python:

for x in range(1,4)
  print(x)

 

Vjerovao ili ne, ali ovo ce ispisat

1

2

3

 

Mozda je vecini prirodnije da je 4 ukljuceno, ali meni to nije nedvosmisleno ako ja moram pretpostavljat sto je konvencija izmisljenog jezika (pseudokod).

16 godina
offline
Pomoć oko zadatka s mature

Mislim da nepotrebno razvodnjavamo priču. Za C-olike jezike znam, ali, kao što si pomenuo, tu nije 1 to 4, nego lepo piše uslov izlaska iz petlje: i<4, i<=4 ili nešto sasvim deseto (uslov uopšte ne mora biti na brojaču). Primer za Python je ok, ali to je opet neka druga sintaksa. Međutim, jezici koji koriste sintaksu for i:=1 to 4 (ili for i=1 to 4), kao što su Pascal i BASIC, kao i sav pseudokod koji sam ikad video a koji sadrži tako napisanu for naredbu, uključuju 1 i 4. Takođe, razni načini "nasilnog" prekida petlje koje pojedini jezici dozvoljavaju utiču na kontrolu toka, ali to ne znači da sama for naredba znači bilo šta drugačije nego inače.

WP/WM fanovi, prestanite više lagat ovaj napaćeni narod, nemate to pravo!
Moj PC  
0 0 hvala 0
12 godina
offline
Re: Pomoć oko zadatka s mature
Ivan(4) kaže...

Nikada nisam naišao na programski jezik niti primer pseudokoda u kome for i:=1 to 4 ne uključuje 4, a verujem da je isto i sa maturantima. Stoga ovu konstrukciju ne smatram ni najmanje dvosmislenom.

 Ali ta konstrukcija je razvila razgovor od jedne cijene stranice na forumu, od ljudi kojima je programiranje posao. Mislim da to znači da je ipak dvosmislena.

 

Ako mu ne priznaju, nek se žali, navede ovaj primjer iz Pythona, mislim da ga neće odbiti.

Battlelog: [G] CyberDemonVZ
13 godina
offline
Re: Pomoć oko zadatka s mature

Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?
t := 0;
za i := 1 do 4 činiti
   za j := 1 do i činiti
        t := t + 2 * i;

 

A možete li probat objasnit ovaj

 

Rješenje je 60

Poruka je uređivana zadnji put pon 29.6.2020 18:16 (Hazar).
14 godina
offline
Re: Pomoć oko zadatka s mature
Hazar kaže...

Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?
t := 0;
za i := 1 do 4 činiti
   za j := 1 do i činiti
        t := t + 2 * i;

 

A možete li probat objasnit ovaj

 

Rješenje je 60

i=1

t = t + 2 * 1   (2)

 

i=2

t = t + 2 * 2   (6)

t = t + 2 * 2   (10)

 

i=3

t = t + 2 * 3   (16)

t = t + 2 * 3   (22)

t = t + 2 * 3   (28)

 

i=4

t = t + 2 * 4   (36)

t = t + 2 * 4   (44)

t = t + 2 * 4   (52)

t = t + 2 * 4   (60)

The best thing about having a penis is sharing it with people who don&#39;t
Poruka je uređivana zadnji put pon 29.6.2020 19:50 (CalvinRi).
15 godina
offline
Re: Pomoć oko zadatka s mature
Hazar kaže...

Koju će vrijednost imati varijabla t nakon izvođenja sljedećega dijela programa?
t := 0;
za i := 1 do 4 činiti
   za j := 1 do i činiti
        t := t + 2 * i;

 

A možete li probat objasnit ovaj

 

Rješenje je 60

 -ponovo 'isti' (tip) zadatka? .. i opet isti problem tj tumačenje redosljeda operacija (sporedno školsko pravilo, jer ovo je programiranje, programska pravila) tj zato postoje zagrade.

ili zašto izbjegavati zagrade kad upravo zagradama možemo eliminirati nejasnoću, tj neovisno što pravilo kaže da prvo ide viša mat.operacija, programski to nije kriterij i ne mora biti ono što program-petlja radi tj može biti linearno a to ovisi o želji programera-potrebi appsa, ne pravilu škole nego kompajler-interpretera..

-ponovo, izračunajte win-calcom u standardnom i u znanstvenom modu, dobit ćete dva različita (točna) rezultata.

-zagradama se eliminira drugo rješenje i tad imamo jedan točan odgovor.

 

npr 2+2*2 može biti bez zagrada i po pravilu se tad računa 2+2*2=2+(2*2) =2 +4 =6  .. ako napišemo (2+2)*2 tad je 4*2=8.

 

zašto izbjegavati zagrade? zar je smisao nejasnoća ili filozofiranje? .. zagrade treba koristiti, nisu bauk, nisu zabranjene, nisu višak.. + svaki pristojan-uredan programer dodatno strukturira kod, uvlačenje-poravnavanje.. zbog preglednosti-čitljivosti-razumljivosti.. a to je smisao zagrada, razumljivost tj eliminiranje različitog redosljeda od željenog. Zagrada na jednostavan način to eliminira i upravo zato se 'mora' koirstiti kao što se u kodu koriste i REMovi mada su samo opisni text i može se reći da 'nemaju veze' s programom.. imaju, to je važno, čitljivost, suprotno od nejasnoća.

 

što bi se strašnog desilo da piše t := t + (2*i) .. no tad nema 'filozoforanja'? Prgramer koji želi taj rezultat će upravo tako napisati sa zagradom, onaj tko želi filozofirati može, no tad može dobiti i dva (točna) različita rezultata.

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
14 godina
offline
Re: Pomoć oko zadatka s mature

Mislim da taj dio uopce nije sporan. Jedino sporno je bio uvjet izlaska iz petlje i to je jedino sta moze utjecati na konacni rezultat.

Zagrade nisu potrebne bile, po svim pravilima prvo ide mnozenje, tako da je rezultat tih ocekivanih 60. AKo neki programski jezik radi drukcije, onda treba zagrade. Ja razmisljam na c++ovski nacin. 

 

A to sta si napisao vezano za zagrade i dvosmislenost, ja sam uvijek za stavljanje (nepotrebnih) zagrada, ako doprinosi citljivosti koda, cak i kad ne utjece na rezultat. Iako za ovaj trivijalni primjer stvarno nije potrebno. 

 

The best thing about having a penis is sharing it with people who don&#39;t
15 godina
offline
Re: Pomoć oko zadatka s mature
CalvinRi kaže...

..

 

A to sta si napisao vezano za zagrade i dvosmislenost, ja sam uvijek za stavljanje (nepotrebnih) zagrada, ako doprinosi citljivosti koda, cak i kad ne utjece na rezultat. Iako za ovaj trivijalni primjer stvarno nije potrebno. 

 

 -ono što vidim kao 'problem' je što se ovakav tip zadataka postavlja kao trik-pitanje, ne kao osnove programiranja, pravila-nedvosmislenost-urednost.. + pseudokod koji ovisi o interpretaciji tj programskom jeziku-kompajleru koji ga čita i prevodi ili izvršava.. školski je basic-python tj interpreter a c je compiler.. kompajler prvo prevede kod (čitav) pa tek tad pokrene app i tad taj način može prevesti po pravilima formulu tj dati rezultat koji očekujemo po školskim-matematičkim pravilima, tj kao da stavimo zagradu na umnožak .. koje je po pravilima višak (ali od viška glava ne boli).

-da se vratimo vremeplovom unazad, u vrijeme numeriranih linija koda, 10-20-30.. bilo bi jasnije što mi 'smeta'.. kod se može pisati svakako, može u više redova jedna naredba-formula, može u jednom redu više neovisnih npr odvojeno dvotočkom je identično kao novi red.. tj to je samo stvar kontrolnih znakova kako će ih tumačiti računalo-jezik tj interpreter-kompiler koji to prevodi u strojni.

 

ponovo, nema točno-netočnog calculatora i ako istu stvar tipkamo u win-calcu u standard modu, tad će računati kako unosimo, redosljedom, tad će prvo izračunati 2+2 jer je tim redoslejdom dobio unos, tj tad calculator ne zna da to nije kraj unosa i izbacuje trenutni rezultat operacije zbrajanja. U znanstvenom modu isti calc će dati drugi rezultat, po pravilima viša-niža operacija tj prvo će pomnožiti pa tek tad zbrojiti, tj tad čeka unos do naredbe 'izračunaj' dok u prvom slučaju svaka nardba (operacija) izbacuje-okida izračunaj naredbu sekvencijalno.

-tko može znati želi li programer rezultat po mat.pravilima ili ne? tj onaj tko piše može to napisati na način da je neovisno o interpretaciji programskog jezika ili moda-opcije rada kompajlera tj stavljanjem zagrada može upravo to eksplicitno naglasiti i tad nema nedoumica tj nema različitih mogućih rezultata ovisno o razlici jezika-kompajera.. a programiranje bi trebalo biti upravo takvo + učenje programiranja. To nije matematika i matematička pravila, nego programska, ovisna o platformi itd. (kao što je nama službeni SI sustav i mjerne jedinice, ne moraju biti, tj imperijalne usa-uk, kao i PCjevska birnarna baza u kapacitetu memorije koja nema 1K=1000 nego KiBi... 1024 tj drugi set pravila koji nije nužno identičan 'našim' pravilima mada je možda sličan pa i isti u većem dijelu.

 

-treba uredno-struktirirati, čitljivost-samoobjašnjivost koda.. tj smisao nije kafanski trik nego da dva programera na različitim stranama svijeta, jezicima, platformama mogu biti 'kompatibilni' tj kao u matematici, razumjeti se ''binarno'' :) i mada je po pravilima zagrada nepotrebna, to vrijedi samo za ljude koji pišu na papiru i koji moraju-mogu pročitati čitavu formulu jer je vide, dok računalo ne vidi nego čeka unos kao i cpu koji tad idla.

-kao btw, cjevovodi (dubina keša u cpu) upravo te međurezultate korisiti i izračunava unaprijed, prije nego su potrebni tj cpu čeka-idla i u tom čekanju izračunava moguće rezultate tj postoji mogućnost da je iduća nareba = (izračunaj rezultat) i tad je cpu uštedio vrijeme tj već ima izračunato i time ne gubi cikluse tj = brzina.. u slučaju da je to neka druga naredba tad se taj izračun odbacuje tj ostaje u kešu ovisno o veličini keša kao i sadržaj neke web stranice.. tj tako radi cpu, optimizacija itd.

 

-nisu to krivi-pogrešni rezultati, nego su oba točna tj ako koristimo zagrade tad upravo imamo nedvosmisleno jedan mogući odgovor, dok bez zagrada imamo dva moguća  tj ovisimo o pravilima koje kompajler-jezik koristi a to ne znamo jer je ovo pseudokod primjer tj školski zadatak programerske petlje.. banalni-jednostavan .. nepotreban jer ne računa ništa 'pametnog' ali tako se uči, tj školski primjer programiranja nije identičan šskolskom primjeru matematike-pravila možemo dodati ni pravopisa ili redosljeda u rečenici objekt-predikat-subjekt.. jer to nije pravopis-gramatika itd. mada možemo i ta pravila primijeniti tj kad želimo neko pravilo striktno, tad upravo tako i napišemo, zagradama.. tad je jasno i tad je jedan moguć odgovor.

 

-drugi dio problema je ubond-lo-bond tj ovisno o jeziku, može se definirati, može biti različito ili različita sintaxa.. 1 to 4 može biti <=4 (uključno) ili <4(isključno) tj 3, dok je 4 prekid.. + zato postoje i različiti tipovi petlji, do-loop-until-while tj s izlazom na vrhu-dnu, ovisno što programer želi-treba u tom trenutku a to nema veze s matematičkim-gramatičkim pravilima jer tad je jedino važno što programeru treba u appsu-algoritmu, ne pravilo kao redosljed operacija jer s tim nema veze. Kao što je moguća nedozvoljena vrijednost npr dijeljenje s nulom i tad programer hendla izuzetak, tj mora definirati takav slučaj (predvidjeti ga) mada od pentač-peča to ne stvara error-brake no u programskom jeziku se mora hendlati i tad nam je uzaludno što znamo da je dijeljenje  nulom nedozvoljeno. Moramo imati if-then on error tj predvidjeti i takvu mogućnost ili rezultat ili ćemo imati brake-bsod-bug. Pseudo kod jednostavno to ne definira, ne zna se.. a traži se 'točan' odgovor i koriste se matematička pravila koja nisu primarna za programiranje + specifičnosti svake platforme-jezika.

 

-zagarada to efikasno eliminira.. nije bauk, treba je koristiti pa i kao višak jer u ovakvom (pogotovo školskom primjeru) je taj višak poželjan, osim da zadamo upravo takav tip zadatka 'optimizacije' tj da izbacimo sve što je višak, čak i remove ako je to potrebno (ograničene memorije ponekih eproma i sl. gdje je svaki byte možda važan.. za današnja računala nevažno jer imaju dovoljno resursa-rama..). Kao da u autoškoli učimo sigurnu vožnju, osim kad učimo pretjecanje-uguravanje-prestrojavanje u gužvi i sl.. ili iznenadne situacije kao poledica i sl. tad su to suprotni primjeri suprotnog cilja od 'normalnog'. Normalan programski kod trpi bezbrojne zagrade i možemo istu stvar napisati npr

t=t+2*2 kao i sve staviti u zagrade .. t=(t+(2*2))

.. ne smeta, isto je.. ali tad znamo 100% što je programer (ne matematičar-nastavnik u školi) želio izračunati tj koji rezultat je 'točan' a o tome ovisi grananje-app.. kompajler će sam izbaciti višak dok će u sourcekodu to jasno-nedvosmisleno reći drugom programeru što se i na koji način računa u tom dijelu programa-algoritma.. dok sam za sebe nije važan tj ne znači baš ništa, kao da sad napišemo 2+3 ili 4342423 .. beskorisno, dobija smisao tek kad npr na kasi računamo koliko kuna treba platiti i tad 2+3=5 ima konkretnu svrhu, cijenu, kilažu ili nešto deseto, do tad je samo broj-zadatak koji služi 'mučenju' školaraca na 'besmislenim' primjerima (jer uvjek pitaju-njurgaju.. što će im to..) :)

C64/TurboModul-OpenSourceProject.org.cn.部分作品为网上收集整理,供开源爱好者学习使用
14 godina
offline
Re: Pomoć oko zadatka s mature
ihush kaže...
CalvinRi kaže...

..

 

A to sta si napisao vezano za zagrade i dvosmislenost, ja sam uvijek za stavljanje (nepotrebnih) zagrada, ako doprinosi citljivosti koda, cak i kad ne utjece na rezultat. Iako za ovaj trivijalni primjer stvarno nije potrebno. 

 

 -ono što vidim kao 'problem' je što se ovakav tip zadataka postavlja kao trik-pitanje, ne kao osnove programiranja, pravila-nedvosmislenost-urednost.. + pseudokod koji ovisi o interpretaciji tj programskom jeziku-kompajleru koji ga čita i prevodi ili izvršava.. školski je basic-python tj interpreter a c je compiler.. kompajler prvo prevede kod (čitav) pa tek tad pokrene app i tad taj način može prevesti po pravilima formulu tj dati rezultat koji očekujemo po školskim-matematičkim pravilima, tj kao da stavimo zagradu na umnožak .. koje je po pravilima višak (ali od viška glava ne boli).

-da se vratimo vremeplovom unazad, u vrijeme numeriranih linija koda, 10-20-30.. bilo bi jasnije što mi 'smeta'.. kod se može pisati svakako, može u više redova jedna naredba-formula, može u jednom redu više neovisnih npr odvojeno dvotočkom je identično kao novi red.. tj to je samo stvar kontrolnih znakova kako će ih tumačiti računalo-jezik tj interpreter-kompiler koji to prevodi u strojni.

 

ponovo, nema točno-netočnog calculatora i ako istu stvar tipkamo u win-calcu u standard modu, tad će računati kako unosimo, redosljedom, tad će prvo izračunati 2+2 jer je tim redoslejdom dobio unos, tj tad calculator ne zna da to nije kraj unosa i izbacuje trenutni rezultat operacije zbrajanja. U znanstvenom modu isti calc će dati drugi rezultat, po pravilima viša-niža operacija tj prvo će pomnožiti pa tek tad zbrojiti, tj tad čeka unos do naredbe 'izračunaj' dok u prvom slučaju svaka nardba (operacija) izbacuje-okida izračunaj naredbu sekvencijalno.

-tko može znati želi li programer rezultat po mat.pravilima ili ne? tj onaj tko piše može to napisati na način da je neovisno o interpretaciji programskog jezika ili moda-opcije rada kompajlera tj stavljanjem zagrada može upravo to eksplicitno naglasiti i tad nema nedoumica tj nema različitih mogućih rezultata ovisno o razlici jezika-kompajera.. a programiranje bi trebalo biti upravo takvo + učenje programiranja. To nije matematika i matematička pravila, nego programska, ovisna o platformi itd. (kao što je nama službeni SI sustav i mjerne jedinice, ne moraju biti, tj imperijalne usa-uk, kao i PCjevska birnarna baza u kapacitetu memorije koja nema 1K=1000 nego KiBi... 1024 tj drugi set pravila koji nije nužno identičan 'našim' pravilima mada je možda sličan pa i isti u većem dijelu.

 

-treba uredno-struktirirati, čitljivost-samoobjašnjivost koda.. tj smisao nije kafanski trik nego da dva programera na različitim stranama svijeta, jezicima, platformama mogu biti 'kompatibilni' tj kao u matematici, razumjeti se ''binarno'' :) i mada je po pravilima zagrada nepotrebna, to vrijedi samo za ljude koji pišu na papiru i koji moraju-mogu pročitati čitavu formulu jer je vide, dok računalo ne vidi nego čeka unos kao i cpu koji tad idla.

-kao btw, cjevovodi (dubina keša u cpu) upravo te međurezultate korisiti i izračunava unaprijed, prije nego su potrebni tj cpu čeka-idla i u tom čekanju izračunava moguće rezultate tj postoji mogućnost da je iduća nareba = (izračunaj rezultat) i tad je cpu uštedio vrijeme tj već ima izračunato i time ne gubi cikluse tj = brzina.. u slučaju da je to neka druga naredba tad se taj izračun odbacuje tj ostaje u kešu ovisno o veličini keša kao i sadržaj neke web stranice.. tj tako radi cpu, optimizacija itd.

 

-nisu to krivi-pogrešni rezultati, nego su oba točna tj ako koristimo zagrade tad upravo imamo nedvosmisleno jedan mogući odgovor, dok bez zagrada imamo dva moguća  tj ovisimo o pravilima koje kompajler-jezik koristi a to ne znamo jer je ovo pseudokod primjer tj školski zadatak programerske petlje.. banalni-jednostavan .. nepotreban jer ne računa ništa 'pametnog' ali tako se uči, tj školski primjer programiranja nije identičan šskolskom primjeru matematike-pravila možemo dodati ni pravopisa ili redosljeda u rečenici objekt-predikat-subjekt.. jer to nije pravopis-gramatika itd. mada možemo i ta pravila primijeniti tj kad želimo neko pravilo striktno, tad upravo tako i napišemo, zagradama.. tad je jasno i tad je jedan moguć odgovor.

 

-drugi dio problema je ubond-lo-bond tj ovisno o jeziku, može se definirati, može biti različito ili različita sintaxa.. 1 to 4 može biti <=4 (uključno) ili <4(isključno) tj 3, dok je 4 prekid.. + zato postoje i različiti tipovi petlji, do-loop-until-while tj s izlazom na vrhu-dnu, ovisno što programer želi-treba u tom trenutku a to nema veze s matematičkim-gramatičkim pravilima jer tad je jedino važno što programeru treba u appsu-algoritmu, ne pravilo kao redosljed operacija jer s tim nema veze. Kao što je moguća nedozvoljena vrijednost npr dijeljenje s nulom i tad programer hendla izuzetak, tj mora definirati takav slučaj (predvidjeti ga) mada od pentač-peča to ne stvara error-brake no u programskom jeziku se mora hendlati i tad nam je uzaludno što znamo da je dijeljenje  nulom nedozvoljeno. Moramo imati if-then on error tj predvidjeti i takvu mogućnost ili rezultat ili ćemo imati brake-bsod-bug. Pseudo kod jednostavno to ne definira, ne zna se.. a traži se 'točan' odgovor i koriste se matematička pravila koja nisu primarna za programiranje + specifičnosti svake platforme-jezika.

 

-zagarada to efikasno eliminira.. nije bauk, treba je koristiti pa i kao višak jer u ovakvom (pogotovo školskom primjeru) je taj višak poželjan, osim da zadamo upravo takav tip zadatka 'optimizacije' tj da izbacimo sve što je višak, čak i remove ako je to potrebno (ograničene memorije ponekih eproma i sl. gdje je svaki byte možda važan.. za današnja računala nevažno jer imaju dovoljno resursa-rama..). Kao da u autoškoli učimo sigurnu vožnju, osim kad učimo pretjecanje-uguravanje-prestrojavanje u gužvi i sl.. ili iznenadne situacije kao poledica i sl. tad su to suprotni primjeri suprotnog cilja od 'normalnog'. Normalan programski kod trpi bezbrojne zagrade i možemo istu stvar napisati npr

t=t+2*2 kao i sve staviti u zagrade .. t=(t+(2*2))

.. ne smeta, isto je.. ali tad znamo 100% što je programer (ne matematičar-nastavnik u školi) želio izračunati tj koji rezultat je 'točan' a o tome ovisi grananje-app.. kompajler će sam izbaciti višak dok će u sourcekodu to jasno-nedvosmisleno reći drugom programeru što se i na koji način računa u tom dijelu programa-algoritma.. dok sam za sebe nije važan tj ne znači baš ništa, kao da sad napišemo 2+3 ili 4342423 .. beskorisno, dobija smisao tek kad npr na kasi računamo koliko kuna treba platiti i tad 2+3=5 ima konkretnu svrhu, cijenu, kilažu ili nešto deseto, do tad je samo broj-zadatak koji služi 'mučenju' školaraca na 'besmislenim' primjerima (jer uvjek pitaju-njurgaju.. što će im to..) :)

 legendo:)

Uspio si napisat teksta koliko ja u 5 godina forumiranja, u temi skoro pa nebitnoj (pocelo je kao trivijalni programerski zadatak, pa je preraslo u filozofiju, a mogli bi sad dalje o skolstvu, reformi, radu od kuce, koroni, ustasama i partizanima i tako...)

U svakom slucaju, procitah, i ne mogu rec da se ne slazem. Nemam sta dodat na ovo tvoje. 

The best thing about having a penis is sharing it with people who don&#39;t
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice