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

Podobne dokumenty
Wprowadzenie do środowiska Qt Creator

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

Programowanie proceduralne w języku C++ Podstawy

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

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

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

1.Wstęp. 2.Generowanie systemu w EDK

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

Programowanie w języku Python. Grażyna Koba

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

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

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Programowanie komputerów

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Wprowadzenie do biblioteki klas C++

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

I - Microsoft Visual Studio C++

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

Wstęp do programowania. Wykład 1

Podstawy Programowania

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

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

Zacznij Tu! Poznaj Microsoft Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Programowanie w C. dr inż. Stanisław Wszelak

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Podstawy programowania

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

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Technologie informacyjne - wykład 12 -

Programowanie obiektowe zastosowanie języka Java SE

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

PRZEWODNIK PO ETRADER PEKAO ROZDZIAŁ I. JAK ZACZĄĆ PRACĘ Z ETRADER PEKAO? SPIS TREŚCI

etrader Pekao Podręcznik użytkownika Jak zacząć pracę z etrader Pekao?

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

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!

1 Podstawy c++ w pigułce.

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

Windows 10 - Jak uruchomić system w trybie

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Wstęp do programowania

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

Podstawy Programowania. Wykład 1

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

Informatyka I. dr inż. Andrzej Czerepicki.

Praca w środowisku Visual Studio 2008, Visual C

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Instrukcja do oprogramowania ENAP DEC-1

Programowanie komputerowe. Zajęcia 1

Platformy Programowania

Programowanie Systemów Czasu Rzeczywistego

Podstawy programowania. Wprowadzenie

Instrukcja laboratoryjna cz.0

Programowanie w Javie

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

Niech wynik od 0 do 200F wyświetla w trzech kolumnach: F = (wartość) C = (wyliczona wartość) K = (wyliczona wartość)

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

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

1 Podstawy c++ w pigułce.

Podstawowe zasady tworzenia projektu w środowisku uvision 4.0, pisanie programów w asemblerze 8051

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Utworzenie pliku. Dowiesz się:

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Część 4 życie programu

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

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

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Języki i paradygmaty programowania - 1

C# /.NET. Copyright by 3bird Projects 2018,

Rozdział 5. Administracja kontami użytkowników

Programowanie procesora Microblaze w środowisku SDK

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

Załącznik 1 instrukcje instalacji

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

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

Instrukcja obsługi programu Do-Exp

Ćwiczenie 6. Wiadomości ogólne.

Pracownia internetowa w szkole ZASTOSOWANIA

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Ustawienia personalne

Programowanie niskopoziomowe

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

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

Tworzenie oprogramowania

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

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: 2 CELE LEKCJI: 2.1 Wiadomości: 2.2 Umiejętności: 3 METODY NAUCZANIA: 4 ŚRODKI DYDAKTYCZNE:

Pytania sprawdzające wiedzę z programowania C++

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

WPROWADZENIE DO JĘZYKA JAVA

Programowanie i techniki algorytmiczne

Programowanie w środowisku graficznym GUI

Zadanie 2: Arytmetyka symboli

Instrukcja instalatora kart mikroprocesorowych od Windows XP do Windows Wstęp 1 2. Wymagania instalacji 1 3.

Zapisywanie algorytmów w języku programowania

Delphi podstawy programowania. Środowisko Delphi

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

Instrukcja laboratoryjna cz.3

Transkrypt:

Wykład 1 - Aplikacje konsowlowe w środowisku QT Instytut Automatyki i Robotyki Warszawa, 2014

Wstęp

Plan wykładu Podstawowe pojęcia i proste programy. Pojęcia algorytmu, programu, kodu wykonywalnego. Kompilacja i wykonanie programu. Sieci działań. Struktura programu. Komentarze i dokumentacja programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje: czytania, pisania, przypisania. Klasyfikacja typów. Stałe, wyrażenia i funkcje. Instrukcje: warunkowa, złożona. Instrukcje cykliczne: pętla for, pętle sterowane warunkiem. Instrukcje przerywające wykonanie pętli. Instrukcja wielokrotnego wyboru.

Plan wykładu Rysunek : Proces powstawania i działania progarmu.

Pojęcia podstawowe Algorytm Określamy tym mianem wszelkie przepisy postępowania, które doprowadzają do uzyskania pożądanego efektu rozwiązania zadania. Algorytm Skończony ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego rodzaju zadań. Algorytm ma przeprowadzić system z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytm może zostać zaimplementowany w postaci programu komputerowego. Algorytm - (def.) Algorytm to jednoznaczny przepis obliczenia w skończonym czasie pewnych danych wejściowych do pewnych danych wynikowych.

