Spis treści

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

Download "Spis treści"

Transkrypt

1 Spis treści 1. LIERAURA 3 2. PODSAWOWE POJĘCIA PROGRAM JĘZYKI PROGRAMOWANIA KOMPILOWANIE PROGRAMU URUCHAMIANIE I ESOWANIE PROGRAMU DOKUMENACJA PROGRAMU PROGRAM JEDNOSKI SYNAKYCZNE ŚRODOWISKO PROGRAMISYCZNE WPROWADZENIE 5 5. WPROWADZENIE DO C++. 6 ZMIENNE I UNKCJE 7 ZMIENNE YPÓW ZŁOŻONYCH INSRUKCJE SERUJĄCE 8 INSRUKCJA WARUNKOWA I.. 8 PĘLA WHILE 8 PĘLA DO WHILE 8 PĘLA OR. 8 INSRUKCJA WYBORU SWICH 9 INSRUKCJA GOO 9 INSRUKCJA BREAK.. 9 INSRUKCJA CONINUE YPY DANYCH DEINIOWANIE ZMIENNYCH I SAŁYCH NAZWANYCH. DEKLARACJA A DEINICJA ZMIENNEJ KLASYIKACJA YPÓW. 10 ypy proste wbudowane, reprezentujące liczby. 10 ypy złożone. 10 yp void.. 11 yp wyliczeniowy enum. 11 Instrukcja typedef 11 Modyfikator register 11 Modyfikator volatile ZAKRES WAŻNOŚCI NAZWY A CZAS ŻYCIA OBIEKU ZMIENNE GLOBALNE I LOKALNE. PRZESRZEŃ NAZW. ZASŁANIANIE NAZW OBIEKÓW SAŁE DOSŁOWNE OPERAORY OPERAORY MAEMAYCZNE POZOSAŁE OPERAORY PRIORYEY I ŁĄCZNOŚĆ OPERAORÓW

2

3 3 1. Literatura Algorytmika [1] J. Glenn Brookshear: Informatyka w ogólnym zarysie. WN, Warszawa 2003 [2] Leszek Jung: Podstawy użytkowania komputerów. Konstruowanie algorytmów. S. WA, Warszawa 1988 [3] Niklaus Wirth: Algorytmy + struktury danych = programy. WN, 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. each Yourself C++ in 21 Days. ourth 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 lenov: Elementarz hakera. Helion, Gliwice 2005 [10] Richard C. Linecker, om Archer: Visual C++ Vademecum profesjonalisty. Helion, Gliwice [11] Viktor oth: Programowanie Windows 98/N. 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 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: J V, G, D, Z, gdzie: 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 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ń 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 Uruchamianie i testowanie programu estowanie 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 Dokumentacja programu Dokumentacja programu jest wyselekcjonowanym zbiorem informacji z kolejnych etapów jego projektowania oraz o sposobie użytkowania i pielęgnowania. rzy 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.

5 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). yp 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 Środowisko programistyczne wprowadzenie

6 6 5. Wprowadzenie do C++ // Program 1 /* najprostszy program w C++ */ /* wersja obiektowa */ #include <iostream.h> void main() 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> void main() 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: i wynikowy Program 2: program.exe, który uruchamiamy: program.exe < a.txt #include <iostream.h> void main() // cerr << "OK!\n"; // uruchamiamy: program.exe > kom.txt

7 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 void main() // 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> // włączenie pliku Odwołania programu using namespace std; // użycie przestrzeni nazw std void main() // 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: int* wtab = tab; // nazwa tablicy jest adresem jej początku, czyli pierwszego // elementu o indeksie 0 (tablice indeksowane są od 0) &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

8 8 6. Instrukcje sterujące Blok instrukcji instrukcje ograniczone klamrami traktowane jako jedna instrukcja instr1; instr2; instr3; instr4; Wyrażenie logiczne wyrażenie, które daje w wyniku wartość prawda lub fałsz, często używane w operacjach sterujących. yp bool Zmienna (obiekt) typu bool może wystąpić jako wyrażenie logiczne. Można też używać inne typy całkowite. Wtedy wartość 0 to fałsz, różna od 0 to prawda int x; // bool nieletni = (x < 18); if(nieletni) cout << "nieletni"; Instrukcja warunkowa if 1) if(warunek) instrukcjal; Sprawdź warunek: jeśli spełniony (prawda), to wykonaj instrukcja1, jeśli niespełniony (fałsz), to nic nie rób. warunek instrukcja1 2) if(warunek) instrukcjal; else instrukcja2; Sprawdź warunek: jeśli spełniony (prawda), to wykonaj instrukcja1, w przeciwnym przypadku (fałsz) wykonaj instrukcja2. 3) if(warunekl) instrl; else if(war2) instr2; else if(war3) instr3; else if(war4) instr4; else instrd; Sprawdź war1: jeśli spełniony, to wykonaj instr1 i zakończ, w p.p. sprawdź warunek2: jeśli spełniony wykonaj instr2 i zakończ, w p.p. sprawdź warunek3: jeśli spełniony wykonaj instr3 i zakończ, w p.p. wykonaj instrd. instrukcja1 warunek warunek1 instr1 war2 instr2 war3 instr3 instrd instrukcja2 Pętla while while(warunek) instrukcja; int i = 0; while(i<10) cout << i; i=i+1; i = 0; // błąd: pętla nieskończona: while(i<10)// zmiana i poza pętlą: cout << i; i=i+1; warunek instrukcja Pętla do while do instrukcja while(warunek); int i = 0; do cout << i; i=i+1; while(i<10); instrukcja warunek Pętla for for(instr_ini; warunek; instr_krok) treść_pętli; instr_ini instrukcja wykonywana zanim pętla zostanie po raz pierwszy uruchomiona. warunek wyrażenie, które obliczane jest przed każdym obiegiem pętli. Jeśli jest ono różne od zera, to wykonywane zostają instrukcje będące treścią pętli. instr_krok instrukcja wykonywana na zakończenie każdego obiegu pętli. Jest to jakby ostatnia instrukcja, wykonywana bezpośrednio przed obliczeniem wyrażenia wyraz_warun Praca tej pętli odbywa się więc jakby według takiego harmonogramu: 1) Najpierw wykonują się instrukcje inicjalizujące pracę pętli. 2) Obliczane jest wyrażenie warunkowe. Jeśli jest równe 0 praca pętli jest przerywana. 3) Jeśli było różne od zera, wówczas wykonywane zostają instrukcje będące treścią pętli. 4) Po wykonaniu treści pętli wykonana zostaje instrukcja instr_krok, po czym powtarzana jest akcja 2). Uwaga: instr_ini warunek treść_pętli instr_krok instr_ini, warunek, instr_krok nie muszą być tylko jedną instrukcją, może być ich kilka, wtedy oddzielone są przecinkami; mogą też w ogóle nie wystąpić. for(int i=0; i < 10; i=i+l) cout << i << "\n"; for( ; ; ) while(l)

9 Instrukcja wyboru switch switch(wyrażenie) case wartl: instr1; break; case wart2: instr2; case wart3: instr3; break; default: instrd; break; Obliczane jest wyrażenie w nawiasie. Jeśli jego wartość odpowiada którejś z wartości podanej w jednej z etykiet case, wówczas wykonywane są instrukcje począwszy od tej etykiety. Wykonywanie ich kończy się po napotkaniu instrukcji break. Powoduje to wyskok z instrukcji switch czyli jakby wyjście poza jej dolną klamrę. Jeśli wartość wyrażenia nie zgadza się z żadną z wartości podanych przy etykietach case, wówczas wykonują się instrukcje umieszczone po etykiecie default. U nas etykieta ta znajduje się na końcu instrukcji switch, jednak może być w dowolnym miejscu, nawet na samym jej początku. Co więcej, etykiety default może nie być wcale. Jeśli wartość wyrażenia nie zgadza się z żadną z wartości przy etykietach case, a etykiety default nie ma wcale, wówczas opuszcza się instrukcję switch nie wykonując niczego. Instrukcji następujących po etykiecie case nie musi kończyć instrukcja break. Jeśli jej nie umieścimy, to zaczną się wykonywać instrukcje umieszczone pod następną etykietą case. Instrukcja goto Skok do miejsca określonego etykietą. Programowanie strukturalne zabrania użycia goto. goto etykieta; Etykieta nazwa po której następuje dwukropek. // etykieta: instrukcje; Instrukcja break oprócz przerywania switch, może także być użyte do przerwania pętli: for, while, do while. Jeśli mamy do czynienia z kilkoma pętlami zagnieżdżonymi jedna wewnątrz drugiej, to instrukcja break powoduje przerwanie tylko tej pętli, w której bezpośrednio tkwi. Jest to więc jakby przerwanie z wyjściem tylko o jeden poziom wyżej. Instrukcja continue używana do zaniechania wykonania instrukcji będących dalszą treścią for(int z=0; z < 3; z=z+l) for(int w=0; w < 2; w=w+l) if(z > 0) break; cout << w; if(w < 1) continue; cout << z; pętli, jednak (w przeciwieństwie do break) sama pętla nie jest przerywana, lecz kontynuowana następnym przebiegiem. Czyli: instrukcja continue powoduje skok na koniec pętli i jej kontynuację. Porównanie użycia break i continue zilustrowane za pomocą goto: for( ; warunek; krok) continue; //goto przed_k; przed_k: while(warunek) continue; //goto przed_k; przed_k: w = wyrażenie w = wart1 w = wart2 w = wart3 instrd instr2 instr3 do continue; //goto przed_k; przed_k: while(warunek) 9 instr1 for( ; warunek; krok) break; //goto za_petla; za_petla: while(warunek) break; //goto za_petla; za_petla: do break; //goto za_petla; while(warunek) za_petla: Uwaga: Zgodnie z opisem działania pętli for po wykonaniu instrukcji continue zanim rozpoczęty zostanie nowy obieg pętli, czyli zanim zostanie wykonana pierwsza instrukcja pętli warunek, wykonywana jest ostatnia instrukcja krok przerwanego obiegu!

