Szkoły ETE im. Alberta Schweitzera

  • Increase font size
  • Default font size
  • Decrease font size
Start Projekty Fraktake
Fraktale

szyfr polialfabetyczny ze słowem kluczowym

Email Drukuj PDF

Rzutowanie

W języku C rzutowanie wyglądało w następujący sposób:

int zmienna_calkowita = (int)zmienna_rzeczywista;

W C++ nadal można używać takiego rzutowania, jest ono nazywane "rzutowaniem w stylu C". Oprócz tego C++ oferuje "rzutowanie w stylu funkcyjnym":

int zmienna_calkowita =int(zmienna_rzeczywista);

które działa dokładnie tak samo.

 
 
#include <iostream>
 
using namespace std;
 
int main()
{
    string klucz;
    string jawny, zakod;
    cout<<"podaj klucz"<<endl;
    cin>>klucz;
    cout<<"podajtekst do zakodowania"<<endl;
    cin>>jawny;
    int dlklucza;
    dlklucza=klucz.length();
    char tab[dlklucza+1][26];
    int kod, a, z;
    for(int i=0; i<26; i++)
    {
        tab[0][i]=(char)i+65;
        cout<<tab[0][i];
    }
    cout<<endl;
    for(int i=1; i<dlklucza+1; i++)
    {
       tab[i][0]=klucz[i-1];
       kod=(int) klucz[i-1];
       cout<<endl<<tab[i][0];
        for(int j=1; j<26; j++)
        {
           kod++;
           if(kod>90) kod-=26;
            tab[i][j]=(char) kod;
           cout<<tab[i][j];
        }
    }
    for(int i=0;i<jawny.length();i++)
    {
        a=i%dlklucza+1;
        z=(int)jawny[i]-65;
        zakod=zakod+tab[a][z];
    }
cout<<endl<<"takst zaszyfrowany   "<<zakod;
    return 0;
}

 

Poprawiony: wtorek, 03 grudnia 2019 22:41
 

SZYFR NONOALFABETYCZNY ZE SŁOWEM KLUCZOWYM

Email Drukuj PDF

SZYFR MONOALFABETYCZNY ZE SŁOWEM KLUCZOWYM

słowo kluczowe – KLUCZ

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

K

L

U

C

Z

A

B

D

E

F

G

H

I

J

M

N

O

P

Q

R

S

T

V

W

X

Y

I

N

F

O

R

M

A

T

Y

K

A

E

J

A

M

P

I

K

R

X

G

K

TABLICA   ASCII

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

 

#include <iostream>

using namespace std;
bool czy_byla(char a, string k)
{
int dl=k.length();
for(int i=0; i<dl; i++)
{
if(a==k[i])
{return 0;}
}
return 1;
}

int main()
{
string klucz;
string jawny, zakod;
cout<<"podaj klucz"<<endl;
cin>>klucz;
cout<<"podaj tekst do zakodowania"<<endl;
cin>>jawny;
int dlklucza=klucz.length();
string alfszyfrowy;
char znak,z;
/*string alfjawny;
for(int i=0; i<26; i++)
{
znak=(char)i+65;
alfjawny+=znak;

}
cout<<alfjawny<<endl;
*/

alfszyfrowy=klucz;
char ost=klucz[dlklucza-1];
int kod=(int) ost;
for(int i =0; i<26; i++)
{
kod++;
if(kod>90) kod-=26;
z=(char)kod;
if(czy_byla(z,klucz)==1)
{
alfszyfrowy+= z;
}
}
cout<<alfszyfrowy<<endl;
for(int i=0;i<jawny.length();i++)
{
z=(int)jawny[i]-65;
zakod=zakod+alfszyfrowy[z];
}
cout<<endl<<"takst zaszyfrowany "<<zakod;


return 0;
}

 

Quick sort implementacja

Email Drukuj PDF

#include<iostream>
using namespace std;


void quick_sort(int *tab, int lewy, int prawy)
{
if(prawy <= lewy) return;

int i = lewy - 1, j = prawy + 1,
pivot = tab[(lewy+prawy)/2]; //wybieramy punkt odniesienia

while(1)
{
//szukam elementu wiekszego lub rownego piwot stojacego
//po prawej stronie wartosci pivot
while(pivot>tab[++i]);

//szukam elementu mniejszego lub rownego pivot stojacego
//po lewej stronie wartosci pivot
while(pivot<tab[--j]);

//jesli liczniki sie nie minely to zamień elementy ze soba
//stojace po niewlasciwej stronie elementu pivot
if( i <= j)
//funkcja swap zamienia wartosciami tab[i] z tab[j]
swap(tab[i],tab[j]);
else
break;
}

if(j > lewy)
quick_sort(tab, lewy, j);
if(i < prawy)
quick_sort(tab, i, prawy);
}
int main()
{
int *tab, n;

cout<<"Ile liczb chcesz posortowac? ";
cin>>n;
tab = new int [n]; //przydzielenie pamięci na elementy tablicy
//wczytanie liczb
for(int i=0;i<n;i++)
cin>>tab[i];

quick_sort(tab,0, n-1);

//wypisanie posortowanych elementów
for(int i=0;i<n;i++)
cout<<tab[i]<<" ";


return 0;
}

Poprawiony: wtorek, 22 października 2019 20:59
 

Warsztaty ETE

Email Drukuj PDF

Dnia 28 października 2016 ambasadorowie projektu  "zaFRAKTALuj się" Mateusz i Michał przeprowadzili warsztaty dla zainteresowanych koleżanek i kolegów liceum ETE. Wcześniej sami uczestniczyli w zajęciach na Politechnice gdzie pod kierunkiem pana dr Katunina uczyli się jak generować fraktale na komputerze wykorzystując program ChaosPro. Teraz swoją wiedzę przekazali innym.

WP 20161028 007

Więcej zdjęć znajdziesz tutaj >>>> 

Poprawiony: poniedziałek, 31 października 2016 18:28
 

Fraktale

Email Drukuj PDF

W ubiegłym roku szkolnym część gliwickich szkół brała udział w międzynarodowym przedsięwzięciu matematycznym "Sierpiński Carpet Project". Kontynuując współpracę z Politechniką Sląską w bieżącym roku szkolnym Liceum Ogólnokształcące  ETE przystąpiło do nowego projektu "zaFRAKTALuj się". Jest to nowa inicjatywa popularyzatorska, promująca geometrię fraktalną. We wrześniu ambasadorowie projektu (wybrani uczniowie Michał i Mateusz, którzy będą przekazywać zdobytą wiedzę swoim koleżankom i kolegom) uczestniczyli w warsztatach, gdzie uczyli się na komputerze generować własne fraktale. Następnie zainteresowani uczniowie uczestniczyli w wykładach na Politechnice Śląskiej wraz ze swoimi nauczycielami matematyki. 

 
Fotorelacja z dzisiejszego wykładu jest dostępna na stronie projektu: http://zafraktalujsie.polsl.pl/pages/wyklady.html oraz na facebooku: https://www.facebook.com/media/set/?set=a.1479986805349980.1073741849.618335844848418&type=3. Można rozpowszechniać, lajkować, przepostowywać itd. :)
 


Strona 1 z 2

Licznik odwiedzin

Dzisiaj66
Yesterday293
Week1888
Miesiąc2238
Wszystkie309513

Currently are 13 guests online

Do końca roku szkolnego pozostało
...

Projekty

karuzelazjezykami

kolkohistgeo

fraktale

interblok

tutoring

wymianauslar1

bannerbezmaski

holandia

bannerkaruzela

ang 

ekg

 

Logo schools500reformation