Příklady v jazyku C – část 6

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
Tlak v kapalinách II Velikost hydrostatického tlaku
Programování v C jazyku - SEMINÁŘ
Racionální čísla, operátory, výrazy, knihovní funkce
C++ Přednáška 1 Neobjektové rozšíření jazyka Základy vstupu a výstupu Ing. Jiří Kulhánek, kat. 352, VŠB TU Ostrava 2004.
Pole, ukazatele a odkazy
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
ALGO – Algoritmizace 7. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Preprocess Úvod do tvorby funkcí Princip preprocesoringu Direktivy preprocesoru Podmíněný překlad Základy tvorby funkcí Zjednodušený popis principu předávaní.
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
Algoritmy I Cvičení č. 3.
Algoritmizace a programování
J a v a Začínáme programovat Lucie Žoltá metody, objekty, konstruktor.
Seminář C++ 9. cvičení Šablony Ing. Jan Mikulka. Šablony ► template – vzory, podle kterých může překladač tvořit skupiny podobných tříd nebo funkcí, které.
FUNKCE V PHP. 2 FUNKCE JSOU V PODSTATĚ MALÉ KUSY SKRIPTŮ, KTERÉ JE MOŽNÉ OPAKOVANĚ POUŽÍVAT. Příklad
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
Současný svět Projekt č. CZ /3. 1
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Počítače a programování 1
Vstupy a výstupy znaků a) Terminálový vstup a výstup ( getchar(), putchar() ) Přečtěte znak pomocí systémové funkce getchar() a vypište ho pomocí putchar().
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
Příklady v jazyku C – část 4
Příklady v jazyku C – část 3
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro vstup a výstup 12 Verze
Spojové struktury BI-PA1 Programování a algoritmizace 1, ZS
ZADÁNÍ Sestavte program, který vypočítá obvod a obsah čtverce o straně a. Zajistěte, aby výpočet byl realizován pouze v případě, kdy strana a bude mít.
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
Příklady v jazyku C – část 2
C – cyklus while Mgr. Lenka Švancarová.
Napište program v C pro výpočet plochy obdélníka se stranami A=3 a B=2. Výsledek vytiskněte s patřičným komentářem na obrazovku formátovým příkazem printf.
OSNOVA: a) Příkazy pro větvení b) Příkazy pro cykly c) Příkazy pro řízení přenosu d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Realloc a qsort examples BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
C – switch Mgr. Lenka Švancarová. switch syntaxe switch (výraz) { case hodnota_1: příkaz(y)_ve_větvi_1; case hodnota_2: příkaz(y)_ve_větvi_2; … default:
Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů.
OBJEM TĚLESA.
STRING A UKAZATELE. Co to je řetězec? Řetězec v Javě je samostatný objekt. Je konstantní, co znamená, že jednou vytvořený řetězec nelze změnit. Chceme-li.
C – jak na procedury Mgr. Lenka Švancarová. C – procedury #include int main() { printf("Ahoj\n"); return(0); } #include void pozdrav(void) { printf("Ahoj\n");
Matematika Objemy těles.
Příklady v jazyku C – část 1. Výstupy pomocí printf. printf(" Tisk textu \n v apostrofech \n ") ; p=10; printf("%d\n", p) ; /* tisk konstanty */ printf("Tisk.
Příklady v jazyku C – část 8. Napište program, který inicializuje 2-rozměrné pole uživatele (5 řádků, 2 sloupce) a naplní ho hodnotami (první sloupec.
PŘÍKAZ while úkol 1_42.
Vazby dynamických proměnných,databázové systémy Přednáška č. 10.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
Příklady v jazyku C – část 2
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Příklady v jazyku C – část 2
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
C – procedury Mgr. Lenka Švancarová.
C – if Mgr. Lenka Švancarová. if vývojový diagram Podmínka Příkaz(y) Podmínka Příkaz(y) Úplné větveníNeúplné větvení ++--
C – cyklus do-while Mgr. Lenka Švancarová.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Funkce, intuitivní chápání složitosti
POSLOUPNOST úkol 1_45.
Funkce Přednáška č. 5. Funkce (functions)  posloupnost příkazů uvedená hlavičkou  využití – opakovaně volaná sekvence – strukturování programu – ošetření.
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Programovací jazyk C Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
NÁZEV ŠKOLY: Střední odborná škola Net Office, spol. s r. o
Opakování ze 3. cvičení deklarace proměnných výpis na monitor (výstup)
Povrch krychle.
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Funkce v jazyce C = „množina“ operací, která provádí nějakou činnost s různými vstupy odstranění vícenásobného psaní či vkládání téhož kódu a lepší přehlednost.
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Transkript prezentace:

Příklady v jazyku C – část 6

Napište podprogram, který vypočítá objem krychle Napište podprogram, který vypočítá objem krychle. Jednotlivé délky hran vstoupí jako 3 parametry. Vyvolejte tento podprogram v hlavním programu: #include <stdio.h> double objem(double h1, double h2, double h3) { return ( h1 * h2 * h3 ); } int main(void) double vol; vol = objem( 12.2 , 5.67 , 9.03 ); printf(“ Objem krychle = %lf\n“ , vol ); while(!kbhit()); return 0;

b) deklarace funkčího prototypu Přehoďte hlavní program a podprogram a využijte a) dopředné deklarace (starší zp.) b) deklarace funkčího prototypu #include <stdio.h> /* double objem(); */ /*dopředná deklarace*/ double objem(double h1, double h2, double h3); /*funční prototyp*/ int main(void) { double vol; vol = objem( 12.2 , 5.67 , 9.03 ); printf(“ Objem krychle = %lf\n“ , vol ); while(!kbhit()); return 0; } double objem(double h1, double h2, double h3) { return ( h1 * h2 * h3 );

