Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 26. 11. 2013 20:55

gemat
Příspěvky: 43
Reputace:   
 

wxmaxima - prvky v poli

Prosím o radu, mám sestavit funkci, která mi vypíše, jaké prvky v poli nemají stejnou hodnotu jako index daného prvku (tzn. že když mám 1,3,2,4,5 tak by mi to mělo vypsat čísla 3 a 2) a vypsat jejich počet. Jsem momentálně trošku ztracen ve block([]....) a cyklu for.....:(

Díky moc!

Offline

  • (téma jako vyřešené označil(a) gemat)

#2 26. 11. 2013 22:06

mák
Místo: Vesmír, Galaxie MD
Příspěvky: 885
Reputace:   63 
 

Re: wxmaxima - prvky v poli

Zdravím,
Mám napsat funkci, -> s funkcí asi problém nemáš.

Cyklus for: zde musíš projet všechny položky pole od prvního členu po poslední.
Použiješ proměnou $index$:

Code:

for index:1 thru length(Array) do ( ... tělo cyklu ... )

Funkce length vrací v tomto případě počet položek daného pole.
Do těla cyklu dáš podmínku, která bude porovnávat rovnost/nerovnost zkoušené položky pole s indexem:

Code:

if is(Array(index)=index) then ( ... )

Porovnání na nerovnost se píše takto:

Code:

if is(Array(index)#index) then ( ... )

No a pokud bude podmínka splněná budeš inkrementovat celkový čítač:

Code:

Pocet: Pocet + 1

a vypíšeš položku:

Code:

print(index)

No a na začátku si musíš proměnou $Pocet$ vynulovat, takto bude použita jako lokální:

Code:

block([Pocet:0], ... )

Jednotlivé příkazy uvnitř bloku jsou odděleny čárkou.
A na konci si opět příkazem print necháš vypsat $Pocet$ nalezených hodnot.

Teď už to dáš dohromady?


LibreOffice Verze: 7.6.6.3, Maxima 5.47.0 (SBCL)

Offline

 

#3 27. 11. 2013 08:00 — Editoval gemat (27. 11. 2013 08:27)

gemat
Příspěvky: 43
Reputace:   
 

Re: wxmaxima - prvky v poli

↑ mák:↑ mák:↑ mák:

No, nejsem si jist, jestli se mi to podaří přetransformovat do maximy :) Kdbys byl tak laskavý, prosím, a poradil jak to tam dát - (zejm. si nejsem jist, jak napsat tu proměnnou index, jestli třeba x[1] nebo slovně index v maximě :)

AKTUALIZACE
- UŽ SE MI TO PODAŘILO, DÍKY MOC!!!!

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson