Kezdőoldal » Számítástechnika » Programozás » Hogyan módosítsuk a lenti...

Hogyan módosítsuk a lenti példa kódot hogy futtatható shell szkriptet kapjunk amely meghatározza a mátrix főátlójában lévő emelek minimumát?

Figyelt kérdés

Adott egy fájl matrix. Dat amelyben négy sorban és négy oszlopban különböző egész számok vannak kettősponttal elválasztva (4x4) -es mátrix.


echo ${k[*]}

echo ${h[*]}


ossz1=0

for i in ${k[*]}; do

let ossz1+=i

done

echo "második sor összege: $ossz1"


ossz2=0

for i in ${h[*]}; do

let ossz2+=i

done

echo "harmadik sor összege: $ossz2"


kozep=let $ossz1+$ossz2

echo "számtani közép: $kozep"


2016. nov. 30. 19:27
 1/5 anonim ***** válasza:
Ügyesen ügyesen.
2016. nov. 30. 19:30
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:

Mi az "hogy elemek minimuma"?


A legkisebb szám kell? Tárold el az 1/1 elemet, utána 2-től 4-ig menj végig és nézd meg, hogy az i/i kisebb-e, mint az 1/1. Hogyha igen cserélje ki.

2016. nov. 30. 19:47
Hasznos számodra ez a válasz?
 3/5 anonim ***** válasza:

Nem válasz a kérdésre, de egyszerűen nem értem, hogy ki és miért ad ilyen feladatot... a shell programozás teljesen nyilvánvalóan nem erre való. Alapból éppen ezért csak minimálisan támogat matematikai műveleteket. Rettenetesen hasznos a shell programozás, miért nem bír olyan feladatokat adni, amivel a diákok látják a hasznát is? Ebből csak az jön le, hogy micsoda favágás.


Erre a feladatra egy loopot kell írni, minden cikulusban kivenni egy elemet, elvégezni az összehasonlítást. Rettenetes. Ez a probléma egyetlen egy parancs R-ben.

m = matrix(rnorm(16), ncol=4) # egy random 4x4es mátrix generálása

min(diag(m)) # a diag-paranccsal kiválasztjuk a főátlót, a min-nel pedig ebből a minimumot.


Ennyi.

2016. nov. 30. 23:58
Hasznos számodra ez a válasz?
 4/5 anonim ***** válasza:

#3: ez tipikusan az a számtechtanár, aki a fél éves basic és a fél éves pascal után bash-ben képezte magát, viszont a jól bevált pascalos feladatait sem akarta kidobni, tehát itt újrahasznosítja őket.


A `let` használatából világosan látszik, hogy a basic-ből jött az öreg. Gyakorlatban senki nem használja a let-et, mert nem is posix.

2016. dec. 1. 00:03
Hasznos számodra ez a válasz?
 5/5 anonim ***** válasza:

"#3: ez tipikusan az a számtechtanár, aki a fél éves basic és a fél éves pascal után bash-ben képezte magát, viszont a jól bevált pascalos feladatait sem akarta kidobni, tehát itt újrahasznosítja őket. "

Ebben biztosan igazad van! Tragikus. És még csak nem is ez az egyetlen problémám: már nekem is kellett tartanom kisebb kurzusokat bioinformatikából, ahol perl, vagy R nyelven kellett valamilyen problémát megoldani. Mindig azt tartottam a feladatok összeállításánál irányadónak, hogy gyorsabb legyen megírni a kódot, mint kézzel megoldani. Ez a feladat looppal, kondícióval együtt kb 5-10 sor, ha nagyon kezdő az ember, akkor megírni mondjuk fél óra, de akkor már minden lépést google-zett. Most komolyan? fél óra munka és 5 sor kód, hogy egy 4x4es mátrix átlójának minimumát megkeresd? Garantált zéró sikerélmény, csak a szívás a semmiért.


Annyira felemelő tud lenni, hogy pár sor begépeslése pillanatszerűvé tesz olyan feladatokat, ami kézzel órákig tarthat. pl. bash-ben mondjuk két méretesebb szövegfile-ból szintetizálni adatokat. Ott lehet pipe-olni, használni a bash specifikus eszközöket stb. Persze ha nem kifejezetten a shell oktatása a cél, hanem általános programozás, ahhoz a shell meg nem jó.

2016. dec. 1. 00:34
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!