Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Liczby podzielne przez 7,8,9

Lucas0495 03 Sty 2012 19:42 2582 11
  • #1 03 Sty 2012 19:42
    Lucas0495
    Poziom 9  

    Witam,
    mam napisać algorytm który w liczbie zakresie 1-100 wykaże wszystkei liczby podzielne przez 7,8,9. Program ma być zrobiony w pascalu. Wie ktoś jak zrobić taki program?

    0 11
  • #4 03 Sty 2012 20:30
    Lucas0495
    Poziom 9  

    Dzięki, spróbóję teraz być może się uda :) bo mam okropne problemy z tym programowaniem :/

    Dodano po 26 [minuty]:

    Jeśli nie zajmie wam to dużo czasu to proszę o napisanie tego programu chociaż mały szkielet. Mi udsało się stworzyć coś takiego:

    Code:
    program podzielne;
    
    var
      a, i, : real;

    begin
      if i mod a=0 then writel(' liczba ',i,' jest podzielna przez ',a);
    end;
     
    begin
      writeln('Program podaje liczby podzielne przez twoja liczbe');
      write('Podaj liczbe: ');
      readln(i);
      write('Podaj zakres liczb ');
      readln (a);
    end.


    Dodano po 1 [minuty]:

    oczywiście nie działa

    0
  • #5 03 Sty 2012 21:13
    excray
    Poziom 39  

    program podzielne; - gdzie wywołałeś ten program w pętli głównej? Nigdzie.
    var
    a, i, : real; - czemu real?

    begin
    if i mod a=0 then writel(' liczba ',i,' jest podzielna przez ',a);
    end;

    begin
    writeln('Program podaje liczby podzielne przez twoja liczbe');
    write('Podaj liczbe: ');
    readln(i);
    write('Podaj zakres liczb '); - jak to zakres? jak ktoś Ci wpisze "1-200" albo "1..200" albo "1,2,3,5-8,11..23" to jak myślisz co się stanie? zmienna a przyjmuje tylko liczby przecież a Ty przecież nie napisałeś dokładnie o co Ci chodzi z tym podaniem zakresu liczb.
    readln (a);
    - i co teraz? Pobrałeś dane i co chcesz z nimi zrobić? Zrób to co Ci pisaliśmy.
    end.

    0
  • Pomocny post
    #6 03 Sty 2012 21:53
    Krzysztof Gustaw
    Poziom 23  

    Witam!
    Trzeba zrobić w oparciu o ten szkielet:

    Kod: pascal
    Zaloguj się, aby zobaczyć kod


    Dodano po 54 [sekundy]:



    Dodano po 1 [minuty]:

    Oops...
    zadeklarowałem zmienną "i" a powinno być "a"...
    sorry
    K.G.

    0
  • Pomocny post
    #7 03 Sty 2012 22:48
    excray
    Poziom 39  

    W zasadzie to ta funkcja nigdy nic nie zwróci bo NWW dla 7,8 i 9 to 7*8*9 czyli 504. Ale można to zrobić tak:

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    Szkoda że musieliśmy dać Ci rybę zamiast wędki...

    0
  • #8 03 Sty 2012 22:50
    Lucas0495
    Poziom 9  

    @excray jestem początkujący i jak mówiłem nie za bardzo to rozumiem ale dzięki za surową i pouczającą odpowiedź :D Myślę że to mnie zmobilizuje to poznawania pascala bo to jest oznaką mojej nie wiedzy :D i Dzięki za algorytmy

    0
  • #9 03 Sty 2012 22:53
    excray
    Poziom 39  

    Lucas0495 napisał:
    dzięki za surową i pouczającą odpowiedź

    Surowy to ja nigdy nie jestem. Jeśli to tak zabrzmiało to czyste nieporozumienie. Po prostu wolę naprowadzać niż dawać gotowce.

    0
  • #10 03 Sty 2012 23:08
    Lucas0495
    Poziom 9  

    może takie wrażenie :D jeśli Cię uraziłem to przepraszam :D

    0
  • #11 06 Sty 2012 18:15
    Flaman11
    Poziom 17  

    Definiujesz zmienne typu byte.
    W pętli FOR w zakresie "a" od 1 do 100 wykonujesz:
    dla liczb podzielnych przez 7: a/7= _a i sprawdzasz czy podzielna w ten sposób: _a*7-a=b,w funkcji warunkowej piszesz jeżeli b=0 to wyświetl a. Tyle ;D

    0
  • #12 09 Sty 2012 20:06
    redie
    Poziom 15  

    To ja dodam algorytm bez operacji dzielenia, modulo ani mnożenia.
    Warunkiem wykorzystania algorytmu jest to, że z góry trzeba znać zakres w jakim się poszukuje liczb.

    Tworzysz tabelę byte od 1 do 100. Zerujesz ją. Uznajesz że indeks 1 reprezentuję liczbę 1, a indeks 2 liczbę 2 itd. Dla każdej wielokrotności liczby 7 inkrementujesz zawartość tablicy. Dla każdej wielokrotności liczby 8 też, i dla 9 też.
    Otrzymujesz tabelę w której niektóre liczby mają wartść 3. Indeksy tych liczb to liczby podzielne przez 7,8 i 9.

    Poniżej działający przykład w Delphi.

    Kod: delphi
    Zaloguj się, aby zobaczyć kod

    0