Droga by zostać programistą

0

Chciałbym zadać kilka pytań dotyczących drogi jaką muszę przejść, by zostać programistą z zawodu. Pytania kolejne będę zadawał gdy uzyskam wyczerpującą odpowiedź na poprzednie.

Najpierw trochę o mnie:
Mam 18 lat i jestem uczniem technikum informatycznego na roku 3. Wiedzę o informatyce jaką uzyskałem dzięki szkole mogę ocenić na ŻADNĄ. Zaczynam teraz 3 klasę a w szkole nie dowiedziałem się niczego, dlatego mam spore obawy dot. mojej przyszłości informatyka, jak i zbliżającego się egzaminu zawodowego. W domu postanowiłem uczyć się programowania ponieważ bardzo mnie to interesuję. Poświęciłem rok na naukę Pascala, po czym przeszedłem do C++ i uczę się go już parę miesięcy. Chciał bym zostać programistą z zawodu, ale sam nie wiem na czym ta praca polega, i co trzeba zrobić by nim zostać.

Moim pierwszym pytaniem zatem jest:
Jakie przedmioty na maturze trzeba zdawać by dostać się na studia informatyczne. Jakie wyniki z nich uzyskać, i czy na takie studia trudno się dostać. Czy potrzebna jest matura z informatyki jeśli zdam egzamin zawodowy ? Oraz czy istnieje taki typ studiów konkretnie skierowany na programowanie ?

0

Chciałbym zadać kilka pytań dotyczących drogi jaką muszę przejść, by zostać programistą z zawodu

droga ta jest długa. powodzenia, wędrowcze.

Jakie przedmioty na maturze trzeba zdawać by dostać się na studia informatyczne

zależnie od uczelni i kierunku. ja zdawałem samą matematykę.

Jakie wyniki z nich uzyskać, i czy na takie studia trudno się dostać

patrz wyżej. matmę rozsz. zdałem słabo, na 56% ale się na UJ dostałem :P

Czy potrzebna jest matura z informatyki jeśli zdam egzamin zawodowy

zależy do czego. na niektórych uczelniach nie jest wymagane zdawanie matury z informatyki. a w niektórych miejscach pracy nie trzeba mieć studiów. można pracować z tytułem technika lub bez. liczy się wiedza.

Oraz czy istnieje taki typ studiów konkretnie skierowany na programowanie ?

Na studiach wybierasz sobie specjalizację. tu również jest to zależne od uczelni i kierunku. jednak musisz być świadom że większość roboty musisz włożyć sam, po godzinach.

Chciał bym zostać programistą z zawodu, ale sam nie wiem na czym ta praca polega, i co trzeba zrobić by nim zostać.

głównie na pisaniu, utrzymywaniu kodu i rozwiązywaniu problemów. aby zostać programistą, należy odpowiedzieć na ogłoszenie (ofertę pracy) lub poczekać aż praca znajdzie ciebie (dla bardziej ambitnych :P )

0

A czy trudno jest się dostać do jakiejś pracy będąc programistą, czy raczej rynek jest przepełniony.
Oraz czy istnieje prawdopodobieństwo że zostanę bezrobotnym ?

0

A czy trudno jest się dostać do jakiejś pracy będąc programistą, czy raczej rynek jest przepełniony.

Teraz nie jest. Dla dobrych programistow zawsze będzie praca, chyba że nie będzie prądu na świecie.

Oraz czy istnieje prawdopodobieństwo że zostanę bezrobotnym ?

Tak.

0

Z ciekawości. Ja rzucę szybkim pytaniem a raczej prośbą. Mógłbyś pokazać jakąś swoją pracę w C++? Lub jeśli stwierdzisz, że nie masz nic specjalnego to wystarczy zwykły przykład kodu, niekoniecznie nawet pełnego programu. Powiedzmy ok 300 linii. Chciałbym zorientować się jaki poziom prezentuje osoba która chce zostać programistą i jest na takim etapie.

0

Napisałem to miesiąc temu, potem wyjechałem inie programowałem z powodu braku komputera. Program mały i trochę głupi, jest to taki generator mapy w konsoli. Nie mam nic innego, pisałem by poćwiczyć klasy. Moi rówieśnicy z klasy by czegoś takiego nie napisali, na 20 parę osób tylko 5 może interesuje się programowaniem, z czego 1 uczy się już od gimnazjum i dała by rade. Nie napisali by z takiego powodu, ze nie chcą zrozumieć programowania, oraz szkolny program 1 roku dociera tylko do tworzenia własnych typów w Pascalu.

#include <iostream>
#include <cstdlib>
#include <ctime>
#include<windows.h>

using namespace std;

class CObiekty
{
public:
int kolizja;
char znak;
};

