Wska¹niki, tablice dynamiczne wielowymiarowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wska¹niki, tablice dynamiczne wielowymiarowe"

Transkrypt

1 Rozdziaª 11 Wska¹niki, tablice dynamiczne wielowymiarowe 11.1 Wst p Identycznie, jak w przypadku tablic statycznych, tablica dynamiczna mo»e by tablic jedno-, dwu-, trójitd. wymiarow. Tablica dynamiczna dwuwymiarowa (i wi cej-wymiarowa) to tak naprawd tablica wska¹ników do poszczególnych wymiarów. Jaka pªynie z tego korzy±? Podczas deklaracji tablicy mamy peªn kontrol nad wielko±ci poszczególnych wymiarów, statycznie nie da si osi gn takich efektów: Generowanie tablicy dwuwymiarowej dynamicznej odbywa podobnie jak jednowymiarowej. Zamiast tworzy wska¹nik do jednego wymiaru, tworzymy tablic wska¹ników wskazuj cych na wymiary. Stwórzmy dwuwymiarow, dynamiczn tablice (macierz) o rozmiarach 4x2. Zauwa»my, i» takiej tablicy u»ywamy identycznie, jak tablicy statycznej dwuwymiarowej (ró»nica polega na tworzeniu tablic) i konieczno±ci usuwania pami ci w przypadku tablicy dynamicznej po sko«czeniu pracy z ni : 3 #i n c l u d e <s t r i n g. h> 4 5 i n t main ( ) 6 { 7 i n t ** macierz = ( i n t **) malloc ( s i z e o f ( i n t *) * 4) ; 8 9 macierz [ 0 ] = ( i n t *) malloc ( s i z e o f ( i n t ) * 2) ; 10 macierz [ 1 ] = ( i n t *) malloc ( s i z e o f ( i n t ) * 2) ; 11 macierz [ 2 ] = ( i n t *) malloc ( s i z e o f ( i n t ) * 2) ; 12 macierz [ 3 ] = ( i n t *) malloc ( s i z e o f ( i n t ) * 2) ; 278

2 14 macierz [ 0 ] [ 1 ] = 1 2 ; printf ( "%d\n", macierz [ 0 ] [ 1 ] ) ; free ( macierz [ 0 ] ) ; 19 free ( macierz [ 1 ] ) ; 20 free ( macierz [ 2 ] ) ; 21 free ( macierz [ 3 ] ) ; 22 free ( macierz ) ; return 0 ; 25 } Przeanalizujmy inny przykªad. Stwórzmy tablic dynamiczn dwuwymiarow o rozmiarze 3x3. Generowanie tablicy dwuwymiarowej dynamicznej bardzo wygodnie robi za pomoc p tli. Ka»dy obrót p tli przypisuje wska¹nik do nowego wymiaru. Aby nie powtarza kodu, zawrzyjmy przydzielanie i zwolnianie pami ci w p tli: 3 #i n c l u d e <s t r i n g. h> 4 5 i n t main ( ) 6 { 7 i n t i ; 8 i n t ** tablica = ( i n t **) malloc ( s i z e o f ( i n t *) * 3) ; 9 10 f o r ( i=0; i<3; i++) 11 tablica [ i ] = ( i n t *) malloc ( s i z e o f ( i n t ) * 3) ; 12 tablica [ 0 ] [ 1 ] = 1 2 ; printf ( "%d\n", tablica [ 0 ] [ 1 ] ) ; f o r ( i=0; i<3; i++) 18 free ( tablica [ i ] ) ; free ( tablica ) ; return 0 ; 23 } Graczne przedstawienie powy»szego kodu: 279

3 Denicja tablicy wska¹ników: poni»ej deniujemy tablic, która przechowuje 10 wska¹nikóww do typu int - tutaj tablica ma 10 elementów i ka»dym z jej elementów jest wska¹nik, to znaczy,»e w elemencie tab[0] jest wska¹nik (mo»emy go u»y np. do utworzenia tablicy, albo przypisa mu adres zmiennej): 2 3 i n t main ( ) 4 { 5 i n t * tab [ 1 0 ] ; 6 7 i n t a = 1024, i ; 8 9 /* wskaznik w elemencie t a b l i c y 10 z pod indeksu 0 wskazuje 11 na zmienna a */ 12 tab [ 0 ] = &a ; 14 printf ( "%d\n", * tab [ 0 ] ) ; /* wskaznik w elemencie t a b l i c y z pod indeksu 17 1 wykorzystamy do stworzenia t a b l i c y */ 18 tab [ 1 ] = malloc ( s i z e o f ( i n t ) * 3) ; /* wpiszemy w a r t o s c i */ 21 f o r ( i=0; i<3; i++) 22 tab [ 1 ] [ i ] = 100; /* i wyswietlimy */ 25 f o r ( i=0; i<3; i++) 26 printf ( "%d\n", tab [ 1 ] [ i ] ) ; /* usuniemy t a b l i c e, na ktora wskazywal 29 wskaznik z elementu z pod indeksu 1 30 n a s z e j t a b l i c y */ 31 free ( tab [ 1 ] ) ; return 0 ; 34 } Przydzielenie pami ci dla dwuwymiarowej tablicy o rozmiarze 3 x 4. Tablice dwu- i wi cej wymiarowe mo»emy utworzy statycznie, lub za pomoc wska¹ników (analogicznie, jak robili±my to dla tablic jednowymiarowych). Aby zdeniowa, uworzy tablic dwuwymiarow o rozmiarze 3 x 4 (czyli dwuwymiarow ) liczb caªkowitych, potrzebujemy wska¹nika na wska¹nik na typ int - czyli int **wsk (tablica 2-wymiarowa - 2 gwiazdki przy wska¹niku, 3 wymiarowa - 3 gwiazdki przy wska¹niku, 4 wymiarowa - 4 gwiazdki przy wska¹niku, itd...). Prosz spojrze na poni»szy kod: 280

