c++: Część VI
Witam
Przedstawię Ci dziś coś co nazywa się funkcjami.
Mając jakiś problem do rozwiązania dobrą drogą do celu jest rozłożenie tego zadania na kilka mniejszych, tutaj przydadzą się funkcje. Również w przypadku gdy musimy wywołać ten sam kod wiele razy, funckcje przychodzą nam z pomocą. Na początek zapoznaj się z następującym listingiem.
- #include <iostream>
- using namespace std;
- int dodawanie(int a,int b);
- int main()
- {
- int pierwsza,druga;
- cout << „Wprowadz dwie liczby do dodania\n”;
- cin >> pierwsza >> druga;
- cout << dodawanie(pierwsza,druga);
- return 0;
- }
- int dodawanie(int a,int b)
- {
- return a+b;
- }
W trzeciej linii widzimy deklaracje funkcji dodawanie. Przed nazwa widzimy nazwe typu, jaki zwraca ta funkcja.W tym przypadku funkcja zwróci wartość całkowitą. Mogłoby tam być double wtedy funkcja zwracałaby liczbę z przecinkiem. Wartość zwracamy przez umieszczenie zmiennej lub wyrażenia, które chcemy zwrócić obok słowa return. Main też jest funkcją i zwraca wartość całkowitoliczbową. Ogólnie przyjęło się, że jeśli program zwróci wartość 0 oznacza to poprawne działanie programu. Istnieje możliwość aby funkcja nie zwracała nic, wówczas umieszczamy zamiast typu, przed nazwą słowo void. Wówczas nie stosujemy już w ciele funkcji słowo return.(skoro ma nic nie zwracać to po co return
)Wróćmy teraz do deklaracji. W nawiasach widzimy, że funkcja przyjmuje dwa parametry całkowite. Następnie w 12. lini następuje definicja, określamy tam jak ma działać. Widzimy, że ma ona zwracać sume przesłanych do funkcji parametrów. Musisz zapamiętać różnice między deklaracją a definicją. W deklaracji zaznaczamy tylko to, że funkcja o takiej nazwie występuje w programie, jaki typ zwraca oraz ile i jakie parametry przyjmuje. W definicji zaś następuje określenie mechaniki działania funkcji. Wróćmy do funkcji main. W lini 9 wysyłamy do funkcji dodawanie dwa parametry, które wcześniej wczytaliśmy z klawiatury. Następnie wartość funkcji zostaje wyświetlona na ekranie.
Na dziś o funkcjach to chyba wszystko, pozdrawiam
C++: Część V
Chciałbym Cie dziś zaznajomić z jeszcze jedną przydatną rzeczą dotyczącą pętli.
W języku C++ istnieją słowa kluczowe, które pozwalają nam wpłynąć na działanie pętli. Są to słowa break oraz continue. Pierwsze przerywa działanie pętli, drugie zaś przechodzi odrazu na koniec bloku. Zobacz to na przykładach:
- #include <iostream>
- using namespace std;
- int main()
- {
- int a;
- cout << „od ilu odliczac\n”;
- cin >> a;
- for(;;)
- {
- cout << a << endl;
- if(a == 0)
- break;
- a = a – 1;
- }
return 0;
- }
Możesz tu zauważyć coś czego jeszcze nie widziałeś pętle nieskończoną czyli for(;;) równie dobrze mogło by to być while(1). W tym wypadku musimy zastosować słowo break; w końcu chcemy przecież żeby wykonywanie pętli kiedyś się skończyło. W momencie gdy warunek zostaje spełniony pętla zostaje przerwana.
Zmodywikujmy nieco teraz. Niech nasz program odlicza ale tylko liczby parzyste
- #include <iostream>
- using namespace std;
- int main()
- {
- int a;
- cout << „od ilu odliczac\n”;
- cin >> a;
- for(;;)
- {
- if ( a % 2 != 0)
- {
- a = a – 1;
- continue;
- }
- cout << a << endl;
- if(a == 0)
- break;
- a = a – 1;
- }
- return 0;
- }
Pojawiło nam się teraz słowo continue. Jeśli warunek zostanie spełniony czyli a % 2 bedzie różnie od 0 (ten magiczny znak % 2 oznacza resztę z dzielenia przez 2) wtedy wykona się blok tego warunku, który mówi nam, a= a – 1; continue;, a zmniejszy się o 1 co skutkuje tym, że przy następnym przejściu pętli będzie operowała na kolejnym mniejszym składniku. Słowo continue każe programowi zakonczyc aktualny przebieg i przejść do wykonywania następnego. Co skutkuje wypisaniem tylko parzystych liczb
Na dzisiaj to tyle do zobaczenia
C++: Część IV
Witam !
Dziś chciałbym zająć się rzeczą, która niezmiernie ułatwia życie w tworzeniu algorytmów, a mianowicie pętlami. Jest to badzio prosta rzecz, mimo to użyteczna. Przyjrzyj się następującemu kodowi.
-
#include <iostream>
-
using namespace std;
-
-
int main()
-
{
-
int a;
-
cout << „ile gwiazdek narysowac\n”;
-
cin >> a;
-
-
for(int i = 0; i < a; i++)
-
{
-
cout << „*”;
-
}
-
return 0;
-
}
Na początku program prosi o wpisanie pewnej liczby, tego nauczyłeś/aś się juz wcześniej
. Teraz zajmijmy się petlą. Pierwszą jaką poznasz będzie for(‘definicja zmiennej licznika’;‘warunek wywołania pętli’;instukcja wykonywana po kazdym przebiegu’). Wyjaśnijmy teraz nieco. Definicja pętli for dzieli się na trzy części oddzielone znakiem średnika”;”. W pierwszej części wpisujemy definicje naszej zmiennej „licznik”. W drugiej znajduję się warunek, jeśli jest on spełniony pętla będzie sie wykonywać, aż do momentu gdy przestanie być on prawdziwy(istnieje możliwość stworzenia pętli nieskonczonej, ale o tym poźniej). W ostatniej części wpisujemy polecenie, któro wykona się po każdym przebiegu(w tym przypadku i++ inaczej i = i+1).
Teraz zademonstuje Ci działanie pętli while.
- #include <iostream>
- using namespace std;
- int main()
- {
- int a;
- cout << „ile gwiazdek narysowac\n”;
- cin >> a;
- while(a != 0)
- {
- cout << „*”;
- a = a – 1;
- }
- return 0;
- }
Nowością jedynie jest to, że pętle for zastąpiliśmy while. W nawiasie widzimy jedynie warunek, dopóki będzie spełniony instukcję będą się wykonywać.
- #include <iostream>
- using namespace std;
- int main()
- {
- int a;
- cout << „ile gwiazdek narysowac\n”;
- cin >> a;
- do
- {
- cout << „*”;
- a = a – 1;
- }
- while(a > = 0);
- return 0;
- }
Jest to bardzo podobny program do poprzedniego z tą różnicą, że pętla do…while bez bzględu na to co wpiszemy wykona się conajmniej raz.
C++: Część III
Zajmiemy się dzisiaj instrukcjami warunkowymi.
Pierwszy program to przykład użycia instrukcji if .. else...
-
#include <iostream>
-
using namespace std;
-
int main()
-
{
-
int a;
-
cout<<”wprowadz liczbe”;
-
cin >> a;
-
if ( a > 4)
-
{
-
cout << „Wprowadziles liczbe wieksza od 4″;
-
}
-
else
-
{
-
cout << „Wprowadziles liczbe mniejsza lub rowna 4″;
-
}
-
return 0;
-
}
Przyjrzyjmy się ciekawszym elementom powyższego listingu. Na początku wprowadzamy pewną liczbę całkowitą, równie dobrze mogła by być to liczba z przecinkiem. Następnie w 10. lini sprawdzamy warunek a > 4 jeśli będzie to prawdą, czyli liczba którą wprowadziliśmy będzie większa od 4, wtedy wykona się kod z bloku po instukcji if (linijki 11.,12.,13.). Natomiast w przypadku nieprawdy program przejdzie do instrukcji else i wykona blok instrukcji następujący po nim.
Możemy również użyć instrukcji if … else … w przypadku wielokrotnego wyboru.
-
#include <iostream>
-
using namespace std;
-
-
int main()
-
{
-
int a;
-
cout<<”wprowadz liczbe”;
-
cin >> a;
-
if ( a > 4)
-
{
-
cout << „Wprowadziles liczbe wieksza od 4″;
-
}
-
else if (a == 4)
-
{
-
cout << „Wprowadziles liczbe rowna 4″;
-
}
-
else
-
{
-
cout << „Wprowadziles liczbe mniejsza od 4″;
-
}
-
cout << „Poza instukcja warunkowa”;
-
return 0;
-
}
Nowością jaką wprowadziłem w tym kodzie jest linia 13. , w której widnieją słowa else if ( a == 4)… kod następujący po tym zostanie wykonany gdy pierwszy warunek nie zostanie spełniony. Jeśli zaś i ten warunek nie zostanie spełniony, program przejdzie do intrukcji else. 21. linijka kodu wykona się zawsze, niezależnie od warunków, gdyż umieszczona jest poza blokami instukcji warunkowych.
Istnieje jeszcze jeden sposób tworzenia instukcji wielokrotnego wyboru, mianowicie switch … case.
-
#include <iostream>
-
using namespace std;
-
-
int main()
-
{
-
int a;
-
-
cout<<”wprowadz liczbe 1, 2 lub 3\n”;
-
cin >> a;
-
-
switch (a)
-
{
-
case 1:
-
cout << „Wpisales 1\n”;
-
case 2:
-
cout << „Wpisales 2\n”;
-
case 3:
-
cout << „Wpisales 3\n”;
-
default:
-
cout << „Wpisales inna liczba!!\n”;
-
}
-
return 0;
-
}
Wpiszmy teraz jakąś liczbe :
wprowadz liczbe 1, 2 lub 3
1
Wpisales 1
Wpisales 2
Wpisales 3
Wpisales inna liczba!!
Aby kontynuować, naciśnij dowolny klawisz . . .
Na początku może wydawać się nam, że w nasz program wkradł się błąd, jednak wszystko działa poprawnie, sprawdź na innych liczbach. Instrukcja przechodzi do odpowiedniego bloku case jednak pozniej wykonuje wszystkie po kolei. Czasem jest to porządane zjawisko, jednak nie w naszym przypadku
Zmodyfikujmy to troche stosując instrukcje break w następujący sposób.
-
#include <iostream>
-
using namespace std;
-
-
int main()
-
{
-
int a;
-
-
cout<<”wprowadz liczbe 1, 2 lub 3\n”;
-
cin >> a;
-
-
switch (a)
-
{
-
case 1:
-
cout << „Wpisales 1\n”;
-
break;
-
case 2:
-
cout << „Wpisales 2\n”;
-
break;
-
case 3:
-
cout << „Wpisales 3\n”;
-
break;
-
default:
-
cout << „Wpisales inna liczba!!\n”;
-
}
-
return 0;
- }
Teraz wszystko powinno się wykonać po naszej myśli . To tyle na dziś
C++: Część II
Witam!
Dzisiaj zajmiemy się wczytywaniem danych z klawiatury oraz przechowywaniem ich w zmiennych.
Na początek przyjrzyj sie następującemu listingowi
-
#include <iostream>
-
using namespace std;
-
int main()
-
{
-
int wiek;
-
cout << „Podaj swoj wiek\n”;
-
cin >> wiek;
-
cout << „A wiec masz ” << wiek << „lat”;
-
return 0;
-
}
Widzimy w 6 linijce zmienną wiek typu int(integer), czyli definiujemy ją jako zmienną przechowującą zmienne całkowite z zakresu o −2 147 483 648 — +2 147 483 647. Istnieje również wiele innych typów jak double do przechowywania liczb z przecinkiem. Jeśli potrzebujemy przechować mniejsze liczby zastosujmy zmienną typu short. Może zaistnieć też sytuacja, gdy do przechowania będziemy mieli liczbę dodatnią, wtedy do definicji zmiennej dodamy słowo unsigned (np. unsigned int wiek).
Następnie w 9 lini poleceniem cin >> wiek pobieramy z klawiatury wpisaną liczbę i zapisujemy ją do zmiennej wiek. W kolejnej linijce wypisujemy tą zmienną na ekranie.
Ciekawym typem jest typ logiczny bool, ktory może przyjmować wartośc false (0) lub true (1). Bliżej zapoznamy się z nim przy omawianiu instrukcji warunkowych.
Możemy zadeklarować również stałe słowem const, czyli liczby które będziemy wykorzystywać w programie, ale nie możemy zmienić ich wartości np. const double pi = 3.14;.
C++: Część I
Witam w pierwszej części kursu, dzisiaj rozpoczniemy prawdziwą naukę.
Na początku zobaczmy jak wygląda, wydaję mi się, że najprostszy program napisany w języku C++. Nie załamuj się jeśli niewiele z tego zrozumiesz, za chwilę wszystko dokładnie omówimy.
-
#include <iostream>
- int main()
- {
- std::cout << „Hallo World”;
- return 0;
- }
App 1
Program powinien wyświetlić komunikat
Hallo World
Jeśli próbujesz kompilować ten kod, istnieje też możliwość, że program otworzy się i po chwili zamknie, bardzo szybko. W tym przypadku do pierwszej instrukcji #include wstaw linijke
a następnie przed return 0; wstaw
Teraz po wyświetleniu napisu program zatrzyma się czekając na naciśniecie jakiegoś klawisza, wtedy zakończy swoją prace. Nie będę umieszczał tego w moich listingach.
Omówmy teraz każdy z elementów twojej pierwszej aplikacji
Pierwsza linijka w której jest #include <iostream> informuje preprocesor(o nim w innej części tego kursu) o tym, że w czasie kompilacji kodu ma do niego dołączyć bibliotekę iostream, w której zawartych jest wiele przydatnych, a wręcz niezbędnych funkcji takich jak cin, cout ale o tym później.
Kolejną linijką jest int main() jest to definicja funkcji(o funkcjach dowiesz się więcej później) main która jest ciałem naszego programu. Właśnie wewnątrz tej funkcji będziemy wpisywać to co chcielibyśmy aby nasz program robił.
W linijkach 3 oraz 7 mamy znaczniki otwarcia i zamknięcia funkcji int main.
Czwarta linijka czyli std::cout << „Hallo World”; informuje komputer, że ma wyświetlić to co wstawimy pomiędzy cudzysłów.
W szóstej linji znajduje się komenda return 0; na razie mogę ci tylko powiedzieć, że jest to wartość ktorą zwraca funkcja, w tym przypadku funkcja main zwraca wartość 0 czyli jest to znak, że wykonała się poprawnie. Więcej dowiesz się w części poświęconej funkcjom.
#include <iostream> int main() { std::cout << „Mamy rok 2010 „; std::cout << „jest 27 dzien „; std::cout << „listopada „; std::cout << „Godzina 17:51″; return 0; }App2
Wynikiem działania powinno byc:
Mamy rok 2010 jest 27 dzien listopada godzina 17:51.
Pomyślisz pewnie jak to skoro wpisaliśmy to wszystko w oddzielnych liniach, chcielibyśmy aby tak też było wyświetlone, aby tak było należało by na końcu każdego z tekstów dopisać \n
wtedy wszytko wyglądało by tak:
#include <iostream> int main() { std::cout << „Mamy rok 2010\n”; std::cout << „jest 27 dzien\n”; std::cout << „listopada\n”; std::cout << „Godzina 17:51\n”; return 0; } App3A wyświetla on
Mamy rok 2010
jest 27 dzien
listopada
godzina 17:51.
Czyli tak jakbyśmy tego chcieli
Teraz chciałbym żebyś zobaczył jak można zaoszczędzić sobie pracy i nie wpisywać tyle razy komendy std::cout
}
App4
Realizując ten kod zadziała on identycznie jak program wyżej, a pisania zdecydowanie mniej
Na tym chciałbym zakończyć nasze dzisiejszy spotkanie, do zobaczenia wkrótce.
C++: Zaczynamy :)
Witam wszystkich. Jeśli to czytasz, oznacza to,że masz chęć nauczyć się programować, temu właśnie poświęcę ten kurs.
Wybrałem język C++ bo wydaję mi się,że jest on w tej chwili najbardziej rozpowszechniony i dobrze przyswajalny oraz pozwala na późniejszą łatwą adaptację np. w języku C#.
Kurs skierowany jest przede wszystkim do ludzi pragnących zacząć swoją przygodę z programowaniem, aczkolwiek myślę,że osoby znające już podstawy również znajdą tu coś dla siebie. Ze swojej strony życzę wszystkim powodzenia w tworzeniu nowych programów
Zajmijmy się może teraz trochę o konwencji jaką przyjąłem w tym kursie
Wszystkie Listingi programów będę przedstawiał w ten sposób
#include <iostream> int main()Natomiast rzeczy ważne, które powinieneś zapamiętać:
Bardzo ważne
To by było na tyle, zajmijmy się teraz kompilatorem. Ze swojej strony mogę ci polecić darmową wersję kompilatora Microsoft Visual Studio C++ Express, moim zdaniem do celów edukacyjnych oraz dla początkującego programisty w zupełności wystarcza. Możesz wybrać również program Dev C++ również bardzo dobry kompilator przez wielu chwalony przez jego prostotę. Wybór należy do Ciebie. Oba spełnią znakomicie swoją role.
To by było chyba wszystko jako wstęp. Z góry przepraszam za wszystkie błędy i niedociągnięcia. Jeśli miałbyś jakieś sugestie lub po prostu znajdziesz błąd napisz do nas
Mam nadzieję, że niedługo zobaczymy się ponownie w kolejnej części tego kursu.
Search
Strony
Najnowsze wpisy
Archiwa
- Postów 7
- Komentarzy 1


