Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podobne dokumenty
Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 1: Wskaźniki i zmienne dynamiczne

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Wykład 5: Klasy cz. 3

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wykład 9: Polimorfizm i klasy wirtualne

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 8: klasy cz. 4

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 9: Metody wirtualne i polimorfizm

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice

Programowanie w C++ Wykład 4. Katarzyna Grzelak. 19 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 37

tablica: dane_liczbowe

Wykład 3 Składnia języka C# (cz. 2)

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Podstawy Programowania

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Podstawy Programowania C++

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

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Część 4 życie programu

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne

Podstawy programowania skrót z wykładów:

Tablice jednowymiarowe

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

Podstawy algorytmiki i programowania - wykład 1 Tablice powtórzenie Tablice znaków Tablice dwuwymiarowe

Programowanie obiektowe W3

Podstawy algorytmiki i programowania - wykład 5 C-struktury cd.

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

W dowolnym momencie można zmienić typ wskaźnika.

dr inż. Jarosław Forenc

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

Język C zajęcia nr 11. Funkcje

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

INFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki

Tablice są typem pochodnym. Poniżej mamy przykłady deklaracji różnych tablic:

Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

Wstęp do programowania

Wykład VI PASCAL procedury i funkcje przekazywanie parametrów,

Tablice. int rozmiar; cout << Jaki ma być rozmiar tabeli? ; cin >> rozmiar; { int tablica[rozmiar]; /* TU JEST ŹLE */... }

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy Programowania Obiektowego

Język C++ zajęcia nr 2

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

DYNAMICZNE PRZYDZIELANIE PAMIECI

Materiały do zajęć VII

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

r. Tablice podstawowe operacje na tablicach

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

Wstęp do informatyki- wykład 9 Funkcje

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

dr inż. Jarosław Forenc

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

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

Instrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:

Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu

Język programowania PASCAL

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Zmienne, stałe i operatory

O podstawowych operacjach na tablicach. Mateusz Ziółkowski, MBiU II

Wstęp do informatyki- wykład 11 Funkcje

4) Operacje na tablicy dwuwymiarowej bez wykorzystywania indeksów liczbowych:

ZASADY PROGRAMOWANIA KOMPUTERÓW

Podstawy algorytmiki i programowania - wykład 4 C-struktury

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

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

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

Pola i metody statyczne

C-struktury wykład. Dorota Pylak

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

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

( wykł. dr Marek Piasecki )

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wykład 2 Składnia języka C# (cz. 1)

Programowanie komputerowe. Zajęcia 5

Wykład PASCAL - Pliki tekstowe

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

Lab 9 Podstawy Programowania

Metodyki i techniki programowania

Transkrypt:

programowania Wykład: 6 Tablice statyczne 1 dr Artur Bartoszewski - programowania, sem 1 - WYKŁAD

programowania Tablice 2

Tablice Klasyfikacja zmiennych statycznych prosty porządkowy rzeczywisty całkowity logiczny znakowy typ Tablicowy Łańcuchowy złożony rekordowy plikowy 3 dr Artur Bartoszewski - prograowania, sem. 1- WYKŁAD

Tablice Rodzaje tablic Tab - nazwa tablicy 34 56 32-8 45 2 0 13 - wartości Tab(0) Tab(1) Tab(2) Tab(3) Tab(4) Tab(5) Tab(6) Tab(7) - pole nazwa(indeks) 4 dr Artur Bartoszewski - programowania, sem. 1- WYKŁAD

Tablice Tworzenie jednowymiarowych tablic zmiennych - za deklaracją zmiennej podamy liczbę elementów. typ_zmiennej nazwa_zmiennej [liczba_elementow]; liczba_elementów - musi być wartością stałą dosłowną, lub stałą const Np.: int Tablica[ 10 ]; Lub: const STALA = 10; int Tablica[ STALA ]; 5

Tablice 6

Tablice Tablice można tworzyć z: typów fundamentalnych (z wyjątkiem void), typów wyliczeniowych (enum), wskaźników, innych tablic; obiektów typu zdefiniowanego przez użytkownika (czyli klasy), wskaźników do pokazywania na składniki klasy. 7

Tablice Numeracja elementów tablicy zaczyna się od zera. [0][1][2] [n 1] indeksy komórek n-elementowej tablicy Jeśli zdefiniujemy tablicę: int tab[5]; to jest to tablica pięciu elementów typu int. Poszczególne elementy tej tablicy to: tab[0] tab[l] tab[2] tab[3] tab[4] 8

Inicjalizacja tablic Inicjalizacja tablicy - nadanie wartości początkowych w momencie definicji tablicy. Np.: Jest równoznaczne z: int tab[6] = {2, 3, 5, 7, 11, 13 } ; tab[0]=2; tab[l]=3; tab[2]=5; tab[3]=7; tab[4]=11; tab[5]=13; Uwaga: zapis: cout << tab[6]; odnosi się do nieistniejącego elementu tablicy. 9

Inicjalizacja tablic Przy zapisie: int tab[] = {2, 3, 5, 7, 11, 13 }; kompilator domyśli się, że chodzi tablicę 6-cio elementową. Przy zapisie: int tab[6] = {2, 3, 5}; pierwsze trzy elementy zostaną zainicjalizowane podanymi wartościami, pozostałe zerami: tab[0]=2; tab[l]=3; tab[2]=5; tab[3]=0; tab[4]=0; tab[5]=0; 10

Inicjalizacja tablic Uwaga: Code::Blocks dopuszcza konstrukcję: typ_elementów nazwa_tablicy[zmienna]; pozwala ona na tworzenie statycznych tablic o liczbie elementów podanej w zmiennej. Na przykład: int n; cin >> n; double a[n]; Nie jest to standardowe rozwiązanie i może nie być przenośne na inne kompilatory C++. 11

Obsługa tablicy jednowymiarowej tablic for (i=0; i < rozmiar; i++). ; Przykład: Dana jest 6-cio elementowa tablica, Wypisz jeśli wartość w tablicy jest parzysta 12

Inicjalizacja tablic Przykład: Lotto 13

Inicjalizacja tablic Przykład: Lotto c.d. 14

Inicjalizacja tablic Przykład: Lotto c.d. 15

Przekazywanie tablic do funkcji NAZWA TABLICY jest równocześnie ADRESEM JEJ ZEROWEGO ELEMENTU Dla: int tab[10]; zapis: tab jest równoznaczny z &tab[0] Przekazując tablicę do funkcji w rzeczywistości przekazujemy funkcji wskaźnik do tej tablicy. 16

Przekazywanie tablic do funkcji Tablicy nie można przesłać przez wartość. Można tak przesłać pojedyncze jej elementy, ale nie całość. Mamy funkcję o nagłówku: void funkcja (float tab[]); która spodziewa się jako argumentu: tablicy liczb typu float, Taką funkcję wywołujemy na przykład tak: float tablica[4]={ 7, 8.1, 4, 4.12}; funkcja (tablica); 17

II. Tablice Tablice wielowymiarowe 18 dr Artur Bartoszewski - programowania, sem. 1- WYKŁAD

Tablice wielowymiarowe W języku C++ tablice wielowymiarowe to tablice, których elementami są inne tablice. int tab_2d[n][m]; Definicja ta oznacza: tab_2d jest tablicą n-elementową, z których każdy jest m-elementową tablicą (liczb typu int). Uwaga: zapis int tab_2d[n, m] jest błędny. 19

Tablice wielowymiarowe Przykład: int tab_2d[4][3]; Gdzie: tab_2d jest tablicą 4-elementową, z których każdy jest 3-elementową tablicą liczb typu int. [4][3] 0 1 2 0 [0] [0] [0] [1] [0] [2] 1 [1] [0] [1] [1] [1] [2] 2 [2] [0] [2] [1] [2] [2] 3 [3] [0] [3] [1] [3] [2] 20

Tablice wielowymiarowe Elementy takie umieszczane są kolejno w pamięci komputera tak, że najszybciej zmienia się najbardziej skrajny prawy indeks. Stąd, inicjalizacja zbiorcza: int tab[3][2] = {1,2,3,4,5,6}; spowoduje, że elementom tej tablicy zostaną przypisane wartości początkowe tak, jakbyśmy to robili grupą instrukcji: tab[0][0] = 1; tab[0][1] = 2; tab[l][0] = 3; tab[l][1] = 4; tab[2][0] = 5; tab[2][1] = 6; 21

Tablice wielowymiarowe Obsługa tablicy dwuwymiarowej: 22

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Sokół R. : Microsoft Visual Studio 2012 Programowanie w Ci C++, Helion. Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 23 dr Artur Bartoszewski - programowania, sem 1 - WYKŁAD