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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transkrypt

1 Program 6 Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje: Funkcja pobierz_osobe wczytuje dane osoby podanej jako argument. Funkcja wypisz_osobe wypisująca dane osoby podanej jako argument. struct osoba string imie, nazwisko; int wiek; ; void pobierz_osobe(osoba &o); void wypisz_osobe(osoba o); const int liczba_osob = 3; osoba klasa[liczba_osob]; for (int i=0; i<liczba_osob; i++) pobierz_osobe(klasa[i]); cout << "\n\nsklad klasy: \n"; for (int i=0; i<liczba_osob; i++) wypisz_osobe(klasa[i]); void pobierz_osobe(osoba &o) cout << "imie: "; cin >> o.imie; cout << "nazwisko: "; cin >> o.nazwisko; cout << "wiek: "; cin >> o.wiek; void wypisz_osobe(osoba o)

2 cout << "imie: " << o.imie << "\n"; cout << "nazwisko: " << o.nazwisko << "\n"; cout << "wiek: " << o.wiek << "\n\n"; Omówienie programu Definicja struktury o nazwie osoba: struct osoba string imie, nazwisko; int wiek; ; Kilka słów o strukturach Co to jest struktura? Struktura to typ danych, podobnie jak np. typ całkowity oznaczany int. JeŜeli chcemy zdefiniować zmienną typu int o nazwie a robimy to następująco: int a; Zmienna a to jedna liczba całkowita. JeŜeli np.: a=14; wówczas zmiennej a nadajemy wartość 14. Co moŝemy opisać przy pomocy jednej zmiennej całkowitej? Np. wiek, rok, numer domu, odległość czyli wszystko to co czego wartością moŝe być jedna liczba całkowita. A czy moŝemy jedną liczbą całkowitą (czy rzeczywistą) opisać punkt na płaszczyźnie? Jedna liczba to oczywiście za mało. Musimy mieć dwie liczby poniewaŝ punkt na płaszczyźnie ma dwie współrzędne. A iloma liczbami moŝemy opisać samochód? Takich liczb jest wiele zaleŝnie od tego jak dokładnie chcemy opisać samochód np.: ilość miejsc, ilość drzwi, zuŝycie benzyny, prędkość maksymalna, pojemność bagaŝnika. W opisie samochodu moŝemy wykorzystywać nie tylko liczby, ale i ciągi znaków (typ string). Np.: marka samochodu to nie liczba to właśnie ciąg znaków. A jak opisać osobę? Osoba posiada m.in. imię i nazwisko oraz wiek. A zatem aby opisać osobę moŝemy wykorzystać liczbę (wiek) i dwa ciągi znaków (imię i nazwisko). Oczywiście moŝemy podać inne cechy osoby: numer telefonu, numer pesel, data urodzenia etc. W

3 powyŝszym programie wykorzystano tylko trzy: imię (typ string), nazwisko (typ string) i wiek (typ int). W tworzeniu takich złoŝonych obiektów jak omówione powyŝej (punkt na płaszczyźnie, samochód, osoba) wykorzystujemy tzw. struktury. KaŜdy z tych obiektów moŝna zadeklarować jako strukturę. Deklaracja struktury ma następującą postać: struct nazwa_struktury typ_pola1 nazwa_pola1; typ_pola2 nazwa_pola2; typ_pola3 nazwa_pola3; ; RozwaŜmy na przykład strukturę punkt: struct punkt int x; int y; ; [ RównowaŜnie struct punkt int x,y; ;] Struktura punkt ma dwa pola typu int (x i y). Interpretujemy je jako współrzędne punktu. Mając zadeklarowaną strukturę punkt moŝemy definiować zmienne (nazywane teŝ obiektami) typu punkt podobnie jak moŝemy definiować zmienne typu int: punkt p; int z; W pierwszej linijce zdefiniowaliśmy zmienną o nazwie p typu punkt. W drugiej zmienną o nazwie z typu int. JeŜeli chcemy nadać wartość zmiennej p robimy to następująco: P=8;

