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
Show 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
# Egy kis genetika
**Szorgalmi feladat Karsa Zoltántól**
. (extra pont: 2)
**Szorgalmi feladat Karsa Zoltántól**
. (extra pont: 2)
# Egy kis genetika
Genetikai kódunkat a következő 4 bázis alkotja:
Genetikai kódunkat a következő 4 bázis alkotja:
*
Adenin (A)
*
Adenin (A)
*
Citozin (C)
*
Citozin (C)
*
Guanin (G)
*
Guanin (G)
...
@@ -41,18 +40,19 @@ enum Bazis {
...
@@ -41,18 +40,19 @@ enum Bazis {
// Állapotgép publikis interfésze
// Állapotgép publikis interfésze
class
Allapotgep
{
class
Allapotgep
{
public
:
public
:
//
konfig fájl beolvasása, ha a fájl nem létezik/nem lehet megnyitni eldobja a NEPTUN-kódot
//
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
//
Újra felépíti az állapotgépet, a korábbit törli ha volt. Kezdő állapotba áll.
void
konfigural
(
const
char
*
fajlnev
);
void
konfigural
(
const
char
*
fajlnev
);
//
visszaadja melyik állapot aktív
//
Visszaadja melyik állapot aktív.
const
char
*
aktualisallapot
();
const
char
*
aktualisallapot
();
//
éppen elfogadó állapotban van az állapotgép
//
Elfogadó állapotban van-e az állapotgép.
bool
elfogad
();
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
);
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
);
bool
feldolgoz
(
const
Bazis
*
b
,
int
n
);
//
visszaállítás a kezdő állapotba
//
Kezdő állapotba visz
void
alaphelyzet
();
void
alaphelyzet
();
};
};
```
```
...
...
allapotgep.cpp
View file @
8a0db796
/**
/**
* \file allapotgep.cpp
* \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
* metódusait, valamint mindazon további osztályokat, melyek szükségesek
* a feladat megvalósításához.
* a feladat megvalósításához.
*
*
...
...
allapotgep.h
View file @
8a0db796
/**
/**
* \file allapotgep.h
* \file allapotgep.h
*
*
* Ebben a fájlban találja az Allapotgép osztály kezdeti definicióját
* Ebben a fájlban találja az Allapotgep osztály kezdeti definícióját és két segédfüggvényt.
* és két segédfüggvényt.
*
*
* A fájlt tetszés szerint m
údosíthatja, azzal a megkü
téssel, hogy
* 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
* nem hozhat létre globális függvényt és nem változtathatja az Allapotg
ep osztál
y
* publikus interfészét.
* 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.
* Ezt a fájlt be kell adni (fel kell tölteni) a megoldással.
*/
*/
...
@@ -31,36 +30,58 @@ enum Bazis {
...
@@ -31,36 +30,58 @@ enum Bazis {
};
};
/**
/**
* Állapotgép publikus interfésze
* Állapotgép publikus interfésze.
* A privát részt szabadon változtathatja, de a publikus részt
* A privát részt szabadon változtathatja, de a publikus részt ne változtassa, ne bővítse!
* ne változtassa, ne bővítse!
*/
*/
class
Allapotgep
{
class
Allapotgep
{
public
:
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
();
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
();
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
);
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
);
bool
feldolgoz
(
const
Bazis
*
b
,
int
n
);
//konfig fájl beolvasása
/**
void
konfigural
(
const
char
*
fajlnev
);
* Kezdő állapotba visz.
*/
//visszaállítás a kezdő állapotba
void
alaphelyzet
();
void
alaphelyzet
();
~
Allapotgep
();
~
Allapotgep
();
};
};
/**
/**
* Segédfüggvény, karakterből enummá konvertál
* Segédfüggvény, karakterből enummá konvertál
.
* @param
:
b - bázis 1 betűs jele
* @param
b - bázis 1 betűs jele
* @return
:
Bazis enum kontans
* @return Bazis enum kontans
*/
*/
inline
Bazis
cast
(
char
b
)
{
inline
Bazis
cast
(
char
b
)
{
char
k
=
tolower
(
b
);
char
k
=
tolower
(
b
);
...
@@ -76,10 +97,10 @@ inline Bazis cast(char b) {
...
@@ -76,10 +97,10 @@ inline Bazis cast(char b) {
}
}
/**
/**
* Segédfüggvény, Bazis konstansból karakterré konvertál
* Segédfüggvény, Bazis konstansból karakterré konvertál
.
* @param
: b - bazis enmu
konstansa
* @param
b - bazis enum
konstansa
* @param
:
upper - nagybetűs legyen-e
* @param upper - nagybetűs legyen-e
* @return
:
bázis 1 betűs jele
* @return bázis 1 betűs jele
*/
*/
inline
char
cast
(
Bazis
b
,
bool
upper
=
true
)
{
inline
char
cast
(
Bazis
b
,
bool
upper
=
true
)
{
char
ret
=
'0'
;
char
ret
=
'0'
;
...
...
genetika.cbp
View file @
8a0db796
...
@@ -30,11 +30,9 @@
...
@@ -30,11 +30,9 @@
</Target>
</Target>
</Build>
</Build>
<Compiler>
<Compiler>
<Add
option=
"-pedantic"
/>
<Add
option=
"-Wall"
/>
<Add
option=
"-Wall"
/>
<Add
option=
"-fexceptions"
/>
<Add
option=
"-std=c++11"
/>
<Add
option=
"-std=c++11"
/>
<Add
option=
"-Wall"
/>
<Add
option=
"-Werror"
/>
</Compiler>
</Compiler>
<Unit
filename=
"allapotgep.cpp"
/>
<Unit
filename=
"allapotgep.cpp"
/>
<Unit
filename=
"allapotgep.h"
/>
<Unit
filename=
"allapotgep.h"
/>
...
@@ -42,7 +40,10 @@
...
@@ -42,7 +40,10 @@
<Unit
filename=
"gtest_lite.h"
/>
<Unit
filename=
"gtest_lite.h"
/>
<Unit
filename=
"memtrace.cpp"
/>
<Unit
filename=
"memtrace.cpp"
/>
<Unit
filename=
"memtrace.h"
/>
<Unit
filename=
"memtrace.h"
/>
<Extensions
/>
<Extensions>
<code_completion
/>
<envvars
/>
<debugger
/>
</Extensions>
</Project>
</Project>
</CodeBlocks_project_file>
</CodeBlocks_project_file>
genetika_teszt.cpp
View file @
8a0db796
...
@@ -35,7 +35,7 @@ int main() {
...
@@ -35,7 +35,7 @@ int main() {
#endif // ELKESZULT > 0
#endif // ELKESZULT > 0
#if ELKESZULT > 1
#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
)
{
TEST
(
ParosTrimin
,
fajbolkonfig1
)
{
Allapotgep
gep
;
Allapotgep
gep
;
ASSERT_NO_THROW
(
gep
.
konfigural
(
"paros.txt"
));
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