Professional Documents
Culture Documents
Anotace:
Druh interaktivity: Kombinovaný výklad
Identifikátor materiálu: EU-OPVK-ICT2/5/1/15
Multidialogová forma
Datum, období vytvoření: září 2012
Příklady k procvičení
Vzdělávací oblast : Informatika a ICT
Vzdělávací obor, tematický okruh: Informatika a ICT, programování Cílová skupina: žák
Předmět: Seminář z Informatiky a výpočetní Stupeň a typ vzdělávání: gymnaziální vzdělávání
techniky
Věk.skupina,ročník 17 – 18 let, 3. ročník SŠ,
Anotace: septima
V prezentaci jsou uvedeny typické příklady využívající cykly. Pomůcky: PC, dataprojektor, IT
Autor: RNDr. Alena Pavlačková
Jazyk: český Zdroje obrázků a textů:
1) Herout, P.: Učebnice jazyka C, 4. přepracované vydání,
Očekávaný výstup:
Koop, České Budějovice, 2004, ISBN 80-7232-220-6
Vytvoření jednoduchých algoritmů využívajících cykly v jazyce vývojových 2) Hanzálková, M.: Učební materiál v rámci grantového
diagramů i v jazyce C. projektu FRVŠ, č.j. 1726/2002, , IS 421726
Speciální vzdělávací potřeby: žádné
Klíčová slova:
Příkazy while, if.
Druh učebního materiálu: prezentace 1
Lekce 15
2
• Pokud budeme při sestavování algoritmu
používat cyklus a nejsme schopni předem
určit, kolikrát smyčka proběhne, není vhodné
použít cyklus for.
3
Příklad 4 - zadání
Vstup:
Řada celých nenulových čísel ukončených nulou (nula je značka
konce řady).
Výstup:
Součet řady čísel
Konkrétně:
Vstup: 8 2 3 4 3 0
Výstup: 8+2+3+4+3=20
4
Příklad 4 - rozbor
Vynulujeme proměnnou S, do které si postupně
budeme shromažďovat jednotlivé sčítance.
Hlavní řídící strukturou algoritmu bude cyklus,
který v každé otáčce načte jedno číslo z bufferu
klávesnice a přičte je k proměnné S. Cyklus
skončí, až z bufferu bude načtena nula.
5
Příklad 4 - řešení #include<stdio.h>
#include<stdlib.h>
main()
{
int a, S;
S=0;
scanf("%i",&a);
while(a!=0)
{
S=S+a;
scanf("%i",&a);
}
printf("Soucet=%i\n",S);
system("PAUSE");
}
6
Příklad 5 - zadání
Vstup:
Řada celých nenulových čísel ukončených nulou (nula je značka
konce řady).
Výstup:
Maximální prvek ze zadané řady čísel
Konkrétně:
Vstup: 8 2 3 15 3 0
Výstup: 15
7
Příklad 5 - rozbor
• Do proměnné max si uložíme první číslo
z řady.
• Hlavní řídící strukturou algoritmu bude cyklus,
který v každé otáčce načte jedno číslo
z bufferu a porovná je s dosavadním maximem.
Pokud je načtené číslo větší, než dosavadní
maximum, bude maximum tímto číslem
nahrazeno.
• Cyklus skončí, až z bufferu bude načtena nula.
8
Příklad 5 - řešení #include<stdio.h>
#include<stdlib.h>
main()
{
int a, max;
9
Příklad 6 - zadání
Vstup:
Řada celých nenulových čísel ukončených nulou (nula je značka
konce řady).
Výstup:
Aritmetický průměr řady čísel
Konkrétně:
Vstup: 5 6 7 8 0
Výstup: 6.5
10
Příklad 6 - rozbor
Vynulujeme proměnnou S, do které si postupně
budeme shromažďovat jednotlivé sčítance.
V proměnné počet si budeme evidovat počet sčítanců.
Hlavní řídící strukturou algoritmu bude cyklus, který v
každé otáčce načte jedno číslo z bufferu klávesnice.
Přičte je k proměnné S a zároveň povýší proměnnou
pocet o jedničku. Cyklus skončí, až
z bufferu bude načtena nula.
Na závěr stanovíme průměr jako S/počet.
11
#include<stdio.h>
S=0;
scanf("%i",&a);
pocet=1;
while(a!=0)
{
S=S+a;
scanf("%i",&a);
pocet++;
}
prumer=(float)S/(float)(pocet-1);
printf("Prumer=%f\n",prumer);
system("PAUSE");
}
12
V předchozím příkladu je u výpočtu průměru použit operátor přetypování.
(float)S
13