10 10 7. ypy danych 7.1. Definiowanie zmiennych i stałych nazwanych. Deklaracja a definicja zmiennej Definicja zmiennej typ nazwa_zmiennej; Definicja stałej nazwanej Modyfikator const tworzy obiekty stałe. const typ nazwa_stałej; Obiekty const można inicjalizować, ale nie można do nich nic przypisać. Inicjalizacja nadanie obiektowi wartości w momencie jego narodzin. int a; // definicja zmiennej int b = 1; // definicja zmiennej + inicjalizacja const float pi = 3.14f; // definicja stałej + inicjalizacja a = 1; // zmiana (przypisanie) wartości zmiennej pi = f; // błąd Przypisanie podstawienie do niego wartości w jakimkolwiek późniejszym momencie. Deklaracja informuje kompilator, że dana nazwa reprezentuje obiekt jakiegoś typu, ale nie rezerwuje dla niego miejsca w pamięci (modyfikator extern). Definicja dodatkowo rezerwuje miejsce. Definicja jest miejscem, gdzie powołuje się obiekt do życia. Oczywiście definicja jest przy okazji zawsze także deklaracją, bo jeśli rezerwuje miejsce w pamięci, to musi ona kompilatorowi wyjaśnić na co rezerwuje. Deklarować obiekt można w tekście programu wielokrotnie. Definiować go (powoływać go do życia) można tylko raz Klasyfikacja typów typy proste (fundamentalne, podstawowe), typy złożone (pochodne). Drugi podział: typy wbudowane (ang. build-in) w które język C++ jest wyposażony, typy zdefiniowane przez użytkownika. ypy proste wbudowane, reprezentujące liczby yp Szerokość* Zakres bit Bajt wartości bool 0, 1 (false, true) w zależności od kompilatora char unsigned signed wchar_t signed short unsigned short signed short unsigned short int signed unsigned signed long unsigned long signed long unsigned float 3.4E E+38 double 64 long 8 1.7E E+308 * dla kompilatorów 32-bitowych int liczba; // definicja + deklaracja zmiennej extern int licznik; // deklaracja (tylko!) Operator sizeof() zwraca rozmiar w bajtach dla zadanego typu lub obiektu sizeof(nazwa_typu) sizeof(nazwa_obiektu) int a; sizeof(int); sizeof(a); W C++ obiekt można zdefiniować w biegu", w locie" [ang: on flight], między dwoma instrukcjami wtedy, gdy uznamy, że jest on nam właśnie potrzebny. Nie wyróżnia się części deklaracyjnej przed instrukcjami wykonywalnymi (C, Pascal). int main() int a=10; cout << a; int b; // definicja w locie cin << b; for(int i=0; i<5; i++)//def. w l. cout << i; ypy złożone Operator Opis Przykłady [] tablica obiektów danego typu int t[10]; // tablica 10 elementów typu int * wskaźnik do (adres) obiektów danego typu float *p; // wskaźnik do obiektu typu float () funkcja zwracająca wartość danego typu char fun(); // funkcja zwracająca obiekt (wartość) typu float x& referencja (przezwisko) obiektu danego typu int a=5; int &b=a; // zmienna referencyjna (alias, synonim zmiennej) b=2; // w efekcie a=2;

11 yp void (ang. pustka, próżnia, nieważny) typ prosty wbudowany, który może występować tylko przy deklaracji typów złożonych (nie może być obiektu typu void). void *p; // wskaźnik do obiektu nieznanego typu void funkcja(); // funkcja nie zwracająca żadnej wartości (procedura) yp wyliczeniowy enum Instrukcja enum definiuje nowy typ arytmetyczny, którego wartości stanowią podzbiór zbioru liczb całkowitych. enum nazwa_typu lista_wyliczeniowa ; Lista wyliczeniowa: Jeżeli jawnie nie zadamy wartości, numerowanie zaczyna się od 0, potem nadawana jest kolejna wartość całkowita. Może występować wiele różnych elementów (różne nazwy) o tych samych wartościach. enum st1, st2, st3 ; yp wyliczeniowy nie musi mieć nazwy, co // to samo co: umożliwia wygodne zdefiniowanie stałych const int st1=0; (całkowitych). Nie będzie można jednak const int st2=1; definiować zmiennych tego nienazwanego typu. const int st3=2; Instrukcja typedef wprowadza dodatkową nazwę dla już istniejącego typu. typedef typ nowy_typ; 11 enum akcja start, // 0 stop, // 1 pauza =stop+9,// 10 nastepny, // 11 poprzedni, // 12 wprzod = -2, // -2 cofnij, // 1 wylacz // 0 ; akcja a; int b; a = stop; b = stop; // b = 1; a = 1 ; // błąd; typedef int cena; cena x; cena a, b, c; // int a, b, c; typedef float cena; // po zmianie: cena x; Celowość: na pewnym etapie pisania programu może okazać się, że danej grupie zmiennych chcemy zmienić typ, np. okazuję się, że typ int nie wystarcza i musimy zastosować float. Zamiast zmieniać typ cena a, b, c; // float a, b, c; przy każdej zmiennej, wystarczy zmienić definicję typu używanego w tej grupie zmiennych. yp, definiowany instrukcją typedef, nie musi być typem prostym, może być typem złożonym, a także typem już zdefiniowanym bądź właśnie definiowanym przez użytkownika. W jednej instrukcji typedef można zdefiniować więcej typów. Instrukcja typedef nie wprowadza nowego typu, a jedynie synonim do typu już istniejącego. typedef int calk, * wsk, tab[5]; typedef struct Sint a,b; *PS; typedef S ABS[6]; calk k; // int k; wsk w; // int * w; nat n; // int n; tab t; // int t[5]; PS p_s; // S* p_s; Modyfikator register sugestia dla kompilatora, aby wartość obiektu przechowywał bezpośrednio w rejestrze (zależy nam na szybkości). Nie ma gwarancji, że tak będzie w istocie. Nie należy również próbować uzyskać adresu takiego obiektu, gdyż wtedy kompilator umieści obiekt w pamięci. register int i; Modyfikator volatile volatile int stan_miernika; (ang. ulotny) informuje kompilator, że każdorazowo powinien odczytywać aktualną wartość obiektu, gdyż może zostać zmodyfikowana niepostrzeżenie dla kompilatora Zakres ważności nazwy a czas życia obiektu Czas życia obiektu okres od momentu, gdy zostanie on zdefiniowany (przydzielenie miejsca w pamięci) do momentu, gdy przestaje on istnieć (zwolnienie miejsca w pamięci). Sterta: zmienne globalne i lokalne statyczne Stos: zmienne lokalne automatyczne (p. 9.7 s. 18) Zakresy ważności nazwy obiektu (ta część programu, w której nazwa obiektu znana jest kompilatorowi): lokalny w obrębie danego bloku instrukcji (zmienne lokalne); funkcji w obrębie bloku instrukcji definiującego daną funkcję (zmienne lokalne). Etykiety mają ograniczenie ważności do zakresu funkcji, dlatego nie można instrukcją goto przeskoczyć z jednej funkcji do innej. Za to nie ma ograniczenia ważności etykiet do zakresów lokalnych w obrębie jednej funkcji; pliku w obrębie danego pliku (zmienne globalne); klasy w obrębie danej klasy (zmienne składowe); przestrzeni nazw w obrębie danej przestrzeni nazw namespace (zmienne globalne).

