Wykład 1.sxw

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

Download "Wykład 1.sxw"

Transkrypt

1 Literatura 1. B. W. Kernighan, D. M. Ritchie Język ANSI C 2. B. Stroustrup Język C++ Koniecznie nowsze wydania np. WNT Dodatkowo: 3. K. Barteczko Praktyczne wprowadzenie do programowania obiektowego w języku C++ Lupus, Warszawa Książka starsza, ale jako uzupełnienie może być pomocna. 4. J. Grębosz Symfonia C++, Pasja C++ Edition 2000 Polecana przez wielu czytelników. 5. S. Meyers Język C++ Bardziej Efektywny 6. R. B. Murray C++ Strategia i taktyka Programowanie Obiektowe Narzuca nowy styl programowania który jest bardziej wymagający dla projektantów bibliotek, natomiast pozwala użytkownikom tzn. programistom korzystającym z tych bibliotek pracować łatwiej i efektywniej. Język C++ jest językiem programowania opartym o język C i wspomagającym ideę (paradygmat) programowania obiektowego i zawierający także elementy wspomagające tzw. programowanie generyczne (tzn. korzystające ze zautomatyzowanego tworzenia pewnych części oprogramowania). Są w istocie dwa oddzielne etapy nauki języka C++ tj. nauka składni oraz nauka sposobów tworzenia projektów obiektowych. C++ ma mnóstwo możliwości nie trzeba jednak opanować wszystkich by móc efektywnie korzystać z języka. Istnieją również zasadniczo dwie koncepcje podejścia do programowania obiektowego, a w szczególności programowania w języku C++. Pierwsza mówi, że należy zacząć od początku uczyć się projektowania obiektowego i następnie pisać programy korzystając wyłącznie z podejścia obiektowego, natomiast druga stwierdza, że do programowania obiektowego należy podchodzić etapami, używając C++ najpierw jako ulepszonego C, przechodząc do tzw. abstrakcji danych, a następnie do pełnego programowania obiektowego. Podejście drugie wydaje się być bardziej odpowiednim uwzględniając następujące czynniki: Każdy program w C jest jednocześnie programem w C++ ( z pewnymi wyjątkami). Praca w C++ narzuca proces projektowania. Nie należy używać wszystkich możliwości języka naraz. Łatwiej używać klas niż je budować (klasa jest specyficznym typem danych opisującą tzw. obiekty). Szczególnie łatwe jest korzystanie z dostarczonych z kompilatorem bibliotek obiektowych. Języki wysokiego poziomu wymagają więcej pracy komputera. Tworzenie bibliotek to nie zabawa. W szczególności po roku 1997 oficjalna wersja C++ uległa tak daleko idącym zmianom ze względu na ogromny postęp w projektowaniu standardowej biblioteki tzw. wzorców (STL), że współczesne programy C++ mało przypominają programy w C. Jednakże wielu programistów piszących w C++ ciągle używa konstrukcji zaczerpniętych bezpośrednio z klasycznego C, a które są w dalszym ciągu dozwolone w C++. Dlatego właściwym wydaje się rozpoczęcie wykładów z C++ od przybliżenia klasycznego języka C. A w dodatku w pewnych systemach Unix'owych w dalszym ciągu standardowo są instalowane kompilatory C, a nie C++. A poza tym dostępne są kody źródłowe do tego systemu. Kody te w dużej części są napisane w C. Budowa Programu w C/C++ Każdy program składa się z tzw. funkcji głównej, która wywołuje inne funkcje bądź realizuje instrukcje języka, stąd najprostszy program w języku C i C++ ma następującą postać (obok równoważna postać tego programu w języku Pascal): Wykład 1.sxw

