Spis treści. Czy to działa?...j...j Sposób na znikanie okienka konsoli...j... 18

Podobne dokumenty
Spis treści. Wprowadzenie 7 Rozdział 1. Nasz programistyczny warsztat 11 Rozdział 2. Nasz pierwszy program 15

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

Utworzenie pliku. Dowiesz się:

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

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?

1 Podstawy c++ w pigułce.

praktyczne. Wydanie III

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

Wstęp do programowania. Wykład 1

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Pliki. Operacje na plikach w Pascalu

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

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

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

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

1. Wypisywanie danych

Cel: Przypisujemy przyciskom określone funkcje panel górny (Panel1)

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

Wstęp do Programowania 2

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

Programowanie w języku Python. Grażyna Koba

Programowanie obiektowe i C++ dla matematyków

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Spis treści. Podstawy posługiwania się komputerem

1 Podstawy c++ w pigułce.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

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

Podstawy Programowania. Wykład 1

Podczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Fragment wykładu z języka C ( )

Proste algorytmy w języku C

Stawiamy pierwsze kroki

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!

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

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. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Wstęp do programowania

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

Wstęp do Programowania, laboratorium 02

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

C++. Æwiczenia zaawansowane

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Programowanie - wykład 4

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

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.

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

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Podstawy Programowania

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Pokaz slajdów na stronie internetowej

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

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy programowania w C++

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

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Zadanie nr 2: Arytmetyka liczb zespolonych

#include <iostream> using namespace std; void ela(int); int main( ); { Funkcja 3. return 0; }

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

Podstawy programowania - 1

Laboratorium nr 4: Arytmetyka liczb zespolonych

Część XII C++ Warunki zagnieżdżone Ćwiczenie 1 nazwisko40 2. nie przepisując komentarzy!

Pascal - wprowadzenie

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

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania w C++

Rozdział II. Praca z systemem operacyjnym

Wykład PASCAL - Pliki tekstowe

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

Trochę o plikach wsadowych (Windows)

Delphi podstawy programowania. Środowisko Delphi

Języki programowania zasady ich tworzenia

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Java jako język programowania

Ćw. IV. Tworzenie stron internetowych. Podstawy projektowania, wprowadzenie do języka HTML

Programowanie komputerowe. Zajęcia 1

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

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

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

Część 4 życie programu

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

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

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

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

INTERFEJ SYSTEMU MIZAR-4

3. Instrukcje warunkowe

Celem ćwiczenia jest zapoznanie się z podstawowymi możliwościami języka Prolog w zakresie definiowania faktów i reguł oraz wykonywania zapytań.

C++ - [1-3] Debugowanie w Qt Creator

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

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

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

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

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

1 Pierwsze kroki w C++ cz.3 2 Obsługa plików

Transkrypt:

Spis treści Rozdział 1. Rozdział 2. Rozdział 3. Rozdział 4. Rozdział 5. Rozdział 6. Wprowadzenie...n...n......7 Dlaczego język C++ jest tak ważny?...j... 7 Co da Czytelnikowi ta książka?...j... 8 Co będzie potrzebne do korzystania z książki?...j... 8 Jak uczyć się języka z tej książki?...j... 9 Nasz programistyczny warsztat...n...11 Nasz pierwszy program...n......15 Czy to działa?...j...j... 15 Sposób na znikanie okienka konsoli...j... 18 Podsumowanie...j...j... 19 Pliki źródłowe w języku C++...n...21 Pliki jako nośniki programów...j... 21 Nośniki programów w C++...j... 22 Dyrektywa #include i scalanie plików cpp i h...j... 23 Podsumowanie...j...j... 24 Więcej o strumieniach cin i cout...n...... 25 Standardowe strumienie wejścia i wyjścia...j... 26 Kaskadowe posługiwanie się strumieniami...j... 28 Odrobina formatowania...j... 29 Podsumowanie...j...j... 32 Przestrzeń na Twoje algorytmy...n...33 Początek najlepsze miejsce na dyrektywy #include... 33 Po nagłówkach dostęp do biblioteki standardowej... 35 Po bibliotece standardowej nasze własne deklaracje... 36 Funkcja main() centrum programu...j... 36 Po funkcji main() definicje innych funkcji...j... 37 Podsumowanie...j...j... 38 Algorytmy...n...n......39 Zwrotnica if() else...j... 39 Zwrotnica switch{...}...j... 43 Pętla for(...;...;...)...j... 48

