matematykaszkolna.pl
programowanie pascal: Witam moze ktos zna sie na pascalu i powie dlaczego ten programik ponizej nie działa prawidłowo tzn kompiluje sie bez błędów ale nie wyswietla minimum tylko konczy działanie po podaniu liczb: program minimum; var k,a,min:integer; begin writeln('Podaj ile chcesz podac liczb podaj conajmniej jedna liczbe'); readln(k); min:=a; while k>1 do begin write('Wprowadz liczbe'); readln(a); k:=k−1 end; if a < min then min:=a; begin write('Najmniejsza z podanych liczb to', min); end; end.
11 mar 17:39
Trivial: Pierwsze co rzuca się w oczy to to, że min ma losową wartość (chyba że Pascal domyślnie nadaje jakieś wartości niezainicjowanym zmiennym na stosie). Drugi problem to nieodpowiednio sparowane znaczniki begin−end w pętli while. Jako że nie znam w ogóle Pascala przedstawiam działający analog w języku C: #include <stdio.h> int main(void) { int k, a, min; puts("Podaj ile chcesz podac liczb podaj conajmniej jedna liczbe:"); scanf("%d", &k); puts("Wprowadz liczbe:"); scanf("%d", &min); while (k>1) { puts("Wprowadz liczbe:"); scanf("%d", &a); k = k−1; if (a < min) min = a; } printf("Najmniejsza z podanych liczb to %d!\n", min); return 0; }
11 mar 21:41
pascal: Ok dzięki popracuje z tym zaraz emotka
11 mar 21:59
pascal: A jeśli mógłbym mieć pytanie jeszcze bo mam tez do napisania program który przelicza liczbe dziesiętną na system dwójkowy myślałem tu nad zastosowaniem tablicy tzn tablica byłaby po to zeby zapisac do niej reszty z dzielenia liczby przez 2 czyli 0 albo 1 i pytanie jest takie jak to by mozna było zrealizowac i w jaki sposob zapełniało by mi tę tablice (zeby pozniej wyswietlic na ekran liczbe dwojkową prawidłowo)
11 mar 22:06
Trivial: Można to zrobić bez tablicy − po prostu wyświetlać kolejne liczby z dzielenia modulo.
11 mar 22:10
pascal: aha faktycznie ale zeby w odwrotnej kolejnosci to trzeba uzyc odpowiedniej pętelki no tak dzięki po raz drugi emotka
11 mar 22:14
Trivial: spoko. emotka
11 mar 22:26