Spis treści

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

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

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

Język ludzki kod maszynowy

Języki programowania - podstawy

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

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

Techniki Programowania

Słowa kluczowe i nazwy

Spis treści

Podstawy programowania - 1

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

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

ROZDZIAŁ 2. Operatory

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

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

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

( wykł. dr Marek Piasecki )

Programowanie obiektowe

Podstawy programowania (1)

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

Język C - podstawowe informacje

Wstęp do programowania. Wykład 1

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Część 4 życie programu

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Podstawy programowania w języku C

I - Microsoft Visual Studio C++

Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015.

Programowanie strukturalne i obiektowe

1 Podstawy c++ w pigułce.

Języki programowania zasady ich tworzenia

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

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

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

Podstawy języka C++ Marek Pudełko

Podstawy Programowania

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

1 Podstawy c++ w pigułce.

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Wskaźniki. Informatyka

Wstęp do Programowania 2

Wstęp do Programowania 2

Wstęp do programowania

Zmienne, stałe i operatory

Lab 9 Podstawy Programowania

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

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

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

Microsoft IT Academy kurs programowania

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Programowanie strukturalne język C - wprowadzenie

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

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

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

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

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

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

Wykład 1

Języki i paradygmaty programowania

Wstęp do programowania

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe

Opus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. Gliwice, cop Spis treści

Projektowanie klas c.d. Projektowanie klas przykład

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

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

Podstawy Programowania C++

Wstęp do programowania

Szablony funkcji i szablony klas

Materiały. Języki programowania II (Java+AVR-GCC) Literatura

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Wykład 8: klasy cz. 4

Programowanie w języku C++

2 Przygotował: mgr inż. Maciej Lasota

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Programowania. Wykład 1

Podstawy Programowania

Operacje wejścia/wyjścia odsłona pierwsza

Nowe słowa kluczowe. Komentarze. Wskaźniki typu void. class, delete, new, friend,... /* Komentarz w C i C++ */ // Komentarz w C++ (do końca wiersza)

Wstęp do informatyki- wykład 11 Funkcje

Java EE produkcja oprogramowania

Wstęp do informatyki- wykład 9 Funkcje

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Definicje. Algorytm to:

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

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

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Podstawy i języki programowania

Transkrypt:

2010-05-29 Spis treści 1. LITERATURA... 3 2. PODSTAWOWE POJĘCIA... 3 3. PROGRAM... 4 3.1. JĘZYKI PROGRAMOWANIA... 4 3.2. KOMPILOWANIE PROGRAMU... 4 3.3. URUCHAMIANIE I TESTOWANIE PROGRAMU... 4 3.4. DOKUMENTACJA PROGRAMU... 4 3.5. PROGRAM JEDNOSTKI SYNTAKTYCZNE... 5 4. ŚRODOWISKO PROGRAMISTYCZNE WPROWADZENIE... 5 5. WPROWADZENIE DO C++... 6 ZMIENNE I FUNKCJE... 7 ZMIENNE TYPÓW ZŁOŻONYCH... 7 6. INSTRUKCJE STERUJĄCE... 8 INSTRUKCJA WARUNKOWA IF... 8 PĘTLA WHILE... 8 PĘTLA DO WHILE... 8 PĘTLA FOR... 8 INSTRUKCJA WYBORU SWITCH... 9 INSTRUKCJA GOTO... 9 INSTRUKCJA BREAK... 9 INSTRUKCJA CONTINUE... 9 7. TYPY DANYCH... 10 7.1. DEFINIOWANIE ZMIENNYCH I STAŁYCH NAZWANYCH. DEKLARACJA A DEFINICJA ZMIENNEJ... 10 7.2. KLASYFIKACJA TYPÓW... 10 Typy proste wbudowane, reprezentujące liczby... 10 Typy złożone... 10 Typ void... 11 Typ wyliczeniowy enum... 11 Instrukcja typedef... 11 Modyfikator register... 11 Modyfikator volatile... 11 7.3. ZAKRES WAŻNOŚCI NAZWY A CZAS ŻYCIA OBIEKTU... 11 7.4. ZMIENNE GLOBALNE I LOKALNE. PRZESTRZEŃ NAZW. ZASŁANIANIE NAZW OBIEKTÓW... 12 7.5. STAŁE DOSŁOWNE... 12 8. OPERATORY... 13 8.1. OPERATORY MATEMATYCZNE... 13 8.2. POZOSTAŁE OPERATORY... 14 8.3. PRIORYTETY I ŁĄCZNOŚĆ OPERATORÓW... 14 9. FUNKCJE... 16 9.1. PROCEDURA A FUNKCJA. PARAMETRY FORMALNE I AKTUALNE. DEKLARACJA A DEFINICJA FUNKCJI... 16 9.2. ZWRACANIE REZULTATU PRZEZ FUNKCJĘ... 16 9.3. PRZESYŁANIE ARGUMENTÓW DO FUNKCJI PRZEZ WARTOŚĆ... 17 9.4. PRZESYŁANIE ARGUMENTÓW PRZEZ REFERENCJĘ... 17 9.5. PRZESYŁANIE ARGUMENTÓW JAKO WSKAŹNIKÓW... 17 9.6. ARGUMENTY DOMNIEMANE... 18 9.7. ZAKRES WAŻNOŚCI NAZWY A CZAS ŻYCIA OBIEKTU C.D... 18 Obiekty globalne... 18 Obiekty lokalne automatyczne... 18 Obiekty lokalne statyczne... 18 10. TABLICE... 19 10.1. DEFINIOWANIE TABLIC... 19 10.2. ELEMENTY TABLICY... 19 10.3. INICJALIZACJA TABLIC... 19 10.4. TABLICE ZNAKOWE... 19 10.5. PRZEKAZYWANIE TABLIC DO FUNKCJI. TABLICE WIELOWYMIAROWE... 19 1

