Podstawy programowania PP – LAB5 Wojciech Pieprzyca.

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Typy strukturalne Typ tablicowy.
Język C/C++ Funkcje.
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Zmienne i Typy.
Programowanie w języku C++. Jak napisać prosty program obliczeniowy lub grę komputerową? Zbigniew Nagórny Pracownia Komputerowa Wyższa Szkoła Humanistyczno-Przyrodnicza.
Programowanie w języku Visual Basic
Języki programowania C++
formatowanie kodu źródłowego
Instrukcje strukturalne
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
ODE Zapytania. Pętla for (1) Do obiektów będących instancjami klas możemy uzyskać dostęp za pomocą pętli for Zakres tej pętli to wszystkie obiekty klasy.
Podstawy informatyki Powtórka Grupa: 1A Prowadzący: Grzegorz Smyk
Podstawy informatyki Informatyka stosowana Prowadzący: Grzegorz Smyk
Wskaźniki. Definiowanie wskaźników Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Real; Przykłady: Wskaźnik.
Tablice.
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Tablice Informatyka Cele lekcji: Wiadomości: Uczeń potrafi:
C++ wykład 2 ( ) Klasy i obiekty.
Tablice jednowymiarowe 1
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Podstawy programowania PP – WYK3 Wojciech Pieprzyca.
Podstawy programowania
Podstawy programowania PP – WYK2 Wojciech Pieprzyca.
Podstawy programowania PP – LAB6 Wojciech Pieprzyca.
Podstawy programowania PP – WYK5 Wojciech Pieprzyca.
Podstawy programowania
Podstawy programowania PP - LAB1 Wojciech Pieprzyca.
Podstawy programowania PP – LAB4 Wojciech Pieprzyca.
Wykład 2 struktura programu elementy języka typy zmienne
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Podstawy programowania
Podstawy informatyki (4)
Programowanie obiektowe III rok EiT
Jerzy F. Kotowski1 Informatyka I Wykład 9 TABLICE PREPROCESOR OPERATORY c.d. (nie tylko binarne)
Podstawy informatyki 2013/2014
Wskaźnik może wskazywać na obiekt dowolnego typu. int * w; char * Wsk_Znak; float * Wskaz_Float; Przykład: Wskaźnik przechowuje adres obiektu wskazanego.
struct nazwa { lista składników }; Dostęp do składowych struktury Nazwa_Zmniennej_Strukturalnej. Nazwa_Składnika.
Podstawy programowania
TABLICE C++.
Łódź, 3 października 2013 r. Katedra Analizy Nieliniowej, WMiI UŁ Podstawy Programowania Złożona składnia języka C++
Podstawy programowania
Podstawy programowania w języku C i C++
Andrzej Repak Nr albumu
Jerzy Kotowski Politechnika Wrocławska
Tablice. Tablica struktura danych, służy do przechowywania danych tego samego typu, zapisana w pamięci w sposób ciągły. Deklaracja tablicy PascalC++,
Podstawy języka Instrukcje - wprowadzenie
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski 1 informatyka +
Programowanie strukturalne i obiektowe C++
Zmienne i typy danych w C#
Modele pamięci Tiny - mikroskopijny do 64 K zmienne inicjalizowane kod programu zmienne nie inicjalizowane HEAP (sterta) obszar wolny STACK (stos) Model.
Tablice Zajęcia 8. Definicja Tablica (z ang. array) jest zmienną złożoną, która składa się z ciągu elementów tego samego typu. W pamięci komputera tablica.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Wstęp do programowania wykład 3 Typy wyliczeniowe, tablice.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Wskaźniki Elżbieta Labocha.
Dane, zmienne, instrukcje
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

Podstawy programowania PP – LAB5 Wojciech Pieprzyca

Tablice (1) Tablica jest ciągiem danych złożonym z elementów tego samego typu. Kolejne elementy tablicy zajmują kolejne komórki w pamięci operacyjnej. Elementy tablicy numerowane są od zera (0) !!! Deklaracja typu tablicowego: typ nazwa[liczba_elementow]; Przykłady deklaracji: int liczby[5]; char znaki[10]; float tab[12];

