Treść zadania

haslownik

ALGORYTMY, mam taki zestaw zadań do rozwiązania. Pomoże ktoś? Zadania w załączniku

Załączniki do zadania

Zadanie jest zamknięte. Autor zadania wybrał już najlepsze rozwiązanie lub straciło ono ważność.

Rozwiązania

  • antekL1

    [ Nie wiem, jakich słów używacie w "pseudokodzie" , przerób więc proszę
    to, co piszę, na terminy używane na wykładzie ]

    Zadanie 2.
    a)
    [ Algorytm: sprawdzamy, czy "a" jest parzyste, jeśli tak, to podstawiamy x = a,
    jeśli nie to x = a + 1. Potem dodajemy po 2 do "x" i sumujemy, aż x przekroczy "b" ]
    Znaczki // to komentarz. Słowa "kluczowe" wytłuszczam.
    Instrukcja "zwróć(...) oznacza wyjście z procedury z szukaną wartością sumy.

    ============================
    // "x" to liczby, które sumujemy.
    jeżeli ( (a % 2) = 0) to x := a w_przeciwnym_razie x := a + 1;

    // Ponieważ jak wynika z zadania mamy a < b
    // więc jeden z wyborów powyżej musi zaistnieć!

    suma := x;
    x := x + 2;

    // Jeśli x od razu przekroczy b to pętla niżej się nie wykona ani razu.
    // Dlatego dodajemy + 2 w tym miejscu powyżej.

    // Pętla
    powtarzaj
    {
    jeżeli x <= b to
    {
    suma := suma + x;
    x := x + 2;
    }
    koniec_jeżeli
    }
    koniec_powtarzaj

    zwróć(suma)
    =============================

    b)
    [ Algorytm: Patrzymy, czy a dzielone przez 3 daje resztę 1.
    Jeśli nie, to próbujemy a+1. Jeśli nie to próbujemy a +2,
    ale patrzymy, czy nie przekroczymy "b". A potem sumujemy w pętli, x := x + 3
    bo liczby o własnościach z zadania powtarzają się co 3. ]

    --------------
    x := a;
    jeżeli ( ( x % 3) = 1) to suma := x w_przeciwnym_razie
    {
    x := x + 1;
    jeżeli ( ( x % 3) = 1) to suma := x w_przeciwnym_razie
    {
    x := x + 1;
    // Zauważ, że "zwróć(0)" zaistnieje np. dla przedziału [a,b] = [2,3]
    // bo nie ma w nim odpowiedniej liczby. Dlatego taki warunek, jak niżej
    jeżeli ( x > b) to zwróć(0) w_przeciwnym_razie suma := x;
    }
    koniec_jeżeli // tego wewnętrznego
    koniec_jeżeli // tego początkowego

    // W tym momencie albo znaleźliśmy "x" z przedziału [a,b] spełniające warunek
    // albo wróciliśmy z procedury z wartością sumy równej zero.
    // Dodajemy + 3 do "x", podobnie jak w podpunkcie (a) zadania

    x := x + 3;

    // Pętla:
    powtarzaj
    {
    jeżeli x <= b to
    {
    suma := suma + x;
    x := x + 3;
    }
    koniec_jeżeli
    }
    koniec_powtarzaj

    zwróć(suma)
    =============================

    Proszę zamieść pozostałe zadania oddzielnie (po jednym)
    bo nie wiem, czy to, co napisałem powyżej Ci się przyda.
    Co do rysunków (i do pseudokodu też) - możesz proszę podać jakiś link,
    jak to robicie?

    Jeszcze uwaga do zadania 3:
    Czy można "zniszczyć" zawartość tablicy A[ ] ?
    Bo wtedy spełnić można łatwo polecenie "używając poprzedniej procedury"
    które jest w zadaniu. Bardzo "nieefektywny" algorytm, ale skoro takie jest polecenie...
    Normalnie średnią i wariancję liczy się "on line" sumując kwadraty danych
    i używając wzoru:

    wariancja = średnia_kwadratów minus kwadrat_średniej

    W razie pytań pisz proszę na priv.

Podobne zadania

Vampirina Wie ktoś jak w Excelu podać liczę znaków imienia. Mam taki przykład : Przedmiot: Informatyka / Studia 2 rozwiązania autor: Vampirina 31.5.2015 (16:03)

Podobne materiały

Przydatność 65% Algorytmy

Prezentacja o algorytmach. Raczej na poziomie podstawowym.

Przydatność 50% Algorytmy i programowanie

Algorytmy i Programowanie Co to są algorytmy? Ogólnie określamy tym mianem wszelkie przepisy postępowania, które doprowadzają do uzyskania pożądanego efektu ? rozwiązania zadania. W potocznej mowie mówimy czasem o algorytmach postępowania niewiele mających wspólnego z komputerami, jednak dla informatyków algorytmy wiążą się nierozerwalnie z programowaniem. Nazwa algorytm...

Przydatność 75% Matura Wos-zestaw.

Sciaga na mature.

Przydatność 50% Zestaw pytań - logika

JEST TO ZESTAW PYTAŃ NA EGZAMIN

Przydatność 50% Algorytmy: Euklides, MIN, Sortowanie Binarne

Euklides: D: n,m ∑N; m ≤ n W: NWD(m,n) K1: Jeśli m=0 to NWD(m,n) := n i zakończ, K2: Jeśli m<>0 to r:= n Mod m; n:=m; m:=r; i wróc do K1 NWW := (m*n)/NWD MIN: D:a[1..n] – tablica liczb W:min – najmniejszy element K1: min:=a[i] K2: for i:=2 to n do then a[i]

0 odpowiada - 0 ogląda - 1 rozwiązań

Dodaj zadanie

Zobacz więcej opcji