12 Zmienne globalne i lokalne. Przestrzeń nazw. Zasłanianie nazw obiektów #include <iostream> using std::cout; // udostępnienie obiektu cout przestrzeni std using namespace std; // udostępnienie wszystkich obiektów przestrzeni std (p. 9.7 s. 18) namespace obszar int a = 9; // definicja zmiennej globalnej w przestrzeni obszar int a = 1; // definicja zmiennej globalnej (ważność: zakres pliku) int main() // początek zakresu lokalnego funkcji int a = 2; // definicja zmiennej lokalnej w zakresie ważności funkcji cout << a; // 2 // początek zakresu lokalnego int a = 3; // definicja zmiennej lokalnej w lokalnym zakresie ważności cout << a << ::a << obszar::a; // // koniec zakresu lokalnego for(int a=0; a<5; a++) // zmienna lokalna w obrębie instrukcji for (while, if) cout << a; // cout << a; // 2 // koniec zakresu lokalnego funkcji 7.5. Stałe dosłowne Opis Przykłady Stałe reprezentujące liczby całkowite (domyślnie typ int) system dziesiętny o =1*8+0= 8 d system oktalny (ósemkowy) o =2*8+5=21 d 091 błąd (cyfra 9 niedopuszczalna) system heksadecymalny (szesnastkowy) 0x10 10 h =1*16+0= 16 d 0xa3 A3 h =10*16+3= 163 d 0xff h =15*16+15=255 modyfikatory: L zamienia int na long u zamienia int na usingned int 0L 330L 311uL Stałe reprezentujące liczby zmiennoprzecinkowe (domyślnie typ double) zapis normalny z kropką dziesiętną zapis w notacji naukowej 9e3 = 9 * 10 3 = e-7 = 11.4 * 10-7 modyfikator f zamienia double na float 11.4e-7f 0.f Stałe znakowe znaki alfanumeryczne 'a' '7' char znak = 'A'; znaki specjalne: kod ASCII: '\b' cofacz (ang. backspace) BS 0x08 8 '\f' nowa strona (ang. form feed) 0x0C 12 '\n' nowa linia (ang. new line) L 0x0A 10 '\r' powrót karetki (ang. carriage return) CR 0x0D 13 '\t' tabulator poziomy (ang. tabulator) H 0x09 9 '\v' tabulator pionowy (ang. tabulator) V 0x0B 11 '\a' sygnał dźwiękowy (ang. alarm) BEL 0x07 7 znaki specjalne: kod ASCII: '\\' odwrotny ukośnik (ang. Backslash) 0x5C 92 '\'' apostrof 0x27 39 '\"' cudzysłów 0x22 34 '\?' pytajnik 0x3 63 '\0' null znak o kodzie 0 0x00 0 znaki można też zapisywać bezpośrednio podając kod liczbowy char a ='a'; w systemie oktalnym lub szesnastkowym zamiast samego znaku char b ='\0141'; char c ='\x61'; znaki typu wchar_t wchar_t litera = L'a'; Stałe tekstowe (napisy, stringi) String (C-string) ciąg znaków ujęty w cudzysłów. "to jest string" C-stringi w pamięci zakończone są niewidocznym znakiem o kodzie 0, "jakis tekst\ntekst w nowej linii" dlatego długość C-stringu jest o 1 dłuższa niż liczba widocznych znaków. cout << sizeof("123"); // 4 łączenie stringów cout << "cz1" "cz2"; // to samo co:

13 8. Operatory 8.1. Operatory matematyczne cout << "cz1cz2"; Lp Operator Symbol Przykład // Objaśnienie Operatory arytmetyczne 1 suma + a = 1 + 2; // a = 3; 2 różnica - a = 2 1; // a = 1; 3 iloczyn * a = 2 * 2; // a = 4; 4 iloraz / a = 4 / 2; // a = 2; 5 reszta z dzielenia (modulo) % a = 9 % 4; // a = 1; 6 jednoargumentowy plus + a = 1* + 5; // a = 5; 7 jednoargumentowy minus - a = 1* - 5; // a = -5; 8 pre cout << ++a; // to samo co: a = a + 1; cout << a; 1 P inkrementacja (zwiększenie o 1) ++ 9 post cout << a++; // to samo co: cout << a; a = a + 1; 1 L 10 pre cout << --a; // to samo co: a = a 1; cout << a; 1 P dekrementacja (zmniejszenie o 1) post cout << a--; // to samo co: cout << a; a = a 1; 1 L Operatory logiczne (wynikiem jest prawda lub fałsz ) relacji 1 mniejsze niż < 2 mniejsze lub równe <= 3 większe niż > 4 większe lub równe >= 5 równe == 6 nie równe!= Wyrażenia logiczne obliczane są od lewej do prawej i tylko do momentu, gdy wynik końcowy nie jest znany, np. if((a==0) && (m=5) && (x++)) cout << ""; jeżeli a różne od 0, to pozostałe wyrażenia nie wykonają się w ogóle: do m nie zostanie przypisane 5, a x nie zostanie powiększone o L.arg Łącz Pr 7 suma logiczna OR (alternatywa) int a = 6 4; // a = 1; 5 8 iloczyn logiczny AND (koniunkcja) && int a = 6 && 4; // a = 1; 6 9 negacja logiczna! int a =!4; // a = 1; 1 P 16 Operatory bitowe przesunięcie bitowe w lewo 1 << (mnożenie przez 2) int a = 0x443; // a = przesunięcie bitowe w prawo int w = a << 3; // a = >> (dzielenie przez 2) 3 bitowa suma (OR) int a = 6 4; // a = 6; bin: = bitowy iloczyn (AND) & int a = 6 & 4; // a = 4; bin: 110 & 100 = bitowa różnica symetryczna (XOR) ^ int a = 6 ^ 4; // a = 2; bin: 110 & 100 = bitowa negacja ~ unsigned short x = 0x00; x = ~x; // a = 255; hex: a = 0x00 1 P 16 Operatory przypisania 1 zwykłe przypisanie = a = b = c = d; // a = ( b = (c = d) ); 2 iloczyn i przypisanie *= a *= 2; // a = a * 2; 3 iloraz i przypisanie /= a /= 2; // a = a / 2; 4 modulo i przypisanie %= a %= 2; // a = a % 2; 5 suma i przypisanie += a += 2; // a = a + 2; 6 różnica i przypisanie -= a -= 2; // a = a - 2; przesunięcie bitowe w lewo i 7 przypisanie <<= a <<= 2; // a = a << 2; 2 P 3 przesunięcie bitowe w prawo i 8 przypisanie >>= a >>= 2; // a = a >> 2; 9 bitowa koniunkcja i przypisanie &= a &= 2; // a = a & 2; 10 bitowa alternatywa i przypisanie = a = 2; // a = a 2; bitowa różnica symetryczna i 11 przypisanie ^= a ^= 2; // a = a ^ 2; 1 wyrażenie warunkowe?: a = (i<5)? 1 : 0; // if(a<5) a=1; else a=0; 4 Pr priorytet operatora, L.arg liczba argumentów operatora, Łącz łączność operatora

14 Pozostałe operatory Lp Operator Symbol Przykład // Objaśnienie L.arg Łącz Pr Operatory ogólne 1 określenie zakresu std::cin :: 2 nazwa globalna ::a = 4; 1 P 3 element tablicy [ ] a[0] = 5; 18 4 wywołanie funkcji fun(1, 2) ( ) 5 nawias w wyrażeniach (a+b)*4 L 6 rzucenie wyjątku throw przecinek, a = 5, b=6, c=7 1 Informacje o obiektach 8 rozmiar obiektu int a; sizeof(a); sizeof sizeof(int); 16 9 rozmiar typu 1 10 identyfikacja typu wg nazwy typeid identyfikacja typu wyrażenia Operacje na obiektach 12 adres czegoś & int a=1; int* w = &a; 13 odniesienie się wskaźnikiem * *w = 2; 14 stwórz (rezerwuj nowy obiekt) int* w = new int; 15 stwórz obiekt i inicjalizuj go int* w = new int(2); new 16 stwórz w określonym miejscu 1 P stwórz w określonym miejscu i inicjalizuj 18 zlikwiduj (anuluj rezerwację) delete int* w = new int; delete w; 19 zlikwiduj wektor delete[ ] int* t[3]; delete[] t; Operatory rzutowania 20 rzutowanie (spr. w trakcie wykonania) dynamic_cast 21 rzutowanie (spr. w trakcie kompilacji) static_cast 22 rzutowanie nie sprawdzane reinterpret_cast konwersja const/volatile const_cast 24 rzutowanie tradycyjne ( ) P 16 Wybór składnika obiektu obiektem 26 i wskaźnikiem.* do składnika klasy ->* wskaźnikiem 28 > 17 Pr priorytet operatora, L.arg liczba argumentów operatora, Łącz łączność operatora 8.3. Priorytety i łączność operatorów L.arg Pr Symbol Operator Zastosowanie Łącz nazwa_klasy :: składnik określenie zakresu nazwa_przestrzeni_nazw :: składnik 18 :: :: nazwa_globalna nazwa globalna 1 P :: nazwa_kwalifikowana. obiekt. składnik wybranie składnika > wskaźnik > składnik [ ] element tablicy wskaźnik [ wyrażenie ] wywołanie funkcji funkcja ( lista_argumentów ) ( ) nawias w wyrażeniach ( wyrażenie ) L Operatory arytmetyczne (17) ++ post inkrementacja (nie zwraca lwartości) lwartość post dekrementacja (nie zwraca lwartości) lwartość Operatory rzutowania (17) identyfikacja typu wg nazwy typeid( typ ) typeid() identyfikacja typu wyrażenia typeid( wyrażenie ) dynamic_cast rzutowanie (spr. w trakcie wykonania) dynamic_cast< typ >( wyrażenie ) static_cast rzutowanie (spr. w trakcie kompilacji) static_cast< typ >( wyrażenie ) reinterpret_cast rzutowanie nie sprawdzane reinterpret_cast< typ >( wyrażenie ) const_cast konwersja const/volatile const_cast< typ >( wyrażenie ) 1 L sizeof rozmiar obiektu typeid( wyrażenie ) rozmiar typu typeid( typ ) 1

15 Operatory arytmetyczne, logiczne, bitowe (16) ++ pre inkrementacja (zwraca lwartość) ++ lwartość -- pre dekrementacja (zwraca lwartość) -- lwartość ~ negacja bitowa ~ wyrażenie! negacja logiczna! wyrażenie - jednoargumentowy minus - wyrażenie + jednoargumentowy plus + wyrażenie Operacje na obiektach & adres czegoś & lwartość * odniesienie się wskaźnikiem * wyrażenie stwórz (rezerwuj nowy obiekt) new typ new stwórz obiekt i inicjalizuj go new typ ( lista_wyrażeń ) stwórz w określonym miejscu new adres_miejsca typ stwórz w określonym miejscu i inicjalizuj new adres_miejsca ( lista_wyrażeń ) delete zlikwiduj (anuluj rezerwację) delete wskaźnik delete[ ] zlikwiduj wektor delete [ ] wskaźnik ( ) rzutowanie (konwersja typu) ( typ ) wskaźnik Wybór składnika wskaźnikiem do składnika klasy (15) 15.* i nazwą obiektu obiekt.* wsk_do_składnika ->* i wskaźnikiem do obiektu wsk ->* wsk_do_składnika Operatory arytmetyczne (14, 13) * iloczyn wyrażenie * wyrażenie 14 / iloraz wyrażenie / wyrażenie % reszta z dzielenia (modulo) wyrażenie % wyrażenie 13 + suma (plus) wyrażenie + wyrażenie - różnica (minus) wyrażenie - wyrażenie Operatory bitowe (12) 12 << przesunięcie bitowe w lewo wyrażenie << wyrażenie >> przesunięcie bitowe w prawo wyrażenie >> wyrażenie Operatory logiczne relacje (11) < mniejsze niż wyrażenie < wyrażenie 11 <= mniejsze lub równe wyrażenie <= wyrażenie > większe niż wyrażenie > wyrażenie >= większe lub równe wyrażenie >= wyrażenie 10 == równe wyrażenie == wyrażenie!= nie równe wyrażenie!= wyrażenie Operatory bitowe (9, 8, 7) 9 & bitowy iloczyn (AND) wyrażenie & wyrażenie 8 ^ bitowa różnica symetryczna (XOR) wyrażenie ^ wyrażenie 7 bitowa suma (OR) wyrażenie wyrażenie Operatory logiczne 6 && koniunkcja (AND) wyrażenie && wyrażenie 5 alternatywa (OR) wyrażenie wyrażenie 4?: arytmetyczne if wyrażenie? wyrażenie : wyrażenie Operatory przypisania = zwykłe przypisanie lwartość = wyrażenie *= iloczyn i przypisanie lwartość *= wyrażenie /= iloraz i przypisanie lwartość /= wyrażenie %= modulo i przypisanie lwartość %= wyrażenie += suma i przypisanie lwartość += wyrażenie 3 -= różnica i przypisanie lwartość -= wyrażenie <<= przesunięcie bitowe w lewo i przypisanie lwartość <<= wyrażenie >>= przesunięcie bitowe w prawo i przypisanie lwartość >>= wyrażenie &= bitowa koniunkcja i przypisanie lwartość &= wyrażenie = bitowa alternatywa i przypisanie lwartość = wyrażenie ^= bitowa różnica symetryczna i przypisanie lwartość ^= wyrażenie 1 P 2 P 15 2 throw rzucenie wyjątku throw wyrażenie 1 1, przecinek wyrażenie, wyrażenie Pr priorytet operatora, L.arg liczba argumentów operatora, Łącz łączność operatora

Spis treści

Spis treści 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

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

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

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta 16.09.2006. Strona 1 z 26. Powrót. Full Screen. Zamknij. Programowanie Sobera Jolanta 16.09.2006 Strona 1 z 26 1 Wprowadzenie do programowania 4 2 Pierwsza aplikacja 5 3 Typy danych 6 4 Operatory 9 Strona 2 z 26 5 Instrukcje sterujące 12 6 Podprogramy 15 7 Tablice

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

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

Zmienne, stałe i operatory

Zmienne, stałe i operatory Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe

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

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

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

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 Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe

Bardziej szczegółowo

Podstawy programowania w języku C

Podstawy programowania w języku C Podstawy programowania w języku C WYKŁAD 1 Proces tworzenia i uruchamiania programów Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu

Bardziej szczegółowo

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

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 6 1 SPECYFIKATOR static Specyfikator static: Specyfikator ten powoduje, że zmienna lokalna definiowana w obrębie danej funkcji nie jest niszczona

Bardziej szczegółowo

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły

Bardziej szczegółowo

Programowanie strukturalne i obiektowe

Programowanie strukturalne i obiektowe Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie

Bardziej szczegółowo

Słowa kluczowe i nazwy

Słowa kluczowe i nazwy Materiał uzyskany ze strony: http://edu.pjwstk.edu.pl/wyklady/pro/scb/prg2cpp_files/node1.html Słowa kluczowe i nazwy Nazwy (identyfikatory) są wprowadzane do jednostki kompilacji (pliku wraz z innymi

Bardziej szczegółowo

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

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2

Bardziej szczegółowo

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

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

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

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 programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski

Bardziej szczegółowo

ROZDZIAŁ 2. Operatory

ROZDZIAŁ 2. Operatory Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]

Bardziej szczegółowo

Języki programowania - podstawy

Języki programowania - podstawy Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania

Bardziej szczegółowo

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

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia Struktura programu W programach napisanych w C++ litery wielkie i małe są rozróżniane i często po nauce Pascala są przyczyną błędów. Program napisany w języku C++ składa się zazw yczaj z następujących

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

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

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

Bardziej szczegółowo

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

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:

Bardziej szczegółowo

( wykł. dr Marek Piasecki )

( wykł. dr Marek Piasecki ) INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie

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 Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe: Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

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

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++ Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

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

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

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem. Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -

Bardziej szczegółowo

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku

Bardziej szczegółowo

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

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++ Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard

Bardziej szczegółowo

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Informatyka I Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 1 Plan wykładu

Bardziej szczegółowo

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. 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 programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini

Bardziej szczegółowo

2 Przygotował: mgr inż. Maciej Lasota

2 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania

Bardziej szczegółowo

Podstawy języka C++ Marek Pudełko

Podstawy języka C++ Marek Pudełko Podstawy języka C++ Marek Pudełko Elementy języka C++ identyfikatory, słowa kluczowe, stałe i teksty, operatory, separatory, odstępy, komentarze. 2 Komentarz Komentarz to opis działania danego fragmentu

Bardziej szczegółowo

Język C - podstawowe informacje