4 lub cin>>p; Zmienna typu punkt posiada dwa pola całkowite (x i y). JeŜeli chcemy nadać wartości x i y zmiennej p zdefiniowanej powyŝej robimy to następująco: p.x=9; p.y=13; p.x to pole x zmiennej p, p.x to pole x zmiennej p. A zatem współrzędna x punktu p ma wartość 9, współrzędna y punktu p ma wartość 13. Oczywiście moŝemy zdefiniować inną zmienną typu punkt: punkt sk; sk.x=6; cin>>sk.y; Pole x (czyli współrzędna) punktu sk ma wartość 6. Wartość pola y wprowadzamy z klawiatury. RozwaŜmy teraz strukturę osoba z powyŝszego programu: struct osoba string imie, nazwisko; int wiek; ; Struktura ta ma trzy pola: dwa pola będące ciągami znaków (typ string) imie, nazwisko i jedno pole liczbowe (typ int) wiek. RozwaŜmy następujący program: struct osoba string imie, nazwisko; int wiek; ; osoba mama;

5 mama.imie="maria"; mama.nazwisko="nowak"; mama.wiek=35; cout << "imie: " << mama.imie <<endl; cout << "nazwisko: " << mama.nazwisko <<endl; cout << "wiek: " << mama.wiek <<endl; W programie tym zadeklarowana jest struktura osoba: struct osoba string imie, nazwisko; int wiek; ; Dalej zdefiniowana jest zmienna typu osoba o nazwie mama: osoba mama; Pole imie zmiennej mama ma wartość Maria. Pole nazwisko zmiennej mama ma wartość Nowak. Pole wiek zmiennej mama ma wartość 35: mama.imie= Maria ; mama.nazwisko= Nowak ; mama.wiek=35; Następnie mamy instrukcje, które wypisują na ekran pola imie, nazwisko i wiek zmiennej mama (zmienna ta jest typu osoba): cout << "imie: " << mama.imie <<endl; cout << "nazwisko: " << mama.nazwisko <<endl; cout << "wiek: " << mama.wiek <<endl; Wróćmy teraz do zasadniczego (strona 1) programu. UŜyte są w nim dwie funkcje: void pobierz_osobe(osoba &o); void wypisz_osobe(osoba o); Powtórzmy kilka faktów dotyczących funkcji w języku C++.

6 Kilka słów o funkcjach Funkcja (procedura, podprogram) to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu. RozwaŜmy następujący program: cout<<" * "<<endl; cout<<" *** "<<endl; cout<<"*****"<<endl; Wynikiem działania tego programu będzie choinka: * *** ***** Aby otrzymać trochę bardziej skomplikowaną (wyŝszą) choinkę * *** ***** * *** ***** musimy następująco zmodyfikować nasz program: cout<<" * "<<endl; cout<<" *** "<<endl; cout<<"*****"<<endl;

7 cout<<" * "<<endl; cout<<" *** "<<endl; cout<<"*****"<<endl; MoŜemy jednak postąpić inaczej. Zdefiniujmy funkcję choinka() która będzie rysowała: * *** ***** Za kaŝdy razem gdy będziemy chcieli uzyskać powyŝszy obrazek wywołamy funkcję choinka(). Zobaczmy jak teraz wygląda nasz program: void choinka() cout<<" * "<<endl; cout<<" *** "<<endl; cout<<"*****"<<endl; Definicja funkcji choinka() choinka(); Wywołanie funkcji choinka() Aby uzyskać wyŝszą choinkę musimy wywołać funkcję choinka() więcej razy. JeŜeli wywołamy funkcję choinka() 3 razy czyli wpiszemy w powyŝszym programie: choinka(); choinka(); choinka(); otrzymamy:

8 * *** ***** * *** ***** * *** ***** Funkcja choinka() nie posiada Ŝadnego argumentu. RozwaŜmy funkcję: void kwadrat(int x) Funkcja kwadrat posiada jeden argument całkowity x (int x). Działanie funkcji kwadrat polega na wypisaniu liczby całkowitej przesłanej do niej jako argument. Na przykład wywołanie funkcji: kwadrat(5); kwadrat(3); spowoduje wypisanie na ekranie liczby 25 (pierwsza linijka) i 9 (druga linijka). Cały program wygląda następująco: void kwadrat(int x) kwadrat(5); kwadrat(3);