4 3 4 i n t main ( ) 5 { 6 7 i n t ** t = malloc ( s i z e o f ( i n t *) * 4) ; 8 9 t [ 0 ] = malloc ( s i z e o f ( i n t ) * 3) ; 10 t [ 1 ] = malloc ( s i z e o f ( i n t ) * 3) ; 11 t [ 2 ] = malloc ( s i z e o f ( i n t ) * 3) ; 12 t [ 3 ] = malloc ( s i z e o f ( i n t ) * 3) ; 14 t [ 0 ] [ 1 ] = 4 ; 15 printf ( "%d\n", t [ 0 ] [ 1 ] ) ; free ( t [ 0 ] ) ; 18 free ( t [ 1 ] ) ; 19 free ( t [ 2 ] ) ; 20 free ( t [ 3 ] ) ; free ( t ) ; return 0 ; 25 } Oraz na poni»szy rysunek: Widzimy,»e najpierw musimy przydzieli pami dla gªównej tablicy, która przechowuje wska¹niki do pozostaªych tablic, wykonujemy to za pomoc instrukcji: int **t = malloc(sizeof(int*) * 4);, sprawdzaj c, jaki rozmiar ma wska¹nik, gdy» elementami naszej gªównej tablicy s wska¹niki, st d musimy przydzieli pami dla wska¹ników, nie dla intów. Nast pnie dla ka»dego elementu tablicy, którym jest wska¹nik (wska¹nik jest w tab[0], tab[1], tab[2], tab[3]) przydzielamy pami na podtablice o rozmiarze 3 elementów, korzystaj c z funkcji malloc. Podtablice przechowuj inty, a nie wska¹niki, wi c mo»emy u»y instrukcji malloc(sizeof(int) * 3); (przydzielaj c pami, sprawdzamy rozmiar inta). Dost p do elementów tak utworzonej tablicy uzyskujemy tak, jak do elementów dwuwymiarowej statycznej tablicy, tj. t[0][1]. 281

5 Oczywi±cie powy»szy kod mo»na upro±ci u»ywaj c p tli: 3 4 i n t main ( ) 5 { 6 i n t ** t = malloc ( s i z e o f ( i n t *) * 4) ; 7 i n t i ; 8 f o r ( i=0; i<4; i++) 9 t [ i ] = malloc ( s i z e o f ( i n t ) * 3) ; t [ 0 ] [ 1 ] = 4 ; 12 printf ( "%d\n", t [ 0 ] [ 1 ] ) ; 14 f o r ( i=0; i<4; i++) 15 free ( t [ i ] ) ; 16 free ( t ) ; return 0 ; 19 } Zwalniaj c tablic, usuwamy tylko miejsce zarezerwowane dla wska¹ników. Tak utworzon tablic mo»emy przekaza do funkcji: 1 void funkcja ( i n t ** tab, i n t n, i n t m ) 2 { 3 //... 4 } 5 i n t main ( ) 6 { 7 i n t ** t = malloc ( s i z e o f ( i n t *) * 4) ; 8 i n t i ; 9 f o r ( i=0; i<4; i++) 10 t [ i ] = malloc ( s i z e o f ( i n t ) * 3) ; funkcja ( t, 4, 3) ; 14 f o r ( i=0; i<4; i++) 15 free ( t [ i ] ) ; 16 free ( t ) ; return 0 ; 19 } lub te» zwróci z funkcji: 1 i n t ** funkcja ( i n t n, i n t m ) 2 { 3 i n t ** t = malloc ( s i z e o f ( i n t *) * n ) ; 4 i n t i ; 5 f o r ( i=0; i<n ; i++) 6 t [ i ] = malloc ( s i z e o f ( i n t ) * m ) ; 7 return t ; 8 } 9 i n t main ( ) 10 { 11 i n t n = 4, m = 3 ; 12 i n t ** t = funkcja ( n, m ) ; 14 f o r ( i=0; i<n ; i++) 15 free ( t [ i ] ) ; 16 free ( t ) ; 282

6 17 18 return 0 ; 19 } Analogicznie mo»emy przekaza do lub zwróci z funkcji tablic dynamiczn trójwymiarow, czterowymiarow, pi ciowymiarow, itd. Kod przedstawiony powy»ej mo»na równie» zamkn w 2 funkcjach: 1 i n t ** allocateit ( i n t n, i n t m ) 2 { 3 i n t i ; 4 i n t ** t = malloc ( s i z e o f ( i n t *) * n ) ; 5 f o r ( i=0; i<n ; i++) 6 t [ i ] = malloc ( s i z e o f ( i n t ) * m ) ; 7 return t ; 8 } 9 10 void freeit ( i n t **t, i n t n, i n t m ) 11 { 12 i n t i ; f o r ( i=0; i<n ; i++) 14 free ( t [ i ] ) ; 15 free ( t ) ; 16 } Dla 3-wymiarowej tablicy utworzonej za pomoc wska¹ników, rysunek wygl da nast puj co: Jak b dzie wygl da przydziaª pami ci dla takiej tablicy? 3 4 i n t main ( ) 5 { 6 7 i n t *** t = malloc ( s i z e o f ( i n t **) * 2) ; 8 9 t [ 0 ] = malloc ( s i z e o f ( i n t *) * 3) ; 10 t [ 1 ] = malloc ( s i z e o f ( i n t *) * 3) ; t [ 0 ] [ 0 ] = malloc ( s i z e o f ( i n t ) * 4) ; t [ 0 ] [ 1 ] = malloc ( s i z e o f ( i n t ) * 4) ; 14 t [ 0 ] [ 2 ] = malloc ( s i z e o f ( i n t ) * 4) ;

7 16 t [ 1 ] [ 0 ] = malloc ( s i z e o f ( i n t ) * 4) ; 17 t [ 1 ] [ 1 ] = malloc ( s i z e o f ( i n t ) * 4) ; 18 t [ 1 ] [ 2 ] = malloc ( s i z e o f ( i n t ) * 4) ; free ( t [ 0 ] [ 0 ] ) ; 21 free ( t [ 0 ] [ 1 ] ) ; 22 free ( t [ 0 ] [ 2 ] ) ; free ( t [ 1 ] [ 0 ] ) ; 25 free ( t [ 1 ] [ 1 ] ) ; 26 free ( t [ 1 ] [ 2 ] ) ; free ( t [ 0 ] ) ; 29 free ( t [ 1 ] ) ; free ( t ) ; return 0 ; 34 } Powy»szej tablicy mo»emy u»ywa tak, jak zwykªej statycznej, trójwymiarowej tablicy, to znaczy,»e dost p do pojedynczego elementu tablicy uzyskujemy za pomoc trzech indeksów, na przykªad: t[0][1][3] = 5; czy printf("%d", t[0][1][3]);. W jaki sposób za pomoc p tli upro±ci powy»szy kod i zamkn go w 2 funkcje - alokuj c i zwalniaj c pami do takiej tablicy? 1 double *** Allocate_3D_Double_Array ( i n t x, i n t y, i n t z ) 2 { 3 i n t i, j, k ; 4 5 double *** the_array = malloc ( s i z e o f ( double **) * x ) ; 6 7 f o r ( i = 0 ; i < x ; ++i ) 8 { 9 the_array [ i ] = malloc ( s i z e o f ( double *) * y ) ; f o r ( j = 0 ; j < y ; ++j ) 12 { the_array [ i ] [ j ] = malloc ( s i z e o f ( double ) * z ) ; f o r ( k = 0 ; k < z ; ++k ) 16 { 17 the_array [ i ] [ j ] [ k]= 0. 2 ; 18 } 19 } 20 } 21 return the_array ; 22 } void release_3d_double_array ( double *** the_array, i n t x, i n t y, i n t z ) 25 { 26 i n t i, j ; f o r ( i = 0 ; i < x ; ++i ) 29 { 30 f o r ( j = 0 ; j < y ; ++j ) 31 { 32 free ( the_array [ i ] [ j ] ) ; 33 } 34 free ( the_array [ i ] ) ; 35 } 36 free ( the_array ) ; 37 } 284