Pojęcia podstawowe Kompilacja Program służący do automatycznego tłumaczenia kodu napisanego w jednym języku (języku źródłowym) na równoważny kod w innym języku (języku wynikowym). Proces ten nazywany jest kompilacją. Kompilator W informatyce kompilatorem nazywa się najczęściej program do tłumaczenia kodu źródłowego w języku programowania na język maszynowy. Niektóre z nich tłumaczą najpierw do języka asemblera, a ten na język maszynowy jest tłumaczony przez asembler.

Plan wykładu Rysunek : Proces powstawania i działania progarmu.

Pojęcia podstawowe Język maszynowy Zestaw rozkazów procesora, w którym zapis programu wyrażony jest w postaci liczb binarnych stanowiących rozkazy oraz ich argumenty. Kod maszynowy Postać programu komputerowego (zwana postacią wykonywalną lub binarną) przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor. Jest ona dopasowana do konkretnego typu procesora i wyrażona w postaci rozumianych przez niego kodów rozkazów i ich argumentów. Jest to postać trudna do analizy przez człowieka. Konsolidator (ang. linker) Inaczej - program konsolidujący, to jeden z programów składowych kompilatora. Konsolidator w trakcie procesu konsolidacji łączy zadane pliki obiektowe i biblioteki statyczne tworząc w ten sposób plik wykonywalny.

Oprogramowanie Qt Qt Creator jest wygodnym środowiskiem programistycznym przeznaczonym do tworzenia projektów, czyli aplikacji zarówno konsolowych, jak i okienkowych z wykorzystaniem biblioteki Qt. Przedmiotem zajęć są aplikacje konsolowe (część 1, 4h), oraz aplikacje okienkowe (część 2, 4h). Na zajęciach używana będzie wersja Qt 5.0.2 for Windows 32-bit (MinGW 4.7) wykorzystująca kompilator MinGW 4.7. Plik instalacyjny zajmuje 650MB. Możliwe jest również zainstalowanie wersji wykorzystującej kompilator Microsoft Visual Studio 2010 oraz wersje na Mac i Linux. Pliki instalacyjne środowiska Qt dla odpowiedniego systemu i kompilatora można znaleźć pod adresem http://qt-project.org/downloads

Qt Qt - zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języków C++, QML i Java. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych GUI (ang. Graphic User Interface), począwszy od wersji 4.0 Qt zawiera też narzędzia do tworzenia programów konsolowych i serwerów. Twórcą Qt jest obecnie organizacja Qt Project, do której oprócz niezależnych twórców Open Source należą m.in. firmy Digia, KDAB, ICS. Digia jest właścicelem praw do komercyjnej wersji Qt oraz do znaków towarowych.

Qt - historia Pomysłodawcami i pierwszymi twórcami Qt byli Haavard Nord i Eirik Chambe-Eng. Projektowanie pierwszych klas biblioteki rozpoczęto w 1991 r. Rok później Chambe-Eng opracował koncepcję mechanizmu sygnałów i gniazd, który wkrótce stał się fundamentem biblioteki. 4 marca 1994 r. Nord i Chambe-Eng założyli firmę Quasar Technologies. W 1995 firma otrzymała pierwszy kontrakt i zatrudniła pierwszego programistę. W 1997 twórcy KDE postanowili oprzeć swój produkt na bibliotece Qt. Dzięki temu szybko osiągnęła ona status jednej z najpopularniejszych bibliotek dla aplikacji okienkowych w C++ dla systemu Linux. W 2008 Trolltech (d. Quasar Technologies) został przejęty przez Nokię. W 2010 Nokia zapowiedziała użycie Qt jako głównej platformy programistycznej w Symbianie oraz systemie MeeGo. W 2012 Digia kupiła od firmy Nokia framework Qt, zapewniając przy okazji dalsze wsparcie i rozwój darmowej licencji i współpracę z projektem KDE oraz KDE Free Qt Foundation na rzecz otwartego i wolnego oprogramowania.

Pierwsze uruchomienie Qt Wraz ze środowiskiem Qt Creator zintegrowany jest rozbudowany system pomocy z przykładami i samouczkami (po angielsku). Zapoznanie się ze środowiskiem najlepiej zacząć od kroków widocznych na ekranie powitalnym. Ekran taki pojawi się przy pierwszym uruchomieniu i zawsze wtedy, gdy wybrana będzie sekcja Zaczynamy nad górną poziomą kreską. Rysunek : Ekran główny Qt

