Úvod do jazyka C Algoritmizácia úloh.

Slides:



Advertisements
Podobné prezentácie
Abstrakt Mgr. Imrich IŠTVAN, PhD..
Advertisements

Editovanie nových záznamov Modifikácia zadaní
PowerPoint Verzia XP.
Algorithmic Chemistry in Genetic Programming Informatics and Information Technologies Student Research Conference, 2006 Vojtech Szöcs Vedúci projektu:
Novinky na platforme Web of Science
OBJAVOVANIE VZOROV POHĽADU PRI NAVIGAČNÝCH ÚLOHÁCH NA WEBE
Manuál k vyplneniu výkazov
7., 8. Signalizácia realizovaná LED - diódou
Zlomky Z.Tomová 7.a.
Dynamické programovanie
Lexikálne jednotky jazyka C
Zlepšiť vzdelávacie prostredie - vylepšiť prístup k CŽV pre všetkých
3 X P alebo Prezentácia o úspešnej prezentácii /pre študentov 4. roč
ŠTATISTICKÁ INDUKCIA.
Interval.
5.2 ZÁPICHY Tvar a rozmery stanovuje norma STN Zápichy sú technologické prvky, ktoré uľahčujú opracovanie rotačných a rovinných plôch.
Lineárna rovnica ax + b = 0.
Spracovanie postupnosti pohľadu pravdepodobnostnými modelmi
Pravdepodobnosť podmienená.
Rekurzívne funkcie.
Rovnice a ich riešenia Dušan Vágner 3.B.
ZNALOSTNÉ SYSTÉMY prednáška č. 6
Výnimky I, adresáre a súbory
Rešeršovanie vo Virtua OPAC
MONITORY.
6. prednáška ( ) 2D-polia Poďme programovať hry.
Návod: Online objednávací systém EPMEB.SK
Finančná matematika Postupnosti.
Základné pojmy spojené s BIOS
1. prednáška ( ) Rekurzia alebo viď rekurzia.
Ing. Jana Ďurišová Grafika pre web.
Kritériá vyhodnocovania investičných projektov
Základné nástroje manažérstva kvality (Kontrolná tabuľka a histogram)
Binárne Relácie Szendreyová Alžbeta.
Databázové systémy.
Sem zadajte názov projektu Vaše meno Meno vyučujúceho Vaša škola
Sčítačka Mikulášová.
Interpolačné metódy Medzi základné interpolačné metódy patria:
EBSCO Discovery Service ~ Jednoduché vyhľadávanie
(Digitálny prezentačný materiál)
Vedúci diplomovej práce: prof. Ing. Stanislav Marchevský, Csc.
stavebný a znalecký softvér
Použitie počítačov v geografii (2)
Opakovanie sekvencia postupnosť príkazov (príkaz je povel, ktorý počítač alebo iné zariadenie pozná a dokáže vykonať) vykonávanú v takom poradí, v akom.
Mgr. Jozef Uríček M a t e m a t i k a 8. r o č n í k
SLNKO.
Grafický výstup - 2D help plot
Bregmanove divergencie Využitie indexovacích štruktúr pre efektívne podobnostné vyhľadávanie Lukáš Holecy Bregmanove divergencie.
Stredná odborná škola automobilová Moldavská cesta 2, Košice
Rozloženie nadpisu Podtitul.
Víta vás nový PowerPoint
Simplexová metóda Algoritmus primárne simplexovej metódy možno ideovo vyjadriť nasledovným spôsobom: Stanovenie bázického prípustného riešenia (bázy s.
Rovnice a ich riešenia.
Formátovanie tabuliek
Pomer prevrátený pomer postupný pomer.
Lineárne r o v n i c e Mgr. Ján Nandráži spracovala: E. Hlačinová.
Problém výberu portfólia
ŠTATISTIKA A EFKÁRI IVONA MAGYAROVÁ 3.F BANSKÁ BYSTRICA 2006.
Rozpoznávanie obrazcov a spracovanie obrazu
Kapowtech RoboSuite Team10.
Vyjadrovacie prostriedky v štatistike
Použitie počítačov v geografii (2)
Vytvorenie diagramu zasadacieho poriadku
PRAVDEPODOBNOSTNÝ POJEM doc. Ing. Kristína Machová, CSc.
It’s All About the Table!
Umiestnenia benchmarkov Štruktúry súborov Použitie súborov
Nepriama úmernosť – tabuľka, rovnica a graf
Obsah prezentácie digitálna prezentácia Desatoro
Prepis prezentácie:

Úvod do jazyka C Algoritmizácia úloh

Pole Pole je dátová štruktúra zložená z rovnakých prvkov. Je možné si ju predstaviť ako tabuľku s jedným riadkom. Každé políčko má svoj index a je v ňom zapísaná hodnota premennej. index 1 2 n-2 n-1 7 19 3 8 21 hodnota

typ meno_pola [početprvkov]; Definícia poľa Hodnota premennej (prvku poľa) má typ, ktorý je definovaný pre pole ako celok. typ meno_pola [početprvkov]; Príklady: int x[10]; pole s názvom x s 10 prvkami float gula[24]; pole s názvom gula s 24 prvkami

Pravidlá pre prácu s poľom Pole vždy začína od nuly 0. Prvým prvkom poľa je prvok s indexom 0. Keď je n prvkov poľa, potom posledný index je n-1 (nie n - častá chyba!!!). Jazyk C nekontroluje medze polí! (ani dolnú ani hornú) ! Pri výpočte nehlási chybu a pre výpočet sa zoberie náhodná hodnota, ktorá je zapísaná v pamäti.

Definícia poľa - príklad int MAX= 8; #define MAX 8 int x[MAX]; int x[MAX*2]; int x[MAX+1]; Definícia poľa s 8 prvkami a indexmi od 0 do 7 Definícia poľa s 16 prvkami a indexmi od 0 do 15 Definícia poľa s 9 prvkami a indexmi od 0 do 8 Tretia definícia umožňuje vyhnúť sa niektorým problémom s indexáciou, ktoré vznikajú tým, že index poľa začína nulou a končí „n“.

Pravidlá pre prácu s poľom Prístup k jednotlivým prvkom poľa je pomocou názvu poľa a jeho indexu v hranatých zátvorkách. Zápis a prístup k hodnotám do poľa: int x[10]; x[2] = 4; x[7] = 6; i = x[2]; Definícia poľa s 10 prvkami Zápis hodnoty 4 do 3-tieho prvku poľa Priradenie hodnoty 3-tieho prvku poľa premennej i

Príklad 1 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i,j, MAX=10; int cislo[MAX]; for (i = 0; i < MAX; i++) cislo[i] = rand()%10; printf("\n Pc. Nahodne cislo \n"); for (i = 0; i < MAX; i++) printf(“\n\r %d %d", i, cislo[i]); } return 0; Vygenerovať náhodné čísla od 0 do 10, uložiť ich do poľa a pole zobraziť vo forme tabuľky.

Hľadanie maxima #include <stdio.h> #include <stdlib.h> #include <time.h> #define N 10 main() { int a[N],i,max; srand(time(NULL)); for(i=0; i<N; i++) a[i]=rand() % 50; for(i=0; i<N; i++) printf("\n\r %d. %d",i,a[i]); max = a[0]; for(i=0; i<N; i++) if (max < a[i]) max = a[i]; } printf("\n\r Maximum je: %d ",max);

Viacrozmerné pole Jazyk C umožňuje použitie viacrozmerných polí. Najčastejšie sa používajú dvojrozmerné polia (tabuľky). Troj a viacrozmerné polia sú možné ale menej časté. 1 2 3 1 2 3 2 5 7 9 6 4 8 1 3 Indexy poľa Hodnoty poľa

Definícia poľa Základná definícia int cisla[3][5]; Každý identifikátor poľa vždy začína od nuly 0 Priradenie hodnoty cisla[0][0] = 123; cisla[0][1] = 23; ... cisla[2][4] = 15

Použitie viacrozmerných polí Spôsob uloženia prvkov poľa v pamäti: int a[2][3] je uložené v pamäti za sebou v poradí a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] Definícia a priradenie v 3-rozmerných poliach double meranie[5][7][5]; meranie[4][6][4] = 12.5;

Príklad 3 Vytvoriť dvojrozmerné pole, do prvkov vložiť hodnoty malej násobilky a vypísať na obrazovku.

Riešenie príkladu 3.1 #include <stdio.h> int main() { int i, j, mat[10][10]; for(i=0; i<10; i++) for(j=0; j<10; j++) mat [i][j] = i * j; } // tu bude vypis

Riešenie príkladu 3.2 for(i=0; i<10; i++) { for(j=0; j<10; j++) printf(“%d ”,mat[i][j]); } printf(“\n\r”);

Spočítanie nulových prvkov pocet=0; for (i = 0; i < 10; i++) { for(j=0; j<10; j++) if (mat [i][j]==0) pocet++; }

Vytvorenie jednotkovej matice for (i = 0; i < 5; i++) { for(j=0; j<10; j++) if(i==j) mat[i] [j]=1; else mat [i][j]=0; }

Príklad Vytvoriť program, ktorý umožní zadať 3 merania dvoch rôznych alternatívnych zapojení. Program vyhodnotí merania, vypočíta priemernú hodnotu pre každé zapojenie.

#include <stdio.h> #define ZAPOJ 2 #define POC_MER 3 int main() { int i,j; float sucet; float hodnota[ZAPOJ][POC_MER]; float priemer[ZAPOJ] for (i = 0; i < ZAPOJ; i++) for (j = 0; j < POC_MER; j++) printf(“\n\r Zadaj hodnotu z %d zapojenia, %d merania”,i,j); scanf("%f",&hodnota[i][j]); }

for (i = 0; i < ZAPOJ; i++) { sucet=0; for (j = 0; j < POC_MER; j++) sucet=sucet+hodnota [i] [j]; } priemer[i]=sucet / POC_MER; printf(“\n\r Priemer pre %d zapojenie: %2.f”,i, priemer[i]);

Program, ktorý naplní maticu 10x10 náhodnými číslami od 0 do 100, maticu vytlačí a podľa zadaného riadku a stĺpca vypíše hodnotu tohto prvku. #include <stdio.h> #include <stdlib.h> #define MAX 10 int main() { int i,j; int cislo[MAX][MAX]; for (i = 0; i < MAX; i++) for (j = 0; j < MAX; j++) cislo[i][j] = rand()%100; printf("\n Vypis cisel z matice 10x10 \n"); for (i = 0; i < MAX; i++){ printf(" %3d", cislo[i][j]); printf("\n");}; printf("\nZadej index riadku "); scanf("%d",&i); printf("\nZadej index stlpca "); scanf("%d",&j); printf("Bol vybrany stlpec %d a riadok %d, ktory obsahuje hodnotu %d", i, j, cislo[i][j]); R eturn 0; } #include <stdio.h> #include <stdlib.h> #define MAX 10 int main() { int i,j; int cislo[MAX][MAX]; for (i = 0; i < MAX; i++) for (j = 0; j < MAX; j++) cislo[i][j] = rand()%100; printf("\n Vypis nahodnych cisel v matici 10x10 \n"); for (i = 0; i < MAX; i++){ printf(" %3d", cislo[i][j]); printf("\n");}; printf("\nZadej poradove cislo stlpca "); scanf("%d",&i); printf("\nZadej poradove cislo riadku "); scanf("%d",&j); printf("Bol vybran stlpec %d a riadok %d, ktory \ obshuje hodnotu %d", i, j, cislo[i][j]); while (getchar() !='\n'); getchar(); return 0; }

Definícia nových typov a premenných typu pole int meranie [4][7]; --------------------------------------------- Definícia dátového typu: typedef int ZAKLAD[4][7]; Definícia premennej: ZAKLAD meranie;

Definícia nových typov a premenných typu pole typedef int MERANIE[5]; typedef float PRIEMER[3]; typedef int VYSLEDOK[11]; Definícia nových premenných MERANIE zaz; PRIEMER vyp; VYSLEDOK zaver; Priradenie hodnoty zaz[2] = 23; Vznikla premenná zaz typu poľa o 5-tich prvkoch, v ktorých sú uložené premenné typu int