Napište bezparametrový podprogram (nevrací hodnotu), který vytiskne v řádce 80 znaků “=“ a je vyvolán v hlavním programu a odřádkuje. Jak napsat funkční prototyp u podprogramu, který nemá parametry a jak ho odlišit od dopředné deklarace? #include <stdio.h> void radka(void); int main() { radka(); printf("\n" ); while(!kbhit()); return 0; } void radka() for (int i=0;i<80;i++) printf("=");

Napište rekurzivní podprogram rekurze(cislo), který vypíše řadu čísel od 9 do 0 , a jehož skutečný parametr předávaný do podprogramu je 0. #include <stdio.h> void rekurze(int cislo) { if (cislo<10 ) rekurze(cislo+1); printf("cislo= %d\n",cislo); } int main() rekurze(0); while(!kbhit()); return 0;

Napište rekurzivní podprogram rekurze(cislo), který vypíše řadu čísel od 0 do 9 , a jehož skutečný parametr předávaný do podprogramu je 0. Přehoďte pořadí main a podprogramu oproti minilému příkladu a umožněte překladači dopředu poznat počet a typ parametrů. #include <stdio.h> void rekurze(int cislo); /* deklarace funkčního prototypu */ int main() { rekurze(0); while(!kbhit()); return 0; } void rekurze(int cislo) if (cislo<10 ) rekurze(cislo+1); printf("cislo= %d\n",cislo);

K čemu jsou 2 parametry, které přebírá hlavní program K čemu jsou 2 parametry, které přebírá hlavní program ? Vyzkoušejte vypsání 1. celočíselného parametru a druhého řetězcového parametru. Program bude přeložen do tvaru .EXE a v příkazové řádce budou zadány jako parametry EXE-programu 2 řetězce: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; printf("%i \n\n",argc); i=1; while (argv[i]!='\0') printf("%i ... %s\n",i,argv[i]); i++; } for (i=1; i<=argc; i++) system("PAUSE"); return 0;

Napište program, který přečte ze vstupního textového souboru věty po řetězcích (gets) (max.80 znaků) a vypisuje je ( printf ) na výstup. Jméno programu přečte z parametrické řádky EXE programu . Po každé větě se zeptá ”Dále? (y/n) …” a umožní při “N” skončit. Stejně tak skončí při dosažení konce souboru (testování pomocí FEOF() ) #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(int argc, char *argv[]) { FILE *fp; char str[80]; if(argc != 2) { /* Je specifikovano jmeno souboru ? */ printf("Chybi jmeno souboru.\n"); while(!kbhit()); exit(1); } if((fp = fopen(argv[1], "r"))==NULL) { printf("Nelze otevrit soubor.\n"); while(!kbhit()); exit(1); while (!feof(fp)) { fgets(str, 79, fp); if(!feof(fp)) printf("%s", str); printf("...Dale? (a/n) "); if(toupper(getchar())=='N') break; printf("\n"); fclose(fp); while(!kbhit()); return 0;

Napište program, který zkopíruje po znacích (getc) vstupní soubor do souboru výstupního (putc). Jména vstupního a výstupního souboru přečte z parametrické řádky EXE programu . Skončí při dosažení konce souboru (testování pomocí FEOF() ). #include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(int argc, char *argv[]) { FILE *from, *to; char ch; if(argc != 3) { /* Zkontroluj pocet argumentu prikazoveho radku * printf("Chybny pocet argumentu: \n\n Pouziti: copy <zdroj> <cil>\n"); while(!kbhit()); exit(1); } if((from = fopen(argv[1], "r"))==NULL) { /* otevreni zdrojoveho souboru */ printf("Nelze otevrit zdrojovy soubor.\n"); while(!kbhit()); exit(1); if((to = fopen(argv[2], "w"))==NULL) { /* otevreni ciloveho souboru */ printf("Nelze otevrit cilovy soubor.\n"); while(!kbhit()); exit(1); while(!feof(from)) { /* kopíruj soubor a preved na velka pismena */ ch = fgetc(from); if(!feof(from)) fputc(toupper(ch), to); fclose(from); fclose(to); while(!kbhit()); return 0;