Tablice (2) Sama deklaracja tablicy danych nie przyporządkowuje jej żadnych konkretnych wartości, a jedynie rezerwuje odpowiednio wielki obszar pamięci operacyjnej na te dane. Tablice mogą być tworzone z następujących elem. : typów podstawowych (int, float, double, char, itp.), typów wyliczeniowych, wskaźników, innych tablic, klas obiektów,

Tablice (3) Tablica zadeklarowana jako: int liczby[5]; składa się z 5 elementów zawierających wartości typu całkowitego tj. int. Do poszczególnych elementów możemy odnieść się przy użyciu indeksów: liczby[0] – pierwszy element tablicy, liczby[1] – drugi element tablicy, liczby[2] – trzeci element tablicy, liczby[3] – czwarty element tablicy, liczby[4] – piąty element tablicy. Jak widzimy, dla tablicy pięcioelementowej, pierwszy element tablicy ma indeks 0, a ostatni indeks 4.

Tablice (4) Wartości poszczególnym elementom tablicy możemy nadać poprzez zwykły operator przypisania: liczby[0] = 10; liczby[1] = 13; liczby[2] = 7; liczby[3] = 13; liczby[4] = 2; W szczególności już w czasie deklaracji typu tablicowego możemy dokonać jednoczesnego przypisania danych do tablicy: Int liczby[5] = {10, 13, 7, 13, 2}

Tablice (5) Operacje tablicowe wykonywane są często z użyciem pętli for. Wynika to z tego, że zazwyczaj znana jest liczba elementów tablicy, a zatem pętla for doskonale nadaje się do tego typu zadań. Przykład wyświetlający 10 elementów tablicy liczbowej: int tab[10] = {2,4,6,8,11,13,15,17,19,21}; for (int i=0; i<10; i++) cout << Element << i << = << tab[i] << endl;

Tablice (6) Przykład wyświetlający 10 elementów tablicy liczbowej w odwrotnej kolejności: int tab[10] = {2,4,6,8,11,13,15,17,19,21}; for (int i=9 i>=0; i--) cout << Element << i << = << tab[i] << endl; Przykład wyświetlający co drugi element tablicy liczbowej: int tab[10] = {2,4,6,8,11,13,15,17,19,21}; for (int i=0; i<10; i=i+2) cout << Element << i << = << tab[i] << endl;

Tablice (7) Tak jak wspomnieliśmy na początku, elementy tablicy umieszczone są jako kolejne komórki pamięci. Rozmiar tych komórek jest uzależniony od typu danych umieszczonych w tablicy. Przykładowo rozmiar jednego elementu typu całkowitego int wynosi 4 bajty. 10 elementowa tablica liczb zajmować będzie zatem 40 bajtów. Przy założeniu, że komórki zajmować będą miejsce w pamięci od adresu x, ich rozmieszczenie będzie następujące: adres x – pierwsza komórka z elementem tab[0] x+4 – druga komórka z elementem tab[1] x+8 – trzecia komórka z elementem tab[2] … x+36 – dziesiątą komórka z elementem tab[9] Podobnie byłoby w przypadku innych typów danych, należałoby jedynie zmienić rozmiar komórek.

Tablice (8) Poniższy program wyświetla adresy kolejnych komórek pamięci w których umieszczono elementy tablicy zawierającej 10 liczb całkowitych. int tab[10] = {2,4,6,8,11,13,15,17,19,21}; for (int i=0; i<10; i++) cout << Element << i << = << (long)&tab[i] << endl; Adres elementu wyznaczany jest za pomocą operatora &. Ponieważ domyślnie zwracana jest liczba w notacji szesnastkowej (heksadecymalnej) dodatkowo dokonujemy konwersji na typ long.

Ćwiczenia (1) 1)Napisz program pobierający z klawiatury 10 liczb całkowitych, a następnie wyświetlający wartość największą i najmniejszą z wczytanych liczb. 2) Napisz program wczytujący z klawiatury 10 liczb całkowitych. Program ma znaleźć drugi co do wielkości wyraz podanego ciągu liczb (czyli liczbę mniejszą od największej liczby występującej w ciągu, ale większą od wszystkich pozostałych). 3) Napisz program pobierający z klawiatury 5 dodatnich liczb rzeczywistych do pierwszej tablicy, a następnie zapisujący do drugiej tablicy kwadraty tych liczb, a do trzeciej tablicy pierwiastki wczytanych liczb. Po zakończeniu przetwarzania należy wyświetlić zawartość wszystkich trzech tablic.

