Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 1 maja 2025, o 08:01


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
    Autor Wiadomość
    PostNapisane: 28 gru 2013, o 18:54 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 24 mar 2013
    Posty: 15
    Lokalizacja: warmińsko-mazurskie
    Pomógł: 0

    Witam.
    Startuje w olimpiadzie elektronicznej i niestety jednym z zadań jest napisanie programu w dowolnym języku wysokiego poziomu.
    Z programowaniem to miałem doczynienia tylko na AVR w C i BASCOM. :cry:
    Możecie coś doradzić przy pisaniu tego typu programów, jakieś wskazówki?
    Poniżej przykładowe zadanie z rozwiązaniem w języku Fortran. Może to w tym języku najłatwiej "programować". Sam już nie wiem.
    Doradźcie coś. Muszę choć trochę się nauczyć tego typu zadań :P
    Dzięki za odpowiedzi. ;)


    Z A D A N I E

    R O Z W I Ą Z A N I E



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:10 
    Offline
    Użytkownik

    Dołączył(a): 26 gru 2013
    Posty: 62
    Pomógł: 2

    Nie wiem, na czym dokładnie polega problem. Chodzi Ci o samo kodzenie czy podejście do tego typu zadań?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:14 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 cze 2013
    Posty: 79
    Lokalizacja: Rybnik
    Pomógł: 2

    Ja bym raczej się skłonił do C++ lub C#. Operujesz na gotowych klasach, dostępność materiałów jest ogromna.
    Widać że zadanie wymaga operacjach na zmiennych, zapisaywaniu, odczytywaniu pliku, z pomocą np Visual C# możesz to łatwo zrobić. Jest mnóstwo przykładów odczytywania/ zapisywania do plików.


    Autor postu otrzymał pochwałę


    Ostatnio edytowano 28 gru 2013, o 19:17 przez marc90, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:17 
    Offline
    Użytkownik

    Dołączył(a): 26 gru 2013
    Posty: 62
    Pomógł: 2

    Dobór samego języka to sprawa opcjonalna, czysto subiektywna. Ja osobiście skłaniałbym się do c++. Może dlatego, że dobrze mi się w nim pisze. Jednak najważniejsza w tego typu zadaniach jest algorytmika. Napisz na kartce co kolejno ma się dziać. Następnie dobierz do tego odpowiednie polecenia takie jak pętle etc. Jeśli to zrobisz to napisanie kodu to formalność:) Jeśli chcesz dowiedzieć się czegoś konkretniejszego to też konkretniej sformułuj pytanie, wtedy postaram się coś dopowiedzieć. Pozdrawiam


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 kwi 2013
    Posty: 381
    Lokalizacja: Łowisko
    Pomógł: 32

    na tej olimpiadzie możesz korzystać z pomocy które weźmiesz ze sobą, oczywiście prócz internetu :D więc zaopatrz sie w dobra książkę a dalej pójdzie z górki

    _________________
    невозможно ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:32 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 24 mar 2013
    Posty: 15
    Lokalizacja: warmińsko-mazurskie
    Pomógł: 0

    No chodzi właśnie o to jak zacząć rozwiązywać takie zadania. Wspomniałeś o robieniu algorytmu to już coś wiem.
    Trudno coś konkretniej pytać jak nie znam dostatecznie problemu, mam podobne zadanie jak powyżej i tyle co wiem na ten moment. :cry:
    Programowanie jest dosłownie na kartce papieru jeśli to coś zmienia. Głównie chodzi mi o wskazówki jak najprościej takie zadanie rozwiązać, co muszę zrobić krok po kroku i w jakim języku da się to osiągnąć najłatwiej.
    Padło tutaj C++ więc rozumiem, że warto się nim zainteresować pod kątem tych zadań, należy też rozplanować działanie takiego programu. Mam już jakiś obraz tej sytuacji. Dzięki za dotychczasowe zainteresowanie i czekam na dodatkowe wskazówki.

    Zabranie książki też rozważałem tylko czy to wystarczy, chciałbym poćwiczyć pisanie takich programów.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:34 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 kwi 2013
    Posty: 381
    Lokalizacja: Łowisko
    Pomógł: 32

    hunger napisał(a):
    Startuje w olimpiadzie elektronicznej i niestety jednym z zadań jest napisanie programu w dowolnym języku wysokiego poziomu

    nie do końca, masz dwa zadania do wyboru, jedno z programowania, a drugie matematyczne i tylko od ciebie zależy co chcesz zrobić

    _________________
    невозможно ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:39 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 24 mar 2013
    Posty: 15
    Lokalizacja: warmińsko-mazurskie
    Pomógł: 0

    D_C napisał(a):
    hunger napisał(a):
    Startuje w olimpiadzie elektronicznej i niestety jednym z zadań jest napisanie programu w dowolnym języku wysokiego poziomu

    nie do końca, masz dwa zadania do wyboru, jedno z programowania, a drugie matematyczne i tylko od ciebie zależy co chcesz zrobić


    Zgadza się, jednak nie chcę lekceważyć tego programowania bo może się okazać, że łatwiej będzie napisać program niż zrobić zadanie matematyczne. Wolę być choć trochę przygotowany z tej dziedziny.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 19:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 kwi 2013
    Posty: 381
    Lokalizacja: Łowisko
    Pomógł: 32

    hunger napisał(a):
    nie chcę lekceważyć tego programowania bo może się okazać, że łatwiej będzie napisać program niż zrobić zadanie matematyczne

    i z tym się w 100% z toba zgadzam, jednak zawsze można od kogoś spisać :lol:

    _________________
    невозможно ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 23:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2013
    Posty: 93
    Lokalizacja: Piotrków Trybunalski
    Pomógł: 1

    Nie chcę reklamować, ale:
    http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/24
    http://warsztat.gd/files/articles/megatutorial/kurscpp/Kurs%20C++.pdf
    http://xion.org.pl/productions/texts/coding/megatutorial/

    Zacznij od drugiego linku, trzeci jest rozszerzeniem dla pierwszego. Pierwszy jest też bardzo fajny, po przeczytaniu śmigasz jak chcesz :)

    Achtung!
    W drugim linku jest pewien błąd, wynikający z czasu w jakim ta książka była pisana, ale być może też dlatego, że ja używam innego kompilatora :) Jednak przejrzyj to wszystko, a naprawdę załapiesz C++ na WYSOKIM POZIOMIE :D

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 gru 2013, o 23:53 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 208
    Lokalizacja: Kraków
    Pomógł: 16

    Offtop:
    Jedziesz na OWT, etap okręgowy? Wydaje mi się że miałem to zadanie właśnie :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 gru 2013, o 01:36 
    Offline
    Użytkownik

    Dołączył(a): 26 gru 2013
    Posty: 62
    Pomógł: 2

    Hmmm... jeśli to zadanie nie jest na pewno konkursowym na ten moment, to myślę, że można je rozpatrzyć na łamach forum. Zapewne gdzieś takowe rozwiązanie istnieje ale skoro już tu padło to spróbuję coś naskrobać. Jesteśmy w o tyle fajnej sytuacji, że praktycznie wszystko masz wyłożone na tacy jeśli chodzi o obliczenia. Zwróć uwagę na to, co program musi robić. Na pewno łatwiej będzie policzyć poszczególne jego elementy niż cały parametr od razu, zwłaszcza że powtarzają się one kilka razy. Dla uproszczenia załóżmy, że liczby wprowadzane są z klawiatury. W pierwsze kolejności należy stworzyć(zdefiniować) tyle zmiennych ile wyrażeń musisz policzyć. Aby nie dawać wszystkiego na tacy podpowiem, że chodzi o poszczególne sumy występujące we wzorach. Pod koniec będziesz sobie dziękował za zastosowanie właśnie takich uproszczeń:) Zastanów się ile zmiennych musisz utworzyć oraz nazwij je w odpowiedni sposób, aby łatwo było do nich wrócić.
    Następnie pojawia się problem zapisywania liczb do pamięci. Zakładając ograniczoną ilość wpisywanych danych polecałbym na ten moment, choć za pewne koledzy będą mieli równie fajne jak nie lepsze pomysły, zastosowanie tablicy dwuwymiarowej zawierającej kolejne i-te i j-te wartości x,y. Jest to o tyle wygodne, że możesz stworzyć tablicę 100 na 100, więc pewnie wystarczy;)
    EDIT: Jest to trochę uproszczenie myślowe. Oczywiście chodzi o tablicę dwukolumnową:)
    Oczywiście przy tym temacie pojawia się również pytanie: jak sprawdzić kiedy użytkownik skończy wprowadzać dane. Tu z pomocą przychodzi np. pętla while. Za każdym zakończeniem pętli pytamy czy chcesz wprowadzić następne dane. Można oczywiście na początku zapytać ile danych zostanie wprowadzonych, co na pewno będzie bardziej eleganckie w wykonaniu jednak wymaga użycia tablicy dynamicznej (co również jest proste i warto się tym zainteresować). Wprowadzane dane są zapisywane jako kolejne elementy tablicy przez co później w łatwy sposób można będzie się do nich odwoływać. Oczywiście należy tutaj pamiętać o wprowadzeniu zmiennej pomocniczej, która będzie się inkrementować przy każdym przejściu pętli tak, aby nasz program wiedział ile liczb ma np. do zsumowania. Może pokracznie to brzmi ale mam nadzieję, że rozumiesz. Kiedy już to wykonamy, pozostaje zapoznać się z funkcjami oferowanymi przez bibliotekę math.h i zastosować je do utworzenia poszczególnych elementów wyrażeń opisujących parametry a i m. Aby wyliczyć np. sumę iloczynów należy stworzyć pętlę for która w kolejnych krokach będzie do naszej zmiennej suma_iloczynow dodawać kolejne iloczyny tablicy A inkrementując jednocześnie i++, j++ aż do granicy naszej zmiennej pomocniczej z zastosowanej pętli while.
    Tak na dobrą sprawę jest to już koniec programu. AAA... no i zapis do pliku. Tutaj z pomocą przychodzi zmienna plikowa. Polecenia są proste i spokojnie znajdziesz je w każdym kursie cpp.
    Jeśli masz jeszcze jakieś pytania, to śmiało.
    Pozdrawiam


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO