Przejdź do treści

Pierwszy program w C++

Wprowadzenie

Witamy Cię w konkursowej wersji kursu programowania w języku C++. Nie będzie to kurs techniczny języka C++, ale kurs ogólnej umiejętności programowania – napisany w oparciu o nowoczesny język C++. To tak jak z nauką języka obcego – by nauczyć się nowego języka, nie wystarczy nauczyć się słów tego języka (co odpowiada nauce konstrukcji), lecz trzeba się także nauczyć budować poprawne zdania, a później dłuższe wypowiedzi (to właśnie odpowiada nauce programowania). Gdy już będziesz umiał programować, to zmiana języka programowania nie będzie dla Ciebie problemem.

W każdej lekcji umieścimy Część programistyczną, Część techniczną, Komentarz i Zadania do samodzielnego rozwiązania, o zróżnicowanym stopniu trudności. Lekcje będziemy ilustrować nagraniami wideo. Większość lekcji będzie omawiać podstawowe elementy programowania z użyciem prostych mechanizmów wczytywania i wypisywania. Na ostatniej lekcji pokażemy, że elementy, których nauczyliśmy się, pozwalają tworzyć także programy graficzne.

Zachęcamy Cię do próby rozwiązania jak największej liczby zadań w trakcie kursu.

Część techniczna: Środowisko programistyczne

Nasz kurs będziemy prowadzić z użyciem polskojęzycznej wersji środowiska Code Blocks w systemie operacyjnym Windows 7 lub nowszym. Poniżej podajemy instrukcję instalacji tego środowiska. Środowisko Code Blocks działa także w systemach Windows 2000, XP oraz Vista. Na stronie domowej Code Blocks dostępne są także wersje środowiska działające pod różnymi wersjami systemu operacyjnego Linux oraz w systemie Mac OS X.

Może jednak być tak, że z różnych powodów nie możesz zainstalować środowiska Code Blocks (np. korzystasz ze szkolnej pracowni i nie masz do tego uprawnień, a administrator nie wyraził na to zgody). W takim wypadku proponujemy Ci używać strony internetowej ideone, pozwalającej na uruchamianie programów bez konieczności instalowania jakiegokolwiek środowiska na Twoim komputerze. Z punktu widzenia tego kursu środowisko Ideone ma tylko dwa braki w porównaniu do Code Blocks: nie umożliwia wykonywania krokowego programów, tzw. odpluskwiania (będzie o tym mowa na lekcji 7), oraz nie pozwala tworzyć aplikacji graficznych czy okienkowych (lekcja 10). Żadna z tych funkcjonalności nie będzie jednak konieczna do zaliczenia tego kursu. Na jednym z nagrań w tej lekcji pokazujemy, w jaki sposób korzystać ze strony Ideone.

Możesz też w ramach tego kursu używać jakiegoś innego środowiska programistycznego umożliwiającego pisanie programów w C++ (np. Dev-C++, DJGPP, Eclipse-CDT, Geany, Scite, kompilator w konsoli Linuksa/Mac OS plus dowolny edytor), jednak może to utrudniać podążanie za materiałem kursu.

Instalacja Code Blocks

Przejdziemy teraz przez kolejne kroki instalacji środowiska Code Blocks w systemie Windows (konkretniej, będziemy pracować na polskojęzycznej wersji stabilnej Code Blocks 13.12 w systemie Windows 8.1). Pamiętaj, że musisz mieć w tym celu prawa administratora na swoim komputerze i co najmniej pół gigabajta wolnego miejsca na dysku. Cały proces nie będzie zbytnio skomplikowany, jednak opisaliśmy go dość dokładnie, żeby nikt nie utknął w tym miejscu kursu.

Jak zainstalować Code Blocks?

Instrukcje

Na początku ściągnij instalator programu, używając tego linka. Po kliknięciu na link odczekaj kilka sekund, po czym zacznie się pobieranie pliku. Wersja instalacyjna ma rozmiar ok. 100 MB, a program po zainstalowaniu zużywa ok. 250 MB. Polecamy, aby przejść przez proces instalacji w najprostszy możliwy sposób, podany w poniższych krokach. Jeśli w którymś kroku instalacji pomylisz się, wystarczy przerwać i zacząć wszystko od początku. Dopiero na samym końcu, po zainstalowaniu programu, będzie potrzebna pewna sztuczka, aby umożliwić korzystanie z wersji programu w języku polskim.

  • Jeśli system Windows spyta Cię, czy chcesz pozwolić programowi na wprowadzanie zmian na Twoim dysku, odpowiedz "Tak".
  • Na ekranie powitalnym instalacji wybierz "Next".
  • Na ekranie z prośbą o zgodę na używanie licencji GNU General Public License wybierz "I Agree" (GNU GPL to licencja wolnego oprogramowania, za którą nie trzeba niczego płacić itp.).
  • Na ekranie wyboru komponentów nie wprowadzaj żadnych zmian i wybierz "Next" (zainstalują się standardowe komponenty, w tym kompilator C++).
  • Dalej następuje ekran z wyborem folderu, w którym ma nastąpić instalacja programu. Jeśli możesz, zainstaluj program w folderze, który zaproponuje instalator. Koniecznie zapamiętaj (albo zapisz sobie), w jakim folderze zainstalowałeś(aś) środowisko Code Blocks – będzie to potrzebne do uruchomienia wersji polskojęzycznej środowiska. U nas np. tym folderem jest: C:\Program Files (x86)\CodeBlocks

