Programování funkcí v Excelu (pole)

Slides:



Advertisements
Podobné prezentace
ŘEŠENÍ ÚLOH V EXCELU.
Advertisements

Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití
Počítače a programování 1 Přednáška 13 Jiří Šebesta.
Programování funkcí v Excelu
Programování 2 Cvičení 5.
Vnitřní řazení v poli (in sito)
10. Dynamické datové struktury
ALGO – Algoritmizace 6. cvičení
Visual Basic POLE. 2 POLE Pole - je řada prvků označených indexem Například: řada čísel, které spolu nějak souvisejí řada známek jednoho studenta řada.
DATOVÝ TYP POLE.
1/12 ALGO – Algoritmizace 5. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
ALGO – Algoritmizace 7. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Algoritmy I Cvičení č. 5.
Manažerská grafika: Program č.3 Jaroslav LosSB 272.
Programování v Pascalu Přednáška 6
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
Algoritmy I Cvičení č. 4.
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
Základy Visual Basicu.
Informatika I 3. přednáška
Jazyk vývojových diagramů
Procedury a funkce Základní charakteristika a použití v programu.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Mgr. Jan Lavrinčík, DiS..  pro proměnnou typu Date alokováno 8 bajtů paměti, které obsahují spakovaný vzorek bitů nejen pro datum, ale i pro přesný čas.
Využití Excelu ve středoškolské matematice
Algoritmy a programovací techniky
Uživatelská dialogová okna
Použití uživatelských funkce Excelu
Algoritmy vyhledávání a řazení
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ ŘAZENÍ PRVKŮ – OPAKOVANÝM VÝBĚREM NEJVĚTŠÍHO PRVKU (SELECTSORT) Vytvořila: RNDr. Ivanka Dvořáčková Gymnázium K. V.
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ ŘAZENÍ PRVKŮ – PŘÍMOU VÝMĚNOU (BUBBLESORT) Vytvořila: RNDr. Ivanka Dvořáčková Gymnázium K. V. Raise, Hlinsko, Adámkova.
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
VISUAL BASIC PRALG.
2 CYKLUS S PEVNÝM POČTEM OPAKOVÁNÍ Podle řídící proměnné proveď n-krát příkaz P1.
KIV/PRO Cvičení Částečný součet v posloupnosti Najděte maximální částečný součet v posloupnosti Vstup: – Reálná čísla Výstup: – Maximální.
10. Dynamické proměnné Dynamická proměnná se nezavádí deklarací proměnných, ale vzniká za běhu programu provedením speciálního příkazu. Nemá přidělen žádný.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Aplikační počítačové prostředky X15APP MATLAB Katedra elektroenergetiky, Fakulta elektrotechniky ČVUT, Technická 2, Praha 6 Ing. Zbyněk Brettschneider.
Pole Arrays.
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Typy cyklů Do...Loop For...Next For Each...Next.
KIV/PPA1 cvičení 6 Cvičící: Pavel Bžoch. Osnova cvičení Datový typ pole –Jednorozměrná a vícerozměrná –Práce s vektory a maticemi.
Základy ALgoritmizace 6. cvičení. Program cvičení Kontrolní bod 1 zakončení grafického zápisu algoritmů - vývojových diagramů –identifikátory a proměnné.
Formuláře Formuláře uzavíráme do elementů Formuláře uzavíráme do elementů a a Tyto elementy jsou součástí jazyka XHTML, to znamená, že při použití v PHP.
Průměr Maximum Minimum
Základní operace s maticemi
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
VISUAL BASIC PRALG.
doc. RNDr. Zdeněk Botek, CSc.
ALGO – Algoritmizace 7. cvičení – ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Cvičení 3-4 Procedury, funkce,řetězce. Procedury Procedura Procedura Procedura je podprogram, který mění stav programu (změnou stavu proměnných nebo změnou.
Práce pro profesionály Cvičíme se v MATLABu © Leonard Walletzký, ESF MU, 2003.
Algoritmizace a programování Algoritmy 4 – Vývojové diagramy (cykly)
VY_32_INOVACE_PR2_14. Cyklus umožňuje opakování určité posloupnosti příkazů bez nutnosti psát je stále znovu. Používáme tři základní druhy cyklů: cyklus.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
KIV/ZD cvičení 9 Tomáš Potužák.
Vzorové řešení zápočtového testu
Programování v jazyce C++
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Podprogramy.
Základy algoritmizace 3/13 příkaz cyklus, proměnná typu pole
MU002 – Informační technologie Základy algoritmizace 4/13
MU002 – Informační technologie Základy algoritmizace 5/13
Algoritmizace a datové struktury (14ASD)
CU01 Informatika II 2/13 Základy algoritmizace
Transkript prezentace:

Programování funkcí v Excelu (pole)

EXCEL : pole Pole – proměnná obsahující několik složek – několik paměťových míst označených stejným jménem, ale lišících se hodnotou indexu – vektor, matice, tabulka, … – pole má několik variant (obsah této prezentace) Deklarace: Dim Pole(DolMez To HorMez) As Typ Pole Pole(DolMez) Pole(HorMez) Odkaz na složku: Pole(I)

EXCEL : pole Příklad: Průměr z čísel 1, 2, 3. Function PRUM() As Double Dim A(1 To 3) As Integer ´ Deklarace pole Dim I As Integer ´ Index Dim S As Integer ´ Sčítač For I=1 To 3 ´ Načtení pole A(I)=I Next I S=0 ´ Počáteční hodnota S For I=1 To 3 ´ Součet prvků pole S=S+A(I) PRUM=S/3 ´ Průměr End Function Pomocí pole II Function PRUM() As Double Dim A1 As Integer Dim A2 As Integer Dim A3 As Integer A1=1 A2=2 A3=3 PRUM=(A1+A2+A3)/3 End Function Bez pole Function PRUM() As Double Dim A(1 To 3) As Integer A(1)=1 A(2)=2 A(3)=3 PRUM=(A(1)+A(2)+A(3))/3 End Function Pomocí pole I Pole lze při průchodu kombinovat s cykly.

EXCEL : statické pole Uvedené pole je statické – deklarací se určí počet složek, který se pak nemění Typ složek pole nemusí být uveden (pak je Variant) Stačí uvést HorMez (DolMez je pak 0) Následující příklady popisují stejná (nebo skoro stejná) pole Dim Pole(0 To 6) As Single Dim Pole(6) As Single Dim Pole(6)

EXCEL : dynamické pole Při deklaraci se neurčuje počet složek (úspora paměti) Dim Pole() As Type Dim Pole() Dim Pole Počet složek se určí až v průběhu programu příkazem ReDim Při dalším použití ReDim jsou hodnoty pole vymazány Změnu velikosti bez vymazaní provede ReDim Preserve ReDim Pole(DolMez To HorMez) ReDim Preserve Pole(DolMez To HorMez) ReDim Pole(DolMez To HorMez) As Type (pro Dim Pole)

EXCEL : pole Příklad: Průměr z čísel 1, 2, 3 a pak z 1, 2, 3, 4, 5. Function PRUM() As Double Dim A() As Integer ´ Deklarace pole Dim I As Integer Dim S As Integer ReDim A(1 To 3) ´ Určení velikosti For I=1 To 3: A(I)=I: Next I S=0 For I=1 To 3: S=S+A(I): Next I PRUM=S/3 ReDim Preserve A(1 To 5) ´ Změna velikosti For I=4 To 5: A(I)=I: Next I For I=4 To 5: S=S+A(I): Next I PRUM=S/5 End Function

EXCEL : příklad na pole Příklad: Sestavte funkci, která odevzdá součet prvků posloupnosti počínaje prvním prvkem a konče prvkem s největší hodnotou, maximálně však pro 100 prvků. Posloupnost je určena předpisem: ai = k exp(-(i-m)2/q), i=1,2,… Konstanty zvolte například: k=10, m=6, q=32 posloupnost vytvoříme v poli A(1 To 100) As Double v posloupnosti najdeme největší prvek a jeho index provedeme požadovaný součet

EXCEL : příklad na pole Function SouPosl(K As Double,M As Double,Q As Double) As Double Dim A(1 To 100) As Double 'Deklarace Dim I As Integer Dim S As Double Dim AMAX As Double Dim IMAX As Double For I=1 To 100: A(I)=K*EXP(-(I-M)^2/Q): Next I 'Vytvoření pole AMAX=A(1): IMAX=1 'Hledání nejv. hodnoty For I=2 To 100 If A(I)>AMAX Then AMAX=A(I): IMAX=I Next I S=0 'Sčítání For I=1 To IMAX: S=S+A(I): Next I SouPosl = S End Function

EXCEL : pole jako vstup funkce Pole vstupuje do funkce jako proměnná typu Variant V Excelovském sešitu ji reprezentuje výběr souvislé oblasti Function PRUM(A) As Double PRUM = (A(1) + A(2) + A(3)) / 3 End Function

EXCEL : pole jako výstup funkce Pole vystupuje jako dynamické pole nebo jako Variant Vznikne maticová funkce (potvrzuje se Ctrl+Shift+Enter) Jednodimenzionální pole vystupuje jako ”řádek” Function ABC( vstupni_prom) As Type() Dim Pole(Meze) As Type ’Naplnění pole … ABC = Pole End Function

EXCEL : pole jako výstup funkce Function ABC() As Integer() Dim Pole(1 To 3) As Integer 'Naplneni pole Pole(1)=1: Pole(2)=2: Pole(3)=3 ABC = Pole End Function Function ABC() Dim Pole(1 To 3) As Integer 'Naplneni pole Pole(1)=1: Pole(2)=2: Pole(3)=3 ABC = Pole End Function

EXCEL : vícedimenzionální pole Matice, Tabulka, … Popisuje se více indexovými rozsahy a více indexy Počet dimenzí maximálně 60 Deklarace: Dim Pole2(DolMez1 To HorMez1,DolMez2 To HorMez2) As Type Odkaz na složku: Pole2(I,J) Pole2

EXCEL : příklad na pole Příklad: Sestavte funkci, která přečte tabulku čísel z Excelu. Poté najde minimální prvek a předá tabulku obsahující odchylky prvků od minimálního prvku. První dva vstupní parametry určí počet řádků M a sloupců N Vstupní tabulka bude pole zadané jako Variant Výstupní hodnota bude opět Variant Budeme předpokládat, že M10, N10

EXCEL : příklad na pole Function Odchylky(M As Integer,N As Integer,A As Variant) Dim B(1 To 10,1 To 10) As Double 'Deklarace Dim I As Integer Dim J As Integer Dim AMIN As Double AMIN=A(1,1) 'Určení minima For I=1 To M For J=1 To N If A(I,J)<AMIN Then AMIN=A(I,J) Next J Next I For I=1 To M 'Určení odchylek B(I,J) = A(I,J)-AMIN Odchylky = B End Function