prosty przykład
Jak w Pascalu napisać program który policzy liczby wpisane!!
np. wpisze: 1 1 4 2 7 5 5 5
wpisałeś 2 – 1
wpisałeś 1 – 4
itp.
program powinien policzyć ile liczb zostało wpisanych.
Bardzo prosze o jakąś podpowiedź
np. wpisze: 1 1 4 2 7 5 5 5
wpisałeś 2 – 1
wpisałeś 1 – 4
itp.
program powinien policzyć ile liczb zostało wpisanych.
Bardzo prosze o jakąś podpowiedź
Odpowiedzi: 7
A jaką Ty wersję kompilatora posiadasz?
Opis sporządziłem dla DOSowego TP 7.0 od Borlanda, być moźe Twoja wersja nie wymaga implementacji modułu Crt – jeźeli tak, po prostu usuń tę linię z sekcji Uses.
Czy przedstawiony przeze mnie szkielet programu działa właściwie bez powyźszej instrukcji?
Opis sporządziłem dla DOSowego TP 7.0 od Borlanda, być moźe Twoja wersja nie wymaga implementacji modułu Crt – jeźeli tak, po prostu usuń tę linię z sekcji Uses.
Czy przedstawiony przeze mnie szkielet programu działa właściwie bez powyźszej instrukcji?
Zrobiłem kawałek ale jest jakiś błąd, prosze o sprawdzenie:
A TA OPCJA MI NIE CHODZI PODKREŚLA ŻE JEST BŁAD:
Uses Crt;
program histogram;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
wartosc,a0,b1,c2,d3,e4,f5,g6,h7,i8,j9:integer;
czy_koniec:boolean;
begin
ClrScr;
repeat
readln(wartosc);
czy_koniec:= false;
case wartosc of
1000:czy_koniec:=true;
0:a0:=a0+1;
1:b1:=b1+1;
2:c2:=c2+1;
3:d3:=d3+1;
4:e4:=e4+1;
5:f5:=f5+1;
6:g6:=g6+1;
7:h7:=h7+1;
8:i8:=i8+1;
9:j9:=j9+1;
end;
until czy_koniec;
ClrScr;
writeln('ilosc liczb rownych 0: ',n0);
writeln('ilosc liczb rownych 1: ',n1);
writeln('ilosc liczb rownych 2: ',n2);
writeln('ilosc liczb rownych 3: ',n3);
writeln('ilosc liczb rownych 4: ',n4);
writeln('ilosc liczb rownych 5: ',n5);
writeln('ilosc liczb rownych 6: ',n6);
writeln('ilosc liczb rownych 7: ',n7);
writeln('ilosc liczb rownych 8: ',n8);
writeln('ilosc liczb rownych 9: ',n9);
readln;
end.
A TA OPCJA MI NIE CHODZI PODKREŚLA ŻE JEST BŁAD:
Uses Crt;
gusioo:Nie lepiej delay() ?
Moźe być i delay, to juź od załoźyciela wątku zaleźy. Tylko niech wtedy zaprogramuje odpowiednio duźą wielkość.
Amon–Ra:Wtedy teź następuje wyświetlenie wyników – nie znikną one doputy, dopuki naciśnięty zostanie klawisz Enter (ReadLn na końcu kodu).
Nie lepiej delay() ?
Zaprogramuj prostą instrukcję REPEAT UNTIL, która powtarzana będzie n razy (np. bez końca lub do momentu naciśnięcia określonego klawisza). W strukturze pętli zaimplementuj moduł warunkowy (tutaj bardziej uzasadnione wydaje się uźycie instrukcji CASE zamiast IF, który będzie rozpoznawał liczby (mają być tylko jednocyfrowe czyli x = , czy dwucyfrowe takźe?) i zwiększał wartość wprowadzoną jako licznik liczb w razie jej napotkania. W praktyce mogłoby to wyglądać np. tak:
Dawno nie programowałem w Pascalu, zatem nie wiem, czy składnia poleceń jest całkowicie poprawna; w razie wątpliwości skorzystaj z pomocy kompilatora.
Tytułem wyjaśnienia – zastosowałem w programie linijkę postaci Until czy_koniec, która w istocie rzeczy powoduje przerwanie pętli w momencie osiągnięcia przez zmienną czy_koniec logicznej wartości 1 (true). Innymi słowy, pętla kończy się, gdy jako liczbę podasz 99. Wtedy teź następuje wyświetlenie wyników – nie znikną one doputy, dopuki naciśnięty zostanie klawisz Enter (ReadLn na końcu kodu).
Program Histogram;
Uses Crt;
Var wartosc : integer;
n0, n1, n2, n3, n4, n5, n6, n7, n8, n9 : integer;
czy_koniec : boolean;
Begin
ClrScr;
Repeat
ReadLn(wartosc);
czy_koniec := false;
Case wartosc of
99: czy_koniec := true;
0: n0 := n0+1;
1: n1 := n1+1;
2: n2 := n2+1;
3: n3 := n3+1;
/* ... i tak dalej aź do dziewięciu */
End;
Until czy_koniec;
ClrScr;
WriteLn('Ilosc liczb rownych 0: ',n0);
WriteLn('Ilosc liczb rownych 1: ',n1);
WriteLn('Ilosc liczb rownych 2: ',n2);
WriteLn('Ilosc liczb rownych 3: ',n3);
/* ... i tak dalej, aź do dziewięciu */
ReadLn;
End.
Dawno nie programowałem w Pascalu, zatem nie wiem, czy składnia poleceń jest całkowicie poprawna; w razie wątpliwości skorzystaj z pomocy kompilatora.
Tytułem wyjaśnienia – zastosowałem w programie linijkę postaci Until czy_koniec, która w istocie rzeczy powoduje przerwanie pętli w momencie osiągnięcia przez zmienną czy_koniec logicznej wartości 1 (true). Innymi słowy, pętla kończy się, gdy jako liczbę podasz 99. Wtedy teź następuje wyświetlenie wyników – nie znikną one doputy, dopuki naciśnięty zostanie klawisz Enter (ReadLn na końcu kodu).
Przepraszam, ale źle Cie zrozumiałem. Chcesz dostać coś w stylu statystyk. Tylko musisz określić ile tych liczb chcesz wpisać i w jakim przedziale one się będa znjadowały np. 1 do 100
Tutaj masz taki prosty programik, wczytuje cztery liczby, i wypisuje je na ekranie