Teraz następuje sam proces instalacji. Zajmuje on od jednej do kilku minut. Na koniec możemy otworzyć środowisko Code Blocks i zamknąć okienko instalatora.

Jak ustawić język polski?

Instrukcje

Aby móc korzystać z niej w języku polskim, ściągnij na swój komputer plik z tłumaczeniem na polski (Uwaga: początkowo umieściliśmy tu nieaktualny plik z tłumaczeniem. Ten teraz jest dobry), a następnie wykonaj następujące kroki:

  • Wejdź do folderu, w którym zainstalowałeś Code Blocks (używając np. Eksploratora plików).
  • Przejdź do folderu "share", a następnie "CodeBlocks".
  • Utwórz folder o nazwie "locale".
  • Przejdź do folderu locale i utwórz w nim folder o nazwie "pl_PL" (ten znak w środku to podkreślenie; znajduje się na przycisku "minus").
  • Przejdź do folderu "pl_PL" i przenieś do niego ściągnięty na początku plik "polish.mo".
  • Zamknij i uruchom ponownie środowisko.
  • Wejdź do menu Settings, następnie Environment. Po lewej wybierz opcję "View". Upewnij się, że pole "Internationalization" (drugie od góry) jest zaznaczone, po czym wybierz w nim język "Polish".
  • Zamknij i uruchom ponownie środowisko Code Blocks. Gratulacje, powinieneś teraz widzieć menu w języku polskim!

Część programistyczna: Piszemy i kompilujemy pierwszy program

Przyszła pora, by napisać pierwszy program w C++. Oto on:

#include <iostream>
using namespace std;

int main() {
    cout << "Pierwszy program!" << endl;
}

Jak uruchomić ten program w Code Blocks?

Instrukcje

Otwórz środowisko Code Blocks, z menu Plik wybierz Nowy → Pusty plik i w okienku edycji wprowadź powyższą treść programu.

Uwaga: Jeżeli korzystasz ze stosunkowo nowej wersji przeglądarki Chrome, Firefox, Internet Explorer, Opera lub Safari, to wszystkie programy z lekcji możesz po prostu skopiować i wkleić do Code Blocks – zwróć uwagę na to, że możesz zaznaczyć tekst bez numerów wierszy. W innych przeglądarkach to także może zadziałać, ale nie dajemy gwarancji.

Musisz teraz przejść kilka standardowych kroków, zanim zobaczysz wynik działania programu. Oto one:

  • Zapisz plik pod nazwą pierwszy.cpp. W tym celu w menu Plik wybierz opcję Zapisz plik, po czym wskaż katalog i w nazwie pliku wpisz pierwszy.cpp (pamiętaj o rozszerzeniu .cpp, bez niego środowisko zapisze go jako program w języku C). Zamiast korzystać z menu, możesz w przyszłości do zapisywania używać skrótu klawiaturowego Ctrl+S.
  • Program, który napisaliśmy, nie jest jeszcze niestety zrozumiały dla komputera i nie może po prostu "zadziałać". Aby można go było uruchomić, trzeba go skompilować. Podczas kompilacji program zostanie przetworzony na język zrozumiały dla komputera i przygotowany do działania. W tym celu w menu Kompilacja wybierz opcję Kompilacja (skrót klawiaturowy: Ctrl+F9). Na dole ekranu powinien się wyświetlić taki mniej więcej komunikat:
Proces zakończył się kodem wyjścia 0 (0 min, 0 sek)
0 błędów, 0 ostrzeżeń (0 min, 0 sek)
  • Teraz już możesz uruchomić program. W menu Kompilacja wybierz opcję Uruchom (Ctrl+F10). W wyniku uruchomienia na czarnym tle zobaczysz komunikat "To jest moj pierwszy program!", a także informację, ile czasu działał Twój program:
Pierwszy program!
Process returned 0 (0x0)   execution time : 0.043 s
Press any key to continue.
  • Uwaga: Przy pierwszym uruchomieniu może okazać się, że okienko, które zobaczysz, będzie strasznie małe, i nic w nim nie będziesz widział. Aby zmienić rozmiar czcionki w okienku, kliknij myszką w lewym górnym rogu okienka, następnie na "Właściwości", tam wybierz zakładkę "Czcionka", a w niej któryś z większych rozmiarów czcionek, np. "12 x 16". Na koniec naciśnij dowolny przycisk, aby zamknąć to okno.

W folderze, w którym zapisałeś program pierwszy.cpp, znajdziesz także wersję programu gotową do uruchomienia, tzw. plik wykonywalny. Możesz go uruchomić (poprzez podwójne kliknięcie), jednak wtedy program szybko otworzy się i zamknie. Wynik działania programu wygodniej więc oglądać w środowisku Code Blocks. Wyjaśnimy teraz w kilku słowach poszczególne elementy programu pierwszy.cpp. Przypomnijmy, jak on wygląda:

#include <iostream>
using namespace std;

int main() {
    cout << "To jest moj pierwszy program!" << endl;
}

Instrukcje zawarte w dwóch pierwszych wierszach będą nam towarzyszyć przez większość kursu i na tym etapie nie musisz ich zbyt dokładnie rozumieć. Pierwsza z nich umożliwia wczytywanie i wypisywanie informacji przez program, a druga – łatwe wykorzystywanie różnych standardowych elementów języka C++.

Z naszego punktu widzenia najważniejsze jest to, co dzieje się dalej – wewnątrz main, czyli głównej funkcji programu. Wszystko, co następuje po słowie cout, dotyczy tego, co program ma wypisać, przy czym kolejne elementy do wypisania poprzedzane są znakami <<. Pierwszym elementem był komunikat "To jest moj pierwszy program!", a drugim – endl, oznaczający przejście do nowego wiersza (czyli to, co standardowo robi przycisk Enter). Na końcu listy komunikatów do wypisania musi być średnik. Większość elementów tego programu będzie nam towarzyszyła przez cały czas trwania kursu.

Uwaga: W niektórych środowiskach programistycznych do C++ (np. Dev-C++), aby zobaczyć wynik działania programu w środowisku, trzeba używać instrukcji system("pause"). W przypadku środowiska Code Blocks używanie tej instrukcji nie jest potrzebne. Co więcej, programy wysłane na Szkopuł nie mogą jej używać.

Trochę terminologii

Program, taki jak napisaliśmy na początku, nazywa się kodem źródłowym. Napisaliśmy go w języku o nazwie C++, ale moglibyśmy go napisać w dowolnym innym języku programowania. Niestety takiego programu nie da się bezpośrednio uruchomić na komputerze – język C++ nie jest zrozumiały dla procesora. Dlatego potrzebowaliśmy specjalnego programu o nazwie kompilator C++ (zawartego w środowisku Code Blocks), który przetłumaczył program z języka C++ na tzw. język maszynowy, który jest już zrozumiały dla procesora. Wynik działania kompilatora nazywamy plikiem wykonywalnym (potocznie zwanym programem), czyli wersją programu, którą można uruchomić na komputerze. Samo słowo program jest więc niejednoznaczne: może oznaczać zarówno kod źródłowy programu, jak i otrzymany za pomocą kompilatora plik wykonywalny.

Uwaga: Zamiast prostej procedury kompilowania programu znajdującego się w pojedynczym pliku moglibyśmy też utworzyć projekt Code Blocks. Ponieważ na tym etapie nauki nie jest to do niczego potrzebne, opiszemy, jak to zrobić, dopiero w lekcji 6.

Kolejne programy

Proponujemy Ci, abyś poeksperymentował chwilę z tym programem, zmieniając różne drobiazgi i patrząc, jakie błędy wypisał kompilator. Na przykład, czy można umieścić spację między dziubkami "<<"?

Co będzie dalej...?

Oczywiście jest o wiele więcej czynności, które można wykonać za pomocą programów w C++, poza wypisywaniem komunikatów na ekran. Będziesz je kolejno poznawać w ramach niniejszego kursu. Jako pewien przedsmak pokażemy, że program w języku C++ może służyć jako kalkulator, np. przeliczyć 100 stopni w skali Celsjusza na stopnie w skali Fahrenheita:

#include <iostream>
using namespace std;

int main() {
    cout << 100 * 9 / 5 + 32 << endl;
}

Zadania

Na końcu każdej lekcji kursu mamy dla Ciebie konkursowe zadania do samodzielnego rozwiązania. Rozwiązaniem każdego z zadań jest program (a dokładniej: kod źródłowy), który powinieneś zgłosić w serwisie Szkopuł. Programy są oceniane w pełni automatycznie.

Aby program został zaakceptowany w systemie, wynik działania programu powinien być idealnie zgodny z wymaganiami z treści zadania (tolerowane są jedynie dodatkowe spacje na końcach wierszy oraz dodatkowe puste wiersze na końcu programu). Jeśli Twój program nie zadziała za pierwszym razem – nie przejmuj się, możesz przesłać jego poprawioną wersję jeszcze raz! Jeśli chcesz uniknąć ciągłego wysyłania, najpierw sprawdź poprawność kompilacji i działania programu na swoim komputerze.

Zadanie 1. Początek

To jest Twoje pierwsze zadanie do samodzielnego rozwiązania. Napisz program, który wypisze następujący komunikat (trzy wiersze):

Mount Everest - 8850 m n.p.m.
McKinley - 6194 m n.p.m.
Mont Blanc - 4810 m n.p.m.

Wyjście

Twój program powinien wypisać dokładnie podany wyżej komunikat.

Sprawdź kod na Szkopule