Dodaj do ulubionych

Co wydrukuje program??????

20.11.06, 17:06
Co wydrukuje to wiem bo wystarzczy skompilować. Ale chodzi mi oto jak do tego
dojść bez kompilacji.
#include <stdio.h>
int main ()
{
int x,y ;
x=4;
y=16;
while (x<y)
{
printf ("X: %d, Y: %d\n", x, y);
switch (x%3)
{
case 0:
x=2*x-1;
break;
case 1:
x--;
y--;
break ;
case 2:
x++;
break;
}
}
return 0;
}
Wielkie dzięki za wszelkie wskazówki
Obserwuj wątek
    • majkel33 Re: Co wydrukuje program?????? 29.11.06, 15:51
      Po pierwsze to zrób w kodzie porządne wcięcia. Wtedy analiza będzie dużo
      łatwiejsza. Po drugie zrób sobie tabelkę, w której będziesz miał takie kolumny:
      Krok pętli | X | Y | X%3

      I teraz analizę (na papierze) robisz tak:
      w każdej iteracji pętli while wypisujesz sobie jakie wartości przyjmują
      poszczególne zmienne. Przy czy y się nie zmienia - możesz go pominąć pamiętając
      tylko jego wartość. Wygląda to mniej więcej tak:

      Krok pętli | X | Y | X%3
      0 | 4 | 16 | 1
      1 | 3 | 16 | 0
      2 | 5 | 16 | 2

      itd.

      Przy każdym kroku widzisz, którą część kodu powinien wykonać program.
      Jeszcze raz podkreślam wagę wcięć przy analizie kodu.

      pozdrawiam

      Michał
      • majkel33 Re: Co wydrukuje program?????? 29.11.06, 15:52
        Y też się zmienia - niedopatrzenie! :)

        pozdrawiam

        Michał
        • erav2 Re: Co wydrukuje program?????? 29.11.06, 18:43
          dzięki za odp!!! Z tą tabelką to fajny pomysł i co najważniejsze już wiem jak
          to robić!!!. Jeszcze raz dzięki.

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka