» »

Diagram poteka, ki x izpiše x-krat

Diagram poteka, ki x izpiše x-krat

SLO_Matej ::

Pozdravljeni!

To šolsko leto imam prvič programiranje in za domačo nalogo moramo napisati diagram poteka, ki št. izpiše tolikokrat, kolikor je njegova vrednost. Sedaj pa me zanima, če mi zna kdo svetovati, kako bi napisal ta diagram poteka in tudi razlaga, bi bila zaželena. Potem pa moramo narediti še sled diagrama poteka za preizkus. To pa mislim, da bo šlo. Problem imam sedaj pri izdelavi diagrama.

LP

Matej

ERGY ::

Prvo ti pokaži kako bi naredil, potem ti bodo ostali svetovali naprej.

Zgodovina sprememb…

  • spremenilo: ERGY ()

SLO_Matej ::

Najprej v elipso napišeš npr. izpiši, nato v paralelogram vneseš spremenljivko x (je potrebno tukaj tudi pomožno?), nato pa ne vem kako bi nadaljeval. Zdi se mi, da bi bilo potrebno uporabiti zanko, vendar nisem prepričan kako.

black ice ::

Uporabiš for zanko?
for (int i=0; i<=x, i++) 

SLO_Matej ::

Ok, ampak ne rabim kode. Narediti moram le diagram poteka in sled diagrama. Primer nekega diagrama poteka na spodnji sliki. Torej, narediti moram nekaj takega. Da si lažje predstavljaš kako bi naredil program, kateremu vneseš št., npr. 4 in potem ti program štirikrat izpiše št. 4. Torej, le grafični diagram poteka in ne kode.

Diagram poteka

Zgodovina sprememb…

  • zavaroval slike: Primoz ()

black ice ::

No na tem primeru: daš tam, kjer imaš odgovor ne (i < x - izpiši še enkrat), kjer imaš odgovor da pa (i = x in nadaljuješ).

Samo moje laično mišljenje.

st0jko ::

Evo moje srednješolsko (ne)znanje programiranja. ;((

keks?

Zgodovina sprememb…

  • zavaroval slike: Primoz ()

SLO_Matej ::

Živjo, spet. :)

Hvala za pomoč. Sem naredil ta diagram poteka. :D Sedaj pa me zanima, če sem ga naredil prav.

 Diagram poteka programa - x izpiši x-krat

Diagram poteka programa - x izpiši x-krat



LP

Infinity ::

tole se ti bo zaciklal ker nikjer ne povečuješ i-ja

SLO_Matej ::

Kje pa morem povečati in zakaj sploh? Mi lahko malo razložiš zakaj in kje?

st0jko ::

Kot vidiš sem jaz v svojem primeru na mesto i dal y, in mu na začetku nastavil vrednost 0. Potem vsakič ko izpišeš x, y povečaš za 1(y++). Potem preveriš če je y = x, in če je, zanko zaključiš, sicer ponovno izpišeš x in y povečaš še za 1.
keks?

Zgodovina sprememb…

  • spremenil: st0jko ()

WarpedGone ::

Moram te pohvalit, da se vsaj trudiš sam rešit. Prepogosta praksa je, da folk pričakuje komplet rešitev, katero bo lahko oddal.

V tvojem primeru je logika programa po človeško povedana: X izipiši tolikokrat, kolikor je X velik. Vendar če hočeš vedet kdaj končat, moraš vedet kolikokrat si X že izpisal oz. kolikokrat ga še moraš.
Imaš dve enakovredni možnosti:
- ali je števec izpisov na začetku 0 in ga ob vsakem izpisu X povečaš za 1 in nato preveriš, ali si ga že izpisal X-krat
- ali pa je na začetku števec enak Xu in ob vsakem izpisu X-a števec 1 zmanjšaš. Ko prideš na 0 nehaš
Zbogom in hvala za vse ribe

Lion29 ::

1. zacetek

2. VNESI x
3. i = 0

4. i = i + 1

5. IZPISI x

6. ALI JE i enak x
|
| ---------- NE -> pojdo na 4.
|
DA
|
7. KONEC



To je pravilni algoritem.... v bistvu je logicno zelo preprost... samo sledi diagramu. V prvem koraku recimo vneses za X stevilko 5...
v drugem dolocis I-ju 0;

nato i-ju pristejes 1 (da dobis stevilko 1).... in izpises x (20)... potem preveris ce je i (ki je v tem koraku 1) enak X-u (20)ker ni, mora algoritem izvajanje ponoviti tam ko i-ju pristeje 1. Ker ima sedaj i ZE vrednost 1, bo ob dodatku +1 imel vrednost 2... spet gre preverit ali je i (2) enak X (20) in ker ni, bo spet sel pristevat 1... to bo izvajal toliko casa, dokler i nebo cisto enak X (20)... ko bo pogoj izpolnjen se koda neha izvajat
Founder and CTO @ Article-Factory.ai

SLO_Matej ::

Mogoče takole?
 Diagram poteka programa - x izpiši x-krat (2.)

Diagram poteka programa - x izpiši x-krat (2.)

st0jko ::

Ni ok. Poglej si moj primer nekaj postov višje!
keks?

Lion29 ::

stojko... tvoj je napacen, ker bo (x+1) krat izpisal x
Founder and CTO @ Article-Factory.ai

st0jko ::

Si prepričan? Meni se zdi prav. :|

popravek: No.. Prav je samo če za x ne vpišeš 0 :)
keks?

