Zadanie z algorytmów
-
- Użytkownik
- Posty: 25
- Rejestracja: 17 wrz 2006, o 12:50
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 2 razy
Zadanie z algorytmów
Cześć ! Mam mały problem z takim zadaniem z infy. Rzecz dotyczy algorytmów. Próbowałem już coś wymyślić ale nie wychodzi mi to za dobrze. Pomóżcie
Zapisz specyfikacje i narysuj schemat blokowy algorytmu pobierającego kolejne liczby naturalne
jedno cyfrowe dotąd jak ich suma przekroczy 30. Na wyjściu chcemy wiedzieć ile liczb zostało dodanych i i ich sumę.
Zapisz specyfikacje i narysuj schemat blokowy algorytmu pobierającego kolejne liczby naturalne
jedno cyfrowe dotąd jak ich suma przekroczy 30. Na wyjściu chcemy wiedzieć ile liczb zostało dodanych i i ich sumę.
-
- Użytkownik
- Posty: 174
- Rejestracja: 13 mar 2006, o 20:44
- Płeć: Mężczyzna
- Lokalizacja: Nowogard
- Podziękował: 33 razy
- Pomógł: 10 razy
Zadanie z algorytmów
co za problem -tworzysz zmeinna suma i licznik - pierwsza przechowuje aktualna sume wpsianych liczb, druga ich ilosc i za kazdym razem po podaniu liczy sprawdzasz czy suma nie przkeracza 30 jesli nie pobierasz od nowa liczbe , jesli tak to wyswietlasz wartosc licznika i sumy i konczysz dzialanie algorytmu
-
- Użytkownik
- Posty: 25
- Rejestracja: 17 wrz 2006, o 12:50
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 2 razy
Zadanie z algorytmów
Sorki wielkie ale ja jestem bardzo początkującym użytkownikiem i nie wszystko łapie. Chciałbym aby mi to ktoś podręcznikowo rozpisał. Tylko nie denerwujcie się na mnie.
- Calasilyar
- Użytkownik
- Posty: 2656
- Rejestracja: 2 maja 2006, o 21:42
- Płeć: Mężczyzna
- Lokalizacja: Wrocław/Sieradz
- Podziękował: 29 razy
- Pomógł: 410 razy
Zadanie z algorytmów
ustalasz sobie licznik np. "i"
1. ustawiasz na początku i=1
2. suma=1
3. i=i+1
3. sprawdzasz, czy i=30 (a tak nie jest, bo i=1+1=2)
4. suma=suma+i (tu: suma=1+1=2) - dodaje się kolejna naturalna
i tak dalej dopóki i=30. wtedy procedura się kończy.
1. ustawiasz na początku i=1
2. suma=1
3. i=i+1
3. sprawdzasz, czy i=30 (a tak nie jest, bo i=1+1=2)
4. suma=suma+i (tu: suma=1+1=2) - dodaje się kolejna naturalna
i tak dalej dopóki i=30. wtedy procedura się kończy.
- max
- Użytkownik
- Posty: 3306
- Rejestracja: 10 gru 2005, o 17:48
- Płeć: Mężczyzna
- Lokalizacja: Lebendigentanz
- Podziękował: 37 razy
- Pomógł: 778 razy
Zadanie z algorytmów
slawoj5 pisze:Zapisz specyfikacje i narysuj schemat blokowy algorytmu pobierającego kolejne liczby naturalne jedno cyfrowe dotąd jak ich suma przekroczy 30.
Skoro suma ma być obliczana dopóki nie będzie liczbą przekraczającą 30, to warunkiem kończącym powinno być nieCalasilyar pisze:(...)
3. sprawdzasz, czy i=30 (a tak nie jest, bo i=1+1=2)
4. suma=suma+i (tu: suma=1+1=2) - dodaje się kolejna naturalna
i tak dalej dopóki i=30. wtedy procedura się kończy.
i = 30
tylko:
suma
- Sokół
- Użytkownik
- Posty: 451
- Rejestracja: 17 wrz 2006, o 19:22
- Płeć: Mężczyzna
- Lokalizacja: Zielona Góra
- Podziękował: 15 razy
- Pomógł: 55 razy
Zadanie z algorytmów
to bedzie zwykle czepialstwo, ale coz, lubie toCalasilyar pisze:ustalasz sobie licznik np. "i"
1. ustawiasz na początku i=1
2. suma=1
3. i=i+1
3. sprawdzasz, czy i=30 (a tak nie jest, bo i=1+1=2)
4. suma=suma+i (tu: suma=1+1=2) - dodaje się kolejna naturalna
i tak dalej dopóki i=30. wtedy procedura się kończy.
otoz nie wolno zapisac i=i+1, bo to bedzie bzdura. W programowaniu przypisanie oznacza sie przez :=, czyli ma byc i:=i+1. Jesli cos pokrecilem, to sorry, pascal mi do reszty mozg przezarl
- Calasilyar
- Użytkownik
- Posty: 2656
- Rejestracja: 2 maja 2006, o 21:42
- Płeć: Mężczyzna
- Lokalizacja: Wrocław/Sieradz
- Podziękował: 29 razy
- Pomógł: 410 razy
Zadanie z algorytmów
matematycznie i w pascalu tak, ale w cpp taki zapis jest dobrySokół pisze:otoz nie wolno zapisac i=i+1, bo to bedzie bzdura
- Calasilyar
- Użytkownik
- Posty: 2656
- Rejestracja: 2 maja 2006, o 21:42
- Płeć: Mężczyzna
- Lokalizacja: Wrocław/Sieradz
- Podziękował: 29 razy
- Pomógł: 410 razy
- max
- Użytkownik
- Posty: 3306
- Rejestracja: 10 gru 2005, o 17:48
- Płeć: Mężczyzna
- Lokalizacja: Lebendigentanz
- Podziękował: 37 razy
- Pomógł: 778 razy
Zadanie z algorytmów
Nie tak dokładnie. Tzn w tym przypadku można zastąpić zapis
i = i + 1
poprzez
i++
i odwrotnie.
Ale już np wykonanie takiej linii kodu:
suma = suma + i++
będzie się różniło od takiej:
suma = suma + (i = i + 1)
Zapis i++ (postinkrementacja) oznacza, że zmienna i zostanie zinkrementowana dopiero po obliczeniu wykonaniu instrukcji wewnątrz której się znajduje. Stąd różnica.
Wyrażenie
i = i + 1
jest bardziej pokrewne temu:
++i
i = i + 1
poprzez
i++
i odwrotnie.
Ale już np wykonanie takiej linii kodu:
suma = suma + i++
będzie się różniło od takiej:
suma = suma + (i = i + 1)
Zapis i++ (postinkrementacja) oznacza, że zmienna i zostanie zinkrementowana dopiero po obliczeniu wykonaniu instrukcji wewnątrz której się znajduje. Stąd różnica.
Wyrażenie
i = i + 1
jest bardziej pokrewne temu:
++i
-
- Użytkownik
- Posty: 25
- Rejestracja: 17 wrz 2006, o 12:50
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 2 razy
Zadanie z algorytmów
Siemka postanowiłem w tym temacie dalej konsultować z wami proste przykłady algorytmów.
Oto następujący problem:
Napisz algorytm, który oblicza pole powierzchni trójkąta prostokatnego i jego obwód. Długości boków przy kącie prostym są podawane na wejściu algorytmu.
Ja bym to zaczął zapisywać tak:
1. Pobierz a, h,
2. (trzeba skorzystać z twierdzenia odwrotnego do twierdzenia pitagorasa) aby sprawdzić czy z tych odcinków da się stworzyć trójkąt prostokątny
3. Oblicz P = a*h / 2
4. Wypisz p
5. Z twierdzenia pitagorasa obliczyć przeciwprostokątną
6. Obliczyć obwód a+h+b = x
7. Wypisz x
8. Zakończ
Nie wiem jak zapisac punkt 2. I nie wiem czy mam dobrze sformułowany algorytm. Poparwcie mnie jak zobaczycie błędy.
Oto następujący problem:
Napisz algorytm, który oblicza pole powierzchni trójkąta prostokatnego i jego obwód. Długości boków przy kącie prostym są podawane na wejściu algorytmu.
Ja bym to zaczął zapisywać tak:
1. Pobierz a, h,
2. (trzeba skorzystać z twierdzenia odwrotnego do twierdzenia pitagorasa) aby sprawdzić czy z tych odcinków da się stworzyć trójkąt prostokątny
3. Oblicz P = a*h / 2
4. Wypisz p
5. Z twierdzenia pitagorasa obliczyć przeciwprostokątną
6. Obliczyć obwód a+h+b = x
7. Wypisz x
8. Zakończ
Nie wiem jak zapisac punkt 2. I nie wiem czy mam dobrze sformułowany algorytm. Poparwcie mnie jak zobaczycie błędy.
-
- Użytkownik
- Posty: 1179
- Rejestracja: 21 cze 2004, o 00:51
- Płeć: Mężczyzna
- Lokalizacja: krk
- Pomógł: 9 razy
Zadanie z algorytmów
jak na moj gust to nie istnieja takie liczby dodatnie, ktore nie moglyby byc przyprostokatnymi (bez zadnych zalozen dla przeciwprostokatnej oczywiscie)slawoj5 pisze: 2. (trzeba skorzystać z twierdzenia odwrotnego do twierdzenia pitagorasa) aby sprawdzić czy
- Amon-Ra
- Użytkownik
- Posty: 882
- Rejestracja: 16 lis 2005, o 16:51
- Płeć: Mężczyzna
- Lokalizacja: Tczew
- Pomógł: 175 razy
Zadanie z algorytmów
?slawoj5 pisze:2. (trzeba skorzystać z twierdzenia odwrotnego do twierdzenia pitagorasa) aby sprawdzić czy z tych odcinków da się stworzyć trójkąt prostokątny
Tak, jak pisze marshal - odcinki takie mogą być dowolne, oczywiście w granicach wyznaczonych przez maksymalną ilość pamięci, rezerwowaną dla zmiennej .
Reszta w miarę OK.