• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pseudokod - jaki zakres danych

Object Storage Arubacloud
0 głosów
1,365 wizyt
pytanie zadane 9 lutego 2018 w C i C++ przez bobobob Użytkownik (790 p.)

Cześć, mam pseudokody

scan(a,b);
while (a!=b)
if(a>b) a=a-b;
else b=b-a;
print( a); 

oraz 

scan(a,b);
while (a!=b){
if(a>b) a=a-b;
else b=b-a;
print( a);
}

Który z nich obrazuje schemat blokowy i dlaczego? Nie rozumiem, czy w pseudokodzie mogą być klamry a jeśli tak to jaki jest zasięg w tej drugiej?

1 odpowiedź

0 głosów
odpowiedź 9 lutego 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)
wybrane 9 lutego 2018 przez bobobob
 
Najlepsza

Nie rozumiem, czy w pseudokodzie mogą być klamry a jeśli tak to jaki jest zasięg w tej drugiej?

Mogą być, zobacz w podrozdziale Syntax przykład nazwany C style pseudo code: https://en.wikipedia.org/wiki/Pseudocode. Jakby nie było, to jak zapisać, że jeżeli warunek spełniony wykonaj instrukcję1, instrukcję2 i instrukcję3?

Pytania o zasięg nie rozumiem. Zasięg czego? Klamry?

Który z nich obrazuje schemat blokowy i dlaczego?

Myślę, że jak załapiesz o co chodzi z klamrami, to sam rozwiążesz to zadanie, więc odpowiedzi na to pytanie świadomie nie udzielam :) Edytuj swój post i dodaj wcięcia do pseudokodów jakie wkleiłeś. Pozwoli to nam zobaczyć, jak myślisz, że Twój kod się wykonuje i ewentualnie coś Ci podpowiedzieć. Poza tym, Tobie też łatwiej będzie to czytać ;)

 

komentarz 9 lutego 2018 przez bobobob Użytkownik (790 p.)
Wydaje mi się, że odpowiedź druga jest zła ponieważ wyświetla wyniki w pętli zamiast dopiero na samym końcu, nie potrafię jednak określić, czy w pierwszej funkcji wyświetlanie wyników jest w pętli czy poza nią właśnie z powodu braku klamer.
komentarz 9 lutego 2018 przez Piotr Batko Stary wyjadacz (13,190 p.)

Jest tak, że instrukcje sterujące (if, for, while) dotyczą tylko jednej instrukcji poniżej, chyba że znajduje się tam instrukcja blokowa - czyli instrukcja/instrukcje ograniczone klamrami.

Czyli taki kod:

if (warunek)
instrukcja1;
instrukcja2;

Zadziała tak, że instrukcja1 wykona się tylko, jeżeli warunek jest spełniony. Instrukcja2 wykona się natomiast zawsze. Teraz, skoro wiemy jak taki kod się wykonuje, możemy poprawić wcięcia w powyższym kodzie.

if (warunek)
   instrukcja1;
instrukcja2;

Ja mam taką zasadę, że zawsze daję klamry przy instrukcjach sterujących. Wtedy taki kod wyglądałby tak:

if (warunek)
{
   instrukcja1;
}
instrukcja2;

Ale do tego Cię już nie będę specjalnie namawiał. Jeżeli uznasz, że tak Ci się podoba, to tak pisz :)

Podobne pytania

0 głosów
1 odpowiedź 73 wizyt
pytanie zadane 14 marca w Algorytmy przez Doge Gaduła (3,370 p.)
+1 głos
1 odpowiedź 232 wizyt
0 głosów
1 odpowiedź 387 wizyt
pytanie zadane 14 października 2021 w Algorytmy przez ramazin Nowicjusz (120 p.)

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...