Kezdőoldal » Számítástechnika » Programozás » Röviden eltudná magyarázni...

Röviden eltudná magyarázni valaki a "Szóbeli" programozást? Bővebben lent.

Figyelt kérdés

Itt egy példa, mit is értek szóbeliként:

Az N értéke: 1


Valami(N):

A:=(0,…,0); M:=0

Ciklus i=1-től N-ig

j:=0

Ciklus amíg A(j)=1

A(j):=0; j:=j+1

Ciklus vége

A(j):=1

Ha j>M akkor M:=j

Ciklus j=M-től 0-ig -1-esével

Ki: A(j)

Ciklus vége

Ciklus vége

Eljárás vége.


Sajnos az egész egy kicsit érthetetlen számomra.

Pl.: Mit jelent ez a sor: "Ciklus i=1-től N-ig"?


Válaszaitokat előre is köszönöm!



2015. okt. 10. 09:55
 1/5 anonim ***** válasza:
100%

Ez az úgynevezett Pszeudo-kód, vagy nyelvfüggetlen kód (nak egy változata). Az indentálás (indentálás = behúzások, szóköz/tab) hiánya miatt nehezebb értelmezni.


Valami(N): - ez egy függvény. Valaminek hívják, és kap egy N változót paraméterként.

A:=(0,…,0); M:=0 - A egy tömb, nullákkal feltöltve, M egy nulla kezdőértékű változó

Ciklus i=1-től N-ig - Ez egy számlálós ciklus 1-től N-ig megy. (A népszerűbb programozási nyelvekben ez a for ciklus)

j:=0 - J változó nullával

Ciklus amíg A(j)=1 - előltesztelős ciklus. (While)

A(j):=0; j:=j+1

Ciklus vége - A legutóbbi ciklus itt ér véget (ez esetben ez a while-unk, két sorral feljebb)

A(j):=1

Ha j>M akkor M:=j

Ciklus j=M-től 0-ig -1-esével - for ciklus, csökkenő ciklusváltozóval

Ki: A(j)

Ciklus vége - az utóbbi for ciklus itt ér véget

Ciklus vége - a legelső (3. sorban) lévő ciklus itt ér véget

Eljárás vége. - az algoritmus itt ér véget.

2015. okt. 10. 10:04
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Köszönöm szépen a válaszod! :)


Annyi lenne még a kérdésem, hogy ha van egy ciklus:

(Ciklus i=1-től N-ig)

Ez azt jelenti, hogy a tömb 1. és az N sorszámú változóján futtassa végig a ciklust?


Ez az egy dolog amit nem értek. (Tudom kezdő vagyok)

Köszi előre is!

2015. okt. 10. 10:16
 3/5 anonim ***** válasza:

# 2/2 Időpont ma 10:16


"Ez azt jelenti, hogy a tömb 1. és az N sorszámú változóján futtassa végig a ciklust?"


Nem. Azt jelenti, hogy az elsőtől az N. számúig mindegyikre.


Arra viszont figyelj oda, hogy pszeudo-kódban szokás 1-től indexelni, programkódban viszont általánosságban 0-tól indexelünk.

Azaz ami pszeudo-kódban az első elem, az programkódban a nulladik.


Ezt a sort pedig kihagytam:

Ha j>M akkor M:=j - ez egy egyszerű IF/HA feltételvizsgálat. Ha j > M, akkor M értéke legyen j.


(:= értékadás. De nyelvenként változhat, hogy ott hogy megy. Delphiben :=, C++ nyelvben = az értékadás például)

2015. okt. 10. 10:23
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:

Rendben, akkor így már mindent értek.


Köszönöm szépen a segítségedet!

2015. okt. 10. 10:26
 5/5 anonim ***** válasza:

>> Valami(N):

Eljárás, függvény (későbbiekben csak fgv), metódus (ahogy tetszik) eleje, aminek a neve: Valami és egy N változót kap paraméterként. Ez az N egy érték, amit fgv. híváskor kell megadni. Az alábbi kódsor a fgv. definíció, azaz, hogy a Valami fgv. mit csinál.


>> A:=(0,…,0); M:=0

A változó jelen esetben egy 1 dimenziójú tömb, sor, vektor (ahogy tetszik).

M meg egy változó, ami jelen esetben 0-s értéket vesz fel.


>> Kipontoztam, hogy lehessen látni.

Ciklus i=1-től N-ig

... j:=0

... Ciklus amíg A(j)=1

... ... A(j):=0; j:=j+1

... Ciklus vége

... A(j):=1

... Ha j>M akkor M:=j

....Ciklus j=M-től 0-ig -1-esével

... ... Ki: A(j)

... Ciklus vége

Ciklus vége


>>> Ciklus i=1-től N-ig

Ciklus mint ismétlés. Azaz ha "Ciklus i=1-től 5-ig" szerepelne, akkor 5x fut le a kód, ami alatta van egészen a "Ciklus vége"-ig. Minden futás után, miután elérte a "Ciklus vége" részt úgy "i" értékén növel 1-el és kezdi elölről.


1. fután: i=1

2. fután: i=2

3. fután: i=3

4. fután: i=4

5. fután: i=5

6. futás nincs, mert túllépnénk az N értékén. Ha N-ek 5-t adnánk, fgv. híváskor. Így az N lehetne 200 is, csak akkor 200x futna le.


Megj.: Természetesen "j:=0" minden alkalommal felülírja az aktuális értékét!


>>> Ciklus amíg A(j)=1

Amíg az A tömb "j"-edik (A j-edik indexén lévő) értékre igaz az, hogy az 1-es, úgy futtassa le az alatta lévő kódot. (jelen esetben csak 2 utasítást tartalmaz)

Mivel az "A(j):=0"-t írunk, így a feltétel ami a ciklusban szerepel legközelebb hamis lesz, így a ciklus nem folytatódik. (Ha ezt nem írtuk volna oda, akkor végtelen ciklusról beszélünk, ami soha se ér véget.)

Majd az j értéken növelünk 1-et.


>> Ha j>M akkor M:=j

Érték összehasonlító. "j"-nek és "M"-nek is van saját értéke. Ha "j" nagyobb "M"-nél, akkor vegye fel az "M" változó "j" értékét.


>>>

Ciklus j=M-től 0-ig -1-esével

... Ki: A(j)

Ciklus vége

>>>

A tömböt olvassuk visszafele. Majd a "Ki: A(J)" gondolom a kiíratás akar lenni. (Azért a "Ki:" most, sok mindent lefed. :D terminálra/console-ra, papírra, fájlba, hálózaton ki... stb. Mondjuk nem is volt definiálva, hogy hova.)

2015. okt. 10. 10:28
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!