Język C - podstawowe informacje Język C - podstawowe informacje Michał Rad AGH Laboratorium Maszyn Elektrycznych 2014-12-05 Outline Program w języku C Funkcje Składnia Instrukcje sterujace Na koniec... Po kolei napisać program (zwykły

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

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

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop. 2010 Spis treści Wstęp 11 Część I PASCAL - wprowadzenie do programowania strukturalnego

Bardziej szczegółowo

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

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

Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015. Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015 Spis treści 0 Proszę nie czytać tego! 19 1 Startujemy! 24 1.1 Pierwszy program

Bardziej szczegółowo

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO Rozdział 1. Wybór i instalacja kompilatora języka Pascal 1.1. Współczesne wersje kompilatorów Pascala 1.2. Jak zainstalować

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

C++ wprowadzanie zmiennych

C++ wprowadzanie zmiennych C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym

Bardziej szczegółowo

Techniki Programowania

Techniki Programowania Techniki Programowania Łukasz Madej Katedra Informatyki Stosowanej i Modelowania Wykłady opracowane we współpracy z Danutą Szeligą, Łukaszem Sztangretem Dr hab. inż. Łukasz Madej, prof. AGH Budynek B5,

Bardziej szczegółowo

MATERIAŁY DO ZAJĘĆ II

MATERIAŁY DO ZAJĘĆ II MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych

Bardziej szczegółowo

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

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy

Bardziej szczegółowo

Lab 9 Podstawy Programowania

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

Bardziej szczegółowo

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

Języki i metodyka programowania. Wprowadzenie do języka C

Języki i metodyka programowania. Wprowadzenie do języka C Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1 Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja

Bardziej szczegółowo

Podstawy programowania - 1

Podstawy programowania - 1 Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl

Bardziej szczegółowo

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

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

Opus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. Gliwice, cop Spis treści Opus Magnum C++11 : programowanie w języku C++. Tom 1 / Jerzy Grębosz. Gliwice, cop. 2018 Spis treści 0 Proszę tego nie czytać! 1 0.1 Zaprzyjaźnijmy się! 1 1 Startujemy! 8 1.1 Pierwszy program 8 1.2 Drugi

Bardziej szczegółowo

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

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5 JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM Wykład 5 1 SPECYFIKATOR const Specyfikator (przydomek) const: Umieszczenie przed nazwą zmiennej specyfikatora const w jej definicji informuje kompilator,

Bardziej szczegółowo

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = Ala ma ; 1 2 Operacje na zmiennych Kolejność operacji: deklaracja, inicjacja bool decyzja; int licznik, lp; double stvat, wartpi; char Znak; string S1, S2 = "Kowalski"; przypisanie wartości podstawienie decyzja

Bardziej szczegółowo

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej Wykład I - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Zaliczenie przedmiotu Do zaliczenia przedmiotu niezbędne jest

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

Podstawy Programowania. Wykład 1

Podstawy Programowania. Wykład 1 Podstawy Programowania Wykład 1 Jak się uczyć programowania? Wykład i laboratorium Literatura Jerzy Grębosz Symfonia C++ Bjarne Stroustrup Język C++ Bruce Eckel Thinking in C++ Tony L. Hansen C++ zadania

Bardziej szczegółowo

Język C zajęcia nr 11. Funkcje

Język C zajęcia nr 11. Funkcje Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji

Bardziej szczegółowo

Wstęp do programowania. Wykład 1

Wstęp do programowania. Wykład 1 Wstęp do programowania Wykład 1 1 / 49 Literatura Larry Ullman, Andreas Signer. Programowanie w języku C++. Walter Savitch, Kenrick Mock. Absolute C++. Jerzy Grębosz. Symfonia C++. Standard. Stephen Prata.

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak

Bardziej szczegółowo

Programowanie w języku C++

Programowanie w języku C++ INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++

Bardziej szczegółowo

Programowanie komputerowe. Zajęcia 1

Programowanie komputerowe. Zajęcia 1 Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program

Bardziej szczegółowo

Podstawy i języki programowania

Podstawy i języki programowania Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.

Bardziej szczegółowo

ECLIPSE wnioski z dwóch pierwszych laboratoriów

ECLIPSE wnioski z dwóch pierwszych laboratoriów PODSTAWY PROGRAMOWANIA 3-4 WYKŁAD 22-10-2015 ECLIPSE wnioski z dwóch pierwszych laboratoriów Dodanie pliku i konfiguracji startowej (każdy uruchamiany program powinien mieć własna konfigurację startową)

Bardziej szczegółowo

Struktura pliku projektu Console Application

Struktura pliku projektu Console Application Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku

Bardziej szczegółowo

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch. Instrukcje warunkowe i skoku. Spotkanie 2 Dr inż. Dariusz JĘDRZEJCZYK Wyrażenia i operatory logiczne Instrukcje warunkowe: if else, switch Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania

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

Podstawy programowania (1)

Podstawy programowania (1) Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl Podstawy programowania (1) - wykład 1. Wprowadzenie

Bardziej szczegółowo

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

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów Funkcje. Spotkanie 5 Dr inż. Dariusz JĘDRZEJCZYK Tworzenie i używanie funkcji Przekazywanie argumentów do funkcji Domyślne wartości argumentów Przeładowanie nazw funkcji Dzielenie programu na kilka plików

Bardziej szczegółowo

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

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym

Bardziej szczegółowo

Podstawy Programowania

Podstawy Programowania Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Tablice (jedno i wielowymiarowe), łańcuchy znaków Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie

Bardziej szczegółowo

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od

Bardziej szczegółowo

Programowanie strukturalne język C - wprowadzenie

Programowanie strukturalne język C - wprowadzenie Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość

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

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++ Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

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

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne

Bardziej szczegółowo

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

Wstęp do programowania obiektowego. Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe Wstęp do programowania obiektowego Przekazywanie parametrów do funkcji w C++ Metody i funkcje operatorowe Strumienie: standardowe, plikowe, napisowe 1 PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI W C++ 2 W C++

Bardziej szczegółowo

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

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)

Bardziej szczegółowo

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard

Bardziej szczegółowo

Języki programowania zasady ich tworzenia

Języki programowania zasady ich tworzenia Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie

Bardziej szczegółowo

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

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA I. KARTA PRZEDMIOTU 1. Nazwa przedmiotu: PODSTAWY PROGRAMOWANIA. Kod przedmiotu: Ovi1 3. Jednostka prowadząca: Wydział Mechaniczno-Elektryczny 4. Kierunek: Mechatronika 5. Specjalność: Eksploatacja Systemów

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykład 8: klasy cz. 4 Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak: accept - typy zawartości MIME akceptowane przez serwer (opcjonalny) accept-charset - zestaw znaków akceptowanych

Bardziej szczegółowo