9 Argumentem funkcji moŝe być dowolna zmienna takiego samego typu jak argument. Np. int c=4; kwadrat(c); W efekcie na ekranie zostanie wypisana liczba 16 czyli kwadrat liczby 4 będącej wartością zmiennej c (zauwaŝmy, Ŝe typ argumentu funkcji tzn. int jest taki sam jak typ zmiennej c). Cały program wygląda następująco: void kwadrat(int x) int c=4; cout<<c<<endl; kwadrat(c); cout<<c<<endl; Na początku mamy definicję zmiennej c typu int i nadanie jej wartości 4: int c=4; Następna linijka to wypisanie wartości zmiennej c czyli 4. W następnej linijce mamy wywołanie funkcji kwadrat(c) z argumentem c. Co się dzieje w czasie takiego wywołania funkcji kwadrat? Wartość zmiennej lokalnej (lokalnej bo określonej wewnątrz funkcji kwadrat) x będzie równa wartości zmiennej c czyli 4. Na ekran zostanie wypisana wartość x*x czyli 4*4 a zatem 16. Na końcu zostanie wypisana znowu wartość zmiennej c czyli 4.

10 Czyli otrzymamy: RozwaŜmy teraz następującą modyfikację funkcji kwadrat(): void kwadrat(int x) x=x*x; Pierwsza linijka odpowiedzialna za wypisanie kwadratu argumentu funkcji x jest bez zmian: W drugiej linijce mamy następującą instrukcję: x=x*x; Oznacza to, Ŝe nowa wartości zmiennej x równa jest kwadratowi dotychczasowej wartości. RozwaŜmy nasz program z tak zmodyfikowaną funkcją kwadrat: void kwadrat(int x) x=x*x; Modyfikacja int c=4; cout<<c<<endl; kwadrat(c);

11 cout<<c<<endl; Czy zmieni się działanie naszego programu po takiej modyfikacji funkcji kwadrat? Początek jest bez zmian - definicja zmiennej c typu int i nadanie jej wartości 4: int c=4; Następna linijka to wypisanie wartości zmiennej c czyli 4. W następnej linijce mamy wywołanie funkcji kwadrat(c) z argumentem c. W efekcie na ekranie zostanie wypisana liczba 16 (kwadrat 4) bo w funkcji mamy pierwszą linijkę: PoniewaŜ druga linijka funkcji wygląda następująco: x=x*x; zatem nowa wartość zmiennej lokalnej x będzie wynosiła 16 (bo dotychczasowa wartość była równa 4). Wartość ta nie jest jednak wypisana na ekranie. Na końcu zostanie wypisana znowu wartość zmiennej c czyli 4 (bo mamy linijka: cout<<c<<endl;). W efekcie otrzymamy: Wprowadźmy teraz pewną waŝną modyfikację do funkcji kwadrat(): void kwadrat(int &x) x=x*x; Modyfikacja zamiast int x int &x

12 Zobaczmy jaki będzie wynik naszego program z tak zdefiniowaną funkcją kwadrat. A zatem teraz w wyniku wywołania instrukcji: cout<<c<<endl; pojawi się nie liczba 4 ale 16! Dlaczego? W tym przypadku zamiast wartości zmiennej c czyli liczby 4 do funkcji został wysłany adres (adres zmiennej x to &x patrz definicja funkcji) zmiennej c w pamięci komputera. Ten adres funkcja sobie odebrała i stworzyła tzw. referencję czyli powiedziała sobie coś takiego: Dobrze, zatem komórce pamięci o przesłanym adresie nadaję pseudonim (nazwę) x. ZauwaŜmy, Ŝe do funkcji został przesłany adres zmiennej c bo wywołanie funkcji ma postać: kwadrat(c); A zatem wewnątrz funkcji kwadrat komórka pamięci o nazwie x to ta sama komórka co komórka o nazwie c poza funkcją. Po prostu ta sama komórka pamięci inaczej nazywa się wewnątrz funkcji kwadrat (nazwa x) i poza nią (nazwa c). W efekcie operacja: x=x*x; polega na pobraniu zawartości komórki o nazwie x (czyli liczby 4 przypomnijmy jeszcze raz, Ŝe to jest ta sama komórka która poza funkcją kwadrat ma nazwę c) i umieszczeniu w tej komórce nowej wartości równej 4*4 czyli 16. W efekcie zmianie ulega wartość zmiennej c!! I dlatego na końcu wypisana jest liczba 16. Oczywiście funkcja moŝe posiadać kilka argumentów. Zapamiętajmy na koniec, Ŝe przesłanie argumentu do funkcji bez & nazywamy przesłaniem przez wartość, natomiast przesłanie argumentu z & nazywamy przesłaniem przez referencję.