Pierwsze uruchomienie Qt Wraz ze środowiskiem Qt Creator zintegrowany jest rozbudowany system pomocy z przykładami i samouczkami (po angielsku). Zapoznanie się ze środowiskiem najlepiej zacząć od kroków widocznych na ekranie powitalnym. Ekran taki pojawi się przy pierwszym uruchomieniu i zawsze wtedy, gdy wybrana będzie sekcja Zaczynamy nad górną poziomą kreską. Rysunek : Ekran główny Qt

Pierwsze uruchomienie Qt W widoku ekranu powitalnego dostępne są sekcje: Projekty- widok ostatnio otwartych sesji i projektów oraz opcje utworzenia sesji lub projektu Przykłady- gotowe projekty z opisem (po angielsku) Samouczki- instrukcje krok po kroku (po angielsku)

Pierwsze uruchomienie Qt Boczny pasek wyboru trybu pracy Powitanie Edycja - podstawowy tryb do tworzenia kodu źródłowego programu Design - tryb tworzenia interfejsu graficznego (nieużywany na ZAP I) Debug - tryb debugowania programu Projekty ustawienia parametrów budowania i uruchamiania otwartych projektów Analiza - tryb analizy uruchomionego programu (analiza użycia procesora i pamięci) Pomoc Rysunek : Pasek wyboru trybu pracy

Pierwsze uruchomienie Qt Poniżej paska wyboru trybu znajduje się pasek uruchomienia i budowania projektu, w którym zaczynając od góry dostępne są opcje: wybór aktywnego projektu budowanie i uruchomienie aplikacji budowanie i uruchomienie aplikacji w trybie debugowania budowanie aplikacji bez uruchamiania Rysunek : Pasek uruchomienia i budowania projektu

Prosta aplikacja konsolowa W trybie widoku powitalnego należy wybrać sekcję Projekty, a następnie wybrać Nowy projekt. W oknie tworzenia projektu wybieramy Projekt nieużywający Qt (oznacza to nieużywanie biblioteki Qt, a tylko samego środowiska Qt Creator) i dalej Zwykły projekt C++.

Prosta aplikacja konsolowa Uwaga Następnie należy nadać projektowi nazwę (bez spacji i polskich znaków) i wybrać katalog projektów (Utwórz w:), w którym utworzony zostanie katalog dla naszego projektu. Najlepiej dla danego projektu tworzyć oddzielny katalog. Inaczej łatwo można wprowadzić bałagan do projektowanej aplikacji. Nie tylko nazwa projektu, ale i cała ścieżka dostępu do katalogu z projektem, nie mogą zawierać polskich znaków. W przeciwnym wypadku debugger dostarczony z MinGW może nie działać poprawnie.

Prosta aplikacja konsolowa W następnym kroku utworzone zostaną dwa katalogi, osobno dla wersji release i debug. Wersja release jest to końcowa wersja programu skompilowana z optymalizacją rozmiaru pliku wyjściowego i prędkości działania, którą dostarczamy użytkownikowi programu. Natomiast program skompilowany w wersji debug zawiera dodatkowe informacje umożliwiające programiście śledzenie działania programu w celu usunięcia błędów (tzw. debugowanie). Pozostawiamy tutaj ustawienia domyślne.

Prosta aplikacja konsolowa Dalej jest już ostatni krok tworzenia projektu: jako podsumowanie na ekranie pojawi się ścieżka do utworzonego katalogu zawierającego pliki projektu oraz nazwy domyślnie utworzonych plików: pliku main.cpp z kodem źródłowym oraz pliku z rozszerzeniem.pro zawierającego podstawowe informacje o projekcie (lista plików źródłowych oraz używanych bibliotek). Utworzony katalog będzie zawierał też plik z rozszerzeniem.user zawierający ustawienia projektu specyficzne dla konkretnego komputera (m.in. ścieżki do katalogów). Nas interesować będzie wyłącznie plik main.cpp.

Prosta aplikacja konsolowa Po utworzeniu projektu interfejs zostanie automatycznie przełączony w tryb edycji. W trybie tym dostępne są dwa najważniejsze okna: Projekty zawierające listę otwartych projektów okno edycji kodu źródłowego. Dodatkowo mogą pojawić się okna: Otwarte dokumenty z listą otwartych plików, okno komunikatów środowiska.

Prosta aplikacja konsolowa Rysunek dr inż. : Interfejs Jakub Możaryn przełączony Programowanie w C++ tryb edycji

