Arbor [ Generaďż˝ ]
Piszemy Alogarytmy 2 L.O.
Cześć!!!
Sprawa z którą mam kłopot większości z was może wydać się banalna ale......
Koleś na infie zadał nam prace do domu. Mamy parysować blokowy i jeszcze za pomocą kodu schemat alogarytmów. Z obliczeniem NWD sobie poradziłem ale jak wygląda alegorytm do licznia średniej arytmetycznej 10 kolejnych liczb.
Jeśli pamiętacie to prosił bym o pomoc ^_^
qdlaty [ Junior ]
No kurde :) Algorytm :) Jak jeszcze nie masz to Ci dzisiaj w paincie narysuję przy odrobinie czasu :)
Arbor [ Generaďż˝ ]
Był bym wdzięczny. Ale nie jestem wybredny wystarczy jak mi napiszesz coś takiego podaj (a) podaj (b) Dopuki a<>b wykonuj jeżeli a>b to a:=a-b w przeciwnym wypadku b:=b-a NWD=a pisz (NWD) to było dal obliczenia NWD dla a,b
qdlaty [ Junior ]
Ok:> podaj(n) //ilosc liczb srednia := 0 ilosc := 0 Dopoki ilosc < n wykonuj czytaj(liczba) srednia := srednia + liczba ilosc := ilosc + 1 srednia := srednia / ilosc pisz(srednia)
qdlaty [ Junior ]
To liczy dla podanej ilosci liczb Jak chcesz moge napisac algorytm ktory liczy wszystkie dopoki nie napotka np. -1
Arbor [ Generaďż˝ ]
Sorry może masz racje ale ja tak patrze i sięzastanawiam....... czy to jest ten alegorytm o który mi chodzi. średnia 10 kolejnych liczb pażystych?? Musze się nad tym zastanowić
MOD [ Generaďż˝ ]
podaj(n) -ilosc liczb podaj(a)-pierwsza liczba (dzieki temu mozesz policzyc sume 10 kolejnych liczb parzystych od dowolnego miejsca np. od 20 do 40) srednia=0 i=1 dopoki i<n wykonuj (i jest licznikiem naszej petli) srednia=srednia+a/n a=a+2 i=i+1 pisz (srednia) Mozna to zrobic petla for ale nie wiem czy ja znasz.
MOD [ Generaďż˝ ]
sorry na poczatku i musi byc rowne 0. i=0
m6a6t6i [ hate me! ]
a wiec oto program liczacy średnia 10 kolejnych liczb pażystych : w c++ #include <stdio.h> main() int i,j; float suma=0; printf("Od ktorej liczby liczyc?"); scanf("%d", &j); for (i=j; i<j+11;i++) suma+=i; //lub suma=suma+i; printf("%f", suma\10); w pascalu var i,j : intger; suma : real; begin writeln('Podaj od ktorej liczby liczyc :'); readln(j); for i:=j to j+10 do suma:=suma+i; writeln(suma\10); end. mniej wiecej tak to by wygladalo. greetz.
qdlaty [ Junior ]
Nie przeczytałem dokładnie :)) To liczy srednia ze wszystkich podanych liczb :PP
Xox [ Centurion ]
A nie prościej tak? podaj liczbe od ktorej zaczać(n) pisz ( ((n+20) / 2) * 5 ) czyli 5n / 2 + 10 zakladam ze podana liczba jest parzysta. Myśle jednak że Arbor coś przekręcił w treści zadania, bo to żaden algorytm tylko operacja arytmetyczna.
Arbor [ Generaďż˝ ]
Kurde widze że się wszyscy staracie. Xox------>>> Kolo na infie powiedział że to algorytm ma być. Ja sam naskrobałem coś takiego podaj (a) pierwsza liczba podaj (b) ostatnia liczba ( i terazmam kłopoty chce zrobić warunek że dopuki a\2 nie będzie należeć do zbioru liczb naturalnych to wykonywać akce a:=a+1 a potem to samo z b tylko że b:=b-1 a potem wzór na średnoą ś= (a+b)b\4 * 1\ coś nie wiem co wpisać w coś tam powinno być n czyli ilość liczb parzystych w przedziale a,b. czy coś takiego ujdzie ?????
Xox [ Centurion ]
Arbor --> Proponuje zebyś jeszcze raz podał dokładną treść zadania.
Arbor [ Generaďż˝ ]
Już sobie poradziłem tylko mam taki dylemat. Czy moge w schemacie blokowym napisać warunek a\2 należy do liczb całkowitych???????
Arbor [ Generaďż˝ ]
Albo zapytam się inaczej jak postawić warunek który będzie filtrrował liczby parzyste. Wiecie nie parzyste na lewo i poddajemy je akcji a:=a+1 i pentelka wraca do warunku a potem idzie dalej????
n0grav [ Konsul ]
if (a%2==1) a++;
n0grav [ Konsul ]
ewentualnie mozesz zrobic jeszcze inaczej, wogole wyzbyc sie warunku sprawdzania, ale jest to chyab srednio widziane przez "standardowych szkolnych" nauczycieli piszac a = a + (a % 2); zalatwiasz sprawe, tak powstanie napewno liczba parzysta (jesli byla nieparzysta to doda 1, jesli byla parzysta to pozostanie ta sama)
Arbor [ Generaďż˝ ]
Zdenerwowałem się koleś nie sprawdził. A co oznacza % w tym działaniu?????
Xox [ Centurion ]
n0grav --> Nie mąć mu w głowie taką składnią C++. Takie teksty nic nie mówią komuś kto dopiero uczy się programować (pewnie w Pascalu), więc nie chwal się znjomością skomplikowanych sposobów zapisu prostych rzeczy. Arbor --> Dwa sposoby: Pascal: if odd(n) then n:=n+1; C to co n0grav; Pseudo kod: if ( n jest nieparzysta ) then (n staje sie n+1);
n0grav [ Konsul ]
skomplikowana? gdy ja chodzilem do podstawowki to uczyli nas opercaji modulo, jesli Arbor jest w liceum czy jak to sie teraz nazywa, to chyba wie co to jes reszta z dzielenia ???? jesli (n modulo 2 == 1) to n=n +1 modulo to reszta z dzielenia przez 2, jakby jeszcze ktos nie wiedzial (wlasnie ten %) XoX: jesli to jest skomplikowane to ja juz nie wiem jak beda wygladaly dwuwymiarowe tablice np wskaznikow do funkcji ?
n0grav [ Konsul ]
no i ten drugi zapis a = a + (a mod 2)
Xox [ Centurion ]
n0grav --> Oj sorki. Pomyliłem Cię z m6a6t6i - to on pisał w dość zagmatwany sposób. Też pisałeś w C i myślałem że to ta sama osoba.