Wykład 1.sxw

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. Literatura Język C 1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998. 2. Andrzej Zalewski, Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++, Nakom, Poznań

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

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

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

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

#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

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

Pytania sprawdzające wiedzę z programowania C++

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

Bardziej szczegółowo

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

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE 1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne

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

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

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający

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

Ć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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Podstawy Programowania Obiektowego

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

Bardziej szczegółowo

Praktyka Programowania

Praktyka Programowania Praktyka Programowania Dariusz Dereniowski Materiały udostępnione przez Adriana Kosowskiego Katedra Algorytmów i Modelowania Systemów Politechnika Gdańska deren@eti.pg.gda.pl Gdańsk, 2010 strona przedmiotu:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p. Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia

Bardziej szczegółowo

Programowanie obiektowe i C++ dla matematyków

Programowanie obiektowe i C++ dla matematyków Programowanie obiektowe i C++ dla matematyków Bartosz Szreder szreder (at) mimuw... 04 X 2011 Wszelkie uwagi, poprawki, braki czy sugestie najlepiej wysyłać na maila. 1. wprowadzenie do Linuksa: kompilacja

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

Podstawy programowania w języku C++

Podstawy programowania w języku C++ Podstawy programowania w języku C++ Część siódma Przetwarzanie tablic znaków Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,

Bardziej szczegółowo

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Wykład 3 ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors. Waldi Ravens J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 75 / 146 deklaracje zmiennych instrukcja podstawienia

Bardziej szczegółowo

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

#include <stdio.h> void main(void) { 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

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

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

1 Powtórzenie wiadomości

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

Bardziej szczegółowo

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 7 kwietnia 2014 1. Wprowadzenie Pierwsza część instrukcji zawiera informacje

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

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

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści Język programowania DELPHI / Andrzej Marciniak. Poznań, 2012 Spis treści Przedmowa 11 Przyjęta notacja 13 Rozdział 1. Wprowadzenie 15 1.1. Ogólne zasady programowania zorientowanego obiektowo 15 1.2. Historia

Bardziej szczegółowo

1 Przygotował: mgr inż. Maciej Lasota

1 Przygotował: mgr inż. Maciej Lasota Laboratorium nr 1 1/7 Język C Instrukcja laboratoryjna Temat: Programowanie w powłoce bash (shell scripting) 1 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do programowania w powłoce Skrypt powłoki

Bardziej szczegółowo

Argumenty wywołania programu, operacje na plikach

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

Bardziej szczegółowo

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6 TEMAT: Programowanie w języku C/C++: instrukcje iteracyjne for, while, do while Ogólna postać instrukcji for for (wyr1; wyr2; wyr3) Instrukcja for twory pętlę działającą

Bardziej szczegółowo

Metody numeryczne Laboratorium 2

Metody numeryczne Laboratorium 2 Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie

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

Wskaźniki w C. Anna Gogolińska

Wskaźniki w C. Anna Gogolińska Wskaźniki w C Anna Gogolińska Zmienne Zmienną w C można traktować jako obszar w pamięci etykietowany nazwą zmiennej i zawierający jej wartość. Przykład: kod graficznie int a; a a = 3; a 3 Wskaźniki Wskaźnik

Bardziej szczegółowo

I. Podstawy języka C powtórka

I. Podstawy języka C powtórka I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.

Bardziej szczegółowo

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:

Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.: Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,

Bardziej szczegółowo

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem.

Podstawy programowaniu. Wykład: 3. Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Podstawy programowania, sem. programowaniu Wykład: 3 Budowa programu Operacje we/wy Instrukcje wyboru 1 Podstawowe pojęcia Środowisko programistyczne Kod źródłowy - program napisany w języku takim jak Pascal lub C++,czyli w języku

Bardziej szczegółowo