1 / 13

Algoritmy I

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

Download Presentation

Algoritmy I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmy I Cvičení č. 2

  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 • Řetězcové "Retezec" • Znakové např. \n, \\, \", \0, 'a' • Řídící struktura if • Operátory (==, !=, <, >, <=, >=, !) • Operátor sizeof • Formátování výstupů

  3. Ú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í)

  4. Úloha č.2 • Výpočet obvodu a obsahu kruhu • Vstup: průměr (ne poloměr!) • Výstup: obvod a obsah kruhu

  5. Ú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.

  6. Úloha č.4 • Vypište do konzole přesně následující text: James Bond \ "Agent 007" \ # 150% zaruka # / Spol. S rucenimomezenym

  7. Úloha č.5 • Napište program, který přečte 3 celá čísla a A.) Vypíše jejich aritmetický průměr B.) 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 obrazovku E.) 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: “Cislajsouserazenavzestupne” F.) Pokud je alespoň jedno ze zadaných čísel záporné, program vypíše text: “Jednonebo 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.).

  8. Ú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.

  9. Ú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, long B.) 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.)

  10. Úloha č.8 • Upravte a zkompilujte následující kód a zjistěte co program dělá. #include <iomanip> constfloattenth = 0.1; constfloatone = 1.0; constfloatbig = 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;

  11. 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

  12. 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

  13. 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 Ahoj intcele_cislo = 10; printf("%d", cele_cislo); // vypíše 10 floatcislo = 3.1415; printf("%.2f", cislo); // vypíše 3.14 printf("Prvni: %d, druhe %f\n", cele_cislo, cislo); // vypíše Prvni: 10, druhe 3.141500

More Related