Opakování ze 4. cvičení int a; printf("Zadej číslo: "); deklarace proměnných výpis na monitor (výstup) čtení z klávesnice (vstup) specifikátor význam %d celé číslo %f float %c char %lf double int a; printf("Zadej číslo: "); scanf("%d",&a); printf("Zadali jste: %d ",a);
Opakování z 5. cvičení if (a!=b) { printf("A se nerovna B"); a=b; } aritmetické operátory +, -, *, /, % unární operátor ++, -- rozhodování if if (a!=b) { printf("A se nerovna B"); a=b; } else { printf("A se rovna B"); }
Opakování ze 6. cvičení char znak; printf("Zadej operator: "); scanf("%c",&znak); switch(znak) { case '+': printf("Chcete scitat\n"); break; case '-': printf("Chcete odcitat\n"); break; case '*': printf("Chcete nasobit\n"); break; case '/': printf("Chcete delit\n"); break; default: printf("Nevim, co chcete delat - Vy to vite?\n"); }
Opakování ze 7. cvičení Cyklus s podmínkou na začátku while (podmínka) { příkaz1; příkaz2; … } ANO NE
Opakování ze 7. cvičení Cyklus s podmínkou na konci do { příkaz1; příkaz2; … } while (podmínka); ANO NE
Harmonogram týden pondělí úterý 1 18.2.2019 19.2.2019 úvod, algoritmy 25.2.2019 26.2.2019 algoritmy 3 4.3.2019 5.3.2019 programovací jazyky teorie, jazyk C 4 11.3.2019 12.3.2019 1. PÍSEMKA, proměnné, vstup a výstup 5 18.3.2019 19.3.2019 základní operátory, podmínky, příkaz switch 6 25.3.2019 26.3.2019 pokračování z předchozího cvičení 7 1.4.2019 2.4.2019 cykly 8 8.4.2019 9.4.2019 9 15.4.2019 16.4.2019 2. PÍSEMKA, pole 10 22.4.2019 23.4.2019 11 29.4.2019 30.4.2019 funkce a procedury, rekurze 12 6.5.2019 7.5.2019 13 13.5.2019 14.5.2019 ZÁPOČTOVÁ písemka 14 20.5.2019 21.5.2019 oprava
Informace k 2. písemné práci celkem 20 minut maximálně 5, minimálně 2,5 bodu přepsání kódu z jazyka C na vývojový diagram (max. 10 minut) (2 body) - bez pomůcek nespoléhejte se na formátování zdrojového kódu ve vývojovém diagramu nepoužívat unární operátory ++ a -- vytvoření jednoduchého funkčního programu v jazyce C na počítači (3 body) - povoleny vlastní materiály (off-line režim)
na příští cvičení vytvořte vývojové diagramy pro úlohy 9.1, 9.2 a 9.3
cyklus FOR
Cyklus FOR for(výraz1;výraz2;výraz3) příkaz; chování cyklu FOR je ekvivaletní cyklu s WHILE výraz1; while(výraz2) { příkaz; výraz3; }
Cyklus FOR - inkrementace pokud proměnná cyklu zvyšuje nebo snižuje svoji hodnotu o jedničku, odpovídá to cyklu s pevným počtem opakování, jak bylo probíráno v předmětu 14ASD for(i=0;i<=n;i++) { tělo cyklu } for(i=0;i<=n;i=i+1) {
Cyklus FOR - dekrementace pokud proměnná cyklu zvyšuje nebo snižuje svoji hodnotu o jedničku, odpovídá to cyklu s pevným počtem opakování, jak bylo probíráno v předmětu 14ASD for(i=0;i<=n;i--) { tělo cyklu } for(i=0;i<=n;i=i-1) {
cyklus s pevným počtem opakování
int i; for(i=1;i<=3;i++) printf("Hodnota je %d\n",i); TISK: Hodnota je i int i; for(i=1;i<=3;i++) printf("Hodnota je %d\n",i);
Jaký bude výpis tohoto programu? int main() { int n,s,i; printf("Zadej prirozene cislo: "); scanf("%d",&n); //předpokládáme zadání čísla 5 s = 0; for(i=1;i<=n;i++) s=s+i; printf("Soucet je %d",s); } jak bude algoritmus pracovat, zadáme-li záporné n?
Jaký bude výpis tohoto programu? int i,x; x = 1; for(i=1;i<5 && i>=x;i++) { x = x*++i; printf("%d ",x); } putchar('\n'); for(i=0;i<2;i=i+2) printf("%d ",i); printf("%d",i+1);
Úloha 7.4 Napište program pro výpočet celočíselné mocniny. Vstupem algoritmu je desetinné číslo x a celé číslo (záporné, nula, kladné) n - exponent. Výsledkem je hodnota xn.
Vytvořte algoritmus, který vypočítá n-tou mocninu čísla X (Xn) Xn = X*X*X*…..*X (n-krát násobení X pro n>0) Xn = 1 𝑋∗𝑋∗𝑋∗…….∗𝑋 (pro n<0) Xn = 1(pro n=0)
NE N!=0 ANO int abs(int j); Vrací absolutní hodnotu argumentu typu int. Tato funkce je definována v <stdlib.h>
Úloha 7.5 Napište program pro výpočet faktoriálu přirozeného čísla. Otestujte, zda zadané číslo je větší nebo rovno 0, pokud je záporné, vypište chybové hlášení a ukončete program pomocí return -1. Proměnnou pro faktoriál deklarujte typu long, pro výpis hodnoty proměnné použijte ve formátovacím řetězci specifikaci %ld.
Dále uvedený vývojový diagram neodpovídá přesně zadání, je třeba si jej upravit!!!
Vytvořte algoritmus, který bude počítat faktoriál ze zadaného celého čísla R >= 0 R!=R*(R-1)! R!=R*(R-1)*….*2*1 R!=1*2*….*(R-1)*R 0!=1
Algoritmus zapsaný pomocí cyklu s podmínkou na začátku