Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Prog2
/
szorgalmi_feladatok
/
genetika
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
8a0db796
authored
Feb 21, 2021
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
typo, kommentek
parent
aa87218a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
61 additions
and
39 deletions
+61
-39
README.md
+9
-9
allapotgep.cpp
+1
-1
allapotgep.h
+44
-23
genetika.cbp
+6
-5
genetika_teszt.cpp
+1
-1
No files found.
README.md
View file @
8a0db796
# Egy kis genetika
**Szorgalmi feladat Karsa Zoltántól**
. (extra pont: 2)
# Egy kis genetika
Genetikai kódunkat a következő 4 bázis alkotja:
*
Adenin (A)
*
Citozin (C)
*
Guanin (G)
...
...
@@ -41,18 +40,19 @@ enum Bazis {
// Állapotgép publikis interfésze
class
Allapotgep
{
public
:
//
konfig fájl beolvasása, ha a fájl nem létezik/nem lehet megnyitni eldobja a NEPTUN-kódot
//
újra felépíti az állapotgépet, a korábbit törli ha volt
//
Konfig fájl beolvasása. Ha a fájl nem létezik/nem lehet megnyitni eldobja a NEPTUN-kódot.
//
Újra felépíti az állapotgépet, a korábbit törli ha volt. Kezdő állapotba áll.
void
konfigural
(
const
char
*
fajlnev
);
//
visszaadja melyik állapot aktív
//
Visszaadja melyik állapot aktív.
const
char
*
aktualisallapot
();
//
éppen elfogadó állapotban van az állapotgép
//
Elfogadó állapotban van-e az állapotgép.
bool
elfogad
();
//
beérkező bázis hatására, mi történjen
//
Az aktuális állapotnak és inputnak megfelelő következő állapotba léptet.
void
atmenet
(
Bazis
b
);
//a lánc feldolgozás után elfogadunk-e, nem áll vissza alaphelyzetbe
// Feldolgozza a paraméterként kapott bázissorozatot.
// Visszaadja, hogy elfogadó állapotba került-e. (Nem áll vissza kezdő állapotba.)
bool
feldolgoz
(
const
Bazis
*
b
,
int
n
);
//
visszaállítás a kezdő állapotba
//
Kezdő állapotba visz
void
alaphelyzet
();
};
```
...
...
allapotgep.cpp
View file @
8a0db796
/**
* \file allapotgep.cpp
*
* Ebben a fájlban kell megvalósítania az Allapotg
ép osztán
y
* Ebben a fájlban kell megvalósítania az Allapotg
ep osztál
y
* metódusait, valamint mindazon további osztályokat, melyek szükségesek
* a feladat megvalósításához.
*
...
...
allapotgep.h
View file @
8a0db796
/**
* \file allapotgep.h
*
* Ebben a fájlban találja az Allapotgép osztály kezdeti definicióját
* és két segédfüggvényt.
* Ebben a fájlban találja az Allapotgep osztály kezdeti definícióját és két segédfüggvényt.
*
* A fájlt tetszés szerint m
údosíthatja, azzal a megkü
téssel, hogy
* nem hozhat létre globális függvényt és nem változtathatja az Allapotg
ép osztá
y
* A fájlt tetszés szerint m
ódosíthatja, azzal a megkö
téssel, hogy
* nem hozhat létre globális függvényt és nem változtathatja az Allapotg
ep osztál
y
* publikus interfészét.
*
* Új osztályokat, típusokat felvehet
* Új osztályokat, típusokat felvehet
.
*
* Ezt a fájlt be kell adni (fel kell tölteni) a megoldással.
*/
...
...
@@ -31,36 +30,58 @@ enum Bazis {
};
/**
* Állapotgép publikus interfésze
* A privát részt szabadon változtathatja, de a publikus részt
* ne változtassa, ne bővítse!
* Állapotgép publikus interfésze.
* A privát részt szabadon változtathatja, de a publikus részt ne változtassa, ne bővítse!
*/
class
Allapotgep
{
public
:
//visszaadja melyik állapot aktív
/**
* Konfig fájl beolvasása. Ha a fájl nem létezik/nem lehet megnyitni eldobja a NEPTUN-kódot.
* Újra felépíti az állapotgépet, a korábbit törli ha volt. Kezdő állapotba áll.
* @param fajlnév - fájl neve
* @return -
* @exception fájl megnyitási hiba esetén NEPTUN_KÓD
*/
void
konfigural
(
const
char
*
fajlnev
);
/** Visszaadja melyik állapot aktív.
* @return pointer az aktív állapot nevére
*/
const
char
*
aktualisallapot
();
//éppen elfogadó állapotban van az állapotgép
/**
* Elfogadó állapotban van-e az állapotgép.
* @return true, ha elfogadó állapotban van
*/
bool
elfogad
();
//beérkező bázis hatására, mi történjen
/**
* Az aktuális állapotnak és inputnak megfelelő következő állapotba léptet.
* @param b - beérkező bázis, mint input
*/
void
atmenet
(
Bazis
b
);
//a lánc feldolgozás után elfogadunk-e
/**
* Feldolgozza a paraméterként kapott bázissorozatot.
* Visszaadja, hogy elfogadó állapotba került-e. (Nem áll vissza kezdő állapotba.)
* @param b - input sorozatra mutató pointer
* @param n - a sorozat hossza
* @return tru, ha elfogadó állapotba került
*/
bool
feldolgoz
(
const
Bazis
*
b
,
int
n
);
//konfig fájl beolvasása
void
konfigural
(
const
char
*
fajlnev
);
//visszaállítás a kezdő állapotba
/**
* Kezdő állapotba visz.
*/
void
alaphelyzet
();
~
Allapotgep
();
};
/**
* Segédfüggvény, karakterből enummá konvertál
* @param
:
b - bázis 1 betűs jele
* @return
:
Bazis enum kontans
* Segédfüggvény, karakterből enummá konvertál
.
* @param
b - bázis 1 betűs jele
* @return Bazis enum kontans
*/
inline
Bazis
cast
(
char
b
)
{
char
k
=
tolower
(
b
);
...
...
@@ -76,10 +97,10 @@ inline Bazis cast(char b) {
}
/**
* Segédfüggvény, Bazis konstansból karakterré konvertál
* @param
: b - bazis enmu
konstansa
* @param
:
upper - nagybetűs legyen-e
* @return
:
bázis 1 betűs jele
* Segédfüggvény, Bazis konstansból karakterré konvertál
.
* @param
b - bazis enum
konstansa
* @param upper - nagybetűs legyen-e
* @return bázis 1 betűs jele
*/
inline
char
cast
(
Bazis
b
,
bool
upper
=
true
)
{
char
ret
=
'0'
;
...
...
genetika.cbp
View file @
8a0db796
...
...
@@ -30,11 +30,9 @@
</Target>
</Build>
<Compiler>
<Add
option=
"-pedantic"
/>
<Add
option=
"-Wall"
/>
<Add
option=
"-fexceptions"
/>
<Add
option=
"-std=c++11"
/>
<Add
option=
"-Wall"
/>
<Add
option=
"-Werror"
/>
</Compiler>
<Unit
filename=
"allapotgep.cpp"
/>
<Unit
filename=
"allapotgep.h"
/>
...
...
@@ -42,7 +40,10 @@
<Unit
filename=
"gtest_lite.h"
/>
<Unit
filename=
"memtrace.cpp"
/>
<Unit
filename=
"memtrace.h"
/>
<Extensions
/>
<Extensions>
<code_completion
/>
<envvars
/>
<debugger
/>
</Extensions>
</Project>
</CodeBlocks_project_file>
genetika_teszt.cpp
View file @
8a0db796
...
...
@@ -35,7 +35,7 @@ int main() {
#endif // ELKESZULT > 0
#if ELKESZULT > 1
/// Azt vizsgálja, hogy be tudja-e olvasni a konfiguráiós fájlt
/// Azt vizsgálja, hogy be tudja-e olvasni a konfigurá
c
iós fájlt
TEST
(
ParosTrimin
,
fajbolkonfig1
)
{
Allapotgep
gep
;
ASSERT_NO_THROW
(
gep
.
konfigural
(
"paros.txt"
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment