Přednáška http://efis.tul.cz/~dana.nejedlova/ Základy programování, Programování I a II Přednáška - Algoritmy Algoritmy.pptx Probralo se to do snímku "NP-těžké (NP-hard) úlohy v praxi". Ke zkoušce je třeba znát: - Co jsou to polynomiální algoritmy a proč se odlišují od ostatních algoritmů. - viz snímek "Algoritmy polynomiální a ty ostatní". Cvičení #include #include #include //#define POCET_CYKLU 10 //#define MAX 5 //#define ROZSAH_KODU_ZNAKU (1 + 'Z' - 'A') int main() { const int POCET_CYKLU = 10; const int MAX = 5; const int ROZSAH_KODU_ZNAKU = 1 + 'Z' - 'A'; int i; srand((unsigned int) time(NULL)); for (i = 0; i < POCET_CYKLU; i++) { printf("%d ", rand() % MAX); printf("%c\n", 'A' + rand() % ROZSAH_KODU_ZNAKU); } return 0; } Alternativní způsoby deklarace konstant. Zakomentujte buďto řádky č. 4-6 nebo 9-11. Na řádku č. 6 musí být závorka, protože se jinak působením preprocesoru nedostane do řádku č. 16. Bez závorky na řádku č. 6 se na řádku č. 16 vypisuje jen znak 'Z', coz bylo vysvětleno pomocí stránky https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B v části https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence #include #define POCET_CYKLU 300 int main() { int i; for (i = 0; i < POCET_CYKLU; i++) { printf("%d %c ", i, i); } return 0; } Výpis znaků s kódem 0-255. Znaky s kódem 0-126 jsou v ASCII tabulce na stránce https://en.wikipedia.org/wiki/ASCII http://efis.tul.cz/~dana.nejedlova/C/DistancniStudium/2020ZS/ZP/6.txt 2. program - řádky č. 16-30: Procvičení vnořené řídící struktury if...else.