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

Podobne dokumenty
Programowanie proceduralne w języku C++ Podstawy

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

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

Wstęp do programowania. Wykład 1

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

Programowanie proceduralne w języku C++ Pętle, tablice

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

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

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

1. Wypisywanie danych

Programowanie obiektowe i C++ dla matematyków

Programowanie Obiektowew języku C++ Zadania L4

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

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

1 Podstawy c++ w pigułce.

Podstawy Programowania

Podstawy programowania w C++

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

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

Programowanie w języku Python. Grażyna Koba

Utworzenie pliku. Dowiesz się:

Programowanie Obiektowew języku C++ Zadania L4

Wprowadzenie do środowiska Qt Creator

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

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

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

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

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

Programowanie Obiektowew języku C++ Zadania L2

Programowanie Obiektowew języku C++ Zadania L8

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

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

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

Programowanie Obiektowew języku C++ Zadania L9

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

Część 4 życie programu

C++ wprowadzanie zmiennych

1 Podstawy c++ w pigułce.

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

Programowanie komputerowe. Zajęcia 1

Podstawy programowania w języku C++ Zadania

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

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

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

3. Instrukcje warunkowe

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

Wstęp do informatyki- wykład 7

Wstęp do Programowania 2

Pytania sprawdzające wiedzę z programowania C++

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

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

Zadanie 2: Arytmetyka symboli

1. Wprowadzenie do C/C++

Programowanie Obiektowew języku C++ Zadania L2

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

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

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!

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

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

Podstawy programowania w języku C++ Zadania - dziedziczenie i polimorfizm

Programowanie - wykład 4

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wprowadzenie do programowania i programowanie obiektowe

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

I - Microsoft Visual Studio C++

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

1. Wprowadzenie do C/C++

Podstawy. O czym będziemy mówić? Krótka historia C++ (od C zaczynając) Pierwsze programy

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

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

Wstęp. Opis programu :

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

Programowanie w języku C++

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

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

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

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

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

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

Pytanie 1. Pytanie 2. Pytanie 3 WOJEWÓDZKI KONKURS INFORMATYCZNY. Treść pytania

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Podstawy Programowania Algorytmy i programowanie

Laboratorium 1 - Programowanie proceduralne i obiektowe

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

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Akademia ETI Marcin Jurkiewicz

Wstęp do programowania

lekcja 8a Gry komputerowe MasterMind

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Allegro5 3/x. Przykład wklejamy go do dev'a zamiast kodu domyślnego dal programu z allegro i kompilujemy.

Wstęp do programowania

Proces tworzenia programu:

Wyjątki (exceptions)

Struktura pliku projektu Console Application

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

Transkrypt:

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki Stosowanej i Modelowania Wrzesień 2015/Marzec2018 Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 1 / 17

Spis treści 1 Podstawowe pojęcia programowania i terminologia 2 Domyślny kod źródłowy aplikacji konsolowej systemu Code::Blocks Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 2 / 17

Spis treści 1 Podstawowe pojęcia programowania i terminologia 2 Domyślny kod źródłowy aplikacji konsolowej systemu Code::Blocks Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 3 / 17

Wprowadzenie 1 Komputer w dzisiejszych czasach jest praktycznie rzecz biorąc nieodłączną częścią naszego życia prywatnego i zawodowego. 2 Do tej pory byliście Państwo jego zwykłym użytkownikiem, który siadał do komputera instalował potrzebne programy, a następnie z nich korzystał. 3 Rozpoczynając naukę programowania należy zdawać sobie sprawę, że to nie jest coś, co można opanować w kilka dni czy też tygodni. 4 Inaczej sprawa się ma z poznaniem podstaw języka C++, który składa się z ograniczonej liczby instrukcji stosunkowo prostych do opanowania. 5 Odmiennym problemem jest tworzenie oprogramowania - kurs języka C++ powinien być zatem poprzedzony odpowiednią teorią, która będzie stanowiła dobre wprowadzenie do nauki programowania. 6 Sama teoria jest jednak martwa i dlatego duży nacisk położymy na prezentowanie konstrukcji języka C++ w szeregu przykładach. 7 Na początek nie obędzie się również bez zapoznania się z podstawową terminologią, której będziemy używali często w dalszej części tego kursu. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 4 / 17

Podstawowe pojęcia programowania i terminologia 1 Budowa programu 2 Wielozadaniowość systemu, a pisanie własnych programów 3 Podstawowa terminologia 4 Środowisko programistyczne 5 Kod źródłowy 6 Kompilacja kodu źródłowego 7 Kompilator C++ 8 Log kompilacji 9 Plik źródłowy 10 Plik nagłówkowy Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 5 / 17