8 Przykªad: Rozwa»my ponizszy przykªad. funkcj main: Jest to kod, w którym wykorzystujemy 5 funkcji (w tym 1. funkcja int ** utworz(int n, int m); - funkcja ta pobiera 2 argumenty - wymiary 2 wymiarowej tablicy. Zadaniem funkcji jest zwrócenie dynamicznie utworzonej tablicy (tablicy utworzonej za pomoc wska¹ników). Funkcja przydziela okre±lony rozmiar pami ci (alokuje pami na tablic o wymiarach n na m, a nast pnie j zwraca (mo»emy róznie» powiedzie,»e zwraca wska¹nik do bloku pami ci przydzielonego na tablic ). 2. funkcja void wyswietl(int **tab, int n, int m); - funkcja ta pobiera 3 argumenty - wymiary 2 wymiarowej tablicy, oraz wska¹nik na wska¹nik do typu int (czyli inaczej -dwuwymiarow, dynamiczn tablic elementów typu int). Zadaniem funkcji jest wy±wietlenie wszystkich elementów tablicy. Poniewa» jest to tablica 2-wymiarowa, potrzebujemy do tego 2 p tli. 3. funkcja void usun(int **tab, int n, int m); - funkcja ta pobiera 3 argumenty - wymiary 2 wymiarowej tablicy, oraz wska¹nik na wska¹nik do typu int (czyli inaczej -dwuwymiarow, dynamiczn tablic elementów typu int). Zadaniem funkcji jest usuni cie dynamicznie przydzielonej pami ci na tablic (zwolnienie pami ci, usuni cie tablicy). 4. funkcja void wypelnij(int **tab, int n, int m, int x); - funkcja ta pobiera 4 argumenty - wymiary 2 wymiarowej tablicy, oraz wska¹nik na wska¹nik do typu int (czyli inaczej -dwuwymiarow, dynamiczn tablic elementów typu int) oraz warto±, któr ma wpisa do ka»dej komórki tablicy (warto±, któr nale»y wypeªni caª tablic ). Zadaniem funkcji jest wpisanie do ka»dej jej komórki warto±ci x. Dzi ki temu,»e wykorzystujemy funkcje, kod jest przejrzysty i czytelny. Mo»emy za ich pomoc tworzy nieograniczon liczb ró»nych tablic, wykonywa na nich dziaªania, i ostatecznie zwalnia przydzielon na nie pamie. W gªównej funkcji programu tworzymy 2 tablice - tab1, oraz tab2, o ró»nych wymiarach. Nast pnie wypeªniamy, wy±wietlamy tablice i usuwamy przydzielon pami. Zadanie to jest bardzo proste przy u»yciu funkcji. 3 4 i n t ** utworz ( i n t n, i n t m ) { 5 i n t ** tab, i ; 6 7 tab = malloc ( s i z e o f ( i n t *) * n ) ; 8 9 f o r ( i=0; i<n ; i++) 10 tab [ i ] = malloc ( s i z e o f ( i n t ) * m ) ; return tab ; } void wyswietl ( i n t ** tab, i n t n, i n t m ) { 16 i n t i, j ; f o r ( i=0; i<n ; i++) 19 { 20 f o r ( j=0; j<m ; j++) 21 { 22 printf ( "%d ", tab [ i ] [ j ] ) ; 23 } 24 printf ( "\n" ) ; 25 } 26 } 285

9 27 28 void wypelnij ( i n t ** tab, i n t n, i n t m, i n t x ) 29 { 30 i n t i, j ; f o r ( i=0; i<n ; i++) 33 { 34 f o r ( j=0; j<m ; j++) 35 { 36 tab [ i ] [ j ] = x ; 37 } 38 } 39 } void usun ( i n t ** tab, i n t n, i n t m ) 42 { 43 i n t i ; 44 f o r ( i=0; i<n ; i++) 45 free ( tab [ i ] ) ; 46 free ( tab ) ; 47 } i n t main ( i n t argc, char ** argv ) 50 { 51 i n t ** tab1, n1 = 2, m1 = 3 ; tab1 = utworz ( n1, m1 ) ; 54 wypelnij ( tab1, n1, m1, 28) ; 55 wyswietl ( tab1, n1, m1 ) ; 56 usun ( tab1, n1, m1 ) ; printf ( " \n" ) ; i n t ** tab2, n2 = 5, m2 = 8 ; tab2 = utworz ( n2, m2 ) ; 63 wypelnij ( tab2, n2, m2, 100) ; 64 wyswietl ( tab2, n2, m2 ) ; 65 usun ( tab2, n2, m2 ) ; return 0 ; 68 } 286

10 11.2 Zadania do wykonania Zadanie 0 Napisz program, w którym stworzysz dynamiczn tablic 2-wymiarow o elementach typu int, i wymiarach wczytanych od u»ytkownika. Nast pnie, po utworzeniu tablicy wczytaj do niej liczby od u»ytkownika i wypisz caª tablic na ekranie w postaci macierzy (tzn. ka»dy wiersz tablicy 2-wymiarowej ma znale¹ si w nowym wierszu). Zwolnij pami zaalokowan na tablic. Zadanie 1 Napisz funkcj, która dostaje jako argument dodatnie liczby caªkowite n, m, tworzy dynamiczn dwuwymiarow tablic tablic o wymiarach n na m i zwraca jako warto± wska¹nik do niej. Zadanie 2 Napisz funkcj, która dostaje jako argumenty wska¹nik do dwuwymiarowej tablicy tablic oraz jej wymiary dodatnie liczby n, m i usuwa z pami ci otrzyman tablic. Zadanie 3 Napisz wersje zada«1 i 2 dla trzywymiarowych tablic tablic. Zadanie 4 Napisz funkcj, która dostaje w argumentach tablic dwuwymiarow o elementach typu int oraz jej wymiary n, m, i zwraca jako warto± sum warto±ci elementów tablicy. Zadanie 5 Napisz funkcj, która dostaje jako argumenty dwie tablice dwuwymiarowe o elementach typu int oraz ich wymiary i zamienia zawarto±ci obu tablic. Zadanie 6 Napisz funkcj przyjmuj c jako argumenty trzy wska¹niki na dynamicznie zaalokowane tablice dwuwymiarowe (tablice wska¹ników), reprezentuj ce macierze kwadratowe 10 x 10 o elementach zmiennoprzecinkowych. Funkcja powinna pomno»y dwie pierwsze macierze a wynik umie±ci w trzeciej. Zadanie 7 Napisz funkcj, która otrzymuje w argumentach dwuwymiarow tablic tablic (tablic dynamiczn ) oraz jej wymiary i zeruje elementy tablicy nale» ce do wierszy o nieparzystych indeksach (przyjmujemy,»e dwa elementy nale» do tego samego wiersza je»eli maj tak sam pierwsz wspóªrz dn ). Zadanie 8 Napisz funkcj, która przyjmie w argumencie dwuwymiarow tablic tablic liczb caªkowitych oraz jej dwa wymiary n i m, a nast pnie wy±wietli na ekran wiersze, których suma dodatnich elementów jest wi ksza od 100. Wy±wietlane liczby maj by oddzielane przecinkami, ka»dy wiersz w oddzielnej linii. Zadanie 9 Napisz funkcj, która otrzymuje jako argument dynamiczn dwuwymiarow tablic tab o wymiarach N x N (kwadratowa) przechowuj c elementy typu int oraz rozmiar N. Funkcja ma zwróci wska¹nik do dynamicznie zaalokowanej tablicy intów, o dªugo±ci równej iloczynowi elementów le» cych na przek tnych macierzy (tablicy) podanej jako argument. Zadanie 10 Napisz funkcj, która jako parametr przyjmie liczb caªkowit n. Funkcja ma zaalokowa dynamiczn dwuwymiarow trójk tn tablic liczb caªkowitych, wypeªni j zerami i zwróci jej adres. Na przykªad dla n = 5 tablica powinna wygl da nast puj co: 287

11 Liczba wierszy w trójk tnej tablicy równa jest n, natomiast liczba kolumn w ka»dym wierszu jest o 1 wi ksza od liczby kolumn w wierszu poprzednim. Wiersz ostatni ma liczb kolumn równ liczbie wierszy, czyli n. Zadanie 11 Napisz funkcj, która przyjmie dynamicznie alokowan tablic dwuwymiarow typu double i jej oba wymiary. Funkcja powinna zwróci numer wiersza, w którym suma kwadratów elementów jest najmniejsza. Zadanie 12 Napisz funkcj, która otrzymuje w argumentach dwuwymiarow dynamiczn tablic oraz jej wymiary n oraz m i sumuje wszystkie elementy tablicy nale» ce do wierszy o parzystych indeksach (przyjmujemy,»e dwa elementy nale» do tego samego wiersza je»eli maj tak sam pierwsz wspóªrz dn ), a nast pnie zwraca tak obliczon sum. Zadanie Napisz funkcj, która przyjmuje w argumencie dwuwymiarow tablic liczb zmiennoprzecinkowych oraz jej wymiary n i m. Funkcja ma wyzerowa kolumny, w których suma warto±ci elementów jest ujemna. Zadanie 14 Napisz funkcj, która dostaje jako parametr dynamiczn dwuwymiarow tablic liczb caªkowitych i jej wymiary n, m. Funkcja ma zwróci 1, je±li na brzegach (tzn. w pierwszym i ostatnim wierszu oraz w pierwszej i ostatniej kolumnie) tablicy wyst puj warto±ci tylko niezerowe; w przeciwnym razie funkcja ma zwróci

7.3 Tablice jednowymiarowe dynamiczne

7.3 Tablice jednowymiarowe dynamiczne 7.3 Tablice jednowymiarowe dynamiczne Tablice statyczne nie daj nam mo»liwo±ci decydowania o ich wymiarach podczas dziaªania programu. Oznacza to»e musimy zna wielko± tablicy na poziomie tworzenia aplikacji.

Bardziej szczegółowo

Wska¹niki, tablice dynamiczne jednowymiarowe, staªe

Wska¹niki, tablice dynamiczne jednowymiarowe, staªe Rozdziaª 9 Wska¹niki, tablice dynamiczne jednowymiarowe, staªe 9.1 Wst p Czym w C jest wska¹nik? Wska¹nik jest zmienn, która zawiera adres (wskazanie) innej zmiennej lub adres dowolnego obszaru w pami

Bardziej szczegółowo

Lekcja 9 - LICZBY LOSOWE, ZMIENNE

Lekcja 9 - LICZBY LOSOWE, ZMIENNE Lekcja 9 - LICZBY LOSOWE, ZMIENNE I STAŠE 1 Liczby losowe Czasami spotkamy si z tak sytuacj,»e b dziemy potrzebowa by program za nas wylosowaª jak ± liczb. U»yjemy do tego polecenia: - liczba losowa Sprawd¹my

Bardziej szczegółowo

ˆ tablice statyczne (o staªej ilo±ci elementów) ˆ tablice dynamiczne (o zmiennej ilo±ci elementów) 7.1 Tablice jednowymiarowe statyczne

ˆ tablice statyczne (o staªej ilo±ci elementów) ˆ tablice dynamiczne (o zmiennej ilo±ci elementów) 7.1 Tablice jednowymiarowe statyczne Rozdziaª 7 Tablice W niniejszym rozdziale zostan omówione tablice. Zostan zaprezentowane kody ¹ródªowe programów w j zyku C, pokazuj ce ich wykorzystanie w praktyce. Istnieje kilka rodzajów tablic w C,

Bardziej szczegółowo

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki > C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete

Bardziej szczegółowo

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym. ZESTAWY A Zestaw 1 Organizacja plików: Wszystkie pliki oddawane do sprawdzenia nale»y zapisa we wspólnym folderze o nazwie b d cej numerem indeksu, umieszczonym na pulpicie. Oddajemy tylko ¹ródªa programów

Bardziej szczegółowo

Lekcja 12 - POMOCNICY

Lekcja 12 - POMOCNICY Lekcja 12 - POMOCNICY 1 Pomocnicy Pomocnicy, jak sama nazwa wskazuje, pomagaj Baltiemu w programach wykonuj c cz ± czynno±ci. S oni szczególnie pomocni, gdy chcemy ci g polece«wykona kilka razy w programie.

Bardziej szczegółowo

Ukªady równa«liniowych

Ukªady równa«liniowych dr Krzysztof yjewski Mechatronika; S-I 0 in» 7 listopada 206 Ukªady równa«liniowych Informacje pomocnicze Denicja Ogólna posta ukªadu m równa«liniowych z n niewiadomymi x, x, x n, gdzie m, n N jest nast

Bardziej szczegółowo

Metodydowodzenia twierdzeń

Metodydowodzenia twierdzeń 1 Metodydowodzenia twierdzeń Przez zdanie rozumiemy dowolne stwierdzenie, które jest albo prawdziwe, albo faªszywe (nie mo»e by ono jednocze±nie prawdziwe i faªszywe). Tradycyjnie b dziemy u»ywali maªych

Bardziej szczegółowo

Macierze i Wyznaczniki

Macierze i Wyznaczniki dr Krzysztof yjewski Mechatronika; S-I.in». 5 pa¹dziernika 6 Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja. Tablic nast puj cej postaci a a... a n a a... a n A =... a m a m...

Bardziej szczegółowo

Macierze i Wyznaczniki

Macierze i Wyznaczniki Macierze i Wyznaczniki Kilka wzorów i informacji pomocniczych: Denicja 1. Tablic nast puj cej postaci a 11 a 12... a 1n a 21 a 22... a 2n A =... a m1 a m2... a mn nazywamy macierz o m wierszach i n kolumnach,

Bardziej szczegółowo

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy.

A = n. 2. Ka»dy podzbiór zbioru sko«czonego jest zbiorem sko«czonym. Dowody tych twierdze«(elementarne, lecz nieco nu» ce) pominiemy. Logika i teoria mnogo±ci, konspekt wykªad 12 Teoria mocy, cz ± II Def. 12.1 Ka»demu zbiorowi X przyporz dkowujemy oznaczany symbolem X obiekt zwany liczb kardynaln (lub moc zbioru X) w taki sposób,»e ta

Bardziej szczegółowo

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy. 1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja

Bardziej szczegółowo

Lekcja 9 Liczby losowe, zmienne, staªe

Lekcja 9 Liczby losowe, zmienne, staªe Lekcja 9 Liczby losowe, zmienne, staªe Akademia im. Jana Dªugosza w Cz stochowie Liczby losowe Czasami potrzebujemy by program za nas wylosowaª liczb. U»yjemy do tego polecenia liczba losowa: Liczby losowe

Bardziej szczegółowo

XVII Warmi«sko-Mazurskie Zawody Matematyczne

XVII Warmi«sko-Mazurskie Zawody Matematyczne 1 XVII Warmi«sko-Mazurskie Zawody Matematyczne Kategoria: klasa VIII szkoªy podstawowej i III gimnazjum Olsztyn, 16 maja 2019r. Zad. 1. Udowodnij,»e dla dowolnych liczb rzeczywistych x, y, z speªniaj cych

Bardziej szczegółowo

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej

Matematyka wykªad 1. Macierze (1) Andrzej Torój. 17 wrze±nia 2011. Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej Matematyka wykªad 1 Macierze (1) Andrzej Torój Wy»sza Szkoªa Zarz dzania i Prawa im. H. Chodkowskiej 17 wrze±nia 2011 Plan wykªadu 1 2 3 4 5 Plan prezentacji 1 2 3 4 5 Kontakt moja strona internetowa:

Bardziej szczegółowo

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...);

P tle. Rozdziaª Wst p. 4.2 P tle P tla for(...); Rozdziaª 4 P tle 4.1 Wst p Niniejszy rozdziaª zawiera opis p tli w j zyku C, wraz z przykªadowymi programami oraz ich obja±nieniem. 4.2 P tle P tla to element j zyka programowania, pozwalaj cy na wielokrotne,

Bardziej szczegółowo

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.

Listy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki. Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy

Bardziej szczegółowo

x y x y x y x + y x y

x y x y x y x + y x y Algebra logiki 1 W zbiorze {0, 1} okre±lamy dziaªania dwuargumentowe,, +, oraz dziaªanie jednoargumentowe ( ). Dziaªanie x + y nazywamy dodawaniem modulo 2, a dziaªanie x y nazywamy kresk Sheera. x x 0

Bardziej szczegółowo

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja

Macierze. 1 Podstawowe denicje. 2 Rodzaje macierzy. Denicja Macierze 1 Podstawowe denicje Macierz wymiaru m n, gdzie m, n N nazywamy tablic liczb rzeczywistych (lub zespolonych) postaci a 11 a 1j a 1n A = A m n = [a ij ] m n = a i1 a ij a in a m1 a mj a mn W macierzy

Bardziej szczegółowo

Listy i operacje pytania

Listy i operacje pytania Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik

Bardziej szczegółowo

Przetwarzanie sygnaªów

Przetwarzanie sygnaªów Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie

Bardziej szczegółowo

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem

Bardziej szczegółowo

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom). Zarządzanie pamięcią Pamięć: stos i sterta Statyczny i dynamiczny przydział pamięci Funkcje ANSI C do zarządzania pamięcią Przykłady: Dynamiczna tablica jednowymiarowa Dynamiczna tablica dwuwymiarowa 154