////////////////////////////////////////////////////////////////////////////////////
int random(int nMin, int nMax);
int textbackgroundcolor(int kolor);
CObiekty generator(CObiekty pole[]);
CObiekty postac(CObiekty pole[]);
////////////////////////////////////////////////////////////////////////////////////

int main()
{

CObiekty pole[9000];
generator(pole);
postac(pole);

};

int random(int nMin, int nMax)
{
return rand() % (nMax - nMin +1) + nMin;
};

int textbackgroundcolor(int kolor)
{
HANDLE uchwyt;
uchwyt = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(uchwyt,kolor);
};

CObiekty generator(CObiekty pole[])
{
int random(int nMin, int nMax);
int textbackgroundcolor(int kolor);
int licznik,pomocnicza;

srand (static_cast<unsigned int="int"> (time(NULL)));

for (licznik = 0; licznik <= 8999; licznik++)
{pomocnicza = random(0,100);

if (pomocnicza <= 30)
{
pole[licznik].kolizja = 1;
pole[licznik].znak = 'T';
textbackgroundcolor(2);
cout << pole[licznik].znak;
}

if (pomocnicza <=50 && pomocnicza >= 31)
{
pole[licznik].kolizja = 1;
pole[licznik].znak = 'o';
textbackgroundcolor(6);
cout << pole[licznik].znak;
}

if (pomocnicza >50)
{
pole[licznik].kolizja = 0;
pole[licznik].znak = ' ';
cout << pole[licznik].znak;
}
}
};

CObiekty postac(CObiekty pole[])
{
pole[5000].znak = '@';
system("cls");
cout << pole[5000].znak;
generator(pole);
};

0

Droga do bycia programistą jest kręta i koszmarna, bo wiedzie przez fora wypełnione odludkami :)

Program nawet ciekawy - nie widziałem rysowania na konsoli pod Windows...

Kilka uwag:

  • (prawdopodobnie) masz błąd w gałęzi "(pomocnicza >50)" - dla pustego miejsca nie ustawiasz koloru, czyli puste przestrzenie są mazane tym co było ostatnio
  • czy na pewno w funkcji generator() pierwsze 2 linijki są potrzebne?
  • nie nazywaj klasy w liczbie mnogiej jeśli nie jest kontenerem, ale nawet wtedy to słabe: CObiekty - zamień na CObiekt
  • staraj się używać języka angielskiego w kodzie - w programowaniu to konieczność (można nie umieć całkować, ale angielski trzeba znać)
  • jeśli musisz stosować tablice w C++ (lepiej std::vector) to zawsze podawaj ich zakres, czyli:
    zamiast:
    CObiekty generator(CObiekty pole[])
    {
    //....
    for (licznik = 0; licznik <= 8999; licznik++)

daj:

CObiekty generator(CObiekty pole[], int liczba_pol)
{
//....
for (licznik = 0; licznik < liczba_pol; licznik++)
  • używaj stałych, czyli:
    zamiast:
CObiekty pole[9000];
generator(pole);

daj:

const size_t ROZMIAR_POLA = 9000;
CObiekty pole[ROZMIAR_POLA];
generator(pole, ROZMIAR_POLA); // patrz wyżej

zamiast:

CObiekty generator(CObiekty pole[])
{

//...

if (pomocnicza <= 30)
{
    pole[licznik].kolizja = 1;
    pole[licznik].znak = 'T';
    textbackgroundcolor(2);
    cout << pole[licznik].znak;
}

daj:

CObiekty generator(CObiekty pole[])
{
const int LEVEL_TREE = 30;
const int COL_MARK = 1;
const char MAP_CHAR_TREE = 'T';
const int MAP_COLOR_TREE = 2;

//...

if (pomocnicza <= LEVEL_TREE) // o ile 'T' oznacza drzewo (ang. tree)
{
    pole[licznik].kolizja = COL_MARK; 
    pole[licznik].znak = MAP_CHAR_TREE;
    textbackgroundcolor(MAP_COLOR_TREE);
    cout << pole[licznik].znak;
}
0

Dziękuję za te kilka rad, z pewnością się przydadzą, w szczególności ze z klasami mam do czynienia od niedawna.

0

CO do tego kodu to wbij sobie do głowy zasadę DRY - Don't repeat yourself! To:

pole[licznik].kolizja = 1;
pole[licznik].znak = 'T';
textbackgroundcolor(2);
cout << pole[licznik].znak;

powinno wylądować w nowej funkcji, a nie zostać skopiowane kilka razy. Poza tym nazwanie zmiennej "pomocnicza'" to terroryzm.

0

Nazwa zmiennej "pomocnicza" wziąłem od mojego nauczyciela programowania, więc wydawało mi się to normalne. Co w tym jest złego i jak inaczej ją nazwać ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0