Ćwiczenia (2) 4) Wczytać z klawiatury 5 liczb całkowitych, a następnie dokonać zamiany pierwszego z ostatnim elementem (czyli tab[0] z tab[4]). 5) Wczytać z klawiatury 5 liczb całkowitych, a następnie dokonać zamiany kolejności elementów w tablicy na odwrotną tzn. tab[0],tab[1],…,tab[4] na tab[4],tab[3],…,tab[0]. 6) Wczytać z klawiatury 10 liczb całkowitych, a następnie wyświetlić tylko te które są parzyste i znajdują się w przedziale. 7) Zapisz do tablicy 20 elementów ciągu zgodnie z wzorem: S0 = 1, Sn = Sn-1+4. Następnie wyświetl elementy tablicy, ale tylko o parzystych indeksach.

Tablice wielowymiarowe (1) Tablice wielowymiarowe w przypadku dwóch wymiarów można porównać do macierzy elementów, które znamy z matematyki albo do współrzędnych dwuwymiarowego układu kartezjańskiego XY. Tablica trójwymiarowa z kolei może być utożsamiona np. z punktem w przestrzeni 3D o współrzędnych (x,y,z). Tablice o więcej niż 3 wymiarach są raczej rzadkością, gdyż korzystanie z nich jest kłopotliwe. Deklaracja tablicy wielowymiarowej ma następującą składnię: typ nazwa[rozmiar_wymiaru_1][rozmiar_wymiaru_2]…[rozmiar_wymiaru_N]; Przykładowo: int tab[2][3] – macierz liczb 2x3, int tab[2][2][2] – trójwymiarowa przestrzeń liczbowa o rozmiarach 2x2x2.

Tablice wielowymiarowe (2) Dwuwymiarowa tablica liczb 2x3 (macierz 2x3) x11 x12 x13 x24 x25 x26 Do poszczególnych elementów możemy odwołać się w następujący sposób: tab[0][0] tab[0][1] tab[0][2] tab[1][0] tab[1][1] tab[1][2] Jak widać, pierwszy indeks wskazuje na wiersz w którym znajduje się dany element, a drugi indeks na kolumnę.

Tablice wielowymiarowe (3) Przykładowy program będzie wyświetlał zawartość tablicy dwuwymiarowej o rozmiarze 2x3. Wykorzystamy w tym celu zagnieżdżoną pętlę for. Pierwsza z pętli for operująca indeksem i porusza się po wszystkich wierszach (i=0,1). Druga pętla for wykorzystująca indeks j porusza się po wszystkich kolumnach (j=0,1,2). int tab[2][3] = { {1,2,3},{4,5,6} }; for (int i=0; i<2; i++) for (int j=0; j<3; i++) cout << Element [ << i << ][ << j << = << tab[i][j] << endl;

Tablice znakowe Tablice znakowe jak wskazuje sama nazwa przechowują ciągi znaków. Tablica znakowa o z góry zadeklarowanym rozmiarze nie zawsze ma wypełnione wszystkie komórki. Koniec tekstu (ciągu znaków) oznaczany jest w tablicy za pomocą wartości NULL. char tekst[20]; W tej tablicy możemy zapisać do 20 znaków. Każda litera tekstu zapisana jest w osobnej komórce tablicy. Oznacza to, że do pierwszej litery możemy odwołać się pisząc tekst[0].

Ćwiczenia (3) Napisz program wczytujący zawartość jednej macierzy o rozmiarach 3x3, a następnie wyświetlający sumę wszystkich elementów macierzy oraz element maksymalny i minimalny. Napisz program wczytujący zawartość dwóch macierzy A i B o rozmiarach 2x2 i wpisujący do trzeciej macierzy C sumy poszczególnych elementów macierzy A i B. Napisz program obliczający wyznacznik macierzy o rozmiarze 3x3. Napisz program pytający o dowolny wyraz i wyświetlający 1, 3 i 5 znak tego wyrazu.