Bardziej szczegółowo

Stałe, tablice dynamiczne i wielowymiarowe

Stałe, tablice dynamiczne i wielowymiarowe Stałe, tablice dynamiczne i wielowymiarowe tylko do odczytu STAŁE - CONST tablice: const int dni_miesiaca[12]=31,28,31,30,31,30,31,31,30,31,30,31; const słowo kluczowe const sprawia, że wartość zmiennej

Bardziej szczegółowo

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java J zyk programowania JAVA c 2011 Vincent Van GOGH: M»czyzna pij cy li»ank kawy Zadanie 6. Napisz program, który tworzy tablic 30 liczb wstawia do tej tablicy liczby od 0 do 29 sumuje te elementy tablicy,

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

1 Wska¹niki. 1.1 Wska¹nik typu VOID. Wska¹nik jest obiektem przechowuj cym adres (z pami ci) przypisanej do niego zmiennej.

1 Wska¹niki. 1.1 Wska¹nik typu VOID. Wska¹nik jest obiektem przechowuj cym adres (z pami ci) przypisanej do niego zmiennej. 1 Wska¹niki. Wska¹nik jest obiektem przechowuj cym adres (z pami ci) przypisanej do niego zmiennej. int a; int *b; a = 11; cout

Bardziej szczegółowo

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to