6 C++. Ćwiczenia praktyczne Rozdział 7. Rozdział 8. Rozdział 9. Pętla while(...)...j...j... 52 Pętla do {...} while(...)...j... 54 Instrukcje break i continue...j... 55 Podsumowanie...j...j... 59 Funkcje...n...n...61 Deklarowanie funkcji...j... 61 Definiowanie funkcji...j... 63 Argumenty funkcji i referencja...j... 68 Podsumowanie...j...j... 71 Dane...n...n...73 Typy danych...j...j... 73 Deklarowanie i inicjowanie prostych danych...j... 75 Deklarowanie i inicjowanie danych tablicowych...j... 77 Deklarowanie i inicjowanie danych wskaźnikowych... 80 Operacje na danych...j... 84 Podsumowanie...j...j... 89 Klasy i obiekty...n......91 Klasa jako nowy typ danych...j... 91 Wewnętrzny ustrój klasy dane...j... 93 Wewnętrzny ustrój klasy algorytmy...j... 95 Pewien specjalny algorytm, zwany konstruktorem...j 99 Podsumowanie...j...j... 105 Rozdział 10. Kontenery na dane...n......107 Podsumowanie...j...j... 115 Zakończenie...n...n... 117

Rozdział 3. Pliki źródłowe w języku C++ Pliki jako nośniki programów Treść programu komputerowego zazwyczaj umieszczamy w plikach dyskowych. Zawartość tych plików będzie odczytywana przez kompilator języka C++ i tłumaczona na ciąg binarnych poleceń dla procesora komputera. Programowanie nie zawsze jest równoznaczne z zapisywaniem czegoś w plikach np. w przemyśle spotykamy się z sytuacjami wprowadzania programu do komputera za pomocą odpowiedniego ustawiania mikroprzełączników. Kiedyś powszechne było umieszczanie programu na odpowiedniej ilości dziurkowanych kart. Przygotowywanie programu w formie zapisów umieszczanych w plikach jest bardzo wygodne, tanie i uniwersalne. Zawsze można taki program odtworzyć, poprawić, zlecić jego wykonanie, zarchiwizować na całe lata. Zapis programu dla komputera zazwyczaj ma strukturę zwykłego tekstu mamy zatem do czynienia z plikami tekstowymi. Rzeczywiście, program napisany w zdecydowanej większości znanych języków daje się otworzyć i przeczytać za pomocą zwykłego Notatnika. Jest to dodatkowe uproszczenie sposobu kodowania i przechowywania współczesnych programów. Skoro pliki źródłowe są zwyczajnymi plikami tekstowymi, do programowania wystarczy najzwyklejszy edytor tekstowy np. popularny Notatnik. Jednak większość współczesnych środowisk programistycznych udostępnia programiście własne, wbudowane edytory. Są to edytory tekstowe, ale znające składnię języka i na przykład odpowiednio kolorujące niektóre frazy języka. Praca nad programem w takim edytorze jest prawdziwą przyjemnością! Pamiętajmy jednak, że poradzilibyśmy sobie także dysponując zwykłym Notatnikiem.

22 C++. Ćwiczenia praktyczne Nośniki programów w C++ Ćwiczenie 3.1. W języku C++ przyjęto powszechnie konwencję, że głównym nośnikiem algorytmów jest plik o rozszerzeniu cpp, czyli np. plik o nazwie test.cpp. Spotkamy się także z plikami o rozszerzeniu h, czyli np. o nazwie test.h, które są nośnikami nie tyle algorytmów, ile ich zapowiedzi lub ściślej deklaracji. Wiadomo, skąd pochodzi nazwa cpp, natomiast literka h w nazwie pliku z deklaracjami wzięła się od słowa header nagłówek. Swoje programy będziemy spisywać w pliku o nazwie np. test.cpp lub przyklad.cpp lub cokolwiek.cpp. Plik ten powinien mieć strukturę zwykłego pliku tekstowego i mógłby być przygotowany w dowolnym edytorze, potem odczytany przez kompilator języka C++, skompilowany i uruchomiony. Pliki źródłowe naszych programów: Rysunek 3.1. Oto rzut oka na katalog roboczy widzimy tutaj dwa pliki źródłowe (są to programy napisane w poprzednim rozdziale) i utworzone w wyniku ich kompilacji dwa finalne pliki exe, nadające się do uruchamiania w systemie Windows 1. Po wykonaniu ćwiczeń z poprzedniego rozdziału na dysku Twojego komputera powinny pojawić się ich pliki źródłowe. Odszukaj katalog, w którym środowisko DEV zapisało te pliki (rysunek 3.1). 2. Spróbuj otworzyć swoje pliki źródłowe za pomocą zwykłego Notatnika. Najprostsze programy w całości spisuje się w pliku cpp. Jeśli zachodzi konieczność zadeklarowania czegokolwiek, odpowiednie frazy umieszcza się raczej w górnej części tego pliku (gdzieś przed zasadniczą funkcją ), niż w oddzielnym pliku h. Umieszczanie deklaracji w pliku nagłówkowym jest wyrazem profesjonalizmu programisty, jego wysokiej kultury, dobrego smaku i zamiłowania do porządku. Jednak drobniutkie algorytmy z całym spokojem możemy umieszczać wyłącznie w pliku cpp. Postarajmy się zapamiętać, że język C++ w najlepszym, profesjonalnym wydaniu operuje parą plików cpp i h oraz że para ta nazywa się modułem.

