Upload
faith-bentley
View
18
Download
0
Embed Size (px)
DESCRIPTION
Algoritmy I. Cvičení č. 2. Cíl hodiny. Datové typy a přetypování ( int , float , double, bool , char , long , short ) Konstanty Celočíselné Desítkové – 15, 0, 1, 150L Oktalové – 065, 015, 0, 01 Šestnáctkové – 0X3A, 0xcd, 0x1, 0XCD Reálné 0.124, .775, 3.14, 10.14f - PowerPoint PPT Presentation
Citation preview
Algoritmy I
Cvičení č. 2
Cíl hodiny• Datové typy a přetypování (int, float, double, bool, char, long, short;
signed/unsigned)• Konstanty
– Celočíselné• Desítkové – 15, 0, 1, 150L• Oktalové – 065, 015, 0, 01• Šestnáctkové – 0X3A, 0xcd, 0x1, 0XCD
– Reálné 0.124, .775, 3.14, 10.14f– Řetězcové "Retezec"– Znakové např. \n, \\, \", \0, 'a'
• Řídící struktura if• Operátory (==, !=, <, >, <=, >=, !)• Operátor sizeof• Formátování výstupů
Úloha č.1
• Dělení dvou čísel– Vstup: dva celé čísla– A.) Výstup: Podíl těchto dvou čísel (celočíselné
dělení a zbytek po celočíselném dělení– B.) Výstup: Podíl těchto dvou čísel (reálné dělení)
Úloha č.2
• Výpočet obvodu a obsahu kruhu – Vstup: průměr (ne poloměr!)– Výstup: obvod a obsah kruhu
Úloha č.3
• Program načte číslo v rozsahu od 0 do 255 (nemusíte kontrolovat správnost vstupu). Toto číslo program vypíše v dekadické, osmičkové a hexadecimální soustavě. Dále toto číslo převede na znak (char), bool, float a double a vypíše jeho hodnotu na obrazovku.
Úloha č.4
• Vypište do konzole přesně následující text:James Bond \ "Agent 007" \ # 150% zaruka # /Spol. S rucenim omezenym
Úloha č.5• Napište program, který přečte 3 celá čísla a
A.) Vypíše jejich aritmetický průměrB.) Seřadí je od nejmenšího po největšíC.) Vypíše pouze ta, která jsou sudá D.) Pokud budou první dvě čísla stejná, přičte k poslednímu číslu 25% jeho hodnoty a vypíše jí na obrazovkuE.) Pokud je druhé číslo větší (nebo rovno) než první a zároveň třetí větší (nebo rovno) než druhé, program vypíše text: “Cisla jsou serazena vzestupne”F.) Pokud je alespoň jedno ze zadaných čísel záporné, program vypíše text: “Jedno nebo vice cisel je zaporne.”G.) Místo výpisu textu v bodu F.) vypište proměnnou typu bool, do které uložíte true, pokud je splněna podmínka v bodě F.).
Úloha č.6
• Napište program, který zjistí, zda-li je proměnná1 menší než proměnná2, pokud ano, vypíše o kolik by se musela proměnná1 zvýšit, aby se rovnaly. Je-li naopak proměnná1 větší než proměnná2, vypíše o kolik by se musela proměnná1 snížit, aby se rovnaly.
Úloha č.7
• Vypište na obrazovku velikost alokované paměti pomocí operátoru sizeof v bytech, bitech a kilobytech.A.) pro proměnné typu char, int, bool, float, double, longB.) pro řetězcové konstanty "Ahoj", "A\nh\no\nj", "\\"C.) Porovnejte čísla, které vrátí sizeof(int), sizeof(char), atd… s výsledky v bodu A.)
Úloha č.8 (pro ty rychlejší)• Upravte a zkompilujte následující kód a zjistěte co program dělá.#include <iomanip> const float tenth = 0.1; const float one = 1.0; const float big = 1234567890.0; cout << "A. " << tenth << ", " << one << ", " << big << endl; cout << "B. " << fixed << tenth << ", " << one << ", " << big << endl; cout << "C. " << scientific << tenth << ", " << one << ", " << big << endl; cout << "D. " << fixed << setprecision(3) << tenth << ", " << one << ", " << big
<< endl; cout << "E. " << setprecision(20) << tenth << endl; cout << "F. " << setw(8) << setfill('*') << 34 << 45 << endl; cout << "G. " << setw(8) << 34 << setw(8) << 45 << endl;
Formátování pomocí manipulátorů
• endl odřádkování• setw(n), width(n) minimální šířka zápisu• left zarovnání výpisu doleva• right zarovnání výpisu doprava, použijte jen s
setw(n) • setfill(ch) výplňový znak • setprecision(n) nastaví počet desetinných míst • fixed výpis s pevnou desetinnou čárkou• scientific „vědecký“ formát výpisu
(1.000000e-001) • boolalpha, noboolalpha způsob výpisu logických hodnot
Co si zapamatovat?
• Umět vhodně používat typy int, float, bool, char• Operátor sizeof vrací počet alokovaných bytů• Přetypování (int->float, float->int, char->int, int-
>char, int->bool, bool->int)• Použití řídící struktury if • Operátory ==, !=, <, >, <=, >=, !, &&, ||• Rozdíl mezi celočíselným a reálným dělením• Zbytek po celočíselném dělení (operátor %)• Tvorba konstant
Domácí úkol
• Najděte dokumentaci k funkci printf a použijte jí v úloze č.8 a č.3 pro formátování výstupů.Příklad použití printf:#include <stdio.h>printf("Ahoj"); // vypíše Ahojint cele_cislo = 10;printf("%d", cele_cislo); // vypíše 10float cislo = 3.1415;printf("%.2f", cislo); // vypíše 3.14printf("Prvni: %d, druhe %f\n", cele_cislo, cislo);
// vypíše Prvni: 10, druhe 3.141500