algorytm.org

Mam schemat blokowy nie wiem jak napisac...



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Forum www.algorytm.org :: Schematy Blokowe
Witaj Gość   
[Zarejestruj się]  
[Zaloguj się]
Zamieść odpowiedź
 Mam schemat blokowy nie wiem jak napisac pseudokod

photo
[IMG]http://i57.tinypic.com/2lj2q9l.jpg[/IMG]
Nie wiem czy dobrze
Pseudokod :
1) Start
2) Wczytaj Tablica
3) Suma := Ʃ Tablica
3.1) Aktualnie := 0
3.2) Iterator :=0
4)Aktualnie := Aktualnie + Tablica[Iterator]
5) Jeżeli Aktualnie =Suma – aktualnie
5.1) Wypisz Iterator + 1
5.2) W przeciwnym razie
Cytuj
Z tego co zrozumiałem schemat blokowy to poszukujesz takiego indeksu Tablicy, dla którego suma elementów od 0 do iteratora będzie połową sumy wszystkich elementów tablicy.

Ale co będzie gdy elementy Tablicy będa tak dobrane że nigdy dokładnie ten warunek nie będzie spełniony? Lepiej dać tam warunek >= zamiast =.

Teraz jeśli chodzi o pseudokod to jego wygląd zależy od języka, w którym będziesz programował. Pseudokod posługuje się konstrukcjami pętli for, if, repeat itd. oraz opisem słownym wykonywanych czynności lub skutków do których program dąży. Sądząc z użycia znaku podstawienia := i znaku równości = to językiem docelowym będzie Pascal.

Początek pseudokodu, który wypisałeś jest OK. Dalej w pętli masz dwa warunki zakończenia pętli, więc praktycznie (N jest znane przed pętlą iteracji) można użyć pętli for z warunkiem wewnątrz pętli, że gdy nastąpi warunek Aktualnie >= Suma - Aktualnie to wypiszemy wartość iteratora a wstawimy iterator= N-1 i wtedy pętla for się sama zakończy. To jest trik Paskalowy i w innych językach może się nie udać.

Można też zastosować pętle while lub repeat.
Cytuj
Zamieść odpowiedź Strona # 
Szybka odpowiedź

Kod:    


Powered by ccBoard