Uživatelské nástroje

Nástroje pro tento web


zapg

Toto je starší verze dokumentu!


Základy algoritmizace a programování

Základy algoritmizace a programování

ALGORITHMIZATION AND PROGRAMMING

Informace k zimnímu semestru 2022/2023             

1. zápočtový test: 27. 10. 2022

Test se bude psát tužkou (propiskou) na papír, bez použití počítače (nebo kalkulačky, mobilu, ... apod.).
Můžete si ale vytisknout jako nápovědu tyto příkazy a operátory a funkce.

Úlohy k procvičování - pokud to lze, napište skripty pro úlohy na cykly (4. odstavec) jak s využitím matlabovských vektorových funkcí (např. max, min, mean, sum, ...), tak bez nich, tj. s explicitním použitím cyklu for nebo while - příklad.

2. zápočtový test: 24. 11. 2022 (nebo oprava 1. zápočtového testu)

V druhém testu lze použít počítač. Cílem je na zadané úloze předvést, že umíte v Matlabu napsat svou vlastní funkci a použít ji ve skriptu. Úlohy k procvičování.


DÚ: programy otestujte v Matlabu (nebo v Octave) a odevzdejte v Moodle
  • 1. cvičení

    V Dialogovém okně: uložte do proměnných a, b, c koeficienty kvadratického polynomu a pak do proměnných x1 a x2 pomocí standardního vzorce vypočítejte jeho kořeny. Zobrazte si výsledek na obrazovce. Ověřte správnost na několika variantách hodnot a, b, c. Příkazy, které jste použili, zapište do textového souboru s příponou .m a odevzdejte v moodle.

  • 2. cvičení

    Napište skript, který zjistí, zda z daných tří stran lze sestrojit trojúhelník.
    vstup: a, b, c ... tři kladná čísla
    výstup: buď "ano", nebo "ne"

  • 3. cvičení

    Napište skript, který přečte zadaný počet čísel a určí, kolik z nich je záporných a kolik nezáporných.
    vstup: n ... počet čísel, která budou následovat (např. 3)
             n čísel, postupně zadávaných (např. 2  -1  0 )
    výstup: zap ... počet záporných čísel
             nezap ... počet nezáporných čísel

  • 4. cvičení

    Napište skript, který postupně načte posloupnost celých nenulových čísel zakončenou nulou (nula slouží jen jako ukončovací číslo, do posloupnosti nepatří) a vytiskne, kolik čísel je větších než 10.
    vstup: postupně zadávaná posloupnost čísel, zakončená nulou (např. 2  -1  12  3  0 )
    výstup: p10 ... počet čísel větších než 10

    Nepoužívejte cyklus for, ale while (protože nevíte předem, kolikrát má proběhnout).

  • 5. cvičení

    DÚ tentokrát v moodle není - sami si procvičujte tyto příklady (zejména odstavec cykly) jako přípravu na test na následujícím cvičení.

  • 6. cvičení

    Napište skript, který v cyklu vždy požádá o 4 hodnoty představující body ze čtyř příkladů v testu (každý příklad je hodnocen 0 až 25 body) a vytiskne jejich součet a výslednou známku (pod 50 bodů F, 50 až 59 E, ... atd. po 10 bodech až do A). Cyklus skončí, když se zadá záporné číslo.

  • 7. cvičení

    Napište skript pro výpočet BMI:

    • Nejdřív napište funkci fBMI, která počítá index BMI ( = (váha v kg)/(výška v m)2):
      vstup: vyska ...výška v cm
              vaha ... váha v kg
      výstup: BMI ... index BMI

    • Pak svou funkci fBMI upravte tak, aby měla 2 výstupy - index BMI a odpovídající kategorii K jako číslo od 1 do 3:
      K = 1 ... index BMI pod 18.5 ... podváha,
      K = 2 ... index BMI 18.5-25 ... ideální váha,
      K = 3 ... index BMI nad 25 ... nadváha

      Funkce fBMI nesmí nic číst ani vypisovat, všechny hodnoty se musí předávat jen jako vstupní, resp. výstupní parametry.

    • Nakonec napište skript, který se zeptá na váhu a výšku, pak zavolá funkci fBMI, a pak vypíše index BMI a odpovídající kategorii (slovy).

  • 8. cvičení

    DÚ tentokrát v moodle není - sami si procvičujte příklady na používání funkcí jako přípravu na test na následujícím cvičení, tj. 24. listopadu, případně tyto příklady, pokud budete opakovat 1. test.


Doporučená literatura

Další odkazy na literaturu jsou na této stránce dole (všechno v angličtině)

SW

Matlab - studentskou verzi lze nainstalovat ze stránek download.cvut.cz
             (používání vyžaduje přístup k síti z domény ČVUT)
GNU OCTAVE - volně šiřitelný program velice podobný Matlabu
Průvodce programem OCTAVE - anglicky

/data/www/mat.nipax.cz/data/attic/zapg.1768078974.txt.gz · Poslední úprava: autor: Gejza Dohnal

Valid HTML5 Valid CSS Driven by DokuWiki