Wys³any: 2010-10-29, 20:44 Czego siÄ™ spodziewac ?
Tak sie zlozylo ze opuscilem troche zajec z programowania i niewiem na czym stoje, a tu niedlugo sie kolokwium szykuje. Moglby ktos napisac jakiego typu zadan spodziewac sie na kolosie ? I bylbym wdzieczny gdyby ktos mogl umiescic poprawnie napisany program liczący średnią itd. co byl ostatnio na lab, bo niewiem czy robie to tak jak pani doktor oczekuje.
Na kole najpewniej otrzymamy tak, jak obiecała:
a) polecenie napisania krótkiego kodu do rozwiązania danego problemu;
b) fragment kodu z błędami - będzie trzeba je "wykryć" i napisać, jak powinno być poprawnie;
Na pewno trzeba znać:
- strukturę/składnię/dotychczas poznane słowa kluczowe kodu programów w Delphi (Lazarus, Object Pascal);
- deklarowanie zmiennych, instrukcje przypisania, typy danych itd.;
- rekurencja, pętle warunkowe FOR, REPEAT, IF/ELSE (ich sposób działania, czym się różnią).
Powiedziała, że na swojej stronie wrzuci nam przykładowe zadania, te na kole będą się różnić nieco zmienionymi poleceniami/parametrami.
Poza tym można sobie przygotować "ściągę" ze składni Delphi, ale bez przykładów i fragmentów kodu - wcześniej jednak trzeba taką ściągę wysłać do niej mailowo, ona odpisze, czy akceptuje, czy nie, bo taka ściąga jest za szczegółowa. Każdy oczywiście musi mieć własną, podpisaną imieniem, nazwiskiem, nr indeksu.
Jak do kuxwy nędzy mam rozumieć zadanie 5:
"Napisz program wyświetlający te liczby, które są równe średniej arytmetycznej wszystkich liczb dodatnich. Na wejściu: dowolny ciąg liczb (zarówno dodatnich, jak i ujemnych)." ?
Przecież średnia arytmetyczna to jedna wartość, to co mam napisać ile w tym ciągu było liczb równych średniej czy WTF? Jakieś pomysły?
Masz to tak rozumieć, że musisz napisać program, który liczy średnią arytmetyczna z liczb dodatnich. I najlepiej wyswietl sobie to w labelu. A liczby wprowadzane powinny chyba znajdować się w memo. Następnie potem sprawdzasz po kolei liczby z memo czy są równe średniej to wyświetlasz np w drugim komponencie memo. A z kim masz laborki? bo jak z Dudycz, to dziś nasza grupa miała koło i mieliśmy napisac program liczący srednią arytmetyczną liczb podzielnych przez 7 lub 3. Miał on podać ilość wszystkich wpisanych liczb, sumę i średnią liczb spełniających warunek, a w razie gdyby żadna nie spełniała warunku wyświetlić komunikat" brak liczb spełniających warunek".
My na kolokwium mieliśmy zadanie polegająca na obliczeniu średniej arytmetycznej liczb podzielnych przez 3 i 7 oraz wyświetleniu sumy,i ilości wpisanych liczb. (nie podała co jest na wejściu,by każdy mógł wybrać czy chce mieć podaną ilość liczb, albo ciąg zakończony znakiem końca)
co trzeba było zrobić po wstawieniu komponentu TMemo(duże białe pole do wpisywania liczb) by było ono całkiem puste (nie ma tutaj jak w innych pola Caption, świta mi że robiliśmy coś innego tylko nie pamiętam co...)
co trzeba było zrobić po wstawieniu komponentu TMemo(duże białe pole do wpisywania liczb) by było ono całkiem puste (nie ma tutaj jak w innych pola Caption, świta mi że robiliśmy coś innego tylko nie pamiętam co...)
albo mozesz tez uzyc komenty memo1.lines.clear lub tez memo1.lines.delete(nr linijki ktora chcesz usunac)
Pierwsze 6 zadań z przykładowej listy:
(jeśli chodzi o 5te to nie jestem pewien czy dokładnie o to chodziło)
Reszta jest analogicznie - nie chce mi się robić.
procedure TPK_by_KF.BT_wyczyscClick(Sender: TObject);
begin
reset;
end;
procedure TPK_by_KF.BT_zadanie1Click(Sender: TObject);
begin
reset;
val(inputbox('Oblicz srednia arytmetyczna liczb [-100:200]', 'Ile liczb chcesz wprowadzic? (liczba calkowita > 0)',''), n, kod);
if n<=0 then begin showmessage('Ktorej czesci zdania "liczba calkowita > 0" nie rozumiesz?'); LB_wynik.caption:=''; end
else begin
for i:=1 to n do
begin
val(inputbox('Podaj kolejnÄ… liczbÄ™', 'Åšrednia jest liczona tylko z liczb z przedzialu [-100:200])',''), l, kod);
if (kod=0) and (l>=-100) and (l<=200) then begin
s:=s+l;
inc(d);
end;
end;
if d=0 then showmessage('Brak liczb spelniajacych warunek')
else begin
s:=s/d;
LB_opis.caption:='Åšrednia arytmetyczna wprowadzonych liczb z zakresu [-100:200]:';
LB_wynik.caption:=floattostr(s);
end;
end;
end;
procedure TPK_by_KF.BT_zadanie2Click(Sender: TObject);
begin
reset;
val(inputbox('Ile elementów zamierzasz wprowadzić?', 'Podaj ilosc elementów (liczba calkowita > 0)',''), n, kod);
if n<0 then showmessage('Której częsci zdania "liczba calkowita > 0" nie rozumiesz?')
else
begin
for i:=1 to n do
begin
val(inputbox('Podaj kolejny element', 'Zliczane sÄ… tylko liczby z przedzialu [-100:200]',''), l, kod);
if (l>=-100) and (l<=200) and (kod=0) then inc(d);
end;
if d=0 then showmessage('Brak liczb spelniajacych warunek')
else begin
LB_opis.caption:='Ze wszystkich wprowadzonych elementów, liczb z przedzialu [-100:200] bylo:';
LB_wynik.caption:=floattostr(d);
end;
end;
end;
procedure TPK_by_KF.BT_zadanie4Click(Sender: TObject);
begin
reset;
repeat
val(inputbox('Obliczanie sredniej arytmetycznej', 'Wprowadź liczbę calkowita (srednia liczona jest z ujemnych liczb podzielnych przez 3)', ''), c, kod);
if (c<0) and (c mod 3 = 0) then
begin
inc(d);
s:=s+c;
end;
until kod<>0;
if d=0 then showmessage('Brak liczb spelniajacych warunek')
else begin
s:=s/d;
LB_opis.caption:='Srednia arytmetyczna liczb calkowitych ujemnych i podzielnych przez 3:';
LB_wynik.caption:=floattostr(s);
end;
end;
procedure TPK_by_KF.BT_zadanie5Click(Sender: TObject);
begin
reset;
val(inputbox('Oblicz srednia arytmetyczna ', 'Ile liczb chcesz wprowadzic? (liczba calkowita > 0)',''), n, kod);
if n<=0 then begin showmessage('Ktorej czesci zdania "liczba calkowita > 0" nie rozumiesz?'); LB_wynik.caption:=''; end
else begin
setlength(t, n);
for i:=1 to n do begin
val(inputbox('Obliczanie sredniej arytmetycznej', 'Podaj liczbe: ',''), l, kod);
if l>0 then begin
t[i]:=l;
s:=s+l;
inc(d);
end;
end;
if d=0 then showmessage('Brak liczb spelniajacych warunek')
else begin
s:=s/d;
LB_opis.caption:='Åšrednia arytmetyczna wprowadzonych liczb dodatnich:';
LB_wynik.caption:=floattostr(s);
for i:=1 to n do begin
if t[i]=s then Me_1.Lines.add(floattostr(t[i]));
end;
end;
setlength(t, 0);
end;
end;
procedure TPK_by_KF.BT_zadanie6Click(Sender: TObject);
begin
reset;
val(inputbox('Wyszukam ci max i min', 'Wprowadź liczbę (wprowadzenie innego znaku zakończy wprowadzanie)', ''), l, kod);
if kod<>0 then begin
showmessage('Nie podano żadnej liczby');
exit;
end;
s:=l;
m:=l;
while kod=0 do begin
val(inputbox('Wyszukam ci max i min', 'Wprowadź liczbę (wprowadzenie innego znaku zakończy wprowadzanie)', ''), l, kod);
if (l>s) and (kod=0) then s:=l;
if (l<m) and (kod=0) then m:=l;
end;
LB_opis.Caption:='Maksimum: '+floattostr(s);
LB_wynik.Caption:='Minimum: '+floattostr(m);
end;
procedure TPK_by_KF.BT_zadanie7Click(Sender: TObject);
begin
reset;
val(inputbox('Minimum calkowite', 'Podaj liczbe elementow ciagu (liczba calkowita > 0)', ''), n, kod);
if n<=0 then showmessage('Której czesci zdania "liczba calkowita > 0" nie rozumiesz?')
else begin
for i:=1 to n do begin
val(inputbox('Podaj kolejnÄ… liczbÄ™', 'Minimum zostanie wybrane tylko z liczb calkowitych parzystych',''), c, kod);
if j=false then if (kod=0) and (c mod 2 = 0) then begin x:=c; j:=true; end;
if (kod=0) and (c mod 2 = 0) then begin
b:=true;
if c<x then x:=c
end;
end;
if b=false then showmessage('Brak liczb spelniajacych warunek')
else begin
LB_opis.caption:='Minimum z podanych liczb parzystych to:';
LB_opis.caption:=inttostr(x);
end;
end;
end;
initialization
{$I tak_koncza_frajerzy.lrs}
Nie mo¿esz pisaæ nowych tematów Nie mo¿esz odpowiadaæ w tematach Nie mo¿esz zmieniaæ swoich postów Nie mo¿esz usuwaæ swoich postów Nie mo¿esz g³osowaæ w ankietach Nie mo¿esz za³±czaæ plików na tym forum Mo¿esz ¶ci±gaæ za³±czniki na tym forum