2 C/C++ Begin End. Pascal Ogólna definicja programu pochodząca z oficjalnego raportu języka C++: Program jest zbiorem plików połączonych ze sobą. Plik składa się z ciągu deklaracji W szczególności: funkcje wejścia-wyjścia nie są częścią języka C (tak ja są nią instrukcje write i read dla Pascal a) są one natomiast dostarczane z bibliotekami stanowiącymi integralną część standardu języka zarówno C jak i C++. Zastosowanie takiej biblioteki wymaga uwzględnienia deklaracji danej funkcji i zmiennych używanych w danej bibliotece, a dokonuje się tego przez dołączenie tzw. pliku nagłówkowego zawierającego zestaw tych deklaracji. Stąd w typowym tekście programu zawierającego funkcję main() występuje również szereg dyrektyw (#include) włączających do procesu kompilacji pliki nagłówkowe. Program używający standardowej funkcji wyjścia printf wygląda następująco. #include <stdio.h> int main() printf( Dowolny łańcuch znakowy ); return 0; Na przykładzie tego programu można zauważyć, że: Na początku dołączono w nim dyrektywą #include plik nagłówkowy stdio.h, plik ten jest plikiem tekstowym i zawiera deklarację licznych zmiennych i funkcji min. funkcji main() Należy zwrócić uwagę na to, że w odróżnieniu od Pascala łańcuchy tekstowe ujęte są w cudzysłowy ( ) a nie w apostrofy ( ) Instrukcje kończą się średnikiem. printf jest funkcją. W języku C nie ma procedur w sensie języka Pascal, są funkcje. Funkcje zwracają w miejsce swojego wywołania jakąś wartość, ponieważ main() jest funkcją języka C więc spełnia wszystkie warunki dla takich funkcji min. zwraca wartość (wartość ta może być np. testowana przez system operacyjny, co może być zastosowane w tzw. plikach wsadowych lub skryptach systemowych). W naszym przypadku wartością tą jest 0 (instrukcją kończącą wykonywanie funkcji i przekazującą w miejsce jej wywołania wartości jest return ). Typ zwracanej wartości jest podany w trakcie deklaracji funkcji, w ostatnim przypadku mówi o tym napis int przed funkcją main(). W przykładzie prezentującym najprostszy program w C, funkcja main() była zadeklarowana z atrybutem void co oznaczało, że funkcja ta nie zwraca żadnej wartości. Funkcje takie można traktować jako równoważniki Pascal owskich procedur. Nawiasem mówiąc funkcja printf() również zwraca pewną wartość, tzn. w przypadku sukcesu zwraca ilość bajtów przekazanych na wyjście (czytaj: ekran), w przypadku niepowodzenia (tzn. wydarzyło się coś nieprzewidzianego co uniemożliwiło wypisanie komunikatu) zwraca tzw. znak specjalny, w tym przypadku oznaczany on jest za pomocą skrótu EOF. Kompilatory języka C / C++ rozpoznają wielkość liter (ang. Case Sensitive) tzn. napis main jest różny od Main i program: void Main() nie skompiluje się. Wykład 1.sxw

3 w języku C++ częściej w celu wyprowadzenia danych na konsolę stosuje się bibliotekę strumieniową, której definicje zawarte są w pliku nagłówkowym <iostream.h>. Stąd wersja ostatniego z programów napisana przy użyciu tej biblioteki miała by postać: #include <iostream.h> int main() cout << Dowolny łańcuch znakowy ; return 0; w powyższym programie cout jest to tzw. standardowy strumień wyjścia, który utożsamiany jest z ekranem. Znaki << oznaczają operator skierowania strumienia co można z grubsza interpretować jako wysłanie tego co po prawej stronie do strumienia cout (czyli de facto na ekran). Tak naprawdę użycie operatora << jest tutaj jedynym widocznym na pierwszy rzut oka rozszerzeniem C zaimplementowanym (czyli zrealizowanym) w języku C++ i obrazuje operację tzw. przeciążania operatora tzn. nadania operatorowi nowego znaczenia zależnego od rodzaju danych dla jakich się go stosuje. W języku C << jest operatorem przesuwania bitowego, o czym przekonamy się w przyszłości. Tutaj w bibliotece strumieniowej C++ operator ten został przedefiniowany. Stosowanie wejścia i wyjścia w stylu C (np. funkcja printf() ) czy też C++ jest raczej kwestią gustu. Dla łańcuchów tekstowych zresztą nie ma większych różnic w obu sposobach. Różnicę widać dopiero wtedy gdy na wyjście wysyła się dane różnych typów. Dzięki rozszerzeniu obiektowemu operatory zdefiniowane w bibliotece iostream same dostosowują do typu zmiennych typ wyjścia, tzn, np. liczby typu całkowitego (int) zamieniają w ich odpowiednik łańcuchowy (czyli napis zrozumiały dla człowieka). Podobnie jak Pascal język C jest językiem ze ścisła typizacją, tzn. dla wszystkich zmiennych należy określić zadeklarować ich typ (tzn. rodzaj danych jakie będą przechowywały). Z tym, że w przeciwieństwie do Pascala nie ma wyróżnionej sekcji, w której definiuje się dane. W ANSI C deklaracje powinny pojawić się na początku bloku, do którego ogranicza się zasięg, tych deklaracji. Np. zmienne globalne (tzn. widoczne we wszystkich funkcjach programu), muszą być zadeklarowane na zewnątrz funkcji main(). W przypadku C++ jedynym wymaganiem jest to aby deklaracja zmiennej pojawiła się przed jej użyciem. Przykładowe deklaracje: Typy całkowite: int i; // i jest zadeklarowana jako zmienna typu całkowitego int k; // podobnie k long int z ; // obie poniższe deklaracje tzw. zmiennej long z; //całkowitej długiej są poprawne int j,z; int w = 3; Typy rzeczywiste: float r; double d; long double z; Typ znakowy: // deklaracje dwóch zmiennych całkowitych // deklaracja połączona z inicjalizacją tzn. nadaniem // wartości ( w tym przypadku zmiennej w została // przypisana liczba 3). // zmienna rzeczywista pojedynczej precyzji; // zmienna rzeczywista podwójnej precyzji. //zmienna rzeczywista rozszerzonej podwójnej precyzji. Wykład 1.sxw

4 char a = a ; // UWAGA!!! w przeciwieństwie do Pascala apostrofy // oznaczają pojedynczy znak, natomiast łańcuch musi być // ujmowany w cudzysłowy zmienna typu char jest również traktowana jako liczba całkowita o długości 1 bajta tzn (8 bitów). char b = 17; // można napisać ciąg deklaracji i instrukcji: (int i; char b=3; i = 5 + b), // po których i przyjmie wartość 8. Zastosowanie deklaracji zmiennych, instrukcji iteracyjnych i arytmetycznych na przykładzie programu Stopa (przeliczającego odległość wyrażoną w stopach na odległość w metrach) Przykłady z dwoma sposobami wejścia i wyjścia. Program przy użyciu bibliotek C++ Klasyczny C /* Program przelicza odległość wyrażoną w stopach na odległość wyrażoną w metrach dla odległości S= 0, 20, stóp. Odległości te przelicza się według następującego wzoru M = S*0,3048 */ #include <iostream.h> int Metry, GORNA; int KROK = 20; // inicjacja i deklaracja zmiennej int DOLNA = 0; GORNA = 300; int Stopy = DOLNA; while (Stopy <=GORNA) Metry =Stopy*3048/10000; cout << Stopy << \t << Metry << n ; Stopy = Stopy + KROK; // ****** koniec funkcji main(); #include <stdio.h> int Metry, GORNA; int KROK = 20; // inicjacja i deklaracja zmiennej int DOLNA = 0; GORNA = 300; int Stopy = DOLNA; while (Stopy <=GORNA) Metry = Stopy*3048/10000 ; printf( %d \t %d \n, Stopy, Metry); Stopy = Stopy + KROK; // ****** koniec funkcji main(); Uwagi do pierwszego programu. Chociaż w prawej kolumnie przykładowego programu, została podana informacja, że jest to program w klasycznym C, to jednak ponieważ przypisanie GORNA = 300 znajduje się przed deklaracją (int fahr = DOLNA) to program ten w klasycznym kompilatorze C nie skompiluje się. Zgodnie z tym co było powiedziane wcześniej w klasycznym C, wszystkie deklaracje muszą znaleźć się na początku bloku w którym obowiązują, co w naszym przypadku oznacza początek funkcji głównej (main()). Poprawna kolejność w tym przypadku to: int Stopy = DOLNA; GORNA = 300; Aby program był zgodny z klasycznym C nie może mieć również komentarzy zaczynających się od dwóch ukośników ( backslash-y ) //. Jedynym dozwolonym komentarzem jest blok ujęty w następujące sekwencje ograniczające: /* */. Wykład 1.sxw

5 W rozważanym programie wyjaśnienia wymaga instrukcja while(), której postać można ogólnie zapisać jako: while(wyrażenie) instrukcja; Jest to instrukcja sterująca iteracyjna, czyli służy do zapisywania powtarzających się instrukcji, w których musi ulegać zmianie co najmniej jedna ze zmiennych tj. tzw. zmienna sterująca, której stan badany jest w warunku zakończenia iteracji, w przeciwnym wypadku mamy do czynienia z pętlą nieskończoną. Argumentem instrukcji while jest wyrażenie (warunek logiczny). Funkcja while() powtarza bezpośrednio po niej następującą instrukcję lub grupę instrukcji ujętą w nawiasy klamrowe, tak długo, jak długo warunek logiczny będący jej argumentem pozostaje prawdą. W naszym przypadku blok instrukcji ujęty w nawiasy klamrowe a znajdujący się bezpośrednio za instrukcją while(), będzie powtarzany tak długo, jak długo zmienna Stopy pozostaje mniejsza bądź równa zmiennej GORNA. Zmienna Stopy jest tu zmienną sterującą. Jej wartość w każdym kroku pętli ulega zwiększeniu o wartość zmiennej KROK. Funkcja printf() pochodząca ze standardowej biblioteki języka C, jest powszechnie używana do formatowanego wyjścia (tj. po prostu pisania na ekranie) w środowisku znakowym. Jej deklaracja znajduje się w pliku nagłówkowym <stdio.h>. Zapis z nawiasami ostrymi mówi kompilatorowi, że plik nagłówkowy znajduje się w standardowym (tj. znanym kompilatorowi ) katalogu z plikami nagłówkowymi i kompilator tam właśnie będzie go szukał. W przypadku tworzenia własnych plików nagłówkowych w dyrektywie #include należy wraz z nazwą pliku podać ścieżkę dostępu do niego ujętą w cudzysłowy, np. w systemie plikowym wywodzącym się z DOS-a zapis taki wyglądał by następująco: #include C:\\Katalog\\nazwa_pliku.h. Warto zauważyć, że po tak zwanych dyrektywach preprocesora (do których należy #include) nie stawiamy średnika. Podwójny znak \\ jest potrzebny ze względu na specyficzne znaczenie pojedynczego znaku \ w C. Liczba argumentów funkcji printf() jest dowolna, z tym, że pierwszym argumentem musi być tzw. łańcuch formatujący (ciąg znaków), który zawiera napis mający ukazać się na wyjściu. W łańcuchu tym, w miejscach w których należy wstawić określone zmienne mające pojawić się na wyjściu, mogą znajdować się tzw. specyfikacje przekształceń składające się ze znaku % oraz litery określającej typ wstawianych zmiennych (lub stałych). Zmienne te, powinny być następnymi argumentami funkcji printf(), w takiej kolejności w jakiej pojawiają się w łańcuchu formatującym. Np. skutkiem wykonania instrukcji printf( Wynik dzielenia %d przez %d jest równy %f \n,a,b,c); przy założeniu że a, b są zmiennymi typu int, natomiast c zmienną typu float wynoszącymi odpowiednio 3, 2, 1.5; otrzymamy na wyjściu napis: Wynik podzielenia 3 przez 2 wynosi specyfikacje przekształceń mają domyślne formatowanie (tzn. sposób wyświetlania), którym można sterować np. w przypadku zmiennych rzeczywistych ciąg znaków %6.2f oznacza, że w tym miejscu spodziewana jest liczba zmiennoprzecinkowa, która ma być zapisana w polu o długości (szerokości) co najmniej sześciu znaków i być wypisaną z dokładnością do 2 liczb po przecinku. Najpopularniejsze specyfikatory przekształceń: %d, %i %x, %X typy całkowite wyjście w zapisie dziesiętnym typy całkowite wyjście w zapisie szesnastkowym Wykład 1.sxw

6 %f, %g, %e, %E, %G typy zmiennoprzecinkowe %c pojedynczy znak %s łańcuch tekstowy W każdym łańcuch tekstowym, mogą znaleźć się również tak zwane znaki specjalne, zapis ich zaczyna się od znaku \ po którym następuje odpowiednia litera; najpopularniejsze znaki specjalne: \n przejście do następnego wiersza \t tabulator \ wypisuje znak apostrofu, który normalnie należy do znaków specjalnych \ wypisuje znak cudzysłów, który normalnie należy do znaków specjalnych \\ wypisuje znak ukośnik odwrotny (ang. backslash), który normalnie należy do znaków specjalnych \? wypisuje znak zapytania. \xh wypisuje znak o kodzie ASCII zapisanym w miejscu H za pomocą cyfr szesnastkowych np. \x0f wypisze znak o kodzie 16 (szesnastkowo 0F) \Oooo wypisuje znak o kodzie ASCII zapisanym za pomocą 3 cyfr w notacji ósemkowej Wykonanie przykładowego programu w przedstawionej wersji, dostarczy jedynie przybliżonych wyników. Dzieje się tak ponieważ wszystkie zmienne były zadeklarowane jako zmienne całkowite (int), wówczas wyniki działań arytmetycznych będących liczbami niecałkowitymi są pozbawiane części ułamkowej. Rozwiązaniem jest zadeklarowanie typu wyniku (zmiennej Metry jako zmiennej typu np. float oraz użycie w wyrażeniu literałów liczbowych typu zmiennoprzecinkowego (czyli przedstawień znakowych, napisów np ), co w praktyce polega na dopisaniu części ułamkowej do liczb wchodzących w skład wyrażenia arytmetycznego. (czyli Stopy*3048.0/ albo po prostu Stopy*0.3048) Język C znany jest z bardzo zwięzłego zapisu. Podobnie jak i inne języki programowania posiada również różnego rodzaju instrukcje iteracyjne (czyli organizujące tzw. pętle ). Obie te cechy języka prezentuje poniższy program: Program przy użyciu bibliotek C++ Klasyczny C /* Program przelicza odległość wyrażoną w stopach na odległość wyrażoną w metrach dla odległości S= 0, 20, stóp; wersja z instrukcją for() */ #include <iostream.h> for(int S=0 ; S<=300; S = S+20) cout<< S << \t << S*3048.0/10000 << \n ; // ****** koniec funkcji main(); #include <stdio.h> int S; for (S = 0; S <=300;S = S + 20) printf( %3d %6.1f\n, S, S*0.3048); // ****** koniec funkcji main(); Wykład 1.sxw

7 Programy zapisane w dialektach C++ i C różnią się w tym przypadku nie tylko zastosowanymi bibliotecznymi funkcjami wejścia/wyjścia, ale również rozszerzeniem języka C++ o możliwość deklarowania zmiennych w prawie dowolnym momencie byle by przed jej użyciem. Uboczną konsekwencją deklaracji zmiennej S (Stopy) w argumencie funkcji for() jest ograniczenie jej zasięgu od instrukcji lub bloku instrukcji ujętego w nawiasy klamrowe następujących bezpośrednio za wywołaniem funkcji for(). Tzn. poza tymi nawiasami S jest zmienną niezdefiniowaną i nie można jej używać. Dolna i górna granica wraz z rozmiarem kroku są teraz stałymi w instrukcji for(), natomiast wyrażenie obliczające odległość w metrach jest teraz trzecim argumentem wywołania funkcji printf(), a nie osobną instrukcją przypisania. Ta ostatnia zmiana ilustruje podstawową zasadę języka C: wszędzie tam, gdzie może wystąpić wartość zmiennej pewnego typu, możesz zastosować bardziej skomplikowane wyrażenie tego typu. Tak więc w miejsce zmiennej typu float, można wstawić wyrażenie (czyli np. działanie matematyczne), którego wynik jest typu zmiennoprzecinkowego ( rzeczywistego). Instrukcja for() zawiera trzy części oddzielone średnikami. Pierwsza część inicjująca pętle ( u nas S = 0) wykonuje się tylko raz przed wejściem do pętli. Druga część jest warunkiem sterującym powtarzaniem pętli (analogicznie jak wyrażenie będące argumentem instrukcji while()). Wyrażenie to jest sprawdzane każdorazowo przed wejściem do pętli. Jeżeli jego wartość logiczna wynosi fałsz, to instrukcja for() kończy wykonywanie pętli. Po obliczeniu i sprawdzeniu warunku wykona się treść pętli tj. instrukcja albo grupa instrukcji ujęta w nawiasy klamrowe występująca bezpośrednio za for(). Następnie obliczana jest wartość wyrażenia znajdującego się w trzeciej części argumentów funkcji for() (w naszym wypadku S = S + KROK ). Trzeci argument jest zazwyczaj wyrażeniem sterującym, tj. takim, które powinno zapewnić zmianę zmiennej sterującej sprawdzanej w warunku sterującym. Symbolicznie zapis instrukcji for() można przekształcić następująco na zapis instrukcji while(). for(wyr1; wyr2; wyr3) instrukcja; wyr1; while(wyr2) instrukcja; wyr3; UWAGA!!! Częstym błędem popełnianym w pierwszej fazie nauki języka C jest stawianie średnika bezpośrednio za nawiasem ograniczającym argumenty instrukcji for() czy też instrukcji while(). W takim przypadku w pętli zostaje wykonywana instrukcja pusta, gdyż średnik jest właśnie traktowany jak instrukcja pusta, co jest szczególnie niebezpieczne w instrukcji while(), gdyż zmienna sterująca jest w takim wypadku zazwyczaj nie zmieniana i dochodzi do pętli nieskończonej. for(wyr1; wyr2; wyr3); while(wyr2); Wykład 1.sxw

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

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

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

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy

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

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

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

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

Bardziej szczegółowo

Ję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

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

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

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

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu. Część XIX C++ w Każda poznana do tej pory zmienna może przechowywać jedną liczbę. Jeśli zaczniemy pisać bardziej rozbudowane programy, okaże się to niewystarczające. Warto więc poznać zmienne, które mogą

Bardziej szczegółowo

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

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

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3, WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)

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

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

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach

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

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

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

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

Wstęp do Programowania, laboratorium 02

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których

Bardziej szczegółowo

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); } KURS C/C++ WYKŁAD 2 Instrukcje iteracyjne Instrukcja while Składnia tej instrukcji jest następująca: while (wyrażenie) instrukcja W pętli while wykonanie instrukcji powtarza się tak długo, jak długo wartość

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 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

Wprowadzenie do języka Java

Wprowadzenie do języka Java WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.

Bardziej szczegółowo

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla

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

4. Funkcje. Przykłady

4. Funkcje. Przykłady 4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ 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 zasad

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

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

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

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych 1 Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI,

Bardziej szczegółowo

Wstęp do informatyki- wykład 7

Wstęp do informatyki- wykład 7 1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.

Bardziej szczegółowo

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski dr Dariusz Wardowski, Instytut Matematyki i Informatyki PWSZ w Płocku 1 O mnie prowadzący wykład i laboratoria: Dariusz Wardowski pokój: 102

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż 10! ) END. 1. Narysować schemat blokowy

Bardziej szczegółowo

Programowanie - wykład 4

Programowanie - wykład 4 Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include

Bardziej szczegółowo

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Jak napisać program obliczający pola powierzchni różnych figur płaskich? Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy

Bardziej szczegółowo

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p. Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy Laboratorium 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Na podstawie: G. Perry, D. Miller, Język C Programowanie dla

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

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

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

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

Powtórka algorytmów. Wprowadzenie do języka Java.

Powtórka algorytmów. Wprowadzenie do języka Java. Powtórka algorytmów. Wprowadzenie do języka Java. Przypomnienie schematów blokowych BEGIN Readln(a); Readln(b); Suma := 0; IF Suma < 10 THEN Writeln( Suma wynosi:, Suma); ELSE Writeln( Suma większa niż

Bardziej szczegółowo

Proces tworzenia programu:

Proces tworzenia programu: Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów

Bardziej szczegółowo

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz

Bardziej szczegółowo

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,

Bardziej szczegółowo

Wstęp do informatyki- wykład 11 Funkcje

Wstęp do informatyki- wykład 11 Funkcje 1 Wstęp do informatyki- wykład 11 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum

Bardziej szczegółowo

Programowanie strukturalne i obiektowe. Funkcje

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

Bardziej szczegółowo

INFORMATYKA Studia Niestacjonarne Elektrotechnika

INFORMATYKA Studia Niestacjonarne Elektrotechnika INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl

Bardziej szczegółowo

1. Wypisywanie danych

1. Wypisywanie danych 1. Wypisywanie danych Przykłady 1.1. Napisz program, który wypisze na ekran słowa Hello, world!. 1 // Przyklad 1: Hello, world! 3 using namespace std; 5 int main() { 6 cout

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16 M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16

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

Każdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni

Każdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni Język obiektowy był krokiem ewolucji w programowaniu komputerów. Powstał w wyniku rozwoju języków strukturalnych i zmiany podejścia do problemów informatycznych. Cały otaczający świat składa się z obiektów.

Bardziej szczegółowo

Elementarne wiadomości o języku C

Elementarne wiadomości o języku C Elementarne wiadomości o języku C 1. Wprowadzenie Oprac.: Zbigniew Rudnicki Pierwszą wersję języka C opracował Dennis Ritchie w roku 1972 (wykorzystując niektóre rozwiazania z opracowanych w latach1967-1970

Bardziej szczegółowo

Wstęp do informatyki- wykład 9 Funkcje

Wstęp do informatyki- wykład 9 Funkcje 1 Wstęp do informatyki- wykład 9 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum

Bardziej szczegółowo

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako

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

Języki programowania obiektowego Nieobiektowe elementy języka C++

Języki programowania obiektowego Nieobiektowe elementy języka C++ Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków

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

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

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

7. Pętle for. Przykłady

7. Pętle for. Przykłady . Pętle for Przykłady.1. Bez użycia pętli while ani rekurencji, napisz program, który wypisze na ekran kolejne liczby naturalne od 0 do pewnego danego n. 5 int n; 6 cin >> n; 8 for (int i = 0; i

Bardziej szczegółowo

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/

Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura

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

KURS C/C++ WYKŁAD 1. Pierwszy program

KURS C/C++ WYKŁAD 1. Pierwszy program KURS C/C++ WYKŁAD 1 Pierwszy program Tworzenie programu odbywa sie w dwóch etapach: 1. opracowanie kodu źródłowego 2. generowanie kodu wynikowego Pierwszy etap polega na zapisaniu algorytmu za pomocą instrukcji

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

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Liczby w jaki sposób komputery je widzą? Opracował: Andrzej Nowak Bibliografia: CPA: PROGRAMMING ESSENTIALS IN C++ https://www.netacad.com Czy wiesz, jak komputery wykonują

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

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

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak

Bardziej szczegółowo

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest

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

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); } OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;

Bardziej szczegółowo

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja! Krzysztof Grudzień kgrudzi@kis.p.lodz.pl! Zbigniew Chaniecki zch@kis.p.lodz.pl 1 program zajęć - wykład Podstawowe pojęcia

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

Bardziej szczegółowo

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej  Wydział Mechaniczny Technologiczny Politechnika Śląska Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium

Bardziej szczegółowo

Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim

Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim Wykład 1 Dr inż. Tadeusz Jeleniewski e-mail: tadeusz.jeleniewski@pwr.edu.pl lub t.jeleniewski@ujw.pl Materiały streszczenia wykładów, zadania, przykłady znajdują się pod adresem: http://tjeleniewski.ujw.edu.pl

Bardziej szczegółowo

WYKŁAD 1 - KONSPEKT. Program wykładu:

WYKŁAD 1 - KONSPEKT. Program wykładu: mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy programowania w C++

Podstawy programowania w C++ Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout

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

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

Język C++ zajęcia nr 1

Język C++ zajęcia nr 1 I. Programowanie obiektowe Język C++ zajęcia nr 1 Zasadniczą cechą programowania obiektowego jest łączne rozpatrywanie zagadnień dotyczących algorytmów i struktur danych. Wyrazem tego jest zmiana w sposobie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Algorytmy liniowe Algorytmy z rozgałęzieniami

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

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

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

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

Bardziej szczegółowo

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

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo