Osnova cvičení z predmetu Algoritmizácia

Akademický rok 2004/2005

 

======================================================

 

           T – poslucháreň, P - počítač

  1. T

       Algoritmus – charakteristiky, vlastnosti, konštanty, premenné, výrazy, priradenie.

 Spôsoby zápisu algoritmu. Špecifikácia problému. Základné riadiace konštrukcie štrukturovaného návrhu algoritmu:   sekvencia, vetvenie, iterácia.

  1. T

      Vytvorenie a zápis prvého jednoduchého algoritmu (kvadratická rovnica.......)

       Zápis algoritmov v prirodzenom jazyku, graficky a v  zavedenom pseudo-jazyku.

       Jednoduchý program v jazyku C. Organizácia práce vo výpočtovom stredisku.

 

       3.  P

            Práca vo výpočtovom  laboratóriu. Oboznámenie sa s  prostredím (operačný systém,      

prostredie jazyka C) .  Implementácia prvého programu.

       4.  T

      Životný cyklus programu: problém, špecifikácia, návrh algoritmu, zápis do

      programovacieho jazyka, dokumentácia. Príprava a vypracovanie vzorového zadania,

       včítane dokumentácie (šablóna pre úlohy a zadanie) . Pridelenie zadania 1.(práca bez polí)

  1.  P

       Práca v počítačovom laboratóriu. Práca so zadaním 1.

  1. T

      Algoritmy  s postupnosťami, množinami: nájdenie prvku s danou vlastnosťou (maximum,

       minimum,..).     Príprava zadania z danej oblasti (zadanie 2)(práca s poliami)

  1. P

            Práca v počítačovom laboratóriu. Vypracovanie na  zadaniach 1,2 a odovzdanie zadania 1.

  1. T

      Triediace algoritmy a vyhľadávacie algoritmy. (rekurzia)   Zložitosť algoritmov. Pridelenie

       zadania 3.

  1. P

            Práca v počítačovom laboratóriu  Implementácia triediacich algoritmov. Odovzdanie  

            zadania 2.

  1. T

      Triediace algoritmy a vyhľadávacie algoritmy. (rekurzia). Porovnanie  triediacich   

      algoritmov.

  1. P

       Práca v počítačovom laboratóriu Implementácia zadania3, odovzdanie.

  1.   T   Lineárny zoznam, zásobník, rad, množina, strom tabuľka, grafy

 

PODMIENKY ABSOLVOVANIA PREDMETU:

 Povinná a aktívna účasť na všetkých cvičeniach, odovzdanie zadaní.  

Termíny odovzdania zadaní:

             v 6/7.týždni  odovzdanie zadania1     max. počet bodov                         5

             v 8/9.týždni odovzdanie zadania 2     max. počet bodov                       15

             v 11/12.týždni odovzdanie zadania3  max. počet bodov                       20

                                                                                   body za cvičenie spolu: 40bodov

Za každý týždeň neospravedlneného oneskorenia odovzdania zadania  zrážka 5 bodov.

 

Podmienka na získanie zápočtu  min.  20 bodov

                                  

 Skúška : písomná skúška           max. počet bodov 60.

            

 

Doplnenie pre cvičiacich

 

 

 

 

Predpoklad:      Skupina ( 40 št. teda 2 krúžky)

                         1 cvičiaci učiteľ- 20 študentov 

 

Cvičenie:

Prvé 2 týždne sú cvičenia len teoretické v posluchárniach  po 40 študentov

Od 3.týždňa  sa delia na:

1.Polovica skupín  -- teoretické(poslucháreň)  

2.Polovica skupín -- praktické v CPU

 každý týždeň sa skupiny vymenia.

 

 

Štruktúra dokumentácie zadania

 mala by odzrkadľovať životný cyklus programu

1)      text zadania

2)      analýza problému

3)      špecifikácia (vstupné premenné....)

4)   návrh algoritmu (prirodzený jazyk, grafická notácia, pseudo-jazyk)

5)   priložený zdrojový text programu v jazyku C

                    dobre okomentovaný program, každá funkcia alebo zložitejší úsek  

6)  testovanie programu: v tvare tabuľky pre  pripravené vstupy

7) zhodnotenie (problémy, prínos, zlepšenia.... )

========================================================

 

zadanie 1

 

Doporučujeme úlohy  koncipovať tak, aby študenti v nich využili všetky základné algoritmické konštrukcie (sekvencia, vetvenie , iterácia).

V algoritmoch teda použiť jednoduché premenné, čiže ak sa bude pracovať napr. s postupnosťou , uložiť ich do jednoduchej premennej a sekvenčne spracovávať.

 

Typy úloh:

Súčet resp. súčin radu,

Nájdenie prvku s danou vlastnosťou resp. súčet (súčin)prvkov s danou vlastnosťou.

 

 

 

zadanie 2

Práca s postupnosťami, maticami, reťazcami atď.. (štruktúrované premenné, cykly, funkcie)

 

 

Zadanie 3

Usporiadanie postupnosti. Každý študent by mal spraviť aspoň dva spôsoby usporiadania a navzájom ich porovnať.

Pozn.: po zvážení úrovne študentov stačí, ak študent si vyberie len jeden typ algoritmu na usporiadanie a spracuje. Ale záleží na študentoch, neobmedzujme ich aktivitu!!!!!!  Na prednáškach budeme preberať  „jednoduchšie“ algoritmy, nebudeme robiť napr. usporiadanie haldou, binárnym stromom, rekurzívne......

Pre pokročilejších študentov dajte možnosť zvoliť si príklady napr. zo zbierky

D. Töpflerová, P. Töpfler, Sbírka úloh z programování, Grada, Praha 1992,

z kapitol Grafové algoritmy, alebo Hry.

===========

K dobrým študentom  volte  individuálny prístup (napr. rozšírenejšie zadanie..)

V prednáškach plánujem uvádzať iba základy jazyka C,

na cvičeniach by sa mala dávať prednosť samostatnej tvorbe algoritmov

zo slovného zadania pred špecializovanými konštrukciami jazyka C.

 

 

september 2004                                            Pospíchal            pospichal@fiit .stuba.sk