13 I wreszcie omówienie programu Czas powrócić (wreszcie ) do omówienia programu ze strony pierwszej. Mamy tam zdefiniowaną strukturę osoba: struct osoba string imie, nazwisko; int wiek; ; Mówiliśmy juŝ o niej powyŝej. Następnie mamy deklaracje funkcji uŝytych w programie: void pobierz_osobe(osoba &o); void wypisz_osobe(osoba o); Definicja funkcji pobierz_osoba wygląda następująco: void pobierz_osobe(osoba &o) cout << "imie: "; cin >> o.imie; cout << "nazwisko: "; cin >> o.nazwisko; cout << "wiek: "; cin >> o.wiek; ZauwaŜmy, Ŝe argument funkcji typu osoba jest przesłany przez referencję. Oznacza to, Ŝe funkcja moŝe zmienić wartości pól przesłanej do niej zmiennej typu osoba. I tak jest rzeczywiście, poniewaŝ działanie funkcji pobierz_osoba polega na pobraniu z klawiatury wartości pól imie, nazwisko i wiek zmiennej typu osoba przesłanej do funkcji przez referencję. Działanie funkcji wypisz_osoba: void wypisz_osobe(osoba o) cout << "imie: " << o.imie << "\n"; cout << "nazwisko: " << o.nazwisko << "\n"; cout << "wiek: " << o.wiek << "\n\n"; polega na wypisaniu wartości pól imie, nazwisko i wiek zmiennej typu osoba przesłanej do funkcji przez wartość.

14 Funkcja main() w omawianym programie wygląda następująco: const int liczba_osob = 3; osoba klasa[liczba_osob]; for (int i=0; i<liczba_osob; i++) pobierz_osobe(klasa[i]); cout << "\n\nsklad klasy: \n"; for (int i=0; i<liczba_osob; i++) wypisz_osobe(klasa[i]); Pierwsza linijka to definicja stałego obiektu typu int o nazwie liczba_osob i nadanie mu wartości 3: const int liczba_osob = 3; Słowo const oznacza, Ŝe wartość liczba_osob nie moŝe być juŝ zmieniona. Następna linijka to definicja 3-elemetowej (3-elementowej bo liczba_osob=3) tablicy typu osoba o nazwie klasa: osoba klasa[liczba_osob]; (UWAGA: tak jak moŝemy definiować tablice zawierające np. liczby całkowite (int), rzeczywiste (float) czy znaki (char) moŝemy teŝ definiować tablice zawierające osoby, jeŝeli tylko typ osoba został zdefiniowany. W naszym przypadku typ osoba został zdefiniowany bo mamy definicję struktury osoba) Następnie mamy w programie pętle for dzięki której moŝemy wpisać wartości pól imie, nazwisko i wiek w przypadku kaŝdego elementu tablicy klasa. Odbywa się to w ten sposób, Ŝe kolejno do funkcji pobierz_osobe przesyłamy jako argument: klasa[0] (dla i=0), klasa[1] (dla i=1), klasa[2] (dla i=2). W efekcie pętla równowaŝna jest trzem wywołaniom funkcji pobierz_osobe: pobierz_osobe(klasa[0]); pobierz_osobe(klasa[1]); pobierz_osobe(klasa[2]);

