Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Szkółka programowania w C


Rekomendowane odpowiedzi

Opublikowano

Witam, od jakiegoś czasu przeglądam forum i mam wrażenie, że kwestia tzw. startu bywa problematyczna. Dlatego chciałem wyjść naprzeciw i pomóc osobom początkującym w programowaniu, albo takim które dopiero mają zamiar zacząć programować.

 

Programowanie jest na wyciągnięcie ręki, tak naprawdę dla każdego, wystarczy tylko poświęcić temu czas, a na pewno się powiedzie. Niestety czasami trudno jest zaczynać od zera, kiedy nic się nie wie. Nie każdy też ma ochotę kupować drogie książki do nauki. Jak wiadomo najlepiej uczymy się programowania poprzez PISANIE kodu i dlatego najbardziej chciałbym pomagać, przez zadawanie prac domowych. Takich, które będą pozwalały na nauczenie się i zrozumienie poszczególnych elementów języka programowania. Chodzi tu głownie o podstawowe elementy, osoby doświadczone już to wiedzą, a początkujące się przekonają, że znając podstawy i rozumiejąc ideę programowania jest stosunkowo łatwo poszerzać wiedzę.

 

Do rzeczy.

 

Od osób chętnych oczekuję:

1) Kultury osobistej i umiejętności poprawnego pisania(wystarczy próba)

2) Chęci, czasu na naukę i dotrzymywania terminów

3) Wspólnej pomocy i wspólnego szacunku

 

Co daję w zamian?

1) Pomoc w starcie i początkowe materiały(ale należy pamiętać, że nauka polega również na wyszukiwaniu materiałów)

2) Prace domowe z określonym celem naukowym do osiągnięcia.

 

Nie stawiam wymagań wiekowych, natomiast jak już wspomniałem wymagam kultury, szacunku i współpracy, zastrzegam sobie również prawo do "wyrzucenia" kogoś, kto nie będzie spełniał którychś z tych punktów.

 

Teraz jeszcze jeden mały, maluśki szczególik. Wszyscy trąbią wam o nauce C++(a przynajmniej większość), ba mają rację, że jest to dobry język. My zaczniemy od języka C. Ktoś z doświadczonych mógłby spytać dlaczego. Otóż dlatego, że czysty język C jest mniej wyrozumiały dla programisty, a wbrew pozorom to bardzo ważne na początku. Każdy zły nawyk będzie później owocował w przyszłości i moim zdaniem warto spróbować naukę od czegoś, co jest bardziej wymagające.

 

To tyle :). Zgłoszenie to oddanie pierwszego projektu przez PW :)

KONTAKT: prywatna wiadomość na forum, ten temat i jak coś to też siedzę na serwerze IRC quakenet i można mnie tam spotkać pod nickiem jatokor, znalazłem też takie coś http://www.mpcforum.pl/topic/61996-irc-mpc-forum/ i w sumie nikogo tam nie spotkałem, ale ja siedzę :)

 

FAQ(choć trudno tu mówić o często zadawanych pytaniach)

 

Q: Kim jestem?

A: Jestem studentem informatyki, na pewno nie jestem guru programowania natomiast chciałbym pomóc wystartować

 

Q: Dlaczego to robię?

A: Ktoś, kiedyś pomógł mi w podobny sposób z programowaniem i uważam, że można w ten sposób dobrze zacząć

 

Q: Ile to kosztuje?

A: Nic, wszystko jest z mojej dobrej woli, dlatego oczekuję przykładania się.

 

Q: Jak to będzie wyglądać?

A: Ja widzę to tak: każde zagadnienie to lekcja. Nie będę pisał tutoriali, bo jest cała masa dobrych i esencjonalnych, ja tylko wskażę na co należy w danym temacie zwrócić uwagę, być może dam linka do poradnika, ostatecznie coś opiszę. No i zadam prace domową, począwszy od prostych programików do jakichś bardziej złożonych, jeśli wypali. Takie projekty później trzeba mi będzie przesłać i "zaliczyć", a ja będę się starał w miarę możliwości dawać jakieś rady. No i kody źródłowe będziemy umieszczać tutaj, ogólnie dostępne.

Lekcja 1 - Początek

 

Cel: "Z czym to się je". Instalacja IDE, informacje wstępne i pierwszy program.

 

Skąd informacje do lekcji pierwszej?

- http://edu.i-lo.tarnow.pl/inf/utils/010_2010/0505.php (jak zainstalować code::blocks, którego bedziemy używać i jak stworzyć projekt. UWAGA! Na stronie pokazane jest jak stworzyc program Hello world w C++! My piszemy w języku C)

- http://pl.wikibooks.org/wiki/C/Pierwszy_program (znajdziecie tu WSZYSTKO co potrzebne do wykonania pracy domowej)