Bardziej szczegółowo

Lab 9 Podstawy Programowania

Lab 9 Podstawy Programowania Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany

Bardziej szczegółowo

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15 ANALIZA NUMERYCZNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Metoda Eulera 3 1.1 zagadnienia brzegowe....................... 3 1.2 Zastosowanie ró»niczki...................... 4 1.3 Output do pliku

Bardziej szczegółowo

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz

Bardziej szczegółowo

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych.

Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 7. Ekstrema lokalne funkcji dwóch zmiennych. Denicja Mówimy,»e funkcja

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 203/4 Spis tre±ci Kodowanie i dekodowanie 4. Kodowanie a szyfrowanie..................... 4.2 Podstawowe poj cia........................

Bardziej szczegółowo

1 Bª dy i arytmetyka zmiennopozycyjna

1 Bª dy i arytmetyka zmiennopozycyjna 1 Bª dy i arytmetyka zmiennopozycyjna Liczby w pami ci komputera przedstawiamy w ukªadzie dwójkowym w postaci zmiennopozycyjnej Oznacza to,»e s one postaci ±m c, 01 m < 1, c min c c max, (1) gdzie m nazywamy

Bardziej szczegółowo

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb

Wybrane poj cia i twierdzenia z wykªadu z teorii liczb Wybrane poj cia i twierdzenia z wykªadu z teorii liczb 1. Podzielno± Przedmiotem bada«teorii liczb s wªasno±ci liczb caªkowitych. Zbiór liczb caªkowitych oznacza b dziemy symbolem Z. Zbiór liczb naturalnych

