Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

Jak zrobić program ? np. kalkulator

SySia17 05 Maj 2008 16:20
  • #1 05 Maj 2008 16:20
    SySia17
    Poziom 8  

    Chodzi o to, że muszę zrobić progam np. kalkulator. Nigdywcześniej nie miałam styczności z taki rzeczmi i dlatego nie mam pojecia jak robi się takie programy. Potrzebuje bardzo dokładnej instrukcji jak najprościej zrobić taki program ?

  • #2 05 Maj 2008 16:44
    andy17890
    Poziom 12  

    Witaj ;D a w czym ma być ten program ?

    jak w C to coś mogę pomóc ostatnio na lekcjach robiliśmy ;D

  • #3 05 Maj 2008 16:51
    adikbo
    Poziom 25  

    Napisać w dowolnym wybranym języku programowania.

    W sumie pratycznie każdy się nadaje. Począwszy od Assemblera, poprzez Pascal, Delphi, C (++;#) na ASP.NET czy Javie skończywszy. Na upartego można nawet w htmlu to napisać.

    Według mnie najprościej w Pascal, C lub Delphi.
    Wszystko zależy od tego który język programowania znasz.

    De facto sam program jest trywialny i sprowadza się do napisania kilku funkcji.
    Zacznij od rozrysowania sobie grafu przepływu. odczyt danych z klawiatury -> odczyt operacji -> wykonanie działania ->wypisanie danych.

  • #4 05 Maj 2008 18:11
    Brosper
    Poziom 13  

    W htmlu się nie da. Chyba że użyjesz do tego php. :P

  • #5 05 Maj 2008 18:52
    SySia17
    Poziom 8  

    NIe znam żadengo oprogramowanie.. :P

  • #6 05 Maj 2008 20:50
    Brosper
    Poziom 13  

    Może spytam po co ci to. Ale dobra mniejsza z tym.
    Wystarczy w google wpisać np "kalkulator w c++" (c++ to jaki język programowania) potem tylko skopiować kod wkleić do komplikatora i gotowe.

  • #7 05 Maj 2008 21:26
    SySia17
    Poziom 8  

    potrzebne jest mi to na lekcje informatyki

  • #8 05 Maj 2008 21:50
    Michal19881
    Użytkownik obserwowany

    Najlepiej zacznij od Turbo Pascala.
    Na necie jest pełno kursów na pewno dasz radę.

  • #9 05 Maj 2008 22:24
    Paweł Es.
    Pomocny dla użytkowników

    Programy się zwykle pisze a nie robi :)

    Przy pisaniu programów musisz wykonać następujące kroki:

    1. Zdefiniować problem

    W przypadku twojego kalkulatora musisz określić:

    - typ obsługiwanych danych - czy to będą liczby wyłącznie całkowite czy całkowite i ułamkowe (ogólnie mówiąc rzeczywiste)

    - rodzaje działań jakie ma wykonywać twój kalkulator, np. dodawanie, odejmowanie itd

    - funkcje dodatkowe: kasowanie wyniku, kasowanie ostatniej wprowadzonej liczby, możliwość obliczeń z użyciem dodatkowej pamięci, możliwość użycia nawiasów, możliwość programowania sekwencji obliczeń (mówiąc prosto podstawiania kolejnych liczb do wzoru, który wczesniej opisałeś w postaci poleceń zrozumiałych dla centralnej jednostki czy procedury wykonującej obliczenia

    - następnie musisz zdefiniować sposób wprowadzania danych i zobrazowania wyników (czy będą wyświetlane i jak, a może drukowane)

    - definicja obsługi błędów - np, dzielenie przez zero, pierwiastek z -1

    Następnie opracowujesz tak zwane algorytmy wykonywania poszczególnych operacji jakie wykonuje kalkulator.
    Algorytm to jest ogólnie przepis na wykonanie konkretnej czynności złożonej w skończonej ilości kroków, np. algorytm gotowania wody:

    Procedura Gotowanie
    1. Weź czajnik
    2. Czy jest woda ? Jeżeli jest to idź do kroku 4
    3. Napełnij czajnik wodą -> wywołaj procedurę Napełnianie
    4. Postaw na kuchence
    5. Zapal gaz w palniku
    6. Czekaj (lub wykonaj inne czynności)
    7. Czy woda wrze ? Jeżeli nie to idź do punktu 6
    8. Zamknij dopływ gazu
    KONIEC PROCEDURY GOTOWANIE

    Oczywiście część z powyższych czynności można rozpisać na jeszcze prostsze czynności uwzględniające pośrednie czynności potrzebne do wykonia czynności głównych (np. szukanie zapałek, odkręcanie/zakręcanie wody itd)

    W przypadku naszego kalkulatora (najprostszy przypadek bez nawiasów) będziesz miał:

    Kalkulator wykonuje operację obliczenia:

    a) dla dwóch argumentów - po naciśnieciu klawisza =

    b) dla operacji jednoargumentowej po wciśnięciu klawisz operacji

    1. Kasowanie rejestrów danych wejściowych i wyniku

    argument1=0
    argument2=0
    wynik=0

    2. Wprowadzanie pierwszej danej

    argument1=liczba z klawiatury

    3. Wprowadzenie żądanej operacji (+,-,*, :, pierwiastek, odwrotność, zmiana znaku)

    operacja=kod_operacji

    { poniżej do 12 punktu nastąpi skok dla pierwiastka, odwrotności i zmiany znaku)

    4. Czy działanie wymaga drugiej liczby ? Jeżeli nie to idź do pkt 12

    { Pobieramy drugą daną }

    5. Wprowadzanie drugiej danej

    argument2=liczba z klawiatury

    6 Czy wciśnieto klawisz = ? Jeżeli tak to idź do pkt. 8

    7 Idź do pkt. 6 { Czekanie na wciśnięcie równa się }

    8a. jeżeli operacja="+" to Wynik=argument1+argument2

    8b. jeżeli operacja="-" to Wynik=argument1-argument2

    8c. jeżeli operacja="+" to Wynik=argument1*argument2

    8d. jeżeli operacja=":" to
    jeżeli argument2=0 to skocz do Błąd(dzielenie przez 0)

    Wynik=argument1+argument2

    9. Wyświetl wynik

    10. Czekanie na klawisz Kasowanie Jeżeli nie wciśnieto to idź do 10

    11. Skocz do punktu pierwszego

    {Komentarz - Operacja jednoargumentowa}

    12a. jeżeli operacja="pierwiastek" to
    jeżeli argument1<0 to skocz do pkt. 15 Błąd(próba liczenia
    pierwiastka z liczby ujemnej)


    wynik=Pierwiastek(argument1)

    12b. Jeżeli operacja="1/x" to
    Jeżeli argument1=0 to skocz do pkt 15, Błąd(dzielenie przez 0)


    argument2=argument1 { Przesunięcie danej z arg2 do arg 1
    (kopiowanie)
    argument1=1
    Skocz do pkt. 8d {dzielenie}

    13b Jeżeli operacja ="zmiana znaku" to

    wynik= -argument1

    13. Wyświetl wynik

    14. Skocz do punktu 10 (czyli czekanie na kasowanie)


    15. Obsługa błędów

    16. Wyswietl błąd

    17. Skocz do pkt 10 {Czekanie na skasowanie }


    Jak już masz powyższy ciąg czynności to kodujesz go w jakimś języku programowania (Pascal, C, asembler)

    Oczywiście każdy język ma swoje ograniczenia i może się okazać, że wykonanie danej operacji należy rozpisać na czynności prostsze (np. funkcja pierwiastek może nie być dostępna w danej wersji języka i trzeba go obliczać metodą kolejnych przybliżeń używając mnożenia, dzielenia i dodawania.

    Tak to wygląda pokrótce.

    Zwykle największy problemy są przy zdefiniowanie problemu (rozbicie go na czynności proste) , jego ograniczeń (co chce zamawiający program a co my możemy jako programiści fizycznie zrealizować na danym sprzęcie z jego ograniczeniami ) i napisanie algorytmu. Samo kodowanie jest już prostsze.

  • #10 05 Maj 2008 23:22
    telemah
    Poziom 27  

    Tylko że te algorytmy wg. kol Pawła są dobre w przypadku programowania strukturalnego :D przy obiektowym jest ciut inaczej i algorytmy są nieco inaczej wykorzystywana - ale nie mniej są również :D Jednak zacząć trzeba od programowania strukturalnego przyda Ci się ono też przy programowaniu mikrokontrolerów :!:

    Ps.Niestety w dzisiejszych czasach programowanie polega głównie na progr. obiektowym z wykorzystaniem wielu komercyjnych bibliotek - szczególnie w "windzie" bez tego ani rusz.

  • #11 06 Maj 2008 00:49
    Paweł Es.
    Pomocny dla użytkowników

    Sądząc ze sposobu opisania problemu i odpowiedzi na pytania pomocantów, to programowanie pod Windows dla pytaniodawczyni jest "dość" odległą przyszłością :)

    Pamiętam jak kiedyś spawdzaliśmy jaka jest różnica pomiędzy napisaniem i wygenerowaniem prostego programu otwierającego okno z przyciskiem zamykającym w Turbo Pascalu 7.0 i Delphi chyba 2.0 wyszło, że różnica jest niewielka, tylko jakieś 168kB kodu wynikowego.
    Program napisany w TP7.0 po kompilacji zajmował jakieś 1700 bajtów, zaś tosamorobiący i wszystkotosamomający program w Delphi zajmował już ok. 170kB :)

    Użycie gotowych bibliotek upraszcza pisanie programów tyle, że powoduje, że małocorobiący program zajmuje megabajty na dysku nie licząc podmianek co ciekawszych bibliotek systemowych na nowsze za to mniej kompatybilne z tym co już mamy na dysku ;)

  • #12 06 Maj 2008 16:24
    Brosper
    Poziom 13  

    Ej a to trochę dziwne. Jak można po prostu zadać zrobienie takiego programu. Musiałaś chyba na lekcji coś mieć ??

  • #13 06 Maj 2008 20:01
    SySia17
    Poziom 8  

    nie mieliśmy, to jest zadanie dodatkowe.. np. na podwyższenie oceny

    Dodano po 16 [minuty]:

    mam jeszcze pytanie: skąd mogę ściągnąć oprogramowanie do pisania progrów ??

  • #14 07 Maj 2008 16:16
    Brosper
    Poziom 13  

    To zależy jaki język. jak wiesz jaki to wpisujesz w google jako nazwę np c++ i w którymś linku będzie.

  • #15 07 Maj 2008 17:01
    telemah
    Poziom 27  

    Nie róbcie sobie jaj :D już widzę jak totalny laik pisze od razu program pod C++ :D on jak na razie to nawet pod pascalem nic nie napisze.Trzeba zacząć od podstaw nauczyć się o stałych zmiennych typach tych stałych i zmiennych, dowiedzieć się jak definiować najważniejsze parametry programu, jak tworzyć etykiety, procedury , jak posługiwać się prostszymi tablicami - bez tego dupa zbita :D

    Ps. Napisałbym Ci taki kalkulatorek ale tu nie chodzi o to żeby Ci to ktoś dał gotowe tylko żebyś się czegoś nauczył.Niestety napisanie takiego programu przez osobę bez podstawowej wiedzy o programowaniu jest raczej niemożliwe.Poza tym nawet nie wiemy jak ma ten kalkulator działać i wyglądać itd...

  • #16 07 Maj 2008 17:15
    Kroovka
    Poziom 22  

    SySia17 napisał:
    nie mieliśmy, to jest zadanie dodatkowe.. np. na podwyższenie oceny


    Też mieliśmy kiedyś takie podwyższanie ocen, więc nie uwierzę, że nie zalecono ci jakiego języka masz użyć.
    A w c++ można pisać w trybie kompatybilności z c i totalnie olać całe to o.o.

  • #17 07 Maj 2008 17:31
    SySia17
    Poziom 8  

    Kroovka napisał:
    SySia17 napisał:
    nie mieliśmy, to jest zadanie dodatkowe.. np. na podwyższenie oceny


    Też mieliśmy kiedyś takie podwyższanie ocen, więc nie uwierzę, że nie zalecono ci jakiego języka masz użyć.
    A w c++ można pisać w trybie kompatybilności z c i totalnie olać całe to o.o.


    nie chces to nie wierz , ale nie zalecono nam

  • #18 09 Cze 2008 22:28
    shiros
    Poziom 1  

    Jak chcesz moge Ci napisać w programie Dev C++ , zależy jakie ma mieć ten kalkulator funkcje

  • #19 09 Cze 2008 23:09
    mandaryn
    Poziom 11  

    Jeżeli dalej potrzebujesz pomocy mogę poratować cię kalkulatorem napisanym w języku Assembler, działający na rejestrach mikroprocesora MSP430. Mam tez gdzieś do niego dokumentacje nawet z wyrysowanymi algorytmami :)

  • #20 10 Cze 2008 07:10
    Brosper
    Poziom 13  

    mi się wydaje że się chłopaki daleko spóźniliście. już dawno olała sobie to bo termin oddawania już minął. :P

  Szukaj w 4mln produktów
Przeglądaj produkty