2 11. WSKAŹNIKI... 20 11.1. DEFINIOWANIE I UŻYWANIE WSKAŹNIKÓW...20 11.2. OPERATOR RZUTOWANIA REINTERPRET_CAST... 20 11.3. WSKAŹNIKI TYPU VOID... 20 11.4. ZASTOSOWANIE WSKAŹNIKÓW WOBEC TABLIC... 20 11.5. STAŁE WSKAŹNIKI, WSKAŹNIKI DO STAŁYCH... 21 11.6. ZASTOSOWANIE WSKAŹNIKÓW W ARGUMENTACH FUNKCJI... 21 11.7. ZASTOSOWANIE WSKAŹNIKÓW PRZY DOSTĘPIE DO KONKRETNYCH KOMÓREK PAMIĘCI... 21 11.8. REZERWACJA OBSZARÓW PAMIĘCI... 21 Operatory new i delete... 21 Dynamiczna alokacja tablicy... 21 Umiejscawiający operator new... 21

3 1. Literatura Algorytmika [1] J. Glenn Brookshear: Informatyka w ogólnym zarysie. WNT, Warszawa 2003 [2] Leszek Jung: Podstawy użytkowania komputerów. Konstruowanie algorytmów. S. WAT, Warszawa 1988 [3] Niklaus Wirth: Algorytmy + struktury danych = programy. WNT, Warszawa 2004 [4] Henryk Spustek, Jerzy Grzyb: Informatyka - algorytmy, wstęp do programowania. Skrypt WSISiZ, Warszawa 2002 Programowanie w C++ [5] Jerzy Grębosz: Symfonia C++ standard. Edition 2000 Kraków [6] Jesse Liberty (tłum. Marcin Pancewicz): C++ dla każdego. Helion, Gliwice 1994 org. Teach Yourself C++ in 21 Days. Fourth Edition. Sams [7] A.Stasiewicz: C++ Ćwiczenia praktyczne. Helion, Gliwice 08/2004 [8] Piotr Wróblewski: Język C++ dla programistów. Helion, Gliwice 1994 [9] Michael Flenov: Elementarz hakera. Helion, Gliwice 2005 [10] Richard C. Linecker, Tom Archer: Visual C++ Vademecum profesjonalisty. Helion, Gliwice [11] Viktor Toth: Programowanie Windows 98/NT. Księga eksperta. Helion, Gliwice (org. Sams) [12] Charles Petzold, Paul Yao: Programowanie Windows 95. Helion, ReadMe 1997 (org. Microsoft Press) 2. Podstawowe pojęcia Informatyka nauka o przetwarzaniu informacji przy użyciu środków automatyzujących ten proces. Informacja wielkość abstrakcyjna, która może być przechowywana w pewnych obiektach, przesyłana między pewnymi obiektami, przetwarzana w pewnych obiektach i stosowana do sterowania pewnymi obiektami, przy czym przez obiekt rozumie się organizmy żywe, urządzenia techniczne oraz systemy takich obiektów. Komunikat odpowiednio zakodowana wiadomość, zawierająca pewną ilość informacji. Komputer urządzenie techniczne, umożliwiające automatyzację procesu przetwarzania informacji, opisywanego przez program zapisywany w pamięci komputera, a następnie wykonywany (celem realizacji tego procesu przetwarzania informacji) przez jego procesor (układ operacyjny, zdolny do wykonywania obliczeń opisanych kolejnymi instrukcjami programu). Programowanie samodzielna dyscyplina, zajmująca się systematycznym konstruowaniem i formułowaniem algorytmów, zapisywanych jako programy, które są następnie uruchamiane i testowane. Algorytm opis działań, które należy wykonać w określonej kolejności na ustalonych obiektach i zbiorach wartości dla osiągnięcia wyznaczonego celu. Schemat blokowy graficzny zapis działań algorytmu przy wykorzystaniu ustalonych schematów graficznych łączonych za pomocą skierowanych linii obrazujących kolejność ich wykonywania. Program skonkretyzowany zapis w formie tekstowej algorytmu (wraz z opisem obiektów w nim występujących) przy użyciu pojęć danego języka programowania.

4 3. Program Język programowania ściśle określona konwencja notacyjna służąca do zapisu algorytmów w formie programów, które są przeznaczone do wykonywania przez komputer. Program ciąg symboli definiowanych przez język programowania. Komputer może wykonywać tylko programy zapisane w swoim języku wewnętrznym. Język formalny system: gdzie: J = V, G, D, Z, V alfabet (dopuszczalny zbiór znaków języka); G gramatyka (składnia (syntaktyka); zbiór reguł składniowych); D dziedzina (zbiór informacji wyrażalnych w języku); Z znaczenie (semantyka; zbiór relacji wiążących wyrażenia języka z elementami jego dziedziny), w którym stosując dobrze określone reguły składniowe możemy uzyskać (lub sprawdzić) wszystkie napisy (zdania) uznawane za komunikaty w tym języku. Pragmatyka języka zbiór zaleceń dotyczących używania poprawnych wyrażeń języka. 3.1. Języki programowania Język wewnętrzny (maszynowy) język programowania, którego jedynymi dopuszczalnymi wyrażeniami są zapisywane jako liczby binarne, słowa rozkazowe należące do repertuaru rozkazów (zwanego także listą rozkazów), w który jest technicznie wyposażony dany komputer i które mogą być bezpośrednio wykonywane (przez procesor). Programy tłumaczące: asembler dla języków niskopoziomowych; kompilator dla języków wysokopoziomowych; interpreter dla języków konwersacyjnych; Język niskopoziomowy język programowania, którego własności w istotnym stopniu odzwierciedlają własności konkretnego komputera. Język zestawiający (asemblerowy) język programowania, powstały z języka wewnętrznego przez parametryzację zapisu części słowa rozkazowego; parametryzacja polega głównie na symbolicznym zastąpieniu liczbowych kodów rozkazów oraz liczbowych adresów słów pamięci. Język wysokopoziomowy język programowania, którego własności i notacja jest zbliżona do stosowanej notacji oraz pojęć z określonej dziedziny zastosowań. 3.2. Kompilowanie programu Kompilacja proces tłumaczenia programów zapisanych w języku programowania na równoważny semantycznie (znaczeniowo) program zapisany w języku wewnętrznym komputera, realizowany przez specjalny program tłumaczący, zwany kompilatorem. 3.3. Uruchamianie i testowanie programu Testowanie programu proces wielokrotnej realizacji programu dla zbioru zestawów danych testowych (wybranych zestawów danych wejściowych) celem wykrycia możliwie największej liczby błędów; Metoda eksperymentalnego badania poprawności programu, zajmująca od 30 do 60% całego czasu przeznaczonego na opracowanie programu. Uruchamianie programu proces złożony z kilku etapów: wykrycie miejsca wystąpienia i powstania błędu, doprowadzenie programu do działania, które są powtarzane cyklicznie, po każdorazowym stwierdzeniu wystąpienia błędu. 3.4. Dokumentacja programu Dokumentacja programu jest wyselekcjonowanym zbiorem informacji z kolejnych etapów jego projektowania oraz o sposobie użytkowania i pielęgnowania. Trzy rodzaje dokumentacji programu: projektowa, opisuje kolejne etapów wytwarzania programu; eksploatacyjna, zwana podręcznikiem użytkownika, opisuje przeznaczenie programu i sposób używania; techniczna, tworzona dla potrzeb przyszłej pielęgnacji programu.