Bardziej szczegółowo

Przykªadowe tematy z JiMP

Przykªadowe tematy z JiMP Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje

Bardziej szczegółowo

Zbiory i odwzorowania

Zbiory i odwzorowania Zbiory i odwzorowania 1 Sposoby okre±lania zbiorów 1) Zbiór wszystkich elementów postaci f(t), gdzie t przebiega zbiór T : {f(t); t T }. 2) Zbiór wszystkich elementów x zbioru X speªniaj cych warunek ϕ(x):

Bardziej szczegółowo

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1

Ciaªa i wielomiany. 1 Denicja ciaªa. Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Ciaªa i wielomiany 1 Denicja ciaªa Niech F b dzie zbiorem, i niech + (dodawanie) oraz (mno»enie) b d dziaªaniami na zbiorze F. Denicja. Zbiór F wraz z dziaªaniami + i nazywamy ciaªem,

Bardziej szczegółowo

Rekurencyjne struktury danych

Rekurencyjne struktury danych Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi

Bardziej szczegółowo

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2.

1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2. 1. Napisz program wypisujący w kolejnych wierszach standardowego wyjścia pojedyncze słowa następującego napisu Bardzo dlugi napis. 2. Napisz program, który wczytuje ze standardowego wejścia liczbę całkowitą

Bardziej szczegółowo

Funkcja kwadratowa, wielomiany oraz funkcje wymierne

Funkcja kwadratowa, wielomiany oraz funkcje wymierne Funkcja kwadratowa, wielomiany oraz funkcje wymierne Šukasz Dawidowski Nocne powtórki maturalne 28 kwietnia 2014 r. Troch teorii Funkcj f : R R dan wzorem: f (x) = ax 2 + bx + c gdzie a 0 nazywamy funkcj

Bardziej szczegółowo

Zbiór zada«do przedmiotu Podstawy programowania

Zbiór zada«do przedmiotu Podstawy programowania Zbiór zada«do przedmiotu Podstawy programowania mgr in». Anna Šupi«ska Dubicka Wydziaª Informatyki Politechnika Biaªostocka Spis tre±ci 1 Instrukcje wej±cia-wyj±cia. Instrukcje warunkowe i wyboru 2 2 Instrukcje

Bardziej szczegółowo

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem.

1. Odcienie szaro±ci. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. Materiaªy na wiczenia z Wprowadzenia do graki maszynowej dla kierunku Informatyka, rok III, sem. 5, rok akadem. 2018/2019 1. Odcienie szaro±ci Model RGB jest modelem barw opartym na wªa±ciwo±ciach odbiorczych

Bardziej szczegółowo

Lekcja 6 Programowanie - Zaawansowane

Lekcja 6 Programowanie - Zaawansowane Lekcja 6 Programowanie - Zaawansowane Akademia im. Jana Dªugosza w Cz stochowie Wst p Wiemy ju»: co to jest program i programowanie, jak wygl da programowanie, jak tworzy programy za pomoc Baltiego. Na

Bardziej szczegółowo

1 Metody iteracyjne rozwi zywania równania f(x)=0

