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
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
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
# 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