Podstawowe pojęcia programowania i terminologia Budowa programu Pierwszym ważnym zagadnieniem związanym z wytwarzaniem aplikacji jest budowa programu. Każdy program ma swój początek i koniec. Początek programu jest zawsze tylko jeden. Inaczej sprawa ma się z końcem programu - program może się zakończyć w różnych miejscach. Wielozadaniowość systemu, a pisanie własnych programów Pierwotnie komputery pracowały sekwencyjnie i był to jedyny tryb ich pracy. Wielozadaniowość z podziałem czasu procesora na poszczególne zadania stała się na przestrzeni lat codziennością. Pisząc własne programy nie trzeba jednak zastanawiać się nad sposobem działania mechanizmu wielozadaniowości. System operacyjny wraz z uruchomieniem aplikacji przydzieli jej niezbędne zasoby do pracy (w tym wydzielony obszar pamięci i przydział mocy obliczeniowej procesora). Przytaczana teoria może wydawać się odstraszająca, jednak nie ma żadnego większego znaczenia podczas nauki programowania. Jednak dobrze o tym wiedzieć. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 6 / 17

Podstawowe pojęcia programowania i terminologia Podstawowa terminologia Terminologia o jakiej mówimy obecnie jest podstawą komunikacji każdego programisty i dlatego warto się z nią zapoznać. Przytoczone do tej pory podstawowe informacje mają za zadanie ułatwić rozumienie treści wykładu. Środowisko programistyczne System operacyjny, język programowania oraz IDE służą do tworzenia, modyfikowania, kompilacji i testowania pisanych programów. Do tej pory wymieniono kilka środowisk, w tym Code::Blocks - nasze środowisko IDE. Kod źródłowy Kod źródłowy jest zwykłym tekstem i może być tworzony w dowolnym edytorze tekstowym. Edytor IDE ma jednak tę przewagę, że wspomaga programistę podpowiedziami, koloruje słowa kluczowe, itp. Kod źródłowy Wszystko co napiszemy w edytorze tekstowym stosując zasady języka C++ będzie właśnie kodem źródłowem. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 7 / 17

Podstawowe pojęcia programowania i terminologia Kompilacja kodu źródłowego Kompilacją nazywamy proces tłumaczenia kodu źródłowego na kod maszynowy. Proces ten jest wykonywany przez kompilator. Kategoria kod źródłowy bierze się stąd, że jest on podstawą dalszej obróbki prowadzącej do utworzenia kodu maszynowego zrozumiałego dla procesora, a całkowicie niejasnego dla początkującego programisty (i nie tylko). Pierwszym etapem takiej obróbki jest właśnie kompilacja. Skupimy się na tworzeniu kodu źródłowego Nie ma się jednak czym przejmować - będziemy się zajmować jedynie tworzeniem kodu źródłowego. Resztę załatwi za nas środowisko Code::Block. Kompilator C++ Program służący do tłumaczenia kodu języka C++ na język maszynowy (zrozumiały dla komputera). Znajomość obsługi tego narzędzia będzie się sprowadzała w naszym przypadku (przynajmniej na początku) do wybrania odpowiedniej opcji środowiska IDE. Wiedza ta będzie wystarczająca do tworzenia prostych programów. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 8 / 17

Podstawowe pojęcia programowania i terminologia Log kompilacji Log kompilacji zawiera informacje o postępie procesu kompilacji. Jeśli podczas procesu kompilacji wystąpiły jakieś błędy to znajdą się one w logu wraz z ich opisem. Kompilator często zamieszcza w logu miejsce wystąpienia błędu wskazując plik i wiersz w którym nie udało się tłumaczenie kodu. Dodatkowo komunikat o błędzie zawiera informację o przyczynie błędu. Komunikat o błędzie Każdy komunikat zawarty w logu kompilacji należy starać się zrozumieć. Podczas nauki programowania bardzo często będą powtarzane te same błędy, więc ich rozumienie jest ważne przy naprawianiu kodu. Plik źródłowy Pliki z rozszerzeniami: *.cpp Plik nagłówkowy Pliki z rozszerzeniami: *.hpp, *.h Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 9 / 17

Spis treści 1 Podstawowe pojęcia programowania i terminologia 2 Domyślny kod źródłowy aplikacji konsolowej systemu Code::Blocks Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 10 / 17

Plik źródłowy języka C++ Podczas tworzenia nowej aplikacji konsolowej w języku C++ system Code::Blocks tworzy plik źródłowy: #include <iostream> using namespace std; int main(){ cout << "Hello world!" << endl; return 0; } Plik ten zawiera: instrukcję przyłączającą plik biblioteki iostream instrukcję przyłączającą standardową przestrzeń nazw std oraz funkcję main wypisującą na konsoli napis: Hello word! Powyższy kod programu nie jest zbyt ambitny, ale prezentuje klasyczną budowę programów w języku C++. Przeanalizujmy poszczególne wiersze programu. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 11 / 17

