Zdravím všechny,jak jsem se zde již zmínil, mou vášní jsou kalkulačky a z toho důvodu navštěvuji specializované fórum pro Casia. Objevují se tam zajímavé problémy, které tam pomáhám řešit- částečně je to matematika (např. jak umocňovat matice, jak získat sumu čtverců, riemmanův integrál), částečně programování v jazyce Casio Basic (např. počet s 3D vektory - vektorový součin, normálový vektor, objem, obsah rovnoběžnostěnu) a částečně obojí (např. jak umocnit každý prvek matice zvlášť). Naposledy se tam objevil problém, jak sečíst prvních n prvků ze seznamu.Program sám o sobě je jednoduchý. Jako vstup se používá předem vytvořený list1 a při spuštění programu se zadá n-tá pozicePokud chci začít sčítat jednotlivé prvky od začátku, tj. prvky na pozici 1, 2..n, používám následující přiřazenín-1→zn-z→z Nejprve si z hodnoty n spočítám předposlední hodnotu a posléze si z předposlední hodnoty spočítám 1 (a dále 2, 3..n)- např. n=6, pak si spočítám z=6-1 a pak z=6-5, čímž získám kýženou první pozici.Existuje nějaký elegantnější jednořádkový algoritmus než je tento?Celý program vypadá taktoClrTextInput n,"n-th term" ;zadání pozice0→x ;vynulování součtu a zároveň pomocná hodnotan-1→z ;získání pozice předposledního pvkun-z→z ; získání první pozice prvkudim(list1)→d ;získání počtu prvků v seznamu (dimension, rozměr)If n≤d ;porovnání zadaného n s počtem prvků, test na chybuThenWhile z≤nlist1[z]→y ;získání a zápis prvku na z-té pozici do yx+y→x ;procedura součtuz+1→z … ;posun pozice prvku o 1 doprava Print x ;výpis kumulativního součtuWhileEndPrint "sum"Print x ;výpis konečného součtu do n-tého prvkuElsePrint "error - dimension mismatch" ;výpis chyby v případě, že je n větší než dIfEndPoznámka: sčítat prvky od konce je jednodušší- tj. od n, n-1, n-2 až do 1, ale chtěl jsem si vyzkoušet sčítání od první pozice už kvůli výpisu kumulativního součtu. Díky za pozornost Ukázat celý příspěvek