15 Druga pętla wygląda bardzo podobnie z tą róŝnicą, Ŝe zamiast funkcji pobierz_osobe wywoływana jest w niej trzy razy funkcja wypisz_osobe: wypisz_osobe(klasa[0]); wypisz_osobe(klasa[1]); wypisz_osobe(klasa[2]);

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog); Program 19 Zadeklarować strukturę Student o polach: Imie, Nazwisko (ciągi znaków), Oceny (pięcioelementowa tablica wartości rzeczywistych reprezentujących oceny studenta) i Semestr_zaliczony (wartość logiczna

Bardziej szczegółowo

Program 14. #include <iostream> #include <ctime> using namespace std;

Program 14. #include <iostream> #include <ctime> using namespace std; Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału

Bardziej szczegółowo

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku.

Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. Program 7 Program dopisujący gwiazdkę na końcu pliku tekstowego o nazwie podanej przez uŝytkownika oraz wypisujący zawartość tego pliku. #include #include using namespace std; int main()

Bardziej szczegółowo

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; }; Program 22 Zadeklarować strukturę Osoba przechowującą dane osoby: imię, nazwisko (ciągi znaków), płeć (pojedynczy znak) oraz rok urodzenia (liczba całkowita). Napisać następujące funkcje: funkcje pobierającą

Bardziej szczegółowo

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi:

1,3,4,2,3,4,0,1,4,5,0. Wówczas największa suma trzech kolejnych liczb (zaznaczone na czerwono) wynosi: Program 20 Napisać następujące funkcje: funkcję pobierającą (z klawiatury) zawartość tablicy liczb całkowitych podanej jako parametr, o długości podanej jako parametr; funkcję wypisującą zawartość tablicy

Bardziej szczegółowo

Algorytmy i język C++

Algorytmy i język C++ Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy

Bardziej szczegółowo

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja

Bardziej szczegółowo

VII. Ciągi znaków łańcuchy

VII. Ciągi znaków łańcuchy VII. Ciągi znaków łańcuchy 7.1. Wczytywanie tekstu Do tej pory poznaliśmy metodę wczytywania i wyświetlania liczb. Tak samo jak liczby moŝemy wczytać jeden znak, jednak co zrobić jeśli chcielibyśmy wczytać

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

Programowanie strukturalne i obiektowe. Funkcje Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy

Bardziej szczegółowo

Przekazywanie argumentów wskaźniki

Przekazywanie argumentów wskaźniki Przekazywanie argumentów wskaźniki klasyczne wywołanie wyliczenie i zwrotne przekazanie tylko jednej wielkości moŝliwość uŝycia zmiennych globalnych niebezpieczeństwa z tym związane wyjście wywołanie funkcji

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

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

int suma; pralka czerwona; // definicja egzemplarza obiektu pralka * wskaŝ; // definicja wskaźnika pralka & ruda = czerwona; // definicja referencji

int suma; pralka czerwona; // definicja egzemplarza obiektu pralka * wskaŝ; // definicja wskaźnika pralka & ruda = czerwona; // definicja referencji Pojęcie klasy Typ zmiennych informuje: o ich rozmiarze w pamięci, jaki rodzaj informacji mogą zawierać, jakie działania moŝna na nich wykonywać. W C++ dane mogą zostać powiązane z funkcjami - znaczy to,

Bardziej szczegółowo

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Struktury Struktura polami struct struct struct struct

Struktury Struktura polami struct struct struct struct Struktury Struktura jest zbiorem zmiennych występujących pod wspólna nazwą. Zmienne wchodzące w skład struktury nazywane są polami lub elementami, a czasem członkami struktury. Struktury używamy, jeśli

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

Rozdział 4 KLASY, OBIEKTY, METODY

Rozdział 4 KLASY, OBIEKTY, METODY Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej

Bardziej szczegółowo

Pliki. Informacje ogólne. Obsługa plików w języku C

Pliki. Informacje ogólne. Obsługa plików w języku C Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego

Bardziej szczegółowo

Część 4 życie programu

Część 4 życie programu 1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część

Bardziej szczegółowo

C-struktury wykład. Dorota Pylak

C-struktury wykład. Dorota Pylak C-struktury wykład Dorota Pylak C-struktury W języku C++, jak w każdym języku obiektowym, mamy możliwość definiowania własnych typów danych, wraz z określeniem operacji, jakie na tych danych można wykonywać.

Bardziej szczegółowo

Język C++ zajęcia nr 2

Język C++ zajęcia nr 2 Język C++ zajęcia nr 2 Inicjalizacja Definiowanie obiektu może być połączone z nadaniem mu wartości początkowej za pomocą inicjalizatora, który umieszczany jest po deklaratorze obiektu. W języku C++ inicjalizator

