Poprawność schematu blokowego.

0

Witam. Może ktoś powiedzieć dlaczego taki schemat blokowy kodu podanego poniżej jest niepoprawny (nie został on zaliczony na kolokwium)?

     
cin >> a;

    while(a != 1)
    {
        if(a % 2 == 0)
        {
            cout << a << endl;
            a = a / 2;
        }
        else
        {
            a = 3 * a + 1;
        }

    }

https://drive.google.com/file/d/0B4mpSGsrt2F9ZGFTdy1uQXlZM0U/view

0

Wydaje mi się że "cout << a" powinno być w bloku wejścia/wyjścia, poza tym brakuje "<< endl". A skoro piszesz "cout << a" to na początku powinienieś napisać "cin >>a".

0

Nie wiem czy to dlatego, ale zauważ że używasz tutaj notacji z 4 typami bloczków. Elipsy na start i stop, romby dla warunku i dwa które masz źle. Jeśli stosujesz prostokąt i równoległobok to równoległobok jest na I/O a prostokąt na obliczenia. Więc cin>> i cout<< powinny być w równoległoboku a obliczenia w prostokątach.

0

Upierdliwy prowadzący może się przyczepić jeszcze do kilku drobiazgów:

  • brak "żarówki" (sumatora wejść),
  • niektóre wiersze kończą się średnikiem, niektóre nie,
  • zrozumienie schematu wymaga znajomości dość specyficznych symboli cin i cout.

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