Programowanie w języku C++



Podobne dokumenty
( wykł. dr Marek Piasecki )

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

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

Język programowania PASCAL

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania w języku C

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

Podstawy programowania C. dr. Krystyna Łapin

Język ludzki kod maszynowy

Proces tworzenia programu:

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

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

Programowanie strukturalne i obiektowe

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

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

Część 4 życie programu

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

C++ wprowadzanie zmiennych

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania - 1

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

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

Podstawy programowania (1)

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

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

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

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

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

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Podstawy Programowania. Wykład 1

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

Zmienne, stałe i operatory

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

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

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

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

ROZDZIAŁ 2. Operatory

Struktura pliku projektu Console Application

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

Podstawy programowania w języku C i C++

I - Microsoft Visual Studio C++

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

Język C zajęcia nr 11. Funkcje

tablica: dane_liczbowe

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

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

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

#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 ); }

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

#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 ); }

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

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

1 Podstawy c++ w pigułce.

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

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

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

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

main( ) main( void ) main( int argc, char argv[ ] ) int MAX ( int liczba_1, liczba_2, liczba_3 ) źle!

Podstawy informatyki. Prowadzący cz. 2 (C++) wykładu: dr inż. Sylwester Przybył Instytut Fizyki WFT tel. (0-61) ;

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

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

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

Wstęp do Programowania, laboratorium 02

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

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

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

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

1 Podstawy c++ w pigułce.

Wstęp do programowania. Wykład 1

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

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych

Języki programowania - podstawy

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

DYNAMICZNE PRZYDZIELANIE PAMIECI

Instrukcje sterujące. Programowanie Proceduralne 1

Wstęp do programowania

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

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Materiały pomocnicze do wykładu 3 - Elementy języka Java

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

MATERIAŁY DO ZAJĘĆ II

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Wskaźniki. Informatyka

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

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

Materiały pomocnicze do wykładu 3 - Elementy języka Java

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Pytania sprawdzające wiedzę z programowania C++

KURS C/C++ WYKŁAD 7. struct Punkt { int x, y; int kolor; };

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

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

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

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

Wstęp do informatyki- wykład 4 Deklaracja zmiennych Typy

Programowanie strukturalne język C - wprowadzenie

Programowanie komputerowe. Zajęcia 1

INSTRUKCJE REPETYCYJNE PĘTLE

Transkrypt:

INE 2022 JĘZYKI PROGRAMOWANIA 1 INE 0050 WSTĘP DO PROGRAMOWANIA Programowanie w języku C++ ( wykł. dr Marek Piasecki ) Literatura: do wykładu dowolny podręcznik do języka C++ na laboratoriach Borland C++ Builder 6.0 Jerzy Grębosz Kent Reisdorph S. Prata Robert Lafore Jerzy Kisilewicz Andrzej Zalewski S. Lippman K. Jamsa Symfonia C++ tom pierwszy C++ Builder 6 dla kaŝdego Szkoła programowania, Język C++ Programowanie w języku C przy uŝyciu Turbo C++ Język C w środowisku Borland C++ Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++ Podstawy języka C++ Wygraj z C++ ---------------------------------------------- Bjarne Stroustrup Język C++ Robert Sedgewick Algorytmy w C ++ ---------------------------------------------- Brian Kernigham, Dennis Ritchie Język ANSI C ksiąŝka napisana przez twórcę C++ trochę historii Dr Marek Piasecki «Język programowania C++» (W01)

PROGRAM WYKŁADU 1. Wstęp, schematy blokowe, struktura programu w języku C++ Typy, operatory i wyraŝenia. 2. Operacje wejścia i wyjścia (podejście proceduralne i obiektowe) Instrukcje if, if-else, switch. ZagnieŜdŜanie. Operator? :. 3. Instrukcje iteracyjne: while, do-while, for. Pętle zagnieŝdŝone. Instrukcje break i continue. 4. Tablice deklaracja, inicjacja, operator indeksu. Tablice w połączeniu z pętlą for. Tablice wielowymiarowe. 5. Wskaźniki zmiennych, adresy pamięci, arytmetyka wskaźników. Związek pomiędzy wskaźnikami a tablicami. 6. Funkcje deklaracja, definicja, przekazywanie parametrów. 7. Funkcje operujące na pamięci: biblioteka <mem.h> Łańcuchy znaków. Funkcje łańcuchowe <string.h> 8. Typ strukturalny definicja, deklaracja i inicjalizacja zmiennych. ZagnieŜdŜanie struktur. Rozszerzenie struktury o metody składowe. 9. Obsługa plików zewnętrznych. Pliki binarne i tekstowe. podejście proceduralne biblioteka <stdio.h> podejście obiektowe - klasa fstream 10. Tablice wskaźników, wskaźniki na tablice. Rzutowanie wskaźników. Dostęp do dowolnego obszaru pamięci. Wskaźniki na funkcje. 11. Przykłady róŝnych kombinacji wskaźników Dynamiczne przydzielanie pamięci. 12. Rekurencyjne struktury danych Implementacja stosu, kolejki, listy jedno i dwu-kierunkowej M.Piasecki: JĘZYKI PROGRAMOWANIA 1 1 (W1) Wstęp, podstawy języka C++