Bardziej szczegółowo

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu. Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody

Bardziej szczegółowo

Struktury typ definiowany przez uŝytkownika.

Struktury typ definiowany przez uŝytkownika. Struktury typ definiowany przez uŝytkownika. Na tej lekcji nauczymy się, jak grupować dane róŝnych typów, umieszczając je w pojedynczej zmiennej. Nauczymy się tworzyć nowe, zdefiniowane przez siebie typy

Bardziej szczegółowo

Podstawy Programowania Podstawowa składnia języka C++

Podstawy Programowania Podstawowa składnia języka C++ Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include

Bardziej szczegółowo

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium, EE1-DI)

Język C, tablice i funkcje (laboratorium, EE1-DI) Język C, tablice i funkcje (laboratorium, EE1-DI) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy: Kurs C++ częśd II Podstawowa obsługa konsoli + zmienne. Autor: Dawid Chróścielski. Wprowadzanie i wyprowadzanie danych z/do konsoli. Jak wyprowadzad dane dowiedzieliśmy się już wcześniej (metoda cout z

Bardziej szczegółowo

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50.

referencje Wykład 2. Programowanie (język C++) Referencje (1) int Num = 50; zdefiniowano zmienną Num (typu int) nadając jej wartość początkową 50. Programowanie (język C++) referencje Wykład 2. Referencje (1) Referencja (odnośnik) jest zmienną identyfikującą inną zmienną. Wykonanie operacji na referencji ma taki sam skutek, jak wykonanie tejŝe operacji

Bardziej szczegółowo

Tablicę 2-wymiarową można przedstawić jako pewien zestaw tablic 1-wymiarowych np.:

Tablicę 2-wymiarową można przedstawić jako pewien zestaw tablic 1-wymiarowych np.: emat zajęć: ablice wielowymiarowe i struktury w języku C Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (ablice liczbowe wielowymiarowe) ablicę 2-wymiarową można przedstawić jako pewien zestaw tablic

Bardziej szczegółowo

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja

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

Język C zajęcia nr 12. Struktury i unie

Język C zajęcia nr 12. Struktury i unie Język C zajęcia nr 12 Struktury i unie Struktura jest zgromadzonym pod jedną nazwą zbiorem elementów nazywanych polami lub składowymi. Pola mają swoje odrębne nazwy (podobnie jak zmienne) i mogą przechowywać

Bardziej szczegółowo

Wstęp do Programowania, laboratorium 02

Wstęp do Programowania, laboratorium 02 Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite

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

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

1 Wskaźniki. 1.1 Główne zastosowania wskaźników 1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania dr Elżbieta Gawrońska gawronska@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej dr Elżbieta Gawrońska (ICIS) Podstawy Programowania 11 1 / 18 Plan wykładu 1 Typ wyliczeniowy

Bardziej szczegółowo

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:

Zadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak: Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.

Bardziej szczegółowo

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego

Bardziej szczegółowo

Pytania sprawdzające wiedzę z programowania C++

Pytania sprawdzające wiedzę z programowania C++ Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?

Bardziej szczegółowo

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec PROE wykład 2 operacje na wskaźnikach dr inż. Jacek Naruniec Zmienne automatyczne i dynamiczne Zmienne automatyczne: dotyczą kontekstu, po jego opuszczeniu są usuwane, łatwiejsze w zarządzaniu od zmiennych

Bardziej szczegółowo

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.

Zadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. Zadania język C++ Zad. 1 Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. (Być moŝe są w tym samym wieku. Zrób w programie warunek,

Bardziej szczegółowo

Język C, tablice i funkcje (laboratorium)

Język C, tablice i funkcje (laboratorium) Język C, tablice i funkcje (laboratorium) Opracował: Tomasz Mączka (tmaczka@kia.prz.edu.pl) Wstęp (tablice) Tablica to uporządkowany ciąg elementów tego samego typu, zajmujących ciągły obszar pamięci.

Bardziej szczegółowo

PDF stworzony przez wersję demonstracyjną pdffactory Pro Program 15

PDF stworzony przez wersję demonstracyjną pdffactory Pro  Program 15 Program 15 Program zawierający następujące funkcje: funkcję wczytującą elementy do tablicy liczb całkowitych podanej jako parametr (długość tablicy również ma być podana jako parametr); funkcję wypisującą

Bardziej szczegółowo

Deklaracja i definicja metod, zwracanie wartości z metod, przekazywania parametrów do metod

Deklaracja i definicja metod, zwracanie wartości z metod, przekazywania parametrów do metod Definiowanie klas w C#, składowe klasy, modyfikatory dostępu do klas i składowych klas Deklaracja i definicja metod, zwracanie wartości z metod, przekazywania parametrów do metod Zadanie 1 Napisz program

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

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

Zmienne i struktury dynamiczne

Zmienne i struktury dynamiczne Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc

Bardziej szczegółowo

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

Operator przypisania. Jest czym innym niż konstruktor kopiujący! Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&

Bardziej szczegółowo

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie. XV. Wskaźniki 15.1. Odczytywanie adresu pamięci istniejących zmiennych Język C++ w bardzo łatwy sposób umoŝliwia nam pobieranie adresu pamięci wybranych zmiennych. Wskaźnik zajmuje zazwyczaj 4 bajty bez

Bardziej szczegółowo

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi. Program 3 Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy póki nam sie nie znudzi. #include using namespace std; int main() int odp,a,m; bool pierwsze_podanie =

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

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; }

for (inicjacja_warunkow_poczatkowych; wyrazenie_warunkowe; wyrazenie_zwiekszajace) { blok instrukcji; } Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo

Bardziej szczegółowo

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach Tablice Powiedzmy, że chcemy zapamiętać w programie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Akademia ETI Marcin Jurkiewicz

Akademia ETI Marcin Jurkiewicz Akademia ETI Marcin Jurkiewicz Fakt W informatyce nic nie robi się od zera! Zatem my również będziemy korzystali z szablonów. Najczęściej będziemy troszkę zmieniać programy już napisane na slajdach. Pierwszy

Bardziej szczegółowo

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2)

Globalne / Lokalne. Wykład 15. Podstawy programowania (język C) Zmienne globalne / lokalne (1) Zmienne globalne / lokalne (2) Podstawy programowania (język C) Globalne / Lokalne Wykład 15. Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Zmienne globalne / lokalne (1) int A, *Q; // definicja zmiennych globalnych

Bardziej szczegółowo

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec

PROE wykład 3 klasa string, przeciążanie funkcji, operatory. dr inż. Jacek Naruniec PROE wykład 3 klasa string, przeciążanie funkcji, operatory dr inż. Jacek Naruniec Przypomnienie z ostatnich wykładów Konstruktory/destruktory i kolejność ich wywołania w złożonej klasie. Referencja Obiekty

Bardziej szczegółowo

XVII. Funkcje w C++ 17.1. Ogólna budowa funkcji. 17.2. Definicja funkcji. 17.2.1. Co waŝnego powinniśmy wiedzieć o funkcjach

XVII. Funkcje w C++ 17.1. Ogólna budowa funkcji. 17.2. Definicja funkcji. 17.2.1. Co waŝnego powinniśmy wiedzieć o funkcjach XVII. Funkcje w C++ 17.1. Ogólna budowa funkcji Do tej pory miałeś okazję niejednokrotnie wykorzystywać istniejące funkcje we własnych programach. Jak zapewne zauwaŝyłeś, wykorzystywanie funkcji jest bardzo

Bardziej szczegółowo

Laboratorium nr 10. Temat: Funkcje cz.2.

Laboratorium nr 10. Temat: Funkcje cz.2. Zakres laboratorium: Laboratorium nr 10 Temat: Funkcje cz.2. przeciążanie nazw funkcji argumenty domyślne funkcji przekazywanie danych do funkcji przez wartość, wskaźnik i referencję przekazywanie tablic

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

1 Powtórzenie wiadomości

1 Powtórzenie wiadomości 1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 3.

Programowanie 2. Język C++. Wykład 3. 3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane

Bardziej szczegółowo

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,

Bardziej szczegółowo

Języki i techniki programowania Ćwiczenia 2

Języki i techniki programowania Ćwiczenia 2 Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...