Rozdział 3. Pliki źródłowe w języku C++ 23 Dyrektywa #include i scalanie plików cpp i h A oto następny szczegół, na który powinniśmy zwrócić uwagę. Skoro język C++ wprowadza do gry dwa pliki źródłowe, tym samym rozdzielając tak zwane deklaracje (zapowiedzi algorytmów) od tak zwanych implementacji (algorytmów), to w strukturze języka powinna znaleźć się dyrektywa łączenia pary takich plików w całość. Dla porównania w Pascalu, Fortranie czy Basicu problem ten nie występuje, bo zarówno deklaracje, jak i implementacje umieszczamy w jednym i tym samym pliku. Zazwyczaj na samej górze pliku cpp czyli na samym początku spisywanych algorytmów pojawia się dyrektywa, nakazująca kompilatorowi spojrzenie w jakiś plik nagłówkowy. Przypomnijmy sobie którykolwiek z programów z poprzedniego rozdziału: Widoczna tutaj w pierwszej linii dyrektywa nakazuje kompilatorowi przeczytanie pewnego innego pliku, tutaj o nazwie iostream. Co prawda plik ten nie ma oczekiwanej nazwy iostream.h, a tylko iostream, i jest to swego rodzaju naruszenie zasad uświęconych tradycją, ale dyrektywie wklejania w niczym to nie przeszkadza. Rzeczywiście wklejaniu za pomocą dyrektywy podlegają wszelkie pliki, nawet te o najdziwniejszych nazwach, czego raczej nie należy nadużywać. Wklejać pliki nagłówkowe trzeba praktycznie zawsze. Oddzielną sprawą jest orientowanie się, jaki plik akurat należy wkleić. Jeśli potrzebne jest wyprowadzanie informacji na ekran chętnie wklejamy plik nagłówkowy iostream. Jeśli potrzebujemy jakiejś funkcji matematycznej, wkleimy prawdopodobnie plik math.h zawierający zapowiedzi instrumentów matematycznych stałej pi, sinusa, pierwiastka czy logarytmu (porównaj rysunek 3.2). Rysunek 3.2. Poważniejsze programy intensywnie wykorzystują dyrektywę wklejania. Niech nas nie zaniepokoją cudzysłowy zamiast ostrych nawiasów, jak w naszych mikroprogramach jest to pozostałość po dawnych czasach, gdy maszyny nie były tak szybkie jak dzisiaj. Ostre nawiasy nakazują rozpoczęcie wyszukiwania od katalogów bibliotecznych kompilatora. Kultura nakazuje, by swoje deklaracje wklejać średnikami, biblioteczne nawiasami ostrymi

24 C++. Ćwiczenia praktyczne Ćwiczenie 3.2. Teraz zrobimy coś złego. Z któregoś z poprzednich programów usuńmy dyrektywę #include i poddajmy program kompilacji oraz uruchomieniu (porównaj rysunek 2.3): //#include <iostream> Pierwsza linia została poprzedzona podwójnym ukośnikiem, zatem jest zamieniona na komentarz i nie podlega kompilacji. Czy ten program się uruchamia? Nie. Nawet się nie kompiluje kompilacja kończy się komunikatem niezadeklarowane cout, nie rozumiem cout, nie wiem, co znaczy cout! Widocznie w pliku iostream znajdował się opis algorytmu. Podsumowanie Nośnikami współczesnych programów komputerowych są zazwyczaj zwykłe pliki tekstowe. Języki rezerwują sobie rozszerzenia nazw plików i tak pliki w języku C++ mają nazwy *.cpp i *.h, pliki pascalowe nazywają się *.pas, pliki z Fortranem *.for itd. Zapisuj swoje algorytmy w swoich plikach i strzeż ich jak oka w głowie! Staraj się wyrobić w sobie nawyk, by pliki każdego programu umieszczać w oddzielnym katalogu. Jest to ważne dlatego, że współczesne, duże programy zazwyczaj składają się z wielu plików źródłowych i trudno jest lokalizować je, gdy mieszają się z plikami innych programów. Plik *.cpp jest głównym nośnikiem algorytmów spisanych w języku C++. Plik *.h zwyczajowo mieści deklaracje (zapowiedzi) algorytmów w języku C++. Plik *.h jest włączany do pliku głównego *.cpp za pomocą dyrektywy lub. Niekiedy, szczególnie przy małych programach, pomija się plik *.h i deklaracje umieszcza bezpośrednio w pliku *.cpp.