- http://pl.wikibooks.org/wiki/C/printf (Na razie można przeczytać "ogólnie", bez zagłębiania się w szczegóły.

 

Praca domowa: Pierwszy program "Hello World!". Napisać krótki programik, który wyświetli na wyjściu standardowym(będzie to konsola), napis "Hello World!".

 

Powodzenia. Rozwiązania prosze wysłac poprzez prywatną wiadomość na forum. Kody, będą później opublikowane w temacie.

 

 

Rozwiązania do lekcji pierwszej nadesłali: xDeStRuCtx, Sekhmet, Assarelliuss, H5N1, quspy123, Twardy95 (Przykładowy kod: http://pastebin.com/iy2RXbWR )

 

Lekcja 2 - Postawmy warunki!

 

 

Cel: Umiejętność posługiwania się instukcjami if... else i podstawowymi operacjami matematycznymi.

 

Skąd informacje do lekcji pierwszej?

- http://pl.wikibooks.org/wiki/C/Zmienne

- http://pl.wikibooks.org/wiki/C/Operatory (paragraf 1 i 2)

- http://pl.wikibooks.org/wiki/C/Instrukcje_sterujące (na razie paragraf o instrukcjach warunkowych)

 

Praca domowa: Prosty kalkulator, ma obsługiwać: dodawanie, odejmowanie, mnożenie i dzielenie dwóch liczb + jako piąta opcja ma sprawdzać, czy podana liczba jest parzysta(podpowiem, że należy użyć operatora modulo). Należy operować na liczbach zmienno przecinkowych, pamiętać o dzieleniu przez zero. Program po uruchomieniu ma wypisać na ekran, krótką informacje co robi, pozwolić wybrać jedną z 5 operacji, przyjać potrzebne liczby(dwie dla pierwszych 4 opcji i jedną dla ostaniej), wykonać obliczenia i wypisać je na ekran. Jedno uruchomienie programu- jedna operacja.

 

Powodzenia. Rozwiązania proszę wysłać poprzez prywatną wiadomość na forum. Kody, będą później opublikowane w temacie. Czas wykonania: do tygodnia od oddania poprzedniego projektu.

 

 

Lekcja 3 - zapętlamy się!

 

Cel: Umiejętność posługiwania się pętlami for i while(do while).

 

Skąd informacje do lekcji trzeciej?

 

- http://pl.wikibooks.org/wiki/C/Instrukcje_steruj%C4%85ce (paragrafy o pętlach)

 

Praca domowa: Modyfikacja kalkulatora z poprzedniej lekcji. Dodajemy użytkownikowi możliwość wybrania z menu opcji "zakończ program"(pętla while) i dodajemy opcję(nie koniecznie pasująca do kalkulatora) wypisanie alfabetu od A do Z(wartości liczbowe: A- 65, Z- 90, należy wykonać to pętlą for), czyli A B C D ... . Do zmiennych typu char też można dodawać liczby :).

 

Powodzenia. Rozwiązania proszę wysłać poprzez prywatną wiadomość na forum. Kody, będą później opublikowane w temacie. Czas wykonania: do tygodnia od oddania poprzedniego projektu.

 

 

Lekcja 4 - Funkcje

 

Cel: Umiejętność tworzenia funkcji

 

Skąd informacje do lekcji trzeciej?

 

- http://pl.wikibooks.org/wiki/C/Funkcje

Praca domowa: Modyfikacja kalkulatora, każdą opcję zamieniamy na funkcję.

 

Powodzenia. Rozwiązania proszę wysłać poprzez prywatną wiadomość na forum. Kody, będą później opublikowane w temacie. Czas wykonania: do tygodnia od oddania poprzedniego projektu.

 

linki zewn.

Opublikowano

coś mi tu śmierdzi...nie napisałeś ceny... oraz jakiegoś CV np. Ile masz lat, czy programujesz zawodowo, na ile oceniasz swoją znajomość C\C++ itd.

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

Pomoc jest darmowa. Moja rola ogranicza się do nakierowania i dania zadania, reszta należy do uczestnika, więc de facto nie jest strasznie czasochłonna. Mi ktoś, kiedyś pomógł w ten sposób, a nie widziałem tego nigdy na polskim forum. Czy CV jest istotne? Ktoś kto się "zapisze" nie ma nic do stracenia, nawet jeśli mam 11 lat i nie mam pojęcia o programowaniu.

linki zewn.

Opublikowano

Jak to ma wypalić , to też się zgłaszam bo sam tego nigdy się nie naucze ;(

RMCF

Opublikowano

To czyli mam rozumieć, że w tym temacie się spotykamy i dajemy ci kody źródłowe a jak ktoś nie rozumie to tutaj tłumaczysz ?

GrottyCracker22.png
Opublikowano

Jeżeli to co robisz jest naprawdę szczerze, to ogromny + dla Ciebie, że podjąłeś się takiego zadania.

Oby tak dalej ! :)