3.5. Program jednostki syntaktyczne Jednostka syntaktyczna wyodrębniona część programu, która ma dobrze określoną interpretację (znaczenie) w ramach programu. Jednostki syntaktyczne: Moduł wyodrębniona część programu mająca: dobrze (i jednoznacznie) określone znaczenie, które jest niezależne od miejsca użycia modułu i wewnętrznej struktury innych modułów; nazwę i ściśle określoną komunikację (więzi) z innymi modułami, poprzez specyfikację atrybutów (jednostek programowych): importowanych z innych modułów, eksportowanych do innych modułów, których rodzaj i sposób użycia określa jednoznacznie sama ich deklaracja; ustalone zasady łączenia z innymi modułami w większe jednostki programowe (do programu włącznie) na podstawie ich specyfikacji i bez znajomości wewnętrznej struktury tych modułów. Część deklaracyjna, część instrukcyjna. Stała jednostka syntaktyczna, reprezentująca synonim pewnej niezmiennej wartości wyrażenia (wielkości) przypisanego jej w deklaracji stałych. Wyrażenie zespół argumentów powiązanych operatorami według ustalonych reguł syntaktycznych określonej konwencji notacyjnej (najczęściej zwyczajowej notacji matematycznej). Typ danych jednostka syntaktyczna, określająca zbiór wartości oraz operacji wykonywanych na tych wartościach. Deklaracje typów wprowadzają nazwy, które reprezentują opis typu danych. Zmienna jednostka syntaktyczna reprezentująca obiekt programu, który może przyjmować wartości ze zbioru określonego typem danych tej zmiennej. Deklaracje stałych wprowadzają nazwy stałych jako synonimy ustalonych wielkości (literałów: liczb, znaków, ciągów znaków). Deklaracje zmiennych wprowadzają nazwy, które reprezentują obiekty przyjmujące wartości ze zbioru wartości określonego typem danych deklarowanej zmiennej. Procedura / funkcja wyodrębniona część programu (podprogramu, modułu), posiadająca: nazwę, opisującą dobrze określone działanie wykonywane na dobrze określonych obiektach (parametrach formalnych, zmiennych lokalnych i zmiennych globalnych) ustalony sposób wymiany danych z pozostałymi częściami programu: sposób przekazu danych do treści procedury / funkcji z pozostałej części programu (w której nastąpiło wywołanie procedury / funkcji) sposób przekazu obliczonej wartości do miejsca wywołania funkcji. Deklaracje procedur / funkcji wprowadzają nazwy, którym przypisywana jest wyodrębniona część programu Parametr formalny nazwa zmiennej występującej w treści procedury, której nie odpowiada żaden obiekt programu (algorytmu); dopiero w chwili użycia (wywołania) procedury podczas wykonywania programu, w którym została zdefiniowana, każdemu parametrowi formalnemu zostaje przyporządkowany parametr aktualny, czyli jakiś obiekt (zmienna, wartość wyrażenia) programu, który zastępuje odpowiadający mu parametr formalny w treści procedury. Instrukcja wyróżniona jednostka syntaktyczna mająca jasno określone znaczenie operacyjne przez semantykę języka. Wykonanie instrukcji polega na realizacji w jednoznacznie określonym porządku operacji (działań) na obiektach wskazanych przez identyfikatory zmiennych (oznaczających elementy struktury danych) występujących w rozważanej instrukcji. 5 4. Środowisko programistyczne wprowadzenie