1 Metody iteracyjne rozwi zywania równania f(x)=0 1 Metody iteracyjne rozwi zywania równania f()=0 1.1 Metoda bisekcji Zaªó»my,»e funkcja f jest ci gªa w [a 0, b 0 ]. Pierwiastek jest w przedziale [a 0, b 0 ] gdy f(a 0 )f(b 0 ) < 0. (1) Ustalmy f(a 0

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15 ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych

Bardziej szczegółowo

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz

Lekcja 8 - ANIMACJA. 1 Polecenia. 2 Typy animacji. 3 Pierwsza animacja - Mrugaj ca twarz Lekcja 8 - ANIMACJA 1 Polecenia Za pomoc Baltiego mo»emy tworzy animacj, tzn. sprawia by obraz na ekranie wygl daª jakby si poruszaª. Do animowania przedmiotów i tworzenia animacji posªu» nam polecenia

Bardziej szczegółowo

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej

Ekonometria. wiczenia 1 Regresja liniowa i MNK. Andrzej Torój. Instytut Ekonometrii Zakªad Ekonometrii Stosowanej Ekonometria wiczenia 1 Regresja liniowa i MNK (1) Ekonometria 1 / 25 Plan wicze«1 Ekonometria czyli...? 2 Obja±niamy ceny wina 3 Zadania z podr cznika (1) Ekonometria 2 / 25 Plan prezentacji 1 Ekonometria

Bardziej szczegółowo

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17 Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8

Bardziej szczegółowo

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X.

Relacj binarn okre±lon w zbiorze X nazywamy podzbiór ϱ X X. Relacje 1 Relacj n-argumentow nazywamy podzbiór ϱ X 1 X 2... X n. Je±li ϱ X Y jest relacj dwuargumentow (binarn ), to zamiast (x, y) ϱ piszemy xϱy. Relacj binarn okre±lon w zbiorze X nazywamy podzbiór

Bardziej szczegółowo

Wykład 1: Wskaźniki i zmienne dynamiczne

Wykład 1: Wskaźniki i zmienne dynamiczne Programowanie obiektowe Wykład 1: Wskaźniki i zmienne dynamiczne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Podstawy programowania w C++ Wskaźniki 2 dr Artur Bartoszewski - Programowanie

Bardziej szczegółowo

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++ Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub

Bardziej szczegółowo

Języki i metodyka programowania. Wskaźniki i tablice.

Języki i metodyka programowania. Wskaźniki i tablice. Wskaźniki i tablice. Zmienna1 Zmienna2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Zmienna to fragment pamięci o określonym rozmiarze identyfikowany za pomocą nazwy, w którym może być przechowywana

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, Materiał

Bardziej szczegółowo

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis i cz. 2 Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 i cz. 2 2 i cz. 2 3 Funkcje i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje instrukcje } i cz. 2 typ nazwa ( lista-parametrów ) { deklaracje

Bardziej szczegółowo

Programowanie obiektowe W3

Programowanie obiektowe W3 Programowanie obiektowe W3 Przegląd typów strukturalnych w C++ : tablice statyczne i dynamiczne Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki Typy złożone: tablice

Bardziej szczegółowo

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane

Bardziej szczegółowo

Model obiektu w JavaScript

Model obiektu w JavaScript 16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego

Bardziej szczegółowo

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu

Bardziej szczegółowo

Programowanie i struktury danych

Programowanie i struktury danych Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w

Bardziej szczegółowo

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami 1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami Celem tych zajęć jest zrozumienie i oswojenie z technikami programowania przy pomocy wskaźników w języku C++. Proszę przeczytać rozdział 8.

Bardziej szczegółowo

Metody dowodzenia twierdze«

Metody dowodzenia twierdze« Metody dowodzenia twierdze«1 Metoda indukcji matematycznej Je±li T (n) jest form zdaniow okre±lon w zbiorze liczb naturalnych, to prawdziwe jest zdanie (T (0) n N (T (n) T (n + 1))) n N T (n). 2 W przypadku

Bardziej szczegółowo

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1

JAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1 J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)

Bardziej szczegółowo

Elementy geometrii w przestrzeni R 3

Elementy geometrii w przestrzeni R 3 Elementy geometrii w przestrzeni R 3 Z.Šagodowski Politechnika Lubelska 29 maja 2016 Podstawowe denicje Wektorem nazywamy uporz dkowan par punktów (A,B) z których pierwszy nazywa si pocz tkiem a drugi

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Wojewódzki Konkurs Matematyczny

Wojewódzki Konkurs Matematyczny Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów ETAP SZKOLNY 16 listopada 2012 Czas 90 minut Instrukcja dla Ucznia 1. Otrzymujesz do rozwi zania 10 zada«zamkni tych oraz 5 zada«otwartych. 2. Obok

Bardziej szczegółowo

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0)

