Na początku był C++... #nauka

Zaczęłam się uczyć kodowania C++ u Mirosława Zelenta na kanale YouTube Pasja Informatyki . Pan Zelent sam sugeruje, aby zacząć od C++, ponieważ naucze się podstaw i pomoże mi to ogarnąć Javę Script. Na czym mi zależy, bo chcę być dobrym koderem a nie tylko Googlerem. Bo... to trochę siara B| a mi zależy na zamodzielności w kodowaniu.

Złośliwość rzeczy martwych. Illustrator mi se zbuntował, więc nie mogę zgarnąć ścieżek <path>. Postaram się dzisiaj to zrobić.

Na facebookowym forum przeczytałam, że pan Zelent jest (cytuję) "niedouczony" i słabo wypada mu tutorial o PHP. Ale oczywiście żaden z mądrali nie podał innego lepszego. Jakie to typowe dla nerdów. Do krytyki wszyscy do pomocy zero, bo jeszcze zostana zjechani od kretyów co polecają złego nauczyciela a to dla ich nieskiego ego nie byłoby do zniesienia...

Poniżej moje pierwsze notatki z programowania w C++

Lekcja#1 - Pliki projektów, pierwszy program.

int worki, koty; // int to jest pojemnik z danymi

cout<< "Ile jest worków:"
cin>>"worki";

cout << "Podaj liczbę ile jest kotów w workach";
cin >> koty; // to co przyszło z klawiatury wrzucamy do pojemnika int koty


obliczenia w pojemniku
chcemy wywalić koty nieparzyste z worka, więc dzielimy koty przez worki

int worki, koty, x, y; // x oznacza liczbę kotów, y oznacza liczbę worków

y = koty/worki; // wynik znajduje sie teraz w RAM'ie, nazywa się to instrukcja przypisania

//załużmy, że białych kotów jest 30 i jeden czarny a wokrów 3 i nie chcemy obliczac czarnego a chcemy znać licznę kotów w jednym roku.

y = (koty-1)/worki;

cout<< "kotów w jednym worku"<<x; //pisze po ekranie zamiast x wynik


Jak dołaczyć do programu biblioteki?
#include=<nazwa_biblioteki>
(np.iostream)

iostream=bilbioteka stumieni wejścia i wyjscia

Jak pisac po ekranie
cout<<"Napis, jakiś tekst"<<endl;

int w C++ oznacza liczbę całkowitą (integralną, czyli niepodzielną)

Jak zerezerwować miejsce w pamięci RAM na liczbę całkowitą (czyli arezerwować zmienną)
int x;
gdzie int to typ danych a x to nazwa

jak wczytać liczbę z klawiatury
cin>>x;

Jak policzyc jakąś wartość i przypisać do zminnej:
x=cukierki/(uczniowie-1);
gdzie x operator przypisania

Jak pokazać zawartość zmiennej na ekranie
cout << nazwa_zmiennej;

using namespace std; = używa przestrzeni nazw "standard"

funkcja main() to tzw. funkcja główna

return 0;
kończy funkcję główną, czyli cały nasz program

Plik .CPP to plik z kodem źródłowym C++

Plik .cbp to plik projektu, zawierający listę plików wchodzący w skłąd plku cpp.

katalog bin przechowuje nasz binadrny plik .exe

Plik .LAYOUT zachowuje położenie okien środowiska IDE

Wyłaczanie i właczanie F2 lewego okna, Shift+F2 dolnego okna

Zadanie:

#include <iostream>

using namespace std;


int uczniowie, cukierki, x, y;


int main()

{
    cout << "Ile uczniow jest w klasie:";
    cin>>uczniowie;

    cout << "Ile cukierkow kupila mama:";

    cin >> cukierki;

    x = cukierki/(uczniowie - 1);

    cout<<"Cukierki na jednego ucznia:"<<x;

    y = cukierki - x * (uczniowie -1);

    cout<< endl<<"Ile cukierkow na wieczor:"<<y;

    return 0;


}






Lekcja#2 - Instrukcja warunkowa if. Decyzje w programie

Program podejmuje decyzje o podjęciu dalszego działania, cofnięciu lub przeskoczeniu dalej.
Czyli innymi słowy zabawa w "żłówie".
Albo wpuścić do systemu albo zabronić.

1. Symulator bankomatu
2. Logowanie do programu.
3. Sprawdzanie wieku podanego przez użytkownika i czy może zostać prezydentem (30 lat)

1. w zmiennej int PIN; jest pojemnik na dane wprowadzone przez użytkownika
komputer 0 nie zapisuje w pamięci, i est to pusta przestrzeń. np. 0517 to dla komputera 517.
Więc zapisujemy nie jako liczby tylko jako napis (ciąg znaków)

napisy przechowujemy w zmiennej typu string
string PIN;
string = łańcuch (łańcuch składa się z ogniw, tak napisy skłądają się z ciągu znakó)
litery to ogniwa łańcucha


if (PIN="1729")
{
cout<<"Poprawny PIN"
}
jeżeli pin wynosi 1729 to zapiszemy Poprawny PIN. Nasza zmienna 1729 jest napisem, to zapisujemy ją jako napis a nie liczbę, czyli w cudzysłowiu.

= instrukcja, operator przypisania; używamy tej instrukcji kiedy chcemy nadać jakąś wartość
== w tym przypadku nie nadajemy, tylko PORÓNUJEMY wartości. - to jest operator porównania

if(PIN!="1729")
!= oznacza "nie jest równy"
{
cout<< "Niepoprawny pin";
}

else (w przeciwnym przypadku)
{
cout<<"Niepoprawny PIN";
}

Zadanie :

#include <iostream>

using namespace std;

string PIN;

int main()
{
    cout << "Witaj w naszym banku!" << endl;
    cout << "Podaj numer PIN:";
    cin >> PIN;

    if(PIN=="1729")
    {
        cout<<"Poprawny PIN";
    }
    else
    {
        cout<<"Nieprawidlowy PIN";
    }
    return 0;
}

Ad.2: Mechanizm logowania

if ( (login=="admin")&&(haslo=="szarlotka") )

jeśli oba mają być prawdziwe if true & true -> true, to wstawiamy między nimi && - to jest spójnik logiczny "and"/"i"

&& to spójnik logiczny "and" / "i"

if ( (warunek1) && (warunek2) )

tabela prawdy
warunek 1 warunek 2 cały if
0 0 0
0 1 0
1 0 0
1 1 1

Pojedynczy & (tzw. ampersand) to operator już zarezerowwany

|| to spjnik logiczny "or" / "lub"

if ( (warunek1) || (warunek2) )

tabela prawdy
warunek1 warunek2 cały if
0 0 0
0 1 1
1 0 1
1 1 1

Zastosowanie:
Quiz
a (z CapsLock'iem A)
b
c
d
if ((odp1==a) || (odp1==A)

Co, jeśli (warunek 1)|| (warunek 2) || (warunek 3) && (warunek 4)

w C++ operator && ma pierwszeństwo nad || (tak jak np. w matematyce mnożenie ma pierwszeństwo przed dodawaniem). Stąd tak naprawdę mówię tutaj jedynie o takim warunku: if((x<=5 || x>12 || a!=7) && a>15)

if ((x<=5) || (x>12) || (a!=7) && (a>15))
zmienna x to 3,
zmienna a to 7



Zadanie:

#include <iostream> using namespace std; string login, haslo; int main() { cout << "Podaj login: "; cin >> login; cout << "Podaj haslo: "; cin >> haslo; if((login=="admin")&&(haslo=="szarlotka")) { cout << "Udalo sie zalogowac!"; } else { cout << "Nie udalo sie zalogowac"; } return 0; }




Ad.3. Sprawdzanie wieku podanego przez użytkownika

Pełnoletni? (minimum 18 lat)
Kanydat na prezydenta? (minimum 35 lat)

=> jest większy lub równy
>= jest większy równy

#include <iostream>

using namespace std;

int wiek;

int main()
{
    cout << "Ile masz lat? ";
    cin >> wiek;

    if(wiek>=18)
    {
        cout << "Jestes pelnolatni. ";
    }
    else {
        cout << "Jestes niepelnoletni. ";
    }

    if(wiek>=35)
    {
        cout << "Mozesz kandydowac na prezydenta.";
    }
    else {
        cout << "Nie mozesz kandydowac na prezydenta.";
    }
    return 0;

}

Skrócona wersja:

else if

#include <iostream>

using namespace std;

int wiek;

int main()
{
    cout << "Ile masz lat? ";
    cin >> wiek;

    if(wiek<18)
    {
        cout << "Nie jestes pelnolatni i nie możesz zostac prezydentem.";
    }

    else if ((wiek>=18) && (wiek<35))
    {
        cout << "Jestes pelnoletni i nie mozesz zostac prezydentem.";
    }

    else
    {
        cout << "Jestes pelnoletni i mozesz kandydowac na prezydenta.";
    }

    return 0;

}


Podsumowanie:if = "jeżeli"if true / falseAND && - oba waruki są spełnioneOR || chociaż jeden z warunków spełniony

Komentarze

  1. Odnośnie p. Zelenta zastrzeżenia pojawiają się także w przypadku jego twórczości n/t C++: https://4programmers.net/Forum/1226486

    Jeśli chcesz informacji gdzie uczyć się C++ (oraz gdzie tego ne robić), to polecam ten wpis: http://www.wykop.pl/wpis/9719000/cpp-naukaprogramowania-programowanie-wstep-czestot/

    OdpowiedzUsuń
    Odpowiedzi
    1. Ciekawe. Dowiedziałam się o tym niedawno na fb 'HTML5 i CSS3: pierwsze kroki', gdzie zarzucano mu błędy w lekcjach zaczynajacych się od html i dalej na php. Możliwe, że jesteś jednym z grupy, bo dyskusja trwa do dziś B|. Dzięki za linka. Z ciekawości przejrzę i zobaczę czy czegoś mnie złego nauczył pan Zelent, skoro to były tylko proste formułki z przykładami ;).

      Usuń

Prześlij komentarz

Popularne posty z tego bloga

Pętla for, while, do.. while. Pętle wyjaśnione cz.2 #c++