Witaj!
Kurs z programowania będzie zdecydowanie najbardziej usystematyzowanym z pośród dostępnych tu kursów. Mam nadzieję, że forma przypadnie nowym adeptom informatyki do gustu, ale w przeciwnym razie zostaną umieszczone linki do innych kursów – tych, na których ukształtowały się moje umiejętności programistyczne.
Kurs z programowania będzie zdecydowanie najbardziej usystematyzowanym z pośród dostępnych tu kursów. Mam nadzieję, że forma przypadnie nowym adeptom informatyki do gustu, ale w przeciwnym razie zostaną umieszczone linki do innych kursów – tych, na których ukształtowały się moje umiejętności programistyczne.
Moje
doświadczenie (można pominąć – krótka historia):
Przygodę z C++ zacząłem już w szkole podstawowej. Uroiło mi się coś w głowie, że chcę pisać programy komputerowe. Nauczyłem się -wtedy- już paru pierwszych sztuczek (o ile wypisywanie i wczytywanie danych można tak nazwać), a następnie rzuciłem to. W klasie I gimnazjum zapisałem się na kółko z informatyki, gdzie właśnie odbywał się pogrzeb LOGOmocji i narodziny C++. Szybko spodobały mi się nowe możliwości, jakie wynosiłem z kółka, gdzie uczyłem się HTML-a, obsługi pakietu Office (od Worda i Excela przez Accessa do skonfigurowania Outlooka), projektowania i edycji grafiki w Corelu (później Gimpie, który zdecydowanie starczał do moich niewielkich potrzeb) oraz właśnie wspomnianego programowania. Wkrótce zaczęliśmy przechodzić do coraz trudniejszych zadań. Choć z początku z nimi nie radziliśmy sobie, każdy z nas nauczył się myśleć i przenosić swoje plany na ekran monitora. W II klasie gimnazjum rozpocząłem kształcenie nowych członków kółka z zakresu programowania.
Przygodę z C++ zacząłem już w szkole podstawowej. Uroiło mi się coś w głowie, że chcę pisać programy komputerowe. Nauczyłem się -wtedy- już paru pierwszych sztuczek (o ile wypisywanie i wczytywanie danych można tak nazwać), a następnie rzuciłem to. W klasie I gimnazjum zapisałem się na kółko z informatyki, gdzie właśnie odbywał się pogrzeb LOGOmocji i narodziny C++. Szybko spodobały mi się nowe możliwości, jakie wynosiłem z kółka, gdzie uczyłem się HTML-a, obsługi pakietu Office (od Worda i Excela przez Accessa do skonfigurowania Outlooka), projektowania i edycji grafiki w Corelu (później Gimpie, który zdecydowanie starczał do moich niewielkich potrzeb) oraz właśnie wspomnianego programowania. Wkrótce zaczęliśmy przechodzić do coraz trudniejszych zadań. Choć z początku z nimi nie radziliśmy sobie, każdy z nas nauczył się myśleć i przenosić swoje plany na ekran monitora. W II klasie gimnazjum rozpocząłem kształcenie nowych członków kółka z zakresu programowania.
Dlaczego
C++?
Język C++ jest najbardziej uniwersalnym i jednym z szybszych języków, na podstawie którego tworzą się nowe języki. Jego składnia jest bardzo podobna do wielu innych języków.
Język C++ jest najbardziej uniwersalnym i jednym z szybszych języków, na podstawie którego tworzą się nowe języki. Jego składnia jest bardzo podobna do wielu innych języków.
Środowisko
i kompilator:
W języku C++ możemy programować zarówno w środowisku Linuxa jak i Windowsa. Jednakże, kurs będzie prowadzony dla użytkowników Windowsa ze względu na jego większą popularność.
W języku C++ możemy programować zarówno w środowisku Linuxa jak i Windowsa. Jednakże, kurs będzie prowadzony dla użytkowników Windowsa ze względu na jego większą popularność.
Pisząc program w C++ używamy znanych nam funkcji czy poleceń.
To co napiszemy nazywamy kodem źródłowym.
Kompilator ma na celu przetłumaczenie kodu źródłowego na kod wynikowy, czyli najprościej mówiąc
na polecenia, które komputer wykona. W przypadku wystąpienia błędu w kodzie,
kompilator zatrzyma się i kod źródłowy nie zostanie zinterpretowany tzn. skompilowany.
Na rynku jest dostępnych wiele kompilatorów. Na potrzeby
kursu wystarczy wam Code::Blocks, którego można pobrać za darmo z strony
producenta, instalek czy innych chomików.
Pierwszy
program w C++:
Zacznijmy –więc– naukę języka od podstaw.
Uruchom Code::Blocksa. Następnie stwórzmy nowy plik –
najszybciej kliknąć ikonkę w kształcie kartki A4 z zawiniętym prawym górnym
rogiem oraz z nałożonym plusem, a następnie wybrać Empty file (z ang. Pusty plik).
Następnie musimy
zapisać pusty plik, stosując rozszerzenie .cpp
(ikonka jednej dyskietki koło kartek lub File->Save file as) , po czym
możemy przystąpić do pisania programu.
Napiszmy następujący program
- pamiętajmy o zapisaniu po zmianie kodu źródłowego:
Wstawiam
w formie do skopiowania, jeśli ktoś jest leniwy, ale zachęcam do pisania
ręcznego (pisząc uczysz się):
#include
#include
int main()
{
std::cout<<"To jest moj pierwszy program!"; /*Niektórzy zafascynowani amerykańską kulturą zawsze piszą w cudzysłowie Hello Word! w swoim pierwszym programie */
{
std::cout<<"To jest moj pierwszy program!"; /*Niektórzy zafascynowani amerykańską kulturą zawsze piszą w cudzysłowie Hello Word! w swoim pierwszym programie */
getchar();
return 0;
}
return 0;
}
Następnie odpalmy nasz program za pomocą ikonki z zębatką i
zielonym znaczkiem play opisanej po najechaniu jako: build & run (kompiluj
i uruchom).
Wyświetli się nam czarne okno, na którym zobaczymy tylko
napis z cudzysłowiu.
Zacznę tłumaczyć, co znaczą poszczególne linijki:
#include jest to dyrektywa include (z ang.zawierać),
czyli dyrektywa dołączania plików nagłówkowym na początku będą to biblioteki,
które zawierają funkcje (dyrektywy w cpp będą oznaczane poprzedzającym tzw. hasztagiem)
W naszym programie wczytaliśmy dwie biblioteki: iostream
oraz cstdio
Biblioteka iostream to biblioteka główna pozwalająca na
użycie podstawowych funkcji, jak np. cout, a biblioteka cstdio pozwala na
użycie getchar().
std::cout<<”tu napisz co chcesz wyswietlic”;
To funkcja –jak nie trudno się domyślić – ścieżki wyjścia.
Zauważ, że każda linijka w cpp jest zakończona średnikiem. Jeśli chcemy dopisać
coś więcej możemy skorzystać z dwóch opcji:
I – dopisania do cout kolejnego przypisania << :
std::cout<<”pierwszy tekst”<<”drugi tekst”<
Dzięki temu możemy później pisać : cout<<”pierwszy tekst \n drugi tekst”;
Zauważmy, że tekst pierwszy i drugi jest w jednej linijce, a
pozostałe są w osobnym, prócz tego – dlaczego nie użyliśmy cudzysłowiu przy
endl. Otóż tak: endl (od ang. Endline) w cpp czytamy jako koniec linijki, jest
to równoznaczne z przejściem linijkę w dół, a ”\n” to znak specjalny równoznaczny
z naszym enterem tzn. To jest tak jakbyśmy napisali tekst i kliknęli enter,
dlatego możemy używać go w jednym cudzysłowie z tekstem, co zobaczymy poniżej.
II – dopisanie nowego cout:
std::cout<<”Pierwszy tekst \n”;
std::cout<<”drugi tekst”;
std::cout<<”drugi tekst”;
Zauważmy, że ciągle powtarzamy std:: - jest to operator
przypisania przestrzeni. Bardzo łatwo można to zrozumieć na zasadzie takiego
przyrównania: Idziesz sobie do biblioteki (np. iostream) w poszukiwaniu książki
(funkcji cout), std:: oznacza tyle, abyś szukał na półkach zamiast np. pod
dywanem. Aby wbić do głowy programowi, że zawsze ma szukać na półkach
korzystamy z następującej linijki, którą w każdym programie piszemy jeszcze
przed funkcją główną int main(){}:
using namespace std;
Dzięki temu możemy później pisać : cout<<”pierwszy tekst \n drugi tekst”;
Innym odpowiednikiem cout jest funkcja printf(”Tu wpisz
wyswietlany tekst, tu nie użyjemy endla a jedynie \n (czyt.nju lajn ^^)”);
Warto wiedzieć, gdy chcemy wyświetlić liczbę, możemy opuścić cudzysłowy i zrobić to tak:
cout<<5 p="">5>
Warto wiedzieć, gdy chcemy wyświetlić liczbę, możemy opuścić cudzysłowy i zrobić to tak:
cout<<5 p="">5>
Pewnie się zastanawiasz, dlaczego nie jest wyświetlona
informacja o „niektórych
zafascynowanych…” Nie miało to być nic obraźliwego ;),
chciałem jedynie pokazać jak działa komentarz. Komentarz jest to coś, czego
program nie kompiluje. Wyróżniamy dwa rodzaje komentarza: jednolinijkowy
(używamy za pomocą dwóch ukośników //tu tekst, zakaz entera) lub wielolinijkowy
(używamy tak: /* otwieram komentarz,
enter czy coś , zamykam komentarz */
Kolejnym elementem programu jest:
Kolejnym elementem programu jest:
getchar(); return 0;
Być może zuważyłeś, że po napisaniu twojego tekstu program
nie zamknął się automatycznie, a czekał na kliknięcie klawisza i wyświetlił 0.
To właśnie robi funkcja getchar(). Najlepiej zauważysz jej działanie usuwając
ją i odpalając program. Zwróć uwagę, że napisałem w jednej linijce powyżej aż
dwa średniki. Dla cpp nie istnieje linijka poleceń bez średnika, a każde
polecenie musi być w osobnej linijce.
Dobra, ale czemu niektóre rzeczy są w int mainie, a inne
poza, i co to jest właściwie ten int main(){}
int main()
{
{
}
Jest to funkcja główna, często nazywana ciałem programu.
Zawiera instrukcje, co ma program robić, czyli wszystko to, co jest między
klamrami. Poza funkcją główną zauważ, że tylko wskazujemy miejsca, skąd powinna
interpretować to, co jest między klamrami (biblioteki, przestrzeń nazw std – w por.”półki”)
itp.
Na podsumowanie jesteśmy w stanie napisać szablon, z którego
będziemy mogli napisać każdy kolejny program:
Z komentarzy nie będziemy zbyt często korzystać (umieszczamy
w nich tylko informacje dla nas np. //w tej linijce wypisuje coś), więc możemy
to zredukować do:
Zadania do lekcji:
1. Napisz trzy różne programy, których rezultat będzie wyglądał tak:
1. Napisz trzy różne programy, których rezultat będzie wyglądał tak:
2. Wyjaśnij znaczenie podanych elementów programu (prostymi swoimi słowami):
-#include
-using namespace std;
-int main(){ getchar();return 0;}
-cout<<"";
Brak komentarzy:
Prześlij komentarz