Plik źródłowy języka C++ Pierwszą z linii kodu stanowi tzw. dyrektywa preprocesora języka C++ #include <iostream> Dzięki dyrektywom istnieje możliwość dołączania do plików źródłowych własnego programu innych plików jeszcze przed kompilacją całości. Jeśli istnieje potrzeba dołączenia więcej niż jednego pliku stosujemy dyrektywę wielokrotnie, zmieniając w nawiasach ostrych nazwę dołączanego pliku. Język C++ w czystej postaci ma stosunkowo skromny zestaw instrukcji dla których nie ma potrzeby dołączania żadnej biblioteki. Instrukcje wbudowane w język C++ służą w głównej mierze do sterowania przebiegiem programu i organizacji kodu. Nie ma w nim jednak wbudowanych instrukcji wyświetlających tekst, komunikowania się przez sieć czy też wyświetlania grafiki na ekranie. Za pomocą dyrektywy #include można jednak dołączyć biblioteki, które się tym zajmują - iostream pozwala m.in. na wczytywanie danych z klawiatury i wyświetlanie informacji na ekranie Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 12 / 17

Plik źródłowy języka C++ Druga z linii kodu zawiera instrukcję przyłączającą standardową przestrzeń nazw std. using namespace std; Dzięki przstrzeniom nazw istnieje możliwość używania w jednym programie wielu identycznych encji (nazw), ale umieszczonych w różnych przestrzeniach. Usunięcie tej linii z programu spowoduje, że kompilator nie będzie znał nazw: cout oraz endl Bez instrukcji using namespace std;; należałoby używać pełnych nazw, tzn. takich, które ujmują przestrzeń nazw. Zamiast cout i endl za każdym razem, kiedy zachodzi potrzeba wpisywania do strumienia należałoby pisać std::cout oraz std::endl Linia kodu: cout << "Hello world!" << endl; musiałaby wtedy zostać przekształcona w: std::cout << "Hello world!" << std::endl; Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 13 / 17

Plik źródłowy języka C++ Strumień cout: console output Jak nietrudno się domyślić instrukcja rozpoczynająca się słowem cout służy do wypisywania tekstu na ekranie. Tekst, który chcemy wypisać umieszczamy w podwójnych apostrofach. Tak więc wpisanie do naszego programu wiersza: cout << "Hello world!" << endl; spowoduje wypisanie na ekranie komunikatu: Hello world!. cout jest nazwą strumienia wyjściowego do którego będą dołaczane kolejne ciągi znaków reprezentujących napisy, liczby, itp. Podstawowym strumieniem wyjściowym jest consola, a zapisywany do niej strumień jest następnie kierowany na monitor komputera. Symbol «jest operatorem stosowanym do wpisywania teksu i innych informacji do strumienia wyjściowego stojącego po jego lewej stronie. Z prawej strony znajduje się ciąg znaków przesyłanych do strumienia. Napis endl powoduje wpisanie do strumienia znaku przejścia do następnej linii. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 14 / 17

Plik źródłowy języka C++ Blok główny programu Pozostała, niewyjaśniona część kodu, czyli: int main(){ cout << "Hello world!" << endl; return 0; } Jest to tzw. blok główny programu. Wszystko co jest zawarte między klamrami funkcji int main() będzie wykonywane, aż do momentu, gdy zostanie napotkana instrukcja return...;, gdzie za kropki należy wstawić dowolną liczbę - symbol kodu wyjścia programu. Programy powinny zwracać kod wyjścia 0, co informuje środowisko systemowe, że program zakończył się poprawnie. Ostatni fragment kodu, tzn. return 0;, zawsze będzie występował w naszych programach, choć z czasem ulegnie on pewnym modyfikacjom. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 15 / 17

Plik źródłowy języka C++ Komentarze Dotychczas nasza podstawowa aplikacja konsolowa zawierała kod, który w całości był kompilowany. Czasami jednak istnieje potrzeba umieszczania w tekście komentarzy: #include <iostream> // To jest dyrektywa preprocesora /* Kolejna linia kodu powoduje przylaczenie standardowej przestrzeni nazw */ using namespace std; Jak widać w języku C++ istnieją w zasadzie dwa rodzaje komentarzy: Komentarz jednowierszowy rozpoczyna się od znaków // i trwa on od miejsca wystąpienia tych znaków do końca wiersza. Komentarz wielowierszowy rozpoczyna się znakami /* i może być umieszczony w wielu liniach, aż do wystąpienia znaków */. Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 16 / 17

Plik źródłowy języka C++ Generalnie zaleca się stosować komentarze jednowierszowe. Komentarz wielowierszowy przydaje się często gdy chcemy np. wymienić jakiś stary fragment tekstu na nowy - implementujący lepszy algorytm, albo usuwający błędy. Wtedy komentujemy miejsce starego kodu i piszemy nowy, jednocześnie mając wgląd w usunięty kod. /* #include <iostream> int main(){ std::cout << "Hello world!" << std::endl; return 0; } */ #include <iostream> using namespace std; int main(){ cout << "Hello world!" << endl; return 0; } Mirosław Głowacki (AGH, UJK) Programowanie w języku C++ 2015 17 / 17