Bardziej szczegółowo

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu

Bardziej szczegółowo

C++ Przeładowanie operatorów i wzorce w klasach

C++ Przeładowanie operatorów i wzorce w klasach C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 9.

Programowanie 2. Język C++. Wykład 9. 9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

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

Język C++ Różnice między C a C++

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

Bardziej szczegółowo

Metody Metody, parametry, zwracanie wartości

Metody Metody, parametry, zwracanie wartości Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca

Bardziej szczegółowo

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float

Bardziej szczegółowo

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część dziesiąta Rekordy w C/C++ struktury Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Niniejsze opracowanie zawiera skrót

Bardziej szczegółowo

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Podstawy Programowania Obiektowego

Podstawy Programowania Obiektowego Podstawy Programowania Obiektowego Pojęcie struktury i klasy. Konstruktor i destruktor. Spotkanie 08 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Spotkanie 08 Klasy: definicja a deklaracja klasy dane składowe

Bardziej szczegółowo

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc. Zmienne powłoki Zmienne powłoki (shell variables) to tymczasowe zmienne, które mogą przechowywać wartości liczbowe lub ciągi znaków. Związane są z powłoką, Przypisania wartości do zmiennej następuje poprzez

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

Argumenty wywołania programu, operacje na plikach Temat zajęć: Argumenty wywołania programu, operacje na plikach Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (Zmienne statyczne) W języku C można decydować o sposobie przechowywania zmiennych. Decydują

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 5 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Zadanie o kotach z poprzedniego wykładu # include < iostream > using namespace std ; int main (){ int rozmiar_ rodzinki,

Bardziej szczegółowo

Referencje do zmiennych i obiektów

Referencje do zmiennych i obiektów Referencje do zmiennych i obiektów Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak: Ćwiczenie nr 6 Temat: Operacje na łańcuchach znaków. Zagadnienia: Zasady pracy z łańcuchami tekstowymi (tablice wartości typu char). funkcje standardowe operacji na łańcuchach, funkcje I/O dla operacji

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 2

PARADYGMATY PROGRAMOWANIA Wykład 2 PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych

Bardziej szczegółowo

Wprowadzenie do szablonów szablony funkcji

Wprowadzenie do szablonów szablony funkcji Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do

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

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

Tablice. int rozmiar; cout << Jaki ma być rozmiar tabeli? ; cin >> rozmiar; { int tablica[rozmiar]; /* TU JEST ŹLE */... } Tablice grupa obiektów tego samego typu tablica tablica ciąg obiektów tego samego typu, zajmujący ciągły obszar w pamięci korzyść zamiast wielu definicji poszczególnych obiektów jedna wspólna; odniesienia

Bardziej szczegółowo

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Laboratorium Podstaw Informatyki Strona 1 Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 4 Obsługa plików Kraków 2010 Laboratorium Podstaw Informatyki Strona 2 Obsługa plików Zanim

Bardziej szczegółowo

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami

Bardziej szczegółowo

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; } #include using namespace std; Prototypy funkcji Funkcja 1 void ela(int); double info (double); int main( ); return 0; Funkcja 2 void ela(int); Funkcja 3 double info(double); return 4*t; jeszcze

Bardziej szczegółowo

Część XV C++ Ćwiczenie 1

Część XV C++ Ćwiczenie 1 Część XV C++ Instrukcja break przerywa działanie tylko tej pętli, w ciele której została wywołana. Jeśli więc wywołamy break w pętli zagnieżdżonej w innej pętli, zostanie przerwane działanie tylko tej

Bardziej szczegółowo

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje. Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using

Bardziej szczegółowo

FUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)

FUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1) Programowanie Obiektowe (język C++) Wykład 10. FUNKCJE WZORCOWE Funkcje wzorcowe wprowadzenie (1) Funkcje wzorcowe wprowadzenie (2) int max ( int a, int b ) return a>b? a : b; Aby mieć analogiczną funkcję

Bardziej szczegółowo

Wyliczanie wyrażenia obiekty tymczasowe

Wyliczanie wyrażenia obiekty tymczasowe Wyliczanie wyrażenia obiekty tymczasowe Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2013 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu

Bardziej szczegółowo