chyba problem!

0

czwsc!!
napisałem program a facet od informatyki mówi że zły bo jka isę wpisuje 0 to przeba wymienic 155 liczb?dlaczego??
Program SchematHornera;
Uses Crt;

Var
{indeks, podstawa ukladu, dlugosc rozwiniecia}
I, P, N : Byte;
{kolejny wspolczynnik}
A : 0..9;
{wynik}
Wynik : LongInt;
s:string;
label
start;
Begin
start:
ClrScr;
textcolor(white);
Write('Podaj podstawe ukladu liczenia i= ');
ReadLn(P);
Write('Podaj ilosc cyfr rozwiniecia n= ');
ReadLn(N);
Dec(N);
textcolor(yellow);
writeln;
writeln;
writeln;
writeln;

WriteLn(' Podaj kolejno wszystkie wspolczynniki a(i): ');
Write('a(', n, ')=');
ReadLn(A);
Wynik:=A;
For I:=1 To N Do
Begin
Write('a(', n-I, ')=');
ReadLn(A);
Wynik:=i*Wynik+A;
End;

WriteLn('Wartosc dziesietna : ', Wynik);
TEXTCOLOR(GREEN);
writeln;
writeln;
writeln;
writeln;

Write(' PROSZE NACISNAC KLAWISZ E N T E R !!!! ');
ReadLn;
writeln;
writeln;
writeln;
writeln;
Writeln( 'Czy chesz zakonczyc dzialanie programu ?? [T=Tak, N=Nie]');
Readln(S);
if (S = 'N') or (S = 'n') then goto Start;
end.

0

Nie 155 razy a 255 razy.

Zwróć uwagę na to co dzieje się ze zmienną N jeśli użytkownik poda 0 (zero). Jest ona decrementowana o 1 (Dec(N)). Kilkanaście linii dalej jest pętla for i := 1 to N. I tu tkwi problem. Zmienna N jest typu Byte. Byte to liczby 0..255. Jeśli jakaś zmienna typu Byte = 0 i zmniejszymy ją o jeden, zostanie przekroczony zakres i osiągnie ona wartość maksymalną, czyli 255 ! Wówczas instrukcje w pętli FOR zostaną wykonane 255 razy !

0

Sugeruję wykonać sprawdzenie poprawności podawanej liczby. Jeśli podasz 0, to wedle woli niech wyrzuca komunikat, że zła liczba, albo niech zamienia na 1.

0

Wiecie co?? Wydaje mi sie że 4programmers zamiast rozwijania talentów w dziedzinie programowania, wzajemnej pomocy itd pomaga po prostu leniwym kolesiom, którzy uczą się na informatyków a w rzeczywistości nie mają o tym zielonego pojęcia. I TAKA JEST WŁAŚNIE WIĘKSZOŚĆ POLSKICH INFORMATYKÓW

(nie mówię o tych prawdziwych ;-) )

LUDZIE JEŻELI PROGRAMOWANIE TO DLA WAS TYLKO COŚ ZA CO DOSTANIECIE OCENE Z INFORMATYKI TO NIE WCHODŹCIE NA 4P. Szkoda naszego czasu a waszego zawodu.

// [browar] - Marooned

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