PODSTAWOWE POJĘCIA Program notacja opisująca proces przekształcania danych wejściowych w dane wyjściowe według pewnego algorytmu. Dane wejściowe informacje dostarczone do programu przez uŝytkownika, w celu umoŝliwienia wykonania algorytmu Dane wyjściowe są generowane przez program i stanowią wyniki działania programu. Algorytm określa sposób przekształcania danych wejściowych w dane wyjściowe zgodnie z zadanym celem. Algorytm składa się z opisu: obiektów na których wykonywane są działania, działań realizujących cel algorytmu, kolejności działań. Programowanie polega na zapisywaniu algorytmów w formie programów zrozumiałych dla komputera. Kod źródłowy program napisany w języku takim jak Pascal lub C++, czyli w języku algorytmicznym czytelny dla programisty, Kod wynikowy program zapisany jako ciąg rozkazów i danych w kodzie maszynowym procesora (w postaci czytelnej dla komputera), najczęściej w postaci liczb kodu dwójkowego. Proces tworzenia ( kodowania? ) programu: edytor ( *.cpp ) kod źródłowy kompilator ( *.obj ) kod wynikowy linker ( *.exe ) kod wynikowy połączony z bibliotekami debugger (step/watch) śledzenie działania, usuwanie błędów Język C++ jest rozszerzeniem języka C : typy i zmienne referencyjne, unie anonimowe, operatory new i delete, funkcje przeciąŝone, funkcje z atrybutem inline, domyślne wartości parametrów funkcji, przekazywanie parametrów funkcji przez referencję, klasy i obiekty (programowanie obiektowe) wzorce obsługa wyjątków M.Piasecki: JĘZYKI PROGRAMOWANIA 1 1 (W1) Wstęp, podstawowe pojęcia

ZAPIS PROGRAMU ZA POMOCĄ SCHEMATÓW BLOKOWYCH M.Piasecki: JĘZYKI PROGRAMOWANIA 1 2 (W1) Wstęp, podstawowe pojęcia

void main( )... // najprostszy program w języku C++ // int main(int argc, char **argv) return 0; #include < iostream.h >... // wypisanie tekstu na ekranie void main( void ) cout << Czesc! To ja, twój komputer ; #include < iostream.h >... // proste obliczenia - iloczyn liczb void main( ) int liczba_1, liczba_2 ; float wynik ; cout << endl << To jest program obliczajacy iloczyn dwóch liczb << endl ; cout << Podaj pierwsza liczbe X = ; cin >> liczba_1 ; cout << Podaj druga liczbe Y = ; cin >> liczba_2 ; wynik = liczba_1 liczba_2 ; cout << endl << Wynik obliczenia X Y = << wynik << endl ; #include < iostream.h >... // cykliczne wykonywanie programu void main( ) char znak; do instrukcje programu cout << endl << Czy chcesz zakonczyc program ( T/N )? ; cin >> znak ; while( znak!= ' t ' ) ; cout << endl << Koniec programu ; M.Piasecki: JĘZYKI PROGRAMOWANIA 1 3 (W1) Wstęp, pierwsze programy

Proceduralna i obiektowa komunikacja z uŝytkownikiem /* proceduralnie: C / C++ */ #include <stdio.h> void main(void) printf( Dzien ); printf( dobry!\n ); getchar(); // obiektowo: C++ #include <iostream.h> void main(void) cout << Dzien ; cout << dobry << endl ; cin.get(); #include dyrektywa dołączenia tekstu zawartego w pliku stdio.h (StandardInputOutput) plik definicji funkcji Wej/Wyj iostream.h (InputOutputStream) plik definicji strumieni obiektowych main zastrzeŝona nazwa głównej funkcji programu void typ danej pustej \n przejscie do nowego wiersza \t znak tabulacji \ znak cudzysłowu \\ jeden znak \ endl manipulator przejścia do nowej linii // 2 przyklad proceduralnie #include <stdio.h> #include <conio.h> int x,y,s; void main(void) clrscr(); printf ( Podaj x = ); scanf ( %d, &x ); printf ( Podaj y = ); scanf ( %d, &y ); s = x+y; printf( Suma x+y = %d\n, s ); getch(); // 2 przyklad obiektowo #include <iostream.h> #include <conio.h> int x,y,s; void main(void) clrscr(); cout << Podaj x = ; cin >> x ; cout << Podaj y = ; cin >> y ; s = x+y; cout << Suma x+y= << s << \n ; getch(); M.Piasecki: JĘZYKI PROGRAMOWANIA 1 4 (W1) Wstęp, podstawowe operacje wej/wyj