Opublikowano

No co tak długo? Kiedy część 2? Bo napisać Hello World'a i skonfigurować środowisko można w 15min....

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

No co tak długo? Kiedy część 2? Bo napisać Hello World'a i skonfigurować środowisko można w 15min....

 

Na razie otrzymałem rozwiązanie od jednej osoby, czekam na więcej zgłoszeń. Natomiast nieszczególnie rozumiem Twoje nastawienie, ale może nie jest mi dane rozumieć każdego.

 

Edit: dodana lekcja druga.

linki zewn.

Opublikowano

Szybkie pytanie:

 

int x = 15;
x < 20 ? std::cout << "1" : std::cout << "2";

 

To jest skrótowy zapis instrukcji if else.

 

Niestety analogiczny zapis dla samego if'a zwraca błąd:

 

x<20 ? std::cout << "1";

 

"Expecting primary expression before ;"

 

Czy tam musi być wyrażenie w przypadku "else", czy można to jakość obejść ?

 

@TOPIC

Fajny pomysł, matko Tereso :P

Ta sygnatura jest pusta.

Opublikowano

Szybkie pytanie:

 

int x = 15;
x < 20 ? std::cout << "1" : std::cout << "2";

 

To jest skrótowy zapis instrukcji if else.

 

Niestety analogiczny zapis dla samego if'a zwraca błąd:

 

x<20 ? std::cout << "1";

 

"Expecting primary expression before ;"

 

Czy tam musi być wyrażenie w przypadku "else", czy można to jakość obejść ?

 

@TOPIC

Fajny pomysł, matko Tereso :P

 

 

Wg mnie nie można podawać w takiej postaci tego wyrażenia. Składnia zakłada wybranie jednego lub drugiego zależnie od spełnienia warunku. Jak piszesz sobie if(x<20) std::cout << "1"; to instrukcje po ifie wykonywane są zależnie od warunku, jeśli nieprawda, że (x<20) to leci dalej i tam zależnie czy napotka na else czy nie to robi swoje. Tutaj musi mieć obie opcje podane. (nie było to pytanie na ten temat :P jak coś to z takimi zapraszam na IRC ;) )

linki zewn.

Opublikowano

złe wykorzystanie operatora : ?...nie można używać 2 argumentów skoro operator przyjmuje 3....

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

Pewnie, zapraszamy :). Pojawiło się pierwsze rozwiązanie lekcji 2, więc zaczynam myśleć nad 3. Od teraz będzie ograniczenie czasowe na kolejne lekcje. Można dołączyć w dowolnym momencie- wystarczy nadesłać program hello world, a później będzie podany czas w jakim trzeba wykonać kolejną pracę domową.

linki zewn.

Opublikowano

zplusowałem Ci wszystkie posty w tym temacie za chęci

ale zobaczymy jak to się dalej potoczy, zapowiada się wspaniale ;)

Wygrywaj bez pychy, przegrywaj bez urazy

Opublikowano

Mógłbym dołączyć? Dopiero dziś zauważyłem ten temat... :) a i jeśli tak to proszę o kontakt na gg: 11407703 mam parę pytań

Opublikowano

Można dołączyć w każdej chwili, nie trzeba się pytać ;). Jak pytania to zapraszam na IRC :).

 

 

Dodana lekcja 3. Kidjamkas Ty nie plusuj tylko pisz :)

linki zewn.

Opublikowano

Szybkie pytanie:

 

int x = 15;

x < 20 ? std::cout << "1" : std::cout << "2";

 

 

 

To jest skrótowy zapis instrukcji if else.

 

Niestety analogiczny zapis dla samego if'a zwraca błąd:

 

x<20 ? std::cout << "1";

 

 

 

"Expecting primary expression before ;"

 

std::cout << (x<20?1:2); //to tak btw, chodzi o to że możesz dać warunek w argumencie i nie musisz powtarzać std::cout - ważne są nawiasy, jeśli tego nie zrobiszz << będzie miało większą wage i do couta zostanie przekazany wynik warunku x<20;

 

jeśli chodzi o pytanie to:

if(x<20) std::cout << 1;

lub

std::cout << (x<20?1:"");

 

@topic: fajna inicjatywa, z chęcią trochę się poudzielam, podepnę w dalszych lekcjach :)

Wrzuć.se! - zachęcam do dyskusji na temat mojej stronki do uploadowania obrazków przez ich bezpośrednie wklejanie na stronę!

Opublikowano

Z tym alfabetem to przesada...Napisałem:

int i;
char a;
for(i=65;i==90;++i)
{	
a +=i;
printf("%c \n",a);
}

Skompilowałem a i tak nic nie wypisuje...

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...