Zgodovina sprememb…

  • spremenil: st0jko ()

Lion29 ::

pa pejdi delat... torej x=5


0..izpise 5
1. izpise 5
2. izpise 5
3. izpise 5
4. izpise 5
5. izpise 5

kolko krat je to 5?
Founder and CTO @ Article-Factory.ai

st0jko ::

Petič ne izpiše več x. Ko vidi da je y=x takoj konča izvajanje, ne izpiše še enkrat.

0) izpiše 5, y = 1; x=y je false
1) izpiše 5, y = 2; x=y je false
2) izpiše 5, y = 3; x=y je false
3) izpiše 5, y = 4; x=y je false
4) izpiše 5, y = 5; x=y je true
end

Edini problem je, če za x daš 0, takrat enkrat že izpiše x, in potem x ne bo več nikoli enak y, in x se bo izpiseval v nedogled. To rešiš tako, da že preden prvič izpišeš x, dodaš pogoj (x=y?) in že takrat končaš program, če sta enaka.
keks?

Lion29 ::

problem je, ker ti izpises preden preveris, ce je y=5, torej izpises 6-ic in potem zakljucis
Founder and CTO @ Article-Factory.ai

SLO_Matej ::

Mi zna potem kdo povedati kaj naj popravim pri diagramu poteka ali pa da mi kar on popravi na diagramu (npr. v Slikarju ali čem podobnem)? Da potem vidim, kakšen diagram je in ga z vašo pomočjo poskušam razumeti.

technolog ::

Evo sm ti jst naredu uslugo pa sm ti naredu kako more zgledat:

http://progchart.co.cc/

ime: test1
geslo: ljudje

Potem pa odpri datoteko "Programcek". Lahko tud klikneš "Shrani in zaženi", da vidiš kako deluje. Lah klikneš tud na zavihek spremenljivke, da vidiš kako se program izvaja.

Zgodovina sprememb…

SLO_Matej ::

Aha, sedaj mi je tole že nekoliko bolj jasno. :) Še malo vaje, pa mislim, da bo. :D

Hvala technolog.

technolog ::

Ni problema :) Sam še preriš tole na list.

Dovolim ti, da še naprej uporabljaš tale account (jst sm itak to zadevo sprogramiral). Mal si poglej še druge programčke, k jih maš. Boš v prednosti pred sošolci :) Pa pod "Pomoč" maš en pdf k razloži zadevo.

Moje mnenje je, da se da prek tega zelo dobro razvit programersko logiko. Mislu sm it enkrat na Vegovo in ponudit zadevo zastonj v uporabo, pa pol nism mel časa. Tako da lah pokažeš sošolcem pa pol men reč, da jim naredim gesla pa račune al pa teb dam šolsko kodo.

Zgodovina sprememb…

SLO_Matej ::

Ok, res ti hvala še enkrat. :D Sicer mi je eden izmed sošolcev že pomagal ustvariti diagram poteka, ker je bilo za domačo nalogo do včeraj. Vendar sem ga sedaj še nekoliko bolj razumel, ko sem videl tole in tudi v prihodnosti mislim, da mi bo znalo priti prav. Če bo še kdo potreboval pomoč, pa ti bom sporočil za uporabniški račun. :)

Lep dan želim :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# (strani: 1 2 )

Oddelek: Programiranje
9712032 (8867) Ericssony
»

[C++] Dve malo težji nalogi

Oddelek: Programiranje
162230 (1846) roli
»

Pomoc pri C++

Oddelek: Programiranje
51281 (1186) Reliant
»

čitaj X, izpiši x??? KAJ???

Oddelek: Programiranje
181791 (1456) Baja
»

Programerska naloga. A ne vem no.

Oddelek: Programiranje
61250 (1050) noraguta

Več podobnih tem