Pseudokod algorytmu w C#

0

Czy to jest poprawnie napisany pseudokod algorytmu w języku C#

Użyj przestrzeni nazw System
Początek klasy najwiekszazliczb
Początek bloku klasy najwiekszazliczb
	Początek definicji funkcji Main
	Początek bloku funkcji Main
		Deklaracja zmiennej tablicowej liczba i przypisanie do niej listy liczb
		Deklaracja zmiennej maxSoFar i przypisanie do niej zero
		Utworzenie pętli foreach
		Początek bloku pętli foreach
			Jeśli obecnie przetwarzana liczba jest większa niż maxSoFar
				Przypisz jej wartość do maxSoFar
		Koniec bloku pętli foreach
		Wyświetl "maxSoFar jest najwiekszą liczbą na liście"
	Koniec bloku funkcji Main
Koniec bloku klasy najwiekszazliczb

? Interesuje mnie odpowiedź Tak lub Nie

Czy się go piszę raczej w ten sposób:

  1. Weż kartkę papieru, napisz MaxSoFar a pod nia zero
    ....
0

Pseudokody pisze się w pseudokodzie, nie mają mieć związku z konkretnym językiem programowania. Nie pisze się o używaniu przestrzeni nazw, klasach, blokach, itd. To co zrobiłeś, to opis tworzenia kodu w C#, nie żaden pseudokod.

Utworzenie pętli foreach - WTF? Jak się tworzy pętle?

Ta część to opis algorytmu:

  1. Deklaracja zmiennej tablicowej liczba i przypisanie do niej listy liczb
  2. Deklaracja zmiennej maxSoFar i przypisanie do niej zero
  3. Dla każdej liczby w liście
  4. Jeśli obecnie przetwarzana liczba jest większa niż maxSoFar
  5.  Przypisz jej wartość do maxSoFar
    
  6. Wyświetl "maxSoFar jest najwiekszą liczbą na liście"

I przerób ją sobie na pseudokod, zgodnie z np. tym opisem: http://www.ics.p.lodz.pl/~akmiecik/pl/dydaktyka/Algorytmy/pseudo.htm

0

Wyjaśnij mi dlaczego tam jest np. pętla for i to jest pseudokod a ja zastosowałem inną pętlę i już to nie był pseudokod?

0

Źle zrozumiałeś, Ty w swoim pseud-pseudo kodzie opisałeś każdy znak (łącznie z np. { ) za pomocą słów. Nie o to chodzi. Masz opisać co kod robi, a nie jak wygląda w danym języku.
Co do pytania, myślę że na forum nikt nie miał by nic przeciwko użycia słówka foreach zamiast for, to akurat nic w tym przypadku nie zmienia, a nawet nieco lepiej się czyta ( nawet w przykładzie somekind jest "Dla każdej liczby w liście" :P )

0

Na moje oko to jakaś licha książka. Pseudokod to pseudokod -> ma być niezależny od stosowanego języka.
W C nie ma pętli foreach.
W Pythonie nie ma klamerek oznaczających początek i koniec bloku.
W C i Pascalu nie ma klas.
W Pythonie, Perlu i PHP można pisać kod bez obejmowania go jakimikolwiek blokami czy funkcjami.

Jak więc widzisz twój "pseudokod" w praktyce jest słowno-muzycznym opisem implementacji w konkretnym języku. Czyli zaprzeczeniem tego czym ma byc pseudokod.

0

A w książce tak pisze - to kto ma rację?

0
xpeye napisał(a):

A w książce tak pisze - to kto ma rację?

Jest napisane jeżeli już.

I co konkretnie jest napisane w tej książce? Że pseudokod ma tak wyglądać?

0

Został podany program w pseudokodzie. I podobne pseudokody są co ok. 30 stron - to dla mnie normalne, że powinny tak wyglądać. Wcześniej została podana Wasza wersja z podpisem "Algorytm"

0

Jeżeli to, co w pierwszym poście wkleiłeś, w tej książce nazywane jest pseudokodem, to są dwie możliwości:

  1. autor jest idiotą;
  2. tłumacz jest idiotą.
    a sama książka nadaje się do wyrzucenia.

Moja wersja to algorytm.
Pseudokod trochę przypomina kod programu, ale nie ma tam mowy o początkach i końcach bloków, klas, przestrzeniach nazw, załączaniu ich, itp., bo to są kwestie zależne od konkretnego języka. Pseudokod jest niezależny od języka.

0

Tak -Twój kod to algorytm. Czyli według książki dobrze napisałem pseudokod?

0

Spojrzałem na fragment tej książki i już rozumiem, o co chodzi. To nie żaden "pseudokod". Tam na początku wklejony jest blok kodu, a następnie każda linijka jest tak właśnie opisana (zobaczcie http://pdf.helion.pl/jcshpr/jcshpr-5.pdf strona 27 pdfa). Odpowiadając na pytanie, jak wyżej - nie napisałeś dobrze pseudokodu.

0
Hrypa napisał(a):

Tam na początku wklejony jest blok kodu, a następnie każda linijka jest tak właśnie opisana (zobaczcie http://pdf.helion.pl/jcshpr/jcshpr-5.pdf strona 27 pdfa).

Ta sekcja książki ma nawet tytuł: Krótka analiza listingu. Nigdzie nie ma mowy o pseudokodzie.
Ech, przynajmniej wiemy już, że ani autor książki, ani tłumacz nie są idiotami.

0
somekind napisał(a):
Hrypa napisał(a):

Tam na początku wklejony jest blok kodu, a następnie każda linijka jest tak właśnie opisana (zobaczcie http://pdf.helion.pl/jcshpr/jcshpr-5.pdf strona 27 pdfa).

Ta sekcja książki ma nawet tytuł: Krótka analiza listingu. Nigdzie nie ma mowy o pseudokodzie.
Ech, przynajmniej wiemy już, że ani autor książki, ani tłumacz nie są idiotami.

Niekoniecznie :P patrz tu: http://4programmers.net/Forum/Newbie/227512-pseudokod_algorytmu_w_c?mode=download&id=5592 wyraźnie jest napisane że listing zawiera pseudokod ;]

0

Jeszcze jest taki pseudokod

0
xpeye napisał(a):

Jeszcze jest taki pseudokod

To już bardziej przypomina pseudokod, chociaż ja nie używał bym pętli for, lecz zapisu "dla każdego elementu tablicy, i nie ifleczjeśli''.

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