Kezdőoldal » Számítástechnika » Programozás » Mi a különbség a két kód...

Mi a különbség a két kód között? (pascal, érettségi)

Figyelt kérdés

Ez a sajatom

[link]


Ez a hivatalos megoldas

[link]


Bemasolva a sajat programomba tokeletesen mukodik es en nem latok kulonbseget. Ez az utolso feladat a 2006 majusiba.


Segitsetek legyszi.



2015. aug. 19. 19:28
1 2
 11/18 A kérdező kommentje:

D

T

H

K

S

E

I

A

H

R

F

K

D

L


ez az elso par karaktere a tombnek most neztem hogy 9x fut le és inkrementalja a j-t 10-re es akkor dob ki a ciklusbol. a 10. karakter pedig pont az R szoval a while feltetelnek csak a <> 'R' resze teljesul a tobbit mintha nem is vizsgalna

2015. aug. 19. 20:48
 12/18 coopper ***** válasza:

Mint irtam nem jó a while feltételed.


Egy delphi consolos applikációba ültettem át a dolgot (és beirtam az elő karakterek közé két C betűt, illetve a végére egy R és egy V-betűt , hogy kilépjen), igy a #9-es hozzászólásomban levezetett feltétellel ( A Tiedhez képest az AND és az OR van megcserélve) tökéletesen működik. : [link]


Sok sikert.

üdv.

2015. aug. 19. 21:14
Hasznos számodra ez a válasz?
 13/18 A kérdező kommentje:

es tenyleg mukodik nagyon szepen koszonom


viszont egyaltalan nem ertem hogy miert. marmint mer kellett kicserelni az and-et es az or-t?


a repeat untilos feltetelt tudtam ertelmezni viszont ennek igy szamomra nincs sok ertelme ha tudnal fuzni meg hozza egy kis magyarazatot megkoszonnem

2015. aug. 19. 21:23
 14/18 coopper ***** válasza:

Elvileg a #9-es hozzászólásomban leirtam az untilból kiiindulva, de most hogy már meg van fogalmazva a feladat ezek alapján is végig lehet menni rajta :


"a feladat az hogy van ez a BSA tomb amiben egymas utan karakterek vannak es addig kene szamolnia a C karaktereket amig nem fut bele egy R karakterbe amit vagy egy 'A' vagy egy V' követ."


Tehát előltesztelős (While) ciklusnál a belépési feltételt kell megfogalmazni (és nem a kilépésit mint az until-nál) :


Tehát akkor lép be ha a vizsgált karakter nem 'R' (BSA[i]<>'R') ÉS az azt követő karakter pediglen nem 'A' (BSA[i+1]<>'A') VAGY nem 'V' (BSA[i+1]<>'V'), ellenkező esetben (tehát RA vagy RV karakterek esetén nem kell végrehajtani a ciklust)


Ha ezeket összerakod akkor megkapod a feltételt :

(BSA[i]<>'R') AND ((BSA[i+1]<>'A' OR BSA[i+1]<>'V'))



Üdv.

2015. aug. 19. 21:41
Hasznos számodra ez a válasz?
 15/18 coopper ***** válasza:

Látod ugyanabba a hibába kerültem mint Te (mivel a logika ezek szerint ezt diktálja) ugyanazt a rossz feltételt hoztam össze mint Te : (BSA[i]<>'R') AND ((BSA[i+1]<>'A' OR BSA[i+1]<>'V'))


Fogalmazzuk át : RA és RV ésetén nem hajtódik végre a ciklus vagy kilép a ciklusból :


NOT (((BSA[i]='R') and ((BSA[i]='A')) or ((BSA[i]='R') and ((BSA[i]='V')))


ha ezt a fenti egyenleted megoldod akkor kapod meg a feltételt (annyira már nem megy a logikai egyenletek megoldása) de szerintem az jön ki aminek kell.


Üdv.

2015. aug. 19. 21:48
Hasznos számodra ez a válasz?
 16/18 coopper ***** válasza:

Késő van, fáradok :


Ez a feltétel ezt kell megoldani :


NOT (((BSA[j]='R') and (BSA[j+1]='A')) or ((BSA[j]='R') and (BSA[j+1]='V')))


Üdv.

2015. aug. 19. 21:52
Hasznos számodra ez a válasz?
 17/18 A kérdező kommentje:

Köszönöm, értem.

Nagyon sokat segítettél.

2015. aug. 19. 22:54
 18/18 anonim ***** válasza:
2015. aug. 19. 23:48
Hasznos számodra ez a válasz?
1 2

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!