6 5. Wprowadzenie do C++ // Program 1 /* najprostszy program w C++ */ /* wersja obiektowa */ #include <iostream.h> cout << "Halo\n"; #include dyrektywa włączenia tekstu zawartego w pliku iostream.h (Input Output Stream) plik deklaracji obiektowych strumieni wej/wyj stdio.h (Standard Input Output) plik deklaracji funkcji wej/wyj main zastrzeżona nazwa głównej funkcji programu void typ danej pustej \n przejście do nowego wiersza Wolny format zapisu programu Instrukcje oddzielane za pomocą ; Białe znaki ignorowane: spacje, tabulatory, nowe linie Komentarze: /* nie wolno zagnieżdżać */ lub // do końca linii Zastrzeżona nazwa głównej funkcji programu funkcja main() Nazwy w C++ Dowolnie długi ciąg liter, cyfr oraz znaków podkreślenia _. Nazwa nie może się zacząć od cyfry. Małe i wielkie litery w nazwach są rozróżniane. Nazwa nie może być identyczna z żadnym ze słów kluczowych języka C++. Słowa kluczowe w C++ asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern /* wersja proceduralna */ #include <stdio.h> printf("halo\n"); false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchart_t while Standardowa obiektowa biblioteka wejścia/wyjścia plik nagłówkowy <iostream.h> lub nowsza plik nagłówkowy <iostream> (deklaracje). obiekty predefiniowane: cin standardowy strumień wejściowy danych (zwykle klawiatura) cout standardowy strumień wyjściowy danych (zwykle ekran monitora) cerr standardowy strumień wyjściowy błędów (zwykle ekran monitora) Zmiana strumienia wejściowego cin: Wykorzystanie strumienia wyjściowego błędów cerr: dany jest plik tekstowy a.txt, zawierający np: 3.4 6.1 i wynikowy Program 2: program.exe, który uruchamiamy: program.exe < a.txt #include <iostream.h> //... cerr << "OK!\n"; //... uruchamiamy: program.exe > kom.txt

Zmienne i funkcje // Program 2 #include <iostream> using namespace std; // włączenie pliku // użycie przestrzeni nazw std endl (end line) manipulator przejścia do nowej linii 7 float roznica(float x, float y); // deklaracja funkcji // główna funkcja float a, b; // definicja zmiennych: a, b cin >> a >> b; // wczytanie wartości do a, b float s = roznica(a, b); // wywołanie funkcji (parametry aktualne) cout << "Roznica = " << s << "\n"; cout << "2-3 = " << roznica(2,3) << endl; float roznica(float x, float y) // definicja funkcji // x, y parametry formalne return x - y; // zwrócenie wartości przez funkcję Definicja zmiennej ( 7.1, s. 10) typz nazwa_zmiennej; Definicja funkcji ( 9.1, s. 16) typf nazwa_fun(typ1 arg1, typ2 arg2,..., typn argn) // ciało funkcji Deklaracja funkcji ( 9.1, s. 16) typf nazwa_fun(typ1 [arg1], typ2 [arg2],..., typn [argn]); Wywoływanie funkcji ( 9.1, s. 16) nazwa_fun(arg_akt1, arg_akt2,..., arg_aktn) Zmienne typów złożonych zmienne wskaźnikowe ( 11, s. 20), zmienne referencyjne, tablice ( 10, s. 19). // Program 3 #include <iostream> using namespace std; // włączenie pliku // użycie przestrzeni nazw std // główna funkcja int a = 1; // definicja i inicjalizacja zmiennej a // zmienna wskaźnikowa (wskaźnik to zmienna do przechowywania adresu) int* wsk; // definicja wskaźnika do obiektów typu int wsk = &a; // przypisanie do wskaźnika adresu zmiennej (obiektu) a cout << a; // 1 *wsk = 2; // przypisanie do obiektu wskazanego przez wsk wartości 2 cout << a; // 2 // zmienna referencyjna (referencja to alias już istniejącej zmiennej): int& ref = a; // definicja referencji do obiektu a cout << a; // 2 ref = 3; // przypisanie do referencji ref wartości 3 cout << a; // 3 // tablica (grupuje zmienne jednego typu): int tab[3] = 10, 20; // definicja tablicy 3-elementowej obiektów typu int for(int i=0; i<3; i++) cout << tab[i]; // wydruk elem. tablicy: 10 20 0 int* wtab = tab; // nazwa tablicy jest adresem jej początku, czyli pierwszego // elementu o indeksie 0 (tablice indeksowane są od 0) Odwołania programu &a wsk *wsk ref tab tab[0] tab[1] tab[2] a wtab Pamięć fizyczna adres 1000h 1004h 1008h 100Ch 1010h 1014h 1008h 101Ch wartość 1->2->3 1000h 10 20 0