Seznámení s předmětem. Program v jazyce C. Proměnné a jejich typ (float, int, char). Operátor přiřazení.
Aritmetický výraz. Příkaz printf a scanf v jednoduchém zápise. Příkaz if a else, case, break a default. Základní relační operátory.
Podrobně: Požadavky k zápočtu. Návaznost cvičení na přednášky (např. témata přednášek, výklad na cvičení vychází ze znalosti přednášek). Stručně o algoritmizaci. Forma zápisu algoritmu (VD/neformální zápis). Vytvoření algoritmu pro jednoduchou úlohu (test prvočíselnosti). Rozklad algoritmu na dílčí kroky, elementární operace. Jazyk C: Program Hello World: zápis, načtení knihovny stdio.h/math.h, struktura hlavního programu main, překlad a běh programu. Program pro výpočet aritmetického výrazu a tisk výsledku: Definice proměnných - základní typy float, int. Operátor přiřazení (Význam a=a+1). Výraz, základní operátory, závorky. Příkaz printf. Program pro výpočet obsahu a obvodu čtverce a obdélníka, tisk výsledku: Načtení proměnných scanf, výpočet výrazu a tisk. Program jednoduchá kalkulačka (příkazy if, case, break, default).
Vysvětlené progamy: Algoritmus test prvočíselnosti.
Hello World.
Obsah kruhu.
Výraz.
Obsah a obvod čtverce.
Obsah obdélníka.
Program kalkulačka(if).
Program kalkulačka(switch).
|
Zadání: Rozhodněte, zda dané přirozené číslo je prvočíslo. Víme: Přirozené číslo větší než jedna je prvočíslo, pokud je dělitelné pouze sebou a jedničkou. Algoritmus:
Je-li n>1, otestuj dělitelnost čísla n všemi čísly k od 2 do n-1. Modifikace:
|
#include <stdio.h> main() { printf("Ahoj "); printf("svete!\n"); }
#include <stdio.h> #include <math.h> main() { float r; float obsah; /* zde zadame polomer */ r=2.; obsah=M_PI*r*r; /* 3.1415926*r*r */ printf("Obsah kruhu o polomeru r=%f je S=%f\n",r,obsah); }
#include <stdio.h> main() { int N; float x; printf("Zadej hodnotu promenne N[typ int]"); scanf("%d",&N); printf("Zadej hodnotu promenne x[typ float]"); scanf("%f",&x); printf("Nacetli jsme nasledujici hodnoty:\n"); printf("Hodnota promenne N je %d\n", N); printf("Hodnota promenne x je %f\n", x); }
#include <stdio.h> #include <math.h> main() { float x,y,vysledek; printf("Zadej x:"); scanf("%f",&x); /* nacteme x */ printf("Zadej y:"); scanf("%f",&y); /* nacteme y */ vysledek=x*exp(x)+y*cos(y); printf("Vysledek je %f\n",vysledek); }
#include <stdio.h> #include <math.h> main() { float a,obsah,obvod; printf("Program obsah a obvod ctverce:\n----------------------\n"); printf("Zadej stranu a:"); scanf("%f",&a); obsah=a*a; obvod=4*a; printf("Obsah ctverce o strane %f je %f\n",a,obsah); printf("Obvod ctverce je %f\n",obvod); }
#include <stdio.h> #include <math.h> main() { float a,b,obsah; printf("Program obsah obdelnika:\n----------------------\n"); printf("Zadej stranu a:"); scanf("%f",&a); printf("Zadej stranu b:"); scanf("%f",&b); obsah=a*b; printf("Obsah obdelniku o stranach %f, %f je %f\n",a,b,obsah); }
#include <stdio.h> main() { float x,y,vys; int op; printf("Program kalkulacka (varianta s if)\n\n"); printf("Zadej x:"); scanf("%f",&x); /* nacteme x */ printf("Zadej y:"); scanf("%f",&y); /* nacteme y */ printf("Zadej operaci (1 znamena +,2 je -,3 je *, 4 je / :"); scanf("%d",&op); if (op==1) { vys=x+y; } if (op==2) { vys=x-y; } if (op==3) { vys=x*y; } if (op==4) { vys=x/y; } printf("Vysledek operace je: %f\n",vys); }
#include <stdio.h> main() { float x,y,vys; int op; printf("Program kalkulacka (varianta se switch)\n\n"); printf("Zadej x:"); scanf("%f",&x); /* nacteme x */ printf("Zadej y:"); scanf("%f",&y); /* nacteme y */ printf("Zadej operaci (1 znamena +,2 je -,3 je *, 4 je / :"); scanf("%d",&op); switch (op) { case 1: vys=x+y; break; case 2: vys=x-y; break; case 3: vys=x*y; break; case 4: vys=x/y; break; } printf("Vysledek operace (%d) je: %f\n",op,vys); }
#include<stdio.h> main() { int Cislo; printf("Zadej cele cislo:"); scanf("%d",&Cislo); if (Cislo % 2 == 0) { printf("Cislo je sude.\n"); } else { printf("Cislo je liche.\n"); } }
Úlohy pro 2. cvičení:
Výpočet objemu kvádru, obsahu lichoběžníku.
Modifikace programu kalkulačka (1 - obsah čtverce, 2 - obvod čtverce apod. )
Doporučené: Vzdálenost dvou bodů ve 2D, poloha dvou přímek ve 2D.