Prosta aplikacja konsolowa W oknie edycji kodu źródłowego ukazuje się standardowa zawartość pliku main.cpp z prostym programem wypisującym na konsoli napis Hello World!. Kod ten zastępujemy naszym własnym programem, wykorzystując gotowy szkielet. ZADANIE: napisać program, który poprosi użytkownika o wprowadzenie liczby całkowitej, a następnie wyświetli ją na konsoli. #include <iostream> using namespace std; int main() { int a; cout << "Podaj liczbe: " << endl; cin >> a; cout << "Podana liczba to: " << a << endl return 0; }

Prosta aplikacja konsolowa - debugowanie Uruchomienie aktywnego projektu odbywa się za pomocą przycisku z zieloną strzałką Oznacza to, że projekt budowany jest w wersji debug(co oznacza, że może być potem uruchomiony w trybie debug), ale uruchamiany jest w zwykłym trybie release. Pisząc kod łatwo popełnić błąd składniowy lub literówkę, która uniemożliwi poprawną kompilację programu. W takim przypadku kompilator zwróci informację o błędzie

Prosta aplikacja konsolowa - debugowanie Uruchomienie aktywnego projektu odbywa się za pomocą przycisku z zieloną strzałką Oznacza to, że projekt budowany jest w wersji debug(co oznacza, że może być potem uruchomiony w trybie debug), ale uruchamiany jest w zwykłym trybie release. Pisząc kod łatwo popełnić błąd składniowy lub literówkę, która uniemożliwi poprawną kompilację programu. W takim przypadku kompilator zwróci informację o błędzie W przykładzie zabrakło średnika na końcu wiersza numer 10, dlatego pojawił się komunikat expected ; before return. W języku C++ średnik musi pojawić się po każdej instrukcji, ale niekoniecznie w tym samym wierszu, dlatego błąd wystąpił dopiero w wierszu 12.

Prosta aplikacja konsolowa - debugowanie Rysunek : Aplikacja konsolowa z informacjami o błędzie zwróconymi przez kompilator

Prosta aplikacja konsolowa - debugowanie Oprócz błędów, które przerywają kompilację, mogą pojawić się również ostrzeżenia. Dobrze napisany program powinien kompilować się bez ostrzeżeń. W przypadku wystąpienia krytycznego błędu w trakcie działania programu zostaniemy o tym poinformowani odpowiednim komunikatem. Jeżeli uruchomiliśmy program w zwykłym trybie (release) to pozostaje nam zamknięcie programu i okna konsoli.

Prosta aplikacja konsolowa - debugowanie Nawet jeżeli kod źródłowy kompiluje się poprawnie i uruchamia bez błędów wykonania, to może zawierać błąd logiczny, który sprawi, że program nie działa tak jak chcemy. Do wyszukiwania błędów tego typu służy narzędzie zwane debuggerem, które umożliwia prześledzenie działania programu linia po linii, lub zatrzymanie w konkretnym miejscu (zaznaczonym jako tzw. breakpoint). Punkt przerwania nazywany breakpoint ustawiamy klikając z lewej strony numeru linii, w której chcemy zatrzymać wykonanie programu. Uruchomienie aplikacji w trybie debug odbywa się za pomocą klawisza F5 lub przycisk (rys). Rysunek : Ustawienie punktu przerwania

Prosta aplikacja konsolowa - debugowanie Interfejs zostanie automatycznie przełączony w tryb debugowania. Wykonanie programu zostało zatrzymane w linii z breakpointem (żółta strzałka). W oknie po prawej stronie wypisane są zmienne dostępne w danej funkcji oraz ich wartości. Rysunek : Interfejs Qt w trybie debugowania

Prosta aplikacja konsolowa - debugowanie W trakcie debugowania przydatne są przyciski z panelu, który pojawił się w widoku debugowania poniżej kodu źródłowego. Zaczynając od lewej strony przyciski to: - kontynuacja (uruchomienie) debugowania F5 - zatrzymanie debugowania - przejście do kolejnej linii F10 - wejście do wnętrza funkcji F11 - wyjście z aktualnej funkcji Shift+F11

Prosta aplikacja konsolowa - debugowanie Jeżeli program uruchomiliśmy w trybie debug, to komunikat o błędzie jest bardziej szczegółowy, a miejsce, w którym działanie programu zostało przerwane, wskazane jest za pomocą żółtej strzałki. Rysunek : Interfejs Qt w trybie debug i wyświetlonymi informacjami o błędzie