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

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

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

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

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

( wykł. dr Marek Piasecki )

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: 9. Łańcuchy znaków. 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

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

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

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie w języku C++

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

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

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Proces tworzenia programu:

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

Wykład 1: Wskaźniki i zmienne dynamiczne

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

Programowanie strukturalne i obiektowe

Wykład 8: klasy cz. 4

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

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

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

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

1 Podstawy c++ w pigułce.

Podstawy Programowania. Wykład 1

Część 4 życie programu

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

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

Wykład 9: Polimorfizm i klasy wirtualne

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

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Wykład 5: Klasy cz. 3

1 Podstawy c++ w pigułce.

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

Programowanie komputerowe. Zajęcia 1

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

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Podstawy programowania - 1

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

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

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

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

I - Microsoft Visual Studio C++

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

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

Języki programowania - podstawy

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

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

Wstęp do programowania. Wykład 1

Wstęp do Programowania 2

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

Podstawy programowania w C++

Podstawy programowania (1)

Operacje wejścia/wyjścia odsłona pierwsza

Język C++ zajęcia nr 1

Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw

Zmienne, stałe i operatory

INFORMATYKA Studia Niestacjonarne Elektrotechnika

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

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

Wstęp do Programowania, laboratorium 02

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

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

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

Wykład 9: Metody wirtualne i polimorfizm

Jzyk C++ cz 2. Jarosław Gramacki Instytut Informatyki i Elektroniki

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

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

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

Programowanie - wykład 4

Język programowania PASCAL

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

dr inż. Paweł Myszkowski Wykład nr 8 ( )

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

Języki i metody programowania. Omówienie języków C, C++ i Java

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

Język ludzki kod maszynowy

Podstawy Programowania

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

C++ wprowadzanie zmiennych

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

ECLIPSE wnioski z dwóch pierwszych laboratoriów

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

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

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

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

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

Podstawy programowania w języku C

Wykład 1.sxw

Podstawy programowania C. dr. Krystyna Łapin

Transkrypt:

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

Podstawowe pojęcia Środowisko programistyczne Wybrane środowiska programistyczne dla C++ Dev C++ Code::Blocks MS Visual Studio 3

programowania w C++ Budowa programu 4

Pierwszy program (w języku C) 5

Pierwszy program (w języku C++) 6

Budowa programu 7

Budowa programu Int main( ) w języku C i C++ nie ma programu głównego jest za to funkcja o nazwie main( ) która wykonywana jest zawsze jako pierwsza. Każdy program musi posiadać funkcję main( ) 8

Biblioteki standardowe Aby skorzystać z funkcji należy dodać plik nagłówkowy biblioteki standardowej C++ zawierający jej deklaracje. Używając w tym celu dyrektywy: #include< > Przykładowo, aby skorzystać z funkcji cout należy na początku programu napisać #include <iostream>. Obecnie, korzystając z bibliotek klasycznego C, zalecane jest używanie nazw bibliotek poprzedzonych literą c. Czyli w powyższym przypadku należało by napisać #include <cstring> zamiast #include <string> 9

Biblioteki standardowe Oto pełna lista standardowych plików nagłówkowych C++: <algorithm> <cstdarg> <ios> <ostream> <bitset> <cstddef> <iosfwd> <queue> <cassert> <cstdio> <iostream> <set> <cctype> <cstdlib> <istream> <sstream> <cerrno> <cstring> <iterator> <stack> <cfloat> <ctime> <limits> <stdexcept> <ciso646> <cwchar> <list> <streambuf> <climits> <cwctype> <locale> <string> <clocale> <deque> <map> <typeinfo> <cmath> <exception> <memory> <utility> <complex> <fstream> <new> <valarray> <csetjmp> <functional> <numeric> <vector> 10

Biblioteki - Operacje wejścia-wyjścia Operacje wejścia-wyjścia to podstawowe operacje tzw. komunikacji strumieniowej. Należą do tego głównie operacje na plikach i strumieniach standardowych. iosfwd i ios - z definicjami pierwotnymi streambuf, istream, ostream i iostream, - podstawowe klasy operujące abstrakcyjnym "io" (plus strumienie standardowe) Iomanip - manipulatory strumieni Fstream - klasy operacji na plikach Sstream - klasy operacji na strumieniach tekstowych Cstdio - operacje "io" zgodne z biblioteką standardową C 11

Biblioteki - Operacje na tekstach Operacje na tekstach składają się z najróżniejszych operacji na tablicach znaków, implementowanych w różny sposób. Tu wyraźnie rozróżnia się typy tekstowe statyczne, czy też surowe (operujące tablicami surowymi i wskaźnikami) oraz typ string. cctype, cwctype i cwchar, - funkcje klasyfiujące pojedyncze znaki cstring, - funkcje do obsługi stringów surowych (tablic znaków) locale, clocale - obsługa internacjonalizacji 12

Biblioteki - Wyjątki Wyjątki oczywiście mogą być dowolnego typu, ale lepiej jest trzymać się pewnej konwencji hierarchizacji typów wyjątków. exception, - definiuje podstawowe elementy wyjątków: abstrakcyjną klasę exception oraz funkcje set_terminate i set_unexpected. stdexcept, - definiuje standardowe klasy wyjątków csetjmp, - definiuje funkcje obsługi sytuacji wyjątkowych w stylu C Źródło: C++ bez cholesterolu,: http://intercon.pl/~sektor/cbx/ 13

Komentarze W językach C i C++ mamy do dyspozycji trzy rodzaje komentarzy: komentarz jednowierszowy; komentarz wielowierszowy; komentarz wykonany za pomocą dyrektyw preprocesora. 14