*W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do 6.0) Tablice Mamy napisać program obliczający średnią ocenę w łyżwiarstwie figurowym W uproszczeniu: jest dziewięciu sędziów przyznających po dwie noty: za wartość techniczną i artystyczną (skala od 0.0 do

Bardziej szczegółowo

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006

Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ. Marek Majewski Aktualizacja: 31 pa¹dziernika 2006 Zadania z z matematyki dla studentów gospodarki przestrzennej UŠ Marek Majewski Aktualizacja: 1 pa¹dziernika 006 Spis tre±ci 1 Macierze dziaªania na macierzach. Wyznaczniki 1 Macierz odwrotna. Rz d macierzy

Bardziej szczegółowo

Kompilowanie programów

Kompilowanie programów Rozdziaª 2 Kompilowanie programów 2.1 Wst p 2.2 Kompilatory, IDE Zacznijmy od podania kilku podstawowych informacji: ˆ Program - to ci g polece«(instrukcji) do wykonania dla komputera ˆ Program to algorytm

Bardziej szczegółowo

DYNAMICZNE PRZYDZIELANIE PAMIECI

DYNAMICZNE PRZYDZIELANIE PAMIECI DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne

Bardziej szczegółowo

Informacje pomocnicze

Informacje pomocnicze Funkcje wymierne. Równania i nierówno±ci wymierne Denicja. (uªamki proste) Wyra»enia postaci Informacje pomocnicze A gdzie A d e R n N (dx e) n nazywamy uªamkami prostymi pierwszego rodzaju. Wyra»enia

Bardziej szczegółowo

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

// Liczy srednie w wierszach i kolumnach tablicy dwuwymiarowej // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib. Wykład 10 Przykłady różnych funkcji (cd) - przetwarzanie tablicy tablic (tablicy "dwuwymiarowej") - sortowanie przez "selekcję" Dynamiczna alokacja pamięci 1 // Liczy srednie w wierszach i kolumnach tablicy

Bardziej szczegółowo

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej Podstawy informatyki Informatyka stosowana - studia niestacjonarne Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w Krakowie, rok

Bardziej szczegółowo

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0,

1 a + b 1 = 1 a + 1 b 1. (a + b 1)(a + b ab) = ab, (a + b)(a + b ab 1) = 0, (a + b)[a(1 b) + (b 1)] = 0, XIII Warmi«sko-Mazurskie Zawody Matematyczne. Olsztyn 2015 Rozwi zania zada«dla szkóª ponadgimnazjalnych ZADANIE 1 Zakªadamy,»e a, b 0, 1 i a + b 1. Wykaza,»e z równo±ci wynika,»e a = -b 1 a + b 1 = 1

Bardziej szczegółowo

Wykªad 4. Funkcje wielu zmiennych.

Wykªad 4. Funkcje wielu zmiennych. Wykªad jest prowadzony w oparciu o podr cznik Analiza matematyczna 2. Denicje, twierdzenia, wzory M. Gewerta i Z. Skoczylasa. Wykªad 4. Funkcje wielu zmiennych. Zbiory na pªaszczy¹nie i w przestrzeni.

Bardziej szczegółowo

do instrukcja while (wyrażenie);

do instrukcja while (wyrażenie); Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie

Bardziej szczegółowo

Przekroje Dedekinda 1

Przekroje Dedekinda 1 Przekroje Dedekinda 1 O liczbach wymiernych (tj. zbiorze Q) wiemy,»e: 1. zbiór Q jest uporz dkowany relacj mniejszo±ci < ; 2. zbiór liczb wymiernych jest g sty, tzn.: p, q Q : p < q w : p < w < q 3. 2

Bardziej szczegółowo

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje

Materiał Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Wskaźniki Tablice dynamiczne Referencje Funkcje Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 4 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w

Bardziej szczegółowo

tablica: dane_liczbowe

tablica: dane_liczbowe TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica

Bardziej szczegółowo

Przetwarzanie sygnaªów

Przetwarzanie sygnaªów Przetwarzanie sygnaªów Wykªad 8 - Wst p do obrazów 2D Marcin Wo¹niak, Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 27 Plan wykªadu 1 Informacje wstepne 2 Przetwarzanie obrazu 3 Wizja komputerowa

Bardziej szczegółowo

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI

Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Rozwi zywanie Ukªadów Równa«Liniowych Ax=B metod dekompozycji LU, za pomoc JAVA RMI Marcn Šabudzik AGH-WFiIS, al. Mickiewicza 30, 30-059, Kraków, Polska email: labudzik@ghnet.pl www: http://fatcat.ftj.agh.edu.pl/

Bardziej szczegółowo

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/

Bardziej szczegółowo

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst

Bardziej szczegółowo

Funkcje, wielomiany. Informacje pomocnicze

Funkcje, wielomiany. Informacje pomocnicze Funkcje, wielomiany Informacje pomocnicze Przydatne wzory: (a + b) 2 = a 2 + 2ab + b 2 (a b) 2 = a 2 2ab + b 2 (a + b) 3 = a 3 + 3a 2 b + 3ab 2 + b 3 (a b) 3 = a 3 3a 2 b + 3ab 2 b 3 a 2 b 2 = (a + b)(a

Bardziej szczegółowo

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu

Bardziej szczegółowo

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14

WST P DO TEORII INFORMACJI I KODOWANIA. Grzegorz Szkibiel. Wiosna 2013/14 WST P DO TEORII INFORMACJI I KODOWANIA Grzegorz Szkibiel Wiosna 2013/14 Spis tre±ci 1 Kodowanie i dekodowanie 4 1.1 Kodowanie a szyfrowanie..................... 4 1.2 Podstawowe poj cia........................

Bardziej szczegółowo

Podstawy Programowania C++

Podstawy Programowania C++ Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:

Bardziej szczegółowo

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej

Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej Opis programu do wizualizacji algorytmów z zakresu arytmetyki komputerowej 3.1 Informacje ogólne Program WAAK 1.0 służy do wizualizacji algorytmów arytmetyki komputerowej. Oczywiście istnieje wiele narzędzi

Bardziej szczegółowo

Wzorce projektowe strukturalne cz. 1

Wzorce projektowe strukturalne cz. 1 Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter

Bardziej szczegółowo

Wskaźniki. Informatyka

Wskaźniki. Informatyka Materiały Wskaźniki Informatyka Wskaźnik z punktu widzenia programisty jest grupą komórek pamięci (rozmiar wskaźnika zależy od architektury procesora, najczęściej są to dwa lub cztery bajty ), które mogą

Bardziej szczegółowo

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1 Tablice i struktury czyli złożone typy danych. Programowanie Proceduralne 1 Tablica przechowuje elementy tego samego typu struktura jednorodna, homogeniczna Elementy identyfikowane liczbami (indeksem).

Bardziej szczegółowo

Język ANSI C tablice wielowymiarowe

Język ANSI C tablice wielowymiarowe Język ANSI C tablice wielowymiarowe Gdy tablica wielowymiarowa jest parametrem funkcji, to w standardzie ANSI C konieczne jest podanie wszystkich wymiarów poza pierwszym. Przykład. Napisać program wczytujący

Bardziej szczegółowo

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury

typ y y p y z łoż o on o e n - tab a lice c e w iel e owym m ar a o r we, e stru r kt k ury typy złożone- tablice wielowymiarowe, struktury Wykład 6 Deklarowanie wskaźników nazwa_typu * nazwa_wskaznika; WSKAŹNIKI: PRZYPOMNIENIE Przypisywanie wskaźnikom wartości double * pn = &zmienna_typu_double;

Bardziej szczegółowo

Wojewódzki Konkurs Matematyczny

Wojewódzki Konkurs Matematyczny sumaryczna liczba punktów (wypeªnia sprawdzaj cy) Wojewódzki Konkurs Matematyczny dla uczniów gimnazjów 13 luty 2014 Czas 90 minut 1. Otrzymujesz do rozwi zania 10 zada«zamkni tych oraz 5 zada«otwartych.

Bardziej szczegółowo

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji

Materiał. Typy zmiennych Instrukcje warunkowe Pętle Tablice statyczne Funkcje Wskaźniki Referencje Tablice dynamiczne Typ string Przeładowania funkcji Podstawy informatyki Informatyka stosowana - studia niestacjonarne - Zajęcia nr 5 Grzegorz Smyk Wydział Inżynierii Metali i Informatyki Przemysłowej Akademia Górniczo Hutnicza im. Stanisława Staszica w

Bardziej szczegółowo

Ÿ1 Oznaczenia, poj cia wst pne

Ÿ1 Oznaczenia, poj cia wst pne Ÿ1 Oznaczenia, poj cia wst pne Symbol sumy, j, k Z, j k: k x i = x j + x j+1 + + x k. i=j Przykªad 1.1. Oblicz 5 i=1 2i. Odpowied¹ 1.1. 5 i=1 2i = 2 1 + 2 2 + 2 3 + 2 4 + 2 5 = 2 + 4 + 8 + 16 + 32 = 62.

Bardziej szczegółowo