Úvod do jazyka C Algoritmizácia úloh.

Slides:



Advertisements
Podobné prezentace
Programovací jazyk C++
Advertisements

Přednáška 11 Jiří Šebesta
Příkazy Přednáška č. 4. Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy.
Pole, ukazatele a odkazy
Informační systémy Realizace uložených procedur a spouští, jejich praktické využití.
Alg51 Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy –zadaný problém rozložíme na podproblémy –pro řešení podproblémů.
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í.
Větvení cykly J a v a Začínáme programovat Lucie Žoltá.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
C – strukturované příkazy
Příklady v jazyku C – část 6
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
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
IB111 Programování a algoritmizace
Příklady v jazyku C – část 2
C – cyklus while Mgr. Lenka Švancarová.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
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:
1 / 9X36DSA 2005The complexity of different algorithms varies: O(n), Ω(n 2 ), Θ(n·log 2 (n)), … Různé algoritmy mají různou složitost: O(n), Ω(n 2 ), Θ(n·log.
C – jak na procedury Mgr. Lenka Švancarová. C – procedury #include int main() { printf("Ahoj\n"); return(0); } #include void pozdrav(void) { printf("Ahoj\n");
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.
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é.
Příklady v jazyku C – část 2
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Příklady v jazyku C – část 2
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á.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Mgr. Bc. Peter Adamko, PhD. NAT a Proxy.
Procedurálne programovanie: 3. prednáška
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně AUTOR: Ing. Adéla Tomalová NÁZEV: Podpora výuky v technických oborech TEMA: Objektově orientované.
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Počítače a programování 2
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Programovací jazyk C++
Vonkajšie pamäťové média
Pavol Nečas Gymnázium L. N. Senica Šk. rok 2008/2009 III.A
Maturitná skúška zo slovenského jazyka a literatúry
FUNKCIE A ICH ZÁKLADNÉ VLASTNOSTI
Siete telies pre predmet technika na základnej škole v učive - ohýbanie Ing. Marek Palko.
Dynamická alokácia pamäte v C++
Procedurálne programovanie: 4. prednáška
Vzájomné polohy rovín a priamok
MATURITA Miroslava Drahošová
MZDY Stravné lístky COMPEKO , 2015.
Usporiadanie údajov na disku
Ing. Ondrej Kvasnica, PhD
Balík protokolov TCP/IP ( Protocol Suite )
Bc. Milada Kazdová Školiteľ: PaedDr.Miroslav Tisoň, PhD.
Úvod do jazyka C Algoritmizácia úloh.
Čo je PHP- PHP (PHP: Hypertext Preprocessor) je populárny open source (prístupné zdrojové kódy) skriptovací programovací jazyk Používa najmä na programovanie.
Úvod do jazyka C Programovací jazyk C.
Žiadosť o finančný príspevok FORMULÁR
Úvod do programovania automatizačných zariadení
5 : 15 = 1 : 3 12 : 6 = 2 : 1 ÚMERA – rovnosť dvoch pomerov PRIAMA ÚMERA NEPRIAMA ÚMERA v slovných úlohách Mgr. Z. Burzová.
Hromadná korešpondencia
4. Algoritmy a programovanie v jazyku Pascal Cykly a riadenie
Algoritmus.
Opakování ze 3. cvičení deklarace proměnných výpis na monitor (výstup)
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Přednášky z Distribuovaných systémů
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:

Úvod do jazyka C Algoritmizácia úloh

Zadanie Zistite, či zadaný rok je priestupný. Program spracujte formou funkcie

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> // tu bude funkcia, vracajuca priestupny / nepriestupny rok main() { int i, rok; char rok_text[20]; for(i=1890; i<2020; i++) if(priestupny_rok(i)==1) strcpy(rok_text,"priestupny"); else strcpy(rok_text,"nepriestupny"); printf("\n\r Rok %d je: %s ",i,rok_text); }

int priestupny_rok(int rok) { int priestupny=1; if((rok%4)!=0) priestupny=0; if((rok%100)==0) if((rok%400)!=0) priestupny=0; } return priestupny;

Zadanie Nájdite najväčší spoločný deliteľ dvoch čísel Na zistenie čísla použite funkciu

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> // tu bude funkcia main() { int cislo1, cislo2, delitel; cislo1=150; cislo2=120; delitel=spolocny_delitel(cislo1,cislo2); printf("Najvacsi spolocny delitel %d a %d je %d ", cislo1, cislo2, delitel); }

int spolocny_delitel(int cislo1, int cislo2) { int i, max,delitel; if (cislo1 > cislo2) max=cislo1; else max=cislo2; delitel=1; for(i=1; i<max; i++) printf("\n\r Skusam: %d ",i); if( ((cislo1%i)==0) && ((cislo2%i)==0)) delitel=i; } return delitel;

Zadanie Nájdite najmenší spoločný násobok dvoch čísel Na zistenie čísla použite funkciu

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> // tu bude funkcia main() { int cislo1, cislo2, nasobok; cislo1=15; cislo2=12; nasobok=spolocny_nasobok(cislo1,cislo2); printf("Najmensi spolocny nasobok %d a %d je %d ", cislo1, cislo2, nasobok); }

int spolocny_nasobok(int cislo1, int cislo2) { int i, max,nasobok; if (cislo1 > cislo2) max=cislo1; else max=cislo2; nasobok=1; for(i=(cislo1*cislo2); i>max; i--) printf("\n\r Skusam: %d ",i); if( ((i%cislo1)==0) && ((i%cislo2)==0)) nasobok=i; } return nasobok;

Výhody použitia štruktúr Položky, ktoré logicky súvisia, sú zjednotené do jedného celku Zápis/čítanie zo súboru sa vykonajú v jednom kroku cez fread() / fwrite(). Nie je potrebné deklarovať n-premenných, ktoré zbytočné rozširujú program

Zadanie úlohy Existuje databáza, kde sú uložené dni a teploty Program ho pridá podľa zadania užívateľa ďalšie, vypíše ich a najde minimum Pre prístup k dátam použite štruktúru „struct“

Hlavný program #include <stdio.h> #include <string.h> struct den_teplota { char den[20]; int teplota; }; void nacitaj_teploty(); void zapis(struct den_teplota *zaznam); void vyber_najnizsiu(); main() nacitaj_teploty(); vyber_najnizsiu(); }

Načítanie teplôt void nacitaj_teploty() { int i, count; char datum[20]; int teplota; struct den_teplota zaznam; printf("\n\r Zadaj pocet dni: "); scanf("%d",&count); for(i=0; i<count; i++) printf("\n\r Zadaj den: "); scanf("%s",&zaznam.den); printf("\n\r Zadaj teplotu: "); scanf("%d",&zaznam.teplota); zapis((struct den_teplota*)&zaznam); } return;

Zápis štruktúry void zapis(struct den_teplota *zaznam) { FILE *fp; fp=fopen("zaznamy.txt","a"); if(fp!=NULL) fwrite((void*)zaznam,sizeof(struct den_teplota),1,fp); fclose(fp); } else {printf("\n\n\r zapis(): chyba pri otvarani suboru");} return;

Načítanie štruktúr a vyhľadanie najnižšej teploty void vyber_najnizsiu() { int i, min=100; struct den_teplota zaznam; char buffer[1024]; FILE *fp; fp=fopen("zaznamy.txt","r"); if(fp!=NULL) while(!feof(fp)) fread(&zaznam,sizeof(zaznam),1,fp); printf("\n\r Den: '%s' Teplota: '%d' ",zaznam.den,zaznam.teplota); if(min>zaznam.teplota) min=zaznam.teplota; } fclose(fp); else {printf("\n\n\r vyber_najnizsiu(): chyba pri otvarani suboru");} printf("\n\n\r Najnizsia teplota: %d ",min); return;

Výpis programu