programowania w C++ Zmienne (wstęp) 15

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

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

Zmienne Deklaracja zmiennej - informuje kompilator, że dana nazwa jest znana. Jednak pamięć dla obiektu nie zostaje przydzielona. Do obiektu nie możemy się odwoływać, nie możemy mu przypisywać wartości obiekt jeszcze nie istnieje. extern nazwatypu nazwazmiennej; Np.: extern int liczba; 18

Zmienne Definicja zmiennej - rezerwuje miejsce w pamięci dla danej zmiennej. Po zdefiniowaniu ze zmiennej możemy korzystać. nazwatypu Np.: nazwazmiennej; int liczba; Każda definicja jest jednocześnie deklaracją (ale nie odwrotnie). 19

Zmienne Inicjalizacja (inicjowanie) zmiennej - polega na przypisaniu wartości do danej zmiennej w momencie jej deklaracji nazwatypu nazwazmiennej = wartość; Np.: int liczba = 10; 20

programowania w C++ Operacje we/wy 21

Funkcje printf i scanf (proceduralnie, w C) Wysłanie informacji na zewnętrz (stand. ekran) printf ( lancuch formatujacy,zmienna_1,zmienna_2); Pobranie informacji z zewnętrz (stand. klawitura) scanf ( prototypy zmiennych,&zmienna_1,&zmienna_2); 22

Funkcje printf i scanf (proceduralnie, w C) Prototypy zmiennych dla funkcji printf i scantf %c - pojedynczy znak %s - łańcuch znaków %d - liczba dziesiętna ze znakiem %f - liczba zmiennoprzecinkowa (notacja dziesiętna) %e - liczba zmiennoprzecinkowa (notacja wykładnicza) %g - liczba zmiennoprzecinkowa (krótszy z formatów %f %e) %u - liczba dziesiętna bez znaku %x - liczba w kodzie szesnastkowym (bez znaku) %o - liczba w kodzie ósemkowym (bez znaku) l - przedrostek l (long) stosowany przed: d u x o 23

Funkcje printf i scanf (proceduralnie, w C) Znaki sterujące wypisywaniem tekstu (nie tylko dla printf) \b cofanie o 1 znak \f - nowa strona \n nowa linia \t tabulator \a sygnał dźwiękowy Jeśli jednak chcemy po prostu wypisać znak... \\ - backslash \ - apostrof \0 - znak o kosie zero \? - znak zapytania 24

Funkcja printf (proceduralnie, w C) 25

Funkcja scanf (proceduralnie, w C) Program wczytuje i wyświetla wartość podanej liczby całkowitej. 26

Funkcje printf i scanf (proceduralnie, w C) 27

Klasy cout i cin (obiektowo w C++) Strumień to najprościej mówiąc jest to ciąg bajtów o nieokreślonej długości. Wyróżniamy trzy rodzaje strumieni: 1. Strumienie konsoli wczytanie z klawiatury i wypisanie na ekran 2. Strumienie plikowe 3. Strumienie napisów Do obsługi strumieni służą obiekty cin oraz cout Domyślnym strumieniem jest strumień konsoli, którym będziemy posługiwać się w tym wykładzie. 28

Klasy cout i cin (obiektowo w C++) Wyprowadzenie wartości do strumienia wyjściowego (stdout) cout << tekst ; cout << zmienna; Wczytanie ze strumienia wejściowego (stdin) cin >> zmienna; Prototypy cin i cout znajdują się w bibliotece iostream.h #include <iostream> 29

Klasy cout i cin (obiektowo w C++) 30 Hej tam. To jest 5: 5 Manipulator endl wypisuje nowa linie na ekranie. To jest bardzo duza liczba: 70000 To jest suma 8 i 5: 13 To jest ulamek: 0.625 I bardzo, bardzo duza liczba: 4.9e+007

programowania w C++ Instrukcje sterujące 31

Prawda - Fałsz W języku C++ nie ma osobnych zmiennych przechowujących dane typu prawda-fałsz. Tę rolę pełnić może każda zmienna, wyrażenie lub funkcja, która przyjmuje (lub zwraca) wartość zero lub różną od zera. Wartość zero - Wartość inna niż zero - FAŁSZ PRAWDA 32

Instrukcja warunkowa if if (wyrażenie) instrukcja; if (wyrażenie) instrukcja_1; else instrukcja_2; if (wyrażenie) { } instrukcja_1; instrukcja_2; else instrukcja_3; 33

Instrukcja warunkowa if Przykład: cin >> i; if (i!=0) cout << i rozne od zera ; else cout << i rowne zero ; Można i tak: cin >> i; if (i) cout << i rozne od zera ; else cout << i rowne zero ; 34

Instrukcja warunkowa if - przykład Równanie kwadratowe 35

Instrukcja warunkowa if - przykład Równanie kwadratowe v. 2 z użyciem cin i cout 36

Instrukcja wyboru wielokrotnego switch switch (zmienna) { } case wartosc_1: instrukcja_1; break; case wartosc_2: instrukcja_2; break; case wartosc_3: instrukcja_3; break; default: instrukcja_defaltowa; 37

Instrukcja wyboru wielokrotnego switch 38

Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini - instrukcja wykonywana zanim pętla zotanie poraz pierwszy uruchomiona wyrazenie_warunkowe wyrażenie obliczane przed każdym obiegiem pętli. Jeżeli jest ono różne od zera, to pętla będzie dalej wykonywana instrukcja_krok instrukcja wykonywana po zakończeniu każdego obiegu pętli 39

Pętla for - przykład x n 1 2 1 4 1 8... 1 2 n 40

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Sokół R. : Microsoft Visual Studio 2012 Programowanie w Ci C++, Helion. Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 41