Definiowanie zmiennych ustalenie nazwy, typu, rezerwacja pamięci nazwa_typu nazwa_zmiennej ; nazwa_typu zmienna_1, zmienna_2, zmienna_3 ; Podstawowe typy: (dla aplikacji 32-bitowych) Nazwa typu Zawartość Przedział wartości Zajęta pamięć char znak -128 127 1 bajt int liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczywista 10-38 10 38 (7cyfr) 4 bajty double liczba rzeczywista 10-308 10 308 (15 cyfr) 8 bajtów Modyfikatory typu: signed ze znakiem (±), int char unsigned bez znaku, int char short krótka (mniejsza), int long długa (większa) int double np. unsigned long int dluga_liczba_bez_znaku ; Wartości domyślne: long = long int int = signed int char = signed char Typ Wielkość w bitach Zakres signed char 8-128 127 unsigned char 8 0 255 short int 16-32 768 32 767 unsigned short int 16 0 65 535 signed int 32-2 147 483 648 2 147 483 647 unsigned int 32 0 4 294 967 295 signed long int 32-2 147 483 648 2 147 483 647 unsigned long int 32 0 4 294 967 295 float 32 1.2 * 10-38 3.4 * 10 +38 double 64 2.2 * 10-308 1.8 * 10 +308 long double 80 3.4 * (10**-4932) 1.2 * (10**+4932) bool 8 true (prawda), false (fałsz) M.Piasecki: JĘZYKI PROGRAMOWANIA 1 5 (W1) Wstęp, typy predefiniowane

OPERATORY operatory arytmetyczne: + dodawanie odejmowanie mnoŝenie / dzielenie % reszta z dzielenia operatory przypisania: = zwykłe przypisanie x = 2; += przypisanie sumy x+=2; x = x + 2; = przypisanie róŝnicy x =2; x = x 2; = przypisanie iloczynu x =2; x = x 2; /= przypisanie ilorazu x /=2; x = x / 2; %= przypisanie reszty x%=2; x = x % 2; operatory inkrementacji i dekrementacji: zmienna++ ++zmienna zmienna zmienna inkrementacja zmiennej po wyliczeniu wyraŝenia inkrementacja zmiennej przed wyliczeniem wyraŝenia dekrementacja zmiennej po wyliczeniu wyraŝenia dekrementacja zmiennej przed wyliczeniem wyraŝenia np. int x, y = 1; x = ++ y ; / rezultat: x=2, y=2 / x = y ++ ; / rezultat: x=1, y=2 / operatory relacyjne: == równe!= róŝne < mniejsze > większe <= mniejsze lub równe >= większe lub równe operatory logiczne: && koniunkcja (AND) alternatywa (OR)! negacja (NOT) bitowe operatory logiczne: & bitowa koniunkcja (AND) bitowa alternatywa (OR) ^ bitowa róŝnica symetryczna (XOR) << przesunięcie bitów w lewo >> przesunięcie bitów w prawo ~ negacja bitów M.Piasecki: JĘZYKI PROGRAMOWANIA 1 6 (W1) Wstęp, pierwsze programy

Priorytety operatorów w języku C: Operator Opis Przykład ( ) wywołanie funkcji sin() [ ] element tablicy tab[10]. element struktury osoba.nazwisko > wskazanie elemenu struktury wsk_osoby >nazwisko! negacja logiczna if(! (x >max) ) kontynuuj; ~ negacja bitowa ~(001101) (110010) zmiana znaku (negacja) x = 10 ( y) ++ inkrementacja (zwiększenie o 1) x + + + y (x+ +) + y dekrementacja (zmiejszenie o 1) y y ( y) & operator referencji (adres elementu) wsk_x = &x operator dereferencji wsk_x = 10 (type) zmiana typu (typecast) (double) 10 10.0 sizeof rozmiar zmiennej lub typu (w bajtach) sizeof( int ) 2 mnoŝenie / dzielenie % operacja modulo (reszta z dzielenia) if( x%2 == 0 ) parzyste; + dodawanie odejmowanie << przesunięcie bitowe w lewo 1 << 2 (0001) << 2 (0100) >> przesuniecie bitowe w prawo x = 4 >>1 x = 2 < mniejszy niŝ if( liczba < max ) max = liczba; <= mniejszy lub równy > wiekszy niŝ >= wiekszy lub równy == równy!= nierówny (róŝny od) & iloczyn bitowy ^ suma bitowa modulo (róŝnica symetryczna) suma bitowa && iloczyn logiczny suma logiczna? : wyraŝenie warunkowe = przypisanie = /= %= += przypisania arytmetyczne = <<= >>= &= ^= =, operator przecinka Przykład: int x=1, y=2, z=3, wynik=4 ; wynik = ++x x + y %++z; (???) wynik = (++x) (x ) + (y ) % (++z); wynik = ( (++x)) (x ) + ( (y )) % (++z); wynik = (( (++x)) (x )) + (( (y ))%(++z)); // x=1, y=1, z=4, wynik= 24 M.Piasecki: JĘZYKI PROGRAMOWANIA 1 7 (W1) Wstęp, pierwsze programy