Informácie pre skupinu začiatočníkov

Informácie

Bonusové materiály

Bonusové materiály pre tých čo si chcú pozrieť niečo podrobnejšie ako sa stíha na prednáškach.

  • Priorita operátorov. Nezabúdajte, že nie všetci majú túto tabuľku naštudovanú. Navyše, zátvorky zvyknú často sprehľadňovať kód.
  • Prehľad operátorov. (Pre začiatok sa hodia hlavne "všetky okrem Bitwise a Misc".)

Zhrnutie dní

9.7.2018

  • Základy C++ (viď ťahák). for, while, break, continue, if, else, premenné, scanf, printf, komentáre
  • Vytvorenie projektu v CodeBlocks: File/New/Project..., treba vybrať Console application a zvoliť názov projektu a cestu (napríklad Desktop).
  • Inštalácia CodeBlocks na Windows u seba doma: stiahni codeblocks-17.12mingw-setup.exe z webu.
  • Udržiavajte prehľadný kód. Ak je príliš neprehľadný, použite Plugins/Source code formatter.
  • Možné technické problémy:
    • Ak sa v CB nezobrazuje lišta zobrazujúca chyby, zapni View/logs (F2)
    • Ak sa v CB nezobrazuje bočný panel zobrazujúci štruktúru projektu, zapni View/manager (Shif+F2)
    • Ak CB píše že súbor neexistuje, skontroluj či pri vytváraní projektu nastavuješ priečinok kam sa má uložiť.
  • Netechnické problémy:
    • Nezabúdať oddeľovať parametre funkcií čiarkami.
    • Segmentation fault: Pristupuješ niekam kam nemáš. Skontroluj či v scanf používaš &. Skontroluj či nepristupuješ mimo poľa. Skontroluj či niekde nie je navyše &.
    • "Ale mne ten sample fungujééééé.": Skontroluj či dávaš nové riadky tam kam máš, prípadne či nemáš niekde medzeru navyše.
    • Na konci formátovacieho reťazca pre scanf sa \n nepíše.
    • Pri písaní cyklu po guľatých zátvorkách nepíšte bodkočiarku! Cyklus bude vykonávať nič.

#include <cstdio> using namespace std; int main() { int vek = 23; printf("Kolko mas rokov?\n"); scanf("%d", &vek); printf("Mám %d rokov.\n",vek); int piva = vek + 10; if (vek < 18) { printf("%s\n", "Nemozes pit alkohol"); } else { printf("%s\n", "Mozes pit alkohol"); printf("Vypil si piv: %d\n", piva); } return 0; }

Ukážky cyklov

Nasledujúci for cyklus a while cyklus sú ekvivalentné: int i; for (i=0; i<n; i++){ printf("Iterácia %d.\n", i); } int i=0; while(i<n){ printf("Iterácia %d.\n", i); i++; } Ak plánuješ i používať len vnútri for, môžeš túto premennú deklarovať priamo vnútri takto: for (int i=0; i<n; i++){ printf("Iterácia %d.\n", i); }

10.7.2018

#include <iostream> using namespace std; int sucet(int a, int b) { int vysledok = a + b; printf("%d + %d = %d\n", a, b, vysledok); return vysledok; } //nasledujuca funkcia nevrati nic, ale vypisuje cislo void vypis_cislo(int cislo) { printf("%d", cislo); } int main() { int a, b; scanf("%d %d", &a, &b); int vys = sucet(a, b); printf("Funkcia vratila %d\n", vys); return 0; }
if (x > 47) { printf("Cislo vacsie ako 47\n"); } else if (x > 42) { printf("Cislo vacsie ako 47 ale mensie alebo rovne ako 47\n"); } else if (x >= 0) { printf("Cislo kladne ale mensie alebo rovne ako 42\n"); } else { printf("Cislo zaporne\n"); }

11. 7. 2018

Ďalšie úlohy pre makáčov.

  • Hranie sa s cyklami: U1, U2, U3, U4, U5, U6, U7
  • Triedenie 1-5. (Na tie čo v názve majú utrieď možno budete potrebovať prednášku, ostatné sú viac-menej prípravné..)
  • Môžete skúsiť prefixové súčty.
  • Ako rozbehať Atom

    Ak ti v škole nefunguje CodeBlocks, môžeš skúsiť použiť textový editor Atom.
  • Ak si to chceš rozbehať doma a používaš Fedoru, Debian, Ubuntu, Mint (alebo nebodaj fuj Windows), choď priamo na stránku Atomu, nájdeš tam pre seba tlačidlo na stiahnutie inštalátora.
  • Ak používaš iný Linux alebo si chceš program uložiť k sebe namiesto inštalovania alebo si na MatFyze, otvor stránku. Stiahni si atom-amd64.tar.gz. Rozbaľ archív niekde kde máš prístup a spusti atom.
  • Ak chceš vedieť priamo v Atome spúšťať C++, a chceš aby sa ti v kóde zvýrazňovali chyby, pokračuj v inštrukciách ďalej.
  • Potrebuješ nejaké základné nástroje na kompilovanie ako gcc alebo možno make
  • , pod debianoidnými distribúciami napríklad pomôže apt install build-essential. V škole už toto je.
  • V atome otvor nastavenia. (edit>preferences)
  • Choď na kartu Install Vyhľadaj a nainštaluj (ak už nie je) gcc-make-run, linter, linter-gcc, linter-ui-default, intentions, platformio-ide-terminal. Na niektoré sa to spýta samé či chceme inštalovať. Môžeš dať že áno a skontrolovať či sa to naozaj nainštalovalo.
  • 16. 7. 2018

    • Tí čo ste tu prvý krát si môžete pozrieť predošlé dni. Sú tam napríklad často robené chyby, návod na fixnutie niektorých problémov s CodeBlocks a návod na inštaláciu Atomu v prípade že CodeBlocks vám veľmi vadí (alebo často padá).

    • Ukážka kalkulačky z prednášky.

    #include <iostream> using namespace std; int main() { printf("Co chces robit?\n"); int odpoved; scanf("%d", &odpoved); int a, b; scanf("%d %d", &a, &b); int vysledok; if (odpoved == 1) { vysledok = a + b; printf("%d + %d = %d\n", a, b, vysledok); } if (odpoved == 2) { vysledok = a - b; printf("%d - %d = %d\n", a, b, vysledok); } return 0; }

    Čas poslednej úpravy: 16. júl 2018 13:26