{"id":1081,"date":"2026-02-20T09:43:11","date_gmt":"2026-02-20T08:43:11","guid":{"rendered":"https:\/\/trzykody.pl\/?p=1081"},"modified":"2026-02-20T09:43:12","modified_gmt":"2026-02-20T08:43:12","slug":"jak-zaczac-programowanie-sens-uczenia-sie-podstaw-algorytmiki-i-myslenia-proceduralnego-na-poczatku-nauki","status":"publish","type":"post","link":"https:\/\/trzykody.pl\/index.php\/2026\/02\/20\/jak-zaczac-programowanie-sens-uczenia-sie-podstaw-algorytmiki-i-myslenia-proceduralnego-na-poczatku-nauki\/","title":{"rendered":"Jak zacz\u0105\u0107 programowanie \u2013 sens uczenia si\u0119 podstaw algorytmiki i my\u015blenia proceduralnego na pocz\u0105tku nauki"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Programowanie jako umiej\u0119tno\u015b\u0107 techniczna polega na precyzyjnym opisywaniu procedur, kt\u00f3re maj\u0105 zosta\u0107 wykonane przez maszyn\u0119. W praktyce oznacza to t\u0142umaczenie problem\u00f3w z rzeczywisto\u015bci na operacje na danych i sekwencje krok\u00f3w, kt\u00f3re da si\u0119 jednoznacznie wykona\u0107. Zagadnienie ma zastosowanie w in\u017cynierii oprogramowania, analizie danych, automatyzacji, systemach wbudowanych i wielu innych obszarach. \u201e<strong>Jak zacz\u0105\u0107 programowanie<\/strong>\u201d w sensie technicznym oznacza zbudowanie podstaw: rozumienia algorytm\u00f3w, struktur danych, modelu dzia\u0142ania komputera oraz nabycie nawyku zapisu my\u015bli w postaci formalnych instrukcji.<\/p>\n\n\n\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>Spis Tre\u015bci<\/h2><nav><ol><li class=\"\"><a href=\"#jak-zaczac-programowanie-wybor-jezyka-i-zrozumienie-modelu-dzialania-programu-w-pamieci\">Jak zacz\u0105\u0107 programowanie \u2013 wyb\u00f3r j\u0119zyka i zrozumienie modelu dzia\u0142ania programu w pami\u0119ci<\/a><\/li><li class=\"\"><a href=\"#jak-zaczac-programowanie-rola-struktur-danych-i-prostych-narzedzi-matematycznych-w-rozwiazywaniu-problemow\">Jak zacz\u0105\u0107 programowanie \u2013 rola struktur danych i prostych narz\u0119dzi matematycznych w rozwi\u0105zywaniu problem\u00f3w<\/a><ol><li class=\"\"><a href=\"#krotkie-uwagi-praktyczne-pulapki-czeste-bledy-na-co-uwazac\">Jak zacz\u0105\u0107 programowanie: Kr\u00f3tkie uwagi praktyczne (pu\u0142apki, cz\u0119ste b\u0142\u0119dy, na co uwa\u017ca\u0107)<\/a><\/li><\/ol><\/li><\/ol><\/nav><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Podstaw\u0105 programowania nie jest j\u0119zyk, tylko spos\u00f3b rozk\u0142adania problem\u00f3w na mniejsze, jednoznaczne kroki. Algorytm to sko\u0144czony, jednoznaczny opis procedury prowadz\u0105cej od danych wej\u015bciowych do wyniku. Kluczowe cechy algorytmu: okre\u015blono\u015b\u0107 (brak niejednoznaczno\u015bci), sko\u0144czono\u015b\u0107 (zatrzymuje si\u0119), poprawno\u015b\u0107 (daje w\u0142a\u015bciwy wynik dla poprawnych danych), wykonalno\u015b\u0107 (ka\u017cdy krok da si\u0119 zrealizowa\u0107 na maszynie).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">My\u015blenie proceduralne polega na widzeniu procesu jako sekwencji operacji, cz\u0119sto z warunkami i powt\u00f3rzeniami. Bez tego nawet prosty j\u0119zyk programowania staje si\u0119 zbiorem niezrozumia\u0142ych symboli. Przyk\u0142ad: obliczenie sumy liczb od 1 do n. Na poziomie algorytmu to: ustaw sum\u0119 na 0, dla i od 1 do n dodaj i do sumy, wypisz sum\u0119. Ten sam schemat realizuje si\u0119 w r\u00f3\u017cnych j\u0119zykach prawie identycznie.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typowe b\u0142\u0119dy na tym etapie: mieszanie celu z implementacj\u0105 (pisanie kodu bez jasnej specyfikacji, co ma robi\u0107), pomijanie przypadk\u00f3w brzegowych (n = 0, dane puste), mylenie poj\u0119\u0107 algorytmu i programu (algorytm to opis idei, program to konkretna realizacja w j\u0119zyku).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Przyk\u0142ad \/ wz\u00f3r<\/th><th>C<\/th><th>C++<\/th><th>Python<\/th><\/tr><\/thead><tbody><tr><td>Algorytm sumy 1..n<\/td><td><code>c\\n#include &lt;stdio.h&gt;\\nint main(){\\n int n, i, s = 0;\\n scanf(\\\"%d\\\", &amp;n);\\n for(i = 1; i &lt;= n; i++) s += i;\\n printf(\\\"%d\\\", s);\\n return 0;\\n}\\n<\/code><\/td><td><code>cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main(){\\n int n, s = 0;\\n cin &gt;&gt; n;\\n for(int i = 1; i &lt;= n; i++) s += i;\\n cout &lt;&lt; s;\\n}\\n<\/code><\/td><td><code>python\\nn = int(input())\\ns = 0\\nfor i in range(1, n+1):\\n s += i\\nprint(s)\\n<\/code><\/td><\/tr><tr><td>Posta\u0107 wzoru matematycznego<\/td><td><\/td><td><\/td><td><math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><msubsup><mo>\u2211<\/mo><mrow><mi>i<\/mi><mo>=<\/mo><mn>1<\/mn><\/mrow><mi>n<\/mi><\/msubsup><mi>i<\/mi><mo>=<\/mo><mfrac><mrow><mi>n<\/mi><mo stretchy=\"false\">(<\/mo><mi>n<\/mi><mo>+<\/mo><mn>1<\/mn><mo stretchy=\"false\">)<\/mo><\/mrow><mn>2<\/mn><\/mfrac><\/mrow><annotation encoding=\"application\/x-tex\">\\sum_{i=1}^{n} i = \\frac{n(n+1)}{2}<\/annotation><\/semantics><\/math>\u2211i=1n\u200bi=2n(n+1)\u200b<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jak-zaczac-programowanie-wybor-jezyka-i-zrozumienie-modelu-dzialania-programu-w-pamieci\">Jak zacz\u0105\u0107 programowanie \u2013 wyb\u00f3r j\u0119zyka i zrozumienie modelu dzia\u0142ania programu w pami\u0119ci<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wyb\u00f3r pierwszego j\u0119zyka ma znaczenie drugorz\u0119dne w por\u00f3wnaniu z rozumieniem modelu wykonania programu: co to jest zmienna, gdzie le\u017c\u0105 dane, czym r\u00f3\u017cni si\u0119 instrukcja od wyra\u017cenia, jak dzia\u0142a sterowanie przep\u0142ywem. J\u0119zyki proceduralne (C, C++) dobrze pokazuj\u0105, \u017ce program to sekwencja instrukcji operuj\u0105cych na pami\u0119ci. J\u0119zyki wy\u017cszego poziomu (Python) upraszczaj\u0105 sk\u0142adni\u0119, ale nie zmieniaj\u0105 logiki.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zmienna to nazwa powi\u0105zana z obszarem pami\u0119ci przechowuj\u0105cym warto\u015b\u0107 okre\u015blonego typu. Instrukcja przypisania zmienia stan programu. Warunki (<code>if<\/code>) i p\u0119tle (<code>for<\/code>, <code>while<\/code>) steruj\u0105 wykonaniem. Funkcja to wydzielony fragment kodu, kt\u00f3ry przyjmuje dane i zwraca wynik. Bez rozumienia tego modelu trudno analizowa\u0107 b\u0142\u0119dy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cz\u0119sty problem pocz\u0105tkuj\u0105cych to nie\u015bwiadome nadpisywanie danych, b\u0142\u0119dy zakres\u00f3w (np. indeksy tablic poza zakresem) oraz niezrozumienie r\u00f3\u017cnicy mi\u0119dzy kopi\u0105 warto\u015bci a odwo\u0142aniem do tego samego obiektu (widoczne szczeg\u00f3lnie w Pythonie przy listach).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Przyk\u0142ad \/ wz\u00f3r<\/th><th>C<\/th><th>C++<\/th><th>Python<\/th><\/tr><\/thead><tbody><tr><td>Prosta funkcja sumuj\u0105ca dwie liczby<\/td><td><code>c\\n#include &lt;stdio.h&gt;\\nint add(int a, int b){\\n return a + b;\\n}\\nint main(){\\n int x = 2, y = 3;\\n printf(\\\"%d\\\", add(x, y));\\n return 0;\\n}\\n<\/code><\/td><td><code>cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint add(int a, int b){\\n return a + b;\\n}\\nint main(){\\n int x = 2, y = 3;\\n cout &lt;&lt; add(x, y);\\n}\\n<\/code><\/td><td><code>python\\ndef add(a, b):\\n return a + b\\n\\nx = 2\\ny = 3\\nprint(add(x, y))\\n<\/code><\/td><\/tr><tr><td>Przyk\u0142ad p\u0119tli z warunkiem<\/td><td><code>c\\nint i = 0;\\nwhile(i &lt; 5){\\n i++;\\n}\\n<\/code><\/td><td><code>cpp\\nint i = 0;\\nwhile(i &lt; 5){\\n i++;\\n}\\n<\/code><\/td><td><code>python\\ni = 0\\nwhile i &lt; 5:\\n i += 1\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"jak-zaczac-programowanie-rola-struktur-danych-i-prostych-narzedzi-matematycznych-w-rozwiazywaniu-problemow\">Jak zacz\u0105\u0107 programowanie \u2013 rola struktur danych i prostych narz\u0119dzi matematycznych w rozwi\u0105zywaniu problem\u00f3w<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Struktury danych to spos\u00f3b organizacji informacji w pami\u0119ci. Tablica przechowuje elementy jednego typu pod kolejnymi indeksami. Lista dynamiczna umo\u017cliwia zmiany rozmiaru. Stos i kolejka narzucaj\u0105 okre\u015blony porz\u0105dek dost\u0119pu (LIFO, FIFO). Nawet proste zadania staj\u0105 si\u0119 nieefektywne bez \u015bwiadomego wyboru struktury.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zale\u017cno\u015b\u0107 mi\u0119dzy algorytmem a struktur\u0105 danych jest bezpo\u015brednia. Przeszukiwanie liniowe w tablicy ma z\u0142o\u017cono\u015b\u0107 O(n), wyszukiwanie binarne w posortowanej tablicy O(log n). Zrozumienie notacji O-notation pozwala przewidywa\u0107 zachowanie programu dla du\u017cych danych.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Elementarne narz\u0119dzia matematyczne: arytmetyka modularna (reszty z dzielenia), w\u0142asno\u015bci logarytm\u00f3w, podstawy kombinatoryki. Bez tego trudno poprawnie zapisa\u0107 warunki p\u0119tli, liczniki iteracji czy oszacowa\u0107 liczb\u0119 operacji.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Typowe pu\u0142apki: mylenie indeks\u00f3w (zaczynanie od 1 zamiast 0), nieprawid\u0142owe warunki zako\u0144czenia p\u0119tli, nieuwzgl\u0119dnianie pustych struktur, b\u0142\u0119dne za\u0142o\u017cenia o posortowaniu danych.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Przyk\u0142ad \/ wz\u00f3r<\/th><th>C<\/th><th>C++<\/th><th>Python<\/th><\/tr><\/thead><tbody><tr><td>Przeszukiwanie liniowe w tablicy<\/td><td><code>c\\n#include &lt;stdio.h&gt;\\nint find(int a[], int n, int x){\\n int i;\\n for(i = 0; i &lt; n; i++){\\n if(a[i] == x) return i;\\n }\\n return -1;\\n}\\n<\/code><\/td><td><code>cpp\\n#include &lt;vector&gt;\\nint find(const std::vector&lt;int&gt;&amp; a, int x){\\n for(int i = 0; i &lt; (int)a.size(); i++){\\n if(a[i] == x) return i;\\n }\\n return -1;\\n}\\n<\/code><\/td><td><code>python\\ndef find(a, x):\\n for i in range(len(a)):\\n if a[i] == x:\\n return i\\n return -1\\n<\/code><\/td><\/tr><tr><td>Z\u0142o\u017cono\u015b\u0107 czasowa<\/td><td><\/td><td><\/td><td>O(n), O(log n)<\/td><\/tr><tr><td>Przyk\u0142ad modulo<\/td><td><code>c\\nint r = 7 % 3;<\/code><\/td><td><code>cpp\\nint r = 7 % 3;<\/code><\/td><td><code>python\\nr = 7 % 3\\n<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"krotkie-uwagi-praktyczne-pulapki-czeste-bledy-na-co-uwazac\">Jak zacz\u0105\u0107 programowanie: Kr\u00f3tkie uwagi praktyczne (pu\u0142apki, cz\u0119ste b\u0142\u0119dy, na co uwa\u017ca\u0107)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pisanie kodu bez rozpisania algorytmu prowadzi do chaotycznych poprawek i trudnych do znalezienia b\u0142\u0119d\u00f3w.<\/li>\n\n\n\n<li>Brak test\u00f3w na danych skrajnych (puste wej\u015bcie, minimalne i maksymalne warto\u015bci) cz\u0119sto ukrywa b\u0142\u0119dy logiczne.<\/li>\n\n\n\n<li>Nadu\u017cywanie z\u0142o\u017conych konstrukcji j\u0119zykowych na pocz\u0105tku utrudnia rozumienie w\u0142asnego kodu.<\/li>\n\n\n\n<li>Ignorowanie komunikat\u00f3w kompilatora lub interpretera op\u00f3\u017ania nauk\u0119 poprawnych nawyk\u00f3w.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pierwsze etapy nauki maj\u0105 sens tylko wtedy, gdy skupienie pozostaje na mechanice dzia\u0142ania programu i relacji mi\u0119dzy algorytmem, danymi i wykonaniem na maszynie. J\u0119zyk jest narz\u0119dziem zapisu tych zale\u017cno\u015bci, nie celem samym w sobie.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programowanie jako umiej\u0119tno\u015b\u0107 techniczna polega na precyzyjnym opisywaniu procedur, kt\u00f3re maj\u0105 zosta\u0107 wykonane przez maszyn\u0119. W praktyce oznacza to t\u0142umaczenie problem\u00f3w z rzeczywisto\u015bci na operacje na danych i sekwencje krok\u00f3w, kt\u00f3re da si\u0119 jednoznacznie wykona\u0107. Zagadnienie ma zastosowanie w in\u017cynierii oprogramowania, analizie danych, automatyzacji, systemach wbudowanych i wielu innych obszarach. \u201eJak zacz\u0105\u0107 programowanie\u201d w sensie technicznym oznacza zbudowanie podstaw: rozumienia algorytm\u00f3w, struktur danych, modelu dzia\u0142ania komputera oraz nabycie nawyku zapisu my\u015bli w postaci formalnych instrukcji. Podstaw\u0105 programowania nie jest j\u0119zyk, tylko spos\u00f3b rozk\u0142adania problem\u00f3w na mniejsze, jednoznaczne kroki. Algorytm to sko\u0144czony, jednoznaczny opis procedury prowadz\u0105cej od danych wej\u015bciowych do wyniku. Kluczowe cechy algorytmu: okre\u015blono\u015b\u0107 (brak niejednoznaczno\u015bci), sko\u0144czono\u015b\u0107 (zatrzymuje si\u0119), poprawno\u015b\u0107 (daje w\u0142a\u015bciwy wynik dla poprawnych danych), wykonalno\u015b\u0107 (ka\u017cdy krok da si\u0119 zrealizowa\u0107 na maszynie). My\u015blenie proceduralne polega na widzeniu procesu jako sekwencji operacji, cz\u0119sto z warunkami i powt\u00f3rzeniami. Bez tego nawet prosty j\u0119zyk programowania staje si\u0119 zbiorem niezrozumia\u0142ych symboli. Przyk\u0142ad: obliczenie sumy liczb od 1 do n. Na poziomie algorytmu to: ustaw sum\u0119 na 0, dla i od 1 do n dodaj i do sumy, wypisz sum\u0119. Ten sam schemat realizuje si\u0119 w r\u00f3\u017cnych j\u0119zykach prawie identycznie. Typowe b\u0142\u0119dy na tym etapie: mieszanie celu z implementacj\u0105 (pisanie kodu bez jasnej specyfikacji, co ma robi\u0107), pomijanie przypadk\u00f3w brzegowych (n = 0, dane puste), mylenie poj\u0119\u0107 algorytmu i programu (algorytm to opis idei, program to konkretna realizacja w j\u0119zyku). Przyk\u0142ad \/ wz\u00f3r C C++ Python Algorytm sumy 1..n c\\n#include &lt;stdio.h&gt;\\nint main(){\\n int n, i, s = 0;\\n scanf(\\&#8221;%d\\&#8221;, &amp;n);\\n for(i = 1; i &lt;= n; i++) s += i;\\n printf(\\&#8221;%d\\&#8221;, s);\\n return 0;\\n}\\n cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint main(){\\n int n, s = 0;\\n cin &gt;&gt; n;\\n for(int i = 1; i &lt;= n; i++) s += i;\\n cout &lt;&lt; s;\\n}\\n python\\nn = int(input())\\ns = 0\\nfor i in range(1, n+1):\\n s += i\\nprint(s)\\n Posta\u0107 wzoru matematycznego \u2211i=1ni=n(n+1)2\\sum_{i=1}^{n} i = \\frac{n(n+1)}{2}\u2211i=1n\u200bi=2n(n+1)\u200b Jak zacz\u0105\u0107 programowanie \u2013 wyb\u00f3r j\u0119zyka i zrozumienie modelu dzia\u0142ania programu w pami\u0119ci Wyb\u00f3r pierwszego j\u0119zyka ma znaczenie drugorz\u0119dne w por\u00f3wnaniu z rozumieniem modelu wykonania programu: co to jest zmienna, gdzie le\u017c\u0105 dane, czym r\u00f3\u017cni si\u0119 instrukcja od wyra\u017cenia, jak dzia\u0142a sterowanie przep\u0142ywem. J\u0119zyki proceduralne (C, C++) dobrze pokazuj\u0105, \u017ce program to sekwencja instrukcji operuj\u0105cych na pami\u0119ci. J\u0119zyki wy\u017cszego poziomu (Python) upraszczaj\u0105 sk\u0142adni\u0119, ale nie zmieniaj\u0105 logiki. Zmienna to nazwa powi\u0105zana z obszarem pami\u0119ci przechowuj\u0105cym warto\u015b\u0107 okre\u015blonego typu. Instrukcja przypisania zmienia stan programu. Warunki (if) i p\u0119tle (for, while) steruj\u0105 wykonaniem. Funkcja to wydzielony fragment kodu, kt\u00f3ry przyjmuje dane i zwraca wynik. Bez rozumienia tego modelu trudno analizowa\u0107 b\u0142\u0119dy. Cz\u0119sty problem pocz\u0105tkuj\u0105cych to nie\u015bwiadome nadpisywanie danych, b\u0142\u0119dy zakres\u00f3w (np. indeksy tablic poza zakresem) oraz niezrozumienie r\u00f3\u017cnicy mi\u0119dzy kopi\u0105 warto\u015bci a odwo\u0142aniem do tego samego obiektu (widoczne szczeg\u00f3lnie w Pythonie przy listach). Przyk\u0142ad \/ wz\u00f3r C C++ Python Prosta funkcja sumuj\u0105ca dwie liczby c\\n#include &lt;stdio.h&gt;\\nint add(int a, int b){\\n return a + b;\\n}\\nint main(){\\n int x = 2, y = 3;\\n printf(\\&#8221;%d\\&#8221;, add(x, y));\\n return 0;\\n}\\n cpp\\n#include &lt;iostream&gt;\\nusing namespace std;\\nint add(int a, int b){\\n return a + b;\\n}\\nint main(){\\n int x = 2, y = 3;\\n cout &lt;&lt; add(x, y);\\n}\\n python\\ndef add(a, b):\\n return a + b\\n\\nx = 2\\ny = 3\\nprint(add(x, y))\\n Przyk\u0142ad p\u0119tli z warunkiem c\\nint i = 0;\\nwhile(i &lt; 5){\\n i++;\\n}\\n cpp\\nint i = 0;\\nwhile(i &lt; 5){\\n i++;\\n}\\n python\\ni = 0\\nwhile i &lt; 5:\\n i += 1\\n Jak zacz\u0105\u0107 programowanie \u2013 rola struktur danych i prostych narz\u0119dzi matematycznych w rozwi\u0105zywaniu problem\u00f3w Struktury danych to spos\u00f3b organizacji informacji w pami\u0119ci. Tablica przechowuje elementy jednego typu pod kolejnymi indeksami. Lista dynamiczna umo\u017cliwia zmiany rozmiaru. Stos i kolejka narzucaj\u0105 okre\u015blony porz\u0105dek dost\u0119pu (LIFO, FIFO). Nawet proste zadania staj\u0105 si\u0119 nieefektywne bez \u015bwiadomego wyboru struktury. Zale\u017cno\u015b\u0107 mi\u0119dzy algorytmem a struktur\u0105 danych jest bezpo\u015brednia. Przeszukiwanie liniowe w tablicy ma z\u0142o\u017cono\u015b\u0107 O(n), wyszukiwanie binarne w posortowanej tablicy O(log n). Zrozumienie notacji O-notation pozwala przewidywa\u0107 zachowanie programu dla du\u017cych danych. Elementarne narz\u0119dzia matematyczne: arytmetyka modularna (reszty z dzielenia), w\u0142asno\u015bci logarytm\u00f3w, podstawy kombinatoryki. Bez tego trudno poprawnie zapisa\u0107 warunki p\u0119tli, liczniki iteracji czy oszacowa\u0107 liczb\u0119 operacji. Typowe pu\u0142apki: mylenie indeks\u00f3w (zaczynanie od 1 zamiast 0), nieprawid\u0142owe warunki zako\u0144czenia p\u0119tli, nieuwzgl\u0119dnianie pustych struktur, b\u0142\u0119dne za\u0142o\u017cenia o posortowaniu danych. Przyk\u0142ad \/ wz\u00f3r C C++ Python Przeszukiwanie liniowe w tablicy c\\n#include &lt;stdio.h&gt;\\nint find(int a[], int n, int x){\\n int i;\\n for(i = 0; i &lt; n; i++){\\n if(a[i] == x) return i;\\n }\\n return -1;\\n}\\n cpp\\n#include &lt;vector&gt;\\nint find(const std::vector&lt;int&gt;&amp; a, int x){\\n for(int i = 0; i &lt; (int)a.size(); i++){\\n if(a[i] == x) return i;\\n }\\n return -1;\\n}\\n python\\ndef find(a, x):\\n for i in range(len(a)):\\n if a[i] == x:\\n return i\\n return -1\\n Z\u0142o\u017cono\u015b\u0107 czasowa O(n), O(log n) Przyk\u0142ad modulo c\\nint r = 7 % 3; cpp\\nint r = 7 % 3; python\\nr = 7 % 3\\n Jak zacz\u0105\u0107 programowanie: Kr\u00f3tkie uwagi praktyczne (pu\u0142apki, cz\u0119ste b\u0142\u0119dy, na co uwa\u017ca\u0107) Pierwsze etapy nauki maj\u0105 sens tylko wtedy, gdy skupienie pozostaje na mechanice dzia\u0142ania programu i relacji mi\u0119dzy algorytmem, danymi i wykonaniem na maszynie. J\u0119zyk jest narz\u0119dziem zapisu tych zale\u017cno\u015bci, nie celem samym w sobie.<\/p>\n","protected":false},"author":1,"featured_media":1082,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1081","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-poradnik"],"_links":{"self":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1081","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1081"}],"version-history":[{"count":1,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1081\/revisions"}],"predecessor-version":[{"id":1083,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/posts\/1081\/revisions\/1083"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media\/1082"}],"wp:attachment":[{"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1081"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/categories?post=1081"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trzykody.pl\/index.php\/wp-json\/wp\/v2\/tags?post=1081"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}