( wykł. dr Marek Piasecki )

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

Programowanie w języku C++

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

Język programowania PASCAL

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

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania C. dr. Krystyna Łapin

Proces tworzenia programu:

Podstawy programowania w języku C

Programowanie strukturalne i obiektowe

Język ludzki kod maszynowy

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.

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

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

Podstawy programowania - 1

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

Podstawy programowania (1)

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

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

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 programowania skrót z wykładów:

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

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

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

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

Część 4 życie programu

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

Podstawy programowania w języku C i C++

tablica: dane_liczbowe

Zmienne, stałe i operatory

Podstawy Programowania. Wykład 1

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

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

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

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

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

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

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

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

Instrukcje sterujące. Programowanie Proceduralne 1

C++ wprowadzanie zmiennych

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

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

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

Wstęp do programowania

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

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

ROZDZIAŁ 2. Operatory

1 Podstawy c++ w pigułce.

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

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

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

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

I - Microsoft Visual Studio C++

Język C zajęcia nr 11. Funkcje

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

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

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

Programowanie komputerowe. Zajęcia 1

Struktura pliku projektu Console Application

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

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

1 Podstawy c++ w pigułce.

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

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

Pytania sprawdzające wiedzę z programowania C++

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

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

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

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

INSTRUKCJE REPETYCYJNE PĘTLE

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

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

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

Proste programy w C++ zadania

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

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

Język C - podstawowe informacje

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

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

Wstęp do programowania. Wykład 1

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

PROGRAMOWANIE w C prolog

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

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

MATERIAŁY DO ZAJĘĆ II

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

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

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

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Języki programowania - podstawy

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Programowanie - instrukcje sterujące

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

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

UNIWERSYTET TECHNOLOGICZNO-PRZYRODNICZY w Bydgoszczy ZAKŁAD ELEKTROENERGETYKI LABORATORIUM INFORMATYKI

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Wskaźniki. Informatyka

Transkrypt:

INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie w języku C przy użyciu Turbo C++ Symfonia C++ ---------------------------------------------- Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++ Bjarne Stroustrup Język C++ książka napisana przez twórcę C++ Robert Sedgewick Algorytmy w C ++ ---------------------------------------------- Brian Kernigham, Dennis Ritchie Język ANSI 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, parametry. 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 inicjacja 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. M.Piasecki: INFORMATYKA 1 1 (W1) Wstęp, podstawy języka C++

Program PODSTAWOWE POJĘCIA 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 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: INFORMATYKA 1 2 (W1) Wstęp, podstawowe pojęcia

ZAPIS PROGRAMU ZA POMOCĄ SCHEMATÓW BLOKOWYCH M.Piasecki: INFORMATYKA 1 3 (W1) Wstęp, podstawowe pojęcia

void main( )... // najprostszy program w języku C / C++ #include < iostream.h >... // wypisanie tekstu na ekranie (C++) void main( void ) cout << Czesc! To ja, twój komputer ; #include < iostream.h >... // proste obliczenia - iloczyn liczb (C++) 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: INFORMATYKA 1 4 (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 ); // obiektowo: C++ #include <iostream.h> void main(void) cout << Dzien ; cout << dobry << endl ; #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: INFORMATYKA 1 5 (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: Nazwa typu Zawartość Przedział wartości Zajęt. pamięć char znak -128 127 1 bajt int liczba całkowita -32768 32767 2 bajty long liczba całkowita -2147mln 2147mln 4 bajty float liczba rzeczyw. 10-38 10 38 (7cyfr) 4 bajty double liczba rzeczyw. 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 Type Length Range unsigned char 8 bits 0 255 char 8 bits -128 127 enum 16 bits -32,768 32,767 unsigned int 16 bits 0 65,535 short int 16 bits -32,768 32,767 int 16 bits -32,768 32,767 unsigned long 32 bits 0 4,294,967,295 long 32 bits -2,147,483,648 2,147,483,647 float 32 bits 3.4 * (10**-38) 3.4 * (10**+38) double 64 bits 1.7 * (10**-308) 1.7 * (10**+308) long double 80 bits 3.4 * (10**-4932) 1.1 * (10**+4932) M.Piasecki: INFORMATYKA 1 6 (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++ inkrementacja zmiennej po wyliczeniu wyrażenia ++zmienna inkrementacja zmiennej przed wyliczeniem wyrażenia zmienna dekrementacja zmiennej po wyliczeniu wyrażenia zmienna 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: INFORMATYKA 1 7 (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 ; //rezultat: x=1, y=1, z=4, wynik= 24 wynik = ++x x + y %++z; (???) wynik = (++x) (x ) + (y ) % (++z); wynik = ( (++x)) (x ) + ( (y )) % (++z); wynik = (( (++x)) (x )) + (( (y ))%(++z)); M.Piasecki: INFORMATYKA 1 8 (W1) Wstęp, pierwsze programy