Wprowadzenie do C++
Zajęcia 2
Instalacja
Wejdź na stronę: http://www.bloodshed.net/dev/devcpp.html
Następnie kliknij na link wskazany na poniższym rysunku. Po
przejściu na stronę z instalacją aplikacji pobierz ją i dokonaj
standardowego (pod Windows) procesu instalacji środowiska
programistycznego Dev-C++.
Uruchomienie
Po zainstalowaniu uruchom program Dev-C++. Powinien on
wyglądać mniej więcej tak jak na poniższym rysunku.
Utworzenie Projektu
Pierwszy Program, Kompilacja, Uruchomienie
Program
Program komputerowy
(z ang. computer program) -
sekwencja symboli opisująca obliczenia zgodnie z pewnymi
regułami zwanymi językiem programowania.
Program jest zazwyczaj wykonywany przez komputer (np.
wyświetlenie strony internetowej), czasami bezpośrednio – jeśli
wyrażony jest w języku zrozumiałym dla danej maszyny lub
pośrednio – gdy jest interpretowany przez inny program
(interpreter).
Program może być ciągiem instrukcji opisujących modyfikacje
stanu maszyny ale może również opisywać obliczenia w inny
sposób (np. rachunek lambda).
Język programowania
Język programowania
– zbiór zasad określających, kiedy ciąg
symboli tworzy program (czyli ciąg symboli opisujący obliczenia)
oraz jakie obliczenia opisuje.
Podobnie jak języki naturalne, język programowania składa się
ze zbiorów reguł syntaktycznych (składnia) oraz semantycznych
(znaczenie), które opisują, jak należy budować poprawne
wyrażenia oraz jak komputer ma je rozumieć.
Wiele języków programowania posiada pisemną specyfikację
swojej składni oraz znaczenia, lecz inne zdefiniowane są jedynie
przez oficjalne implementacje.
Typy języków
Generalnie języki dzielimy na języki niskiego i wysokiego poziomu.
Wśród nich zaś możemy wyróżnić języki
:
•
bliskie
kodowi maszynowemu
- do bezpośredniego sterowania procesorami
komputerów (Asembler)
•
imperatywne
- sekwencje poleceń zmieniających wartości danych (Pascal)
•
deklaratywne
- składają się z opisowych stwierdzeń dotyczących danych i relacji
pomiędzy danymi (XSLT)
•
proceduralne
- określające procedury obliczeniowe (Pascal)
•
funkcyjne
- stosują funkcje do kolejnych wartości oraz funkcje (operatory) do
manipulacji funkcjami (Haskell)
•
definicyjne
- kolejne podstawienia interpretowane są jako definicje (?)
•
logiczne
- oparte na logice matematycznej, programy traktowane są jako formuły
logiczne (Prolog)
•
obiektowo
zorientowane
- dane i procedury tworzą obiekty (C++, Java)
•
programowania
współbieżnego
- dla komputerów o wielu procesorach (?)
•
przepływu
danych
(
dataflow
) - dla komputerów o eksperymentalnej
architekturze, sterowanych nie tyle kolejnymi instrukcjami co przepływem danych
(?)
•
czwartej
generacji
(
4GL
) - języki bardzo wysokiego poziomu, używają
graficznych systemów dialogu z użytkownikiem lub opisu w języku naturalnym (?)
•
zapytań
baz
danych
- do zapisywania i wydobywania informacji z baz danych
(SQL)
•
metajęzyki
- służące do opisu innych języków programowania (XML)
…….
•
język naturalny
C++
C++
- język programowania ogólnego przeznaczenia.
Umożliwia abstrakcję danych oraz stosowanie kilku paradygmatów
programowania: proceduralnego, obiektowego i generycznego.
C++ charakteryzuje się wysoką wydajnością kodu wynikowego, bezpośrednim
dostępem do zasobów sprzętowych i funkcji systemowych, łatwością
tworzenia i korzystania z bibliotek (napisanych w C++, C lub innych
językach), niezależnością od konkretnej platformy sprzętowej lub systemowej
(co gwarantuje wysoką przenośność kodów źródłowych) oraz niewielkim
środowiskiem uruchomieniowym. Podstawowym obszarem jego zastosowań
są aplikacje i systemy operacyjne.
C++ został zaprojektowany przez Bjarne'a Stroustrupa jako rozszerzenie języka C
o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów.
Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje
jednym z podstawowych celów projektowych kolejnych standardów języka.
W latach 90. XX wieku język C++ zdobył pozycję jednego z najpopularniejszych
języków programowania ogólnego przeznaczenia. Na początku XXI wieku
liczbę programistów języka C++ szacowano na około 3 miliony.
Od 1998 obowiązuje standard ISO/IEC 14882:1998 (Standard for the C++
Programming Language) z drobnymi poprawkami zatwierdzonymi w 2003 r.
(ISO/IEC 14882:2003). Ogłoszenie nowego standardu (tzw. C++0x)
planowane jest na 2009.
Proces kompilacji w C++
#include <iostream>
using namespace std;
int main()
{
cout << "Witaj w C++\n\n";
system("pause");
return 0;
}
Prosty Program w C++
Zadanie
Skompiluj i uruchom powyższy program – przeanalizuj jego działanie.
Zobacz jakie pliki wynikowe powstały w wyniku kompilacji?
Zadanie
1. W kodzie programu użyto znaków
\n\n
? Użyj innej
komendy aby uzyskać ten sam efekt działania
programu.
2. W kodzie programu użyto składni:
using namespace std;
Usuń ją i popraw kod programu tak aby program
działał identycznie jak na początku.
3. W kodzie programu użyto składni:
system("pause");
Usuń ją i popraw kod programu tak aby program
działał identycznie jak na początku.
4. Popraw kod programu tak aby wypisywał tekst: „Witaj
w C++”, tj. tekst ma być w cudzysłowie.
5. Czy wiesz do czego używamy słowa kluczowego
void
w C++? Dowiedź się, a następnie wstaw w
pierwotnym kodzie programu słówko
void
w jednym
miejscu tak aby działał on identycznie z programem
wyjściowym.
#include <iostream>
using namespace std;
int main()
{
int wiek;
cout << "Podaj swoj wiek: ";
cin >> wiek;
cout << "\nMasz zatem: " << wiek << " lat\n\n";
system("pause");
return 0;
}
Zmienne typu
int
Zadanie
Skompiluj i uruchom powyższy program – przeanalizuj jego działanie.
Praca domowa:
1. Napisz program w C++, który wczyta dwie liczby całkowite i
wypisze na ekranie ich sumę.
2. Postaraj się aby program miał możliwie najprostszą budowę.
3. Doczytaj czym jest schemat blokowy i narysuj taki schemat do
powyższego programu.