programovanie 32-39 Flashcards

1
Q

čo zabezpečuje funkcia ?

A

modularitu - rozdelenie programu do funkcií na moduly, každý modul má svoju úlohu

opakovateľnosť - funkcie je možné opakovane použiť

zrozumiteľnosť - prehľadnosť kódu

abstrakciu - zjednodušené vnímanie chodu programu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

čo vykonávajú funkcie ?

A

funkcie vykonávajú podúlohy, ktoré vedú k riešeniu hlavného, komplexnejšieho problému

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

pomocou akého keywordu definujeme funkciu a aký je syntax?

A

definujeme ich pomocou keywordu “def” a názov funckie

syntax:
def názov_funckie(parametre):

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

čo je to parameter vo funkcí ?

A

parametrami nazývame premenné v zátvorkách pri definícií funkcie

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

ako nazývame hodnoty ktoré do funkcie vstupujú ?

A

konkrétne hodnoty, ktoré do
nich vstupujú nazývame argumenty

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

aký je postup vykonávania programu pri funkciách ?

A

program beží, kým nenarazí na funkciu

v momentne, kedy na ňu narazí, uloží si návratovú adresu, aby sa sem po vykonaní funkcie mohol vrátiť

vytvoria sa lokálne premenné podľa parametrov a obsahu samotnej funkcie

riadenie programu sa prenesie do funkcie (podprogramu)

vykoná sa telo funkcie (príkazy)

lokálne premenné zaniknú

riadenie programu sa vráti pomocou uloženej návratovej adresy na miesto, kde sa pôvodne nachádzal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

definuj globálnu premennú…

A

globálne premenné žijú vrámci globálneho rámca, čiže počas celého behu programu
dobrým zvykom je deklarovať ich na prvé riadky programu, nad funkcie pre prehľadnosť

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

ako vieme premennú lokálneho rámca deklarovať aby bola globálna..

A

lokálnu premennú vieme deklarovať aby bola globálna pomocou keywordu “global” tým sa z lokálnej premennej stane globálna premenná

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

definuj lokálnu premennú…

A

lokálne premenné žijú iba vrámci svojho lokálneho rámca, co môže buť napríklad funkcia, prípadne iterátor v cykle

-po vykonaní funkcie, ukončení cyklu táto lokálna premenná zaniká

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

vysvetli menné priestory

A

menné priestory (lokálny -> globálny -> build-in)

lokálny:
-vzniká tak ako aj lokálny rámec pri spustení funckie, cyklu
-obsahuje názvy premenných z týchto konštrukcií (pri cykle len iterátor)

globálny:
-existuje po celú dobu trvania programu
-obsahuje názvy premenných mimo funkcií a iterátorov cyklov

build-in:
-obsahuje názvy funkcií, ktoré Python poskytuje automaticky

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

ako fungujú funkcie s návratovou hodnotou ?

A

môžme definovať funkcie, ktoré vracajú hodnoty pomocou kľúového slova return - funkcia môže vrátiť jeden alebo viacero výsledkov, ktoré môžeme potom použiť ďalej

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

ako definujeme funkciu ktorá už má defaultne nastavený parameter ?

A

môžme definovať funkcie, ktoré majú predvolenú/náhradnú hodnotu parametrov – v prípade, že pri volaní funkcie nie je daný parameter zadaný, použuje sa táto predvolená hodnota

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

vysvetli pojem rekurzie, aj v programovaní…

A

objekt je rekurzívny, ak sa čiastočne skladá alebo je definovaný pomocou seba samého

v programovaní to je volanie podprogramu sebou samým

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

čo sa deje volaním rekurzívnej funkcie ?

A

každým volaním rekurzívnej funkcie sa vytvorí kópia parametrov a premenných, zapamätá sa návratová adresa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

rekurzia sa može opakovať kým… ?

A

rekuzia sa môže opakovať kým nepretečie systémový zásobník – stack overflow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

aké dva prípady môžu nastať pri rekurzívnej funkcí ?

A

rekurzívny – chod funkcie končí zavolaním samej seba

triviálny – splní sa zadaná podmienka, rekurzia a aj funkcia končí

17
Q

načo služia výnimky v programovaní ?

A

slúžia na odchytávanie a spracovávanie rôznych druhov chýb

18
Q

ako vytvoríme všeobecnú výnimku ?

A

except Exception as e -> všeobecná výnimka, chytí všetko

19
Q

syntax výnimiek je ?

A

try:
blok príkazov kde moze nastat chyba

except:
co sa ma urobit, ak chyba nastala

finally:
blok príkazov ktorý sa vykoná vždy

20
Q

aké sú typy výnimiek ?

A
  • Exception: Je všeobecný predok väčšiny výnimiek v Pythone.
  • SyntaxError: Vzniká, keď interpret zistí chybu v kóde, ktorá nesúhlasí so syntaxou jazyka Python.
  • IndentationError: Vzniká, keď je porušená správna úroveň odsadenia (indentation).
  • TypeError: Vzniká, keď je operácia vykonávaná na hodnote nesprávneho dátového typu.
  • NameError: Vzniká, keď sa použije nedefinovaná premenná alebo funkcia.
  • ZeroDivisionError: Vzniká, keď sa pokúšate deliť číslo nulou.
  • FileNotFoundError: Vzniká, keď sa snažíte otvoriť alebo manipulovať súbor, ktorý neexistuje.
  • ValueError: Vzniká, keď je argument správneho dátového typu, ale má neplatnú hodnotu.
  • IndexError: Vzniká, keď sa snažíte pristúpiť k neexistujúcemu indexu v sekvencii (napríklad v zozname alebo reťazci).
  • KeyError: Vzniká, keď sa snažíte pristúpiť k kľúču, ktorý neexistuje v slovníku.
21
Q

ako vieme vygenerovať vlastnú výnimku a prečo?

A

výnimky môžme explicitne generovať pomocou keywordu raise

sú situácie, keď výnimku nielenže spracúvame, ale musíme ju aj vygenerovať = vynútiť