Prosty szyfrator i deszyfrator

Napisz program, który zaszyfruje słowa w obrazku.bmp, mając gotowy już wcześniej gotowy obraz bmp o wielkości 100px na 100px.

obraz 100 na 100

Słowa zapisane są jako obrazek bmp.

Szyfrator:

program szyfr;
var plik_z,plik_w:file of byte;
    i:word;
    x:byte;
    tekst:string;
begin
writeln('Podaj wyraz (do zaszyfrowania): ');
readln(tekst);
assign(plik_z,'c:\test\1.bmp');
assign(plik_w,'c:\test\2.bmp');
reset(plik_z);
rewrite(plik_w);
for i:=1 to 54 do
    begin
    read(plik_z,x);
    write(plik_w,x);
    end;
for i:=1 to length(tekst) do
    begin
    read(plik_z,x);
    write(plik_w,ord(tekst[i]));
    end;
for i:=55+length(tekst) to 30054 do
    begin
    read(plik_z,x);
    write(plik_w,x);
    end;
close(plik_z);
close(plik_w);
end.

Po szyfracji w lewym dolnym logu obrazka, piksele zmienią kolor. To Nasze literki zakodowane w RGB.

Nie można podawać znaku o wartości w ASCI 255.

Deszyfrator:

program deszyfr;
var plik_w:file of byte;
    i:word;
    x:byte;
    tekst:string;
begin
assign(plik_w,'c:\test\2.bmp');
reset(plik_w);
for i:=1 to 54 do
    begin
    read(plik_w,x);
    end;
repeat
read(plik_w,x);
write(char(x));
until x=255;
readln;
end.

Strona wyszukana na takie tagi:

  • Napisz program który zaszyfruje podany tekst ACII

Pascal obliczanie funkcji f(x)=(x+2)/(|x-1|-2) od -20 do 20

Program obliczający funkcję f(x)=(x+2)/(|x-1|-2) w przedziałach od -20 do 20, program sprawdza czy zaszło dzielenie przez 0.

Zamiast x jest i.
pn:=(x+2)
pd:=|x-1|
pd:=(pd-2)
y:=pn/pd

pn – licznik
pd – mianownik

program funkcja;
var i:integer;
    y,pn,pd:real;
begin
writeln('Program obliczający funkcję od -20 do 20. Naci˜śnij enter.');
readln;
for i:=-20 to 20 do
        begin
        pn:=i+2;
        pd:=i-1;
        if(pd<0) then pd:=-pd;
        pd:=pd-2;
        if(pd=0) then write('Zaszłˆo dzielenie przez 0 w ',i)
        else  begin
        y:=pn/pd;
        write('Wynik funkcji dla argumentu x=',i,' wynosi ',y:0:2);
        end;
        writeln;
        end;
readln;
end.

Strona wyszukana na takie tagi:

  • filo pascal program

Zamiana funkcji z ogólnej na kanoniczną oraz na odwrót

Program zamienia postać kanoniczną funkcji kwadratowej i zamienia ją na postać ogólną i na odwrót. Program wyświetla również parametry funkcji oraz postać iloczynową.

Program liczy między innymi:

  • Deltę
  • Wartość p
  • Wartość q
  • Wartość a, b i c
  • Dziedzinę
  • Zbiór wartości
  • Pierwiastki
  • Miejsca zerowe
  • f(x)>0 i f(x)<0 dla x
  • Funkcja rosnąca i malejąca w przedziałach
  • Wartość maksymalna i minimalna
  • Wierzchołek
  • Postać iloczynowa
#include <iostream>
#include <string>
#include <math.h>

using namespace std;

 double a, b, c, p, q, delta, x1, x2;
     int liczba;
     
     
     
void funkcje_programu()
{


      cout << endl << "----------------------------------------" << endl;
      cout << "[1] Licz postac kanoniczna z ogolnej." << endl;
      cout << "[2] Licz postac ogolna z kanonicznej." << endl;
      cout << "[0] Wyjdz z programu." << endl;
}

double pobierz(double liczba){
       while(!(cin>>liczba)){
            cout << "Podaj poprawna wartosc: ";
  cin.clear(); 
  cin.sync();}
  return liczba;
       }

void parametry()
{
         cout    << endl  << endl  << "Parametry:" << endl;
    
    cout << "Dziedzina: Rzeczywista" << endl;
    cout << "Zbior wartosci: <"; 
    if(a<0) cout << q << ",-oo)" <<  endl;
    else cout << q << ",+oo)" << endl;
    cout << "Pierwiastek z delty: " << sqrt(delta) << endl;
    cout << "Miejsce zerowe: ";
  if(delta > 0) 
  {
     x1 = (-b - sqrt(delta)) / (2*a);
     x2 = (-b + sqrt(delta)) / (2*a);
     cout << "x=" << x1 << " x=" << x2 << endl;
     
     cout << "f(x)>0 dla x: ";
     if(a>0) cout << "(-oo," << x1 <<"),(" << x2 << "+oo)";
     else cout << "(" << x1 << "," << x2 << ")";
        cout << endl << "f(x)<0 dla x: ";
     if(a>0) cout << "(" << x1 << "," << x2 << ")";
  else cout << "(-oo," << x1 <<"),(" << x2 << "+oo)";
     cout << endl;
     
     
  }else if(delta = 0)
  {
        cout << "x=" << p << endl;
        cout << "f(x)>0 dla x: ";
        if(a>0) cout << "Zbior Rzeczywisty / {" << p <<"}";
        else  cout << "Zbior Pusty";
        
        cout << endl << "f(x)<0 dla x: ";
       if(a>0)  cout << "Zbior Pusty";
       else cout << "Zbior Rzeczywisty / {" << p <<"}";
        
        
}else
{
     cout << "Brak miejsc zerowych!" << endl;
     cout << "f(x)>0 dla x: ";
    if(a>0) cout << "Zbior Rzeczywisty";
        else  cout << "Zbior Pusty";
        
        
          cout << endl << "f(x)<0 dla x: ";
        if(a<0) cout << "Zbior Rzeczywisty";
        else  cout << "Zbior Pusty";
     
}

    cout<<endl << "Funkcja rosnaca: "; 
    if(a<0) cout << "(-oo," << p << ">" << endl;
    else if(a>0) cout << "<" <<  p  <<",+oo)" << endl;
    cout << "Funkcja malejaca: "; 
    if(a>0) cout << "(-oo," << p << ">";
    else if(a<0) cout << "<" <<  p  <<",+oo)";
    cout << endl;
    if(a<0) cout << "Wartosc minimalna: ";
    if (a>0) cout << "Wartosc maksymalna: "; 
      cout << "y=" << q << " dla x=" << p << endl;
      cout << "Wierzcholek: (" << p <<","<< q << ")"<< endl;
     cout << "Postac iloczynowa: ";
     if(delta > 0) 
     {
     cout << "y=a(x";
      if(x1<0) cout << "+" << -x1 << ")";
      else cout << "-" << x1 << ")";
      if(x2<0) cout << "(x+" << -x2 << ")" << endl;
       else cout << "(x-" << x2 << ")" << endl;
              }
     else if(delta = 0)
     {
         if(p<0) cout << "y=(x+" << -p << ")2" << endl;
         else cout << "y=(x-" << p << ")2" << endl;
          } 
      else cout << "Postac iloczynowa nie istnieje!" << endl;
    
    

    
     }

void kanoniczna()
{
     cout << "y=ax2+bx+c -> y=a(x-p)2+q" << endl;
     cout << "Podaj wartosc a: ";
       a= pobierz(a);
cout << "Podaj wartosc b: ";
      b= pobierz(b);
cout << "Podaj wartosc c: ";
c= pobierz(c);

p = -b / (2*a);
delta = (b*b) - (4*a*c);
q = -delta / (4*a);
cout << "Wartosc p: " << p << endl;
cout << "Wartosc wyroznika trojmianu kwadratowego(delty): " << delta << endl;
cout << "Wartosc q: " << q << endl  << endl;
cout << "Postac kanoniczna: ";
   cout << "y=" 
        << a;
    if(p < 0) 
    {
  cout      << "(x+" << -p;
        }else
        {
cout        << "(x-" << p; 
             }
     if(q < 0) cout << ")2-" << -q ;
        else cout <<")2+" << q;
        parametry();
        
}

void ogolna()
{
 string wzor;
 cout << "y=a(x-p)2+q -> y=ax2+bx+c" << endl;
 cout << "Podaj a: ";
     a= pobierz(a);
 cout << "Podaj p: ";
p = pobierz(p);
 cout << "Podaj q: ";
q= pobierz(q);
 
 b = -2*(p*a);
 delta = (-4)*(a*q);
 c = delta / ((b*b) + 4*a);
 
 cout << "Wartosc b: " << b << endl;
 cout << "Wartosc wyroznika trojmianu kwadratowego(delty): " << delta << endl;
 cout << "Wartosc c: " << c << endl << endl;
 cout << "Postac ogolna: ";
 cout << "y=" << a << "x2";
if(b>0) cout << "+" << b;
 cout << b << "x";
if(c>0) cout << "+"; 
cout << c;
   
 parametry();
}
int main()
{
cout << "Kalkulator liczacy postac kanoniczna z ogolnej i odwrotnie(z parametrami)" << endl;
cout << "by Jasiek65" << endl;
cout << "--------------------------------------" << endl; 
 cout << "y=ax2+bx+c -> y=a(x-p)2+q  ->  y=ax2+bx+c" << endl;

    
    cout << "W programie dostepne sa nastepujace opcje: " << endl;
    do 
    {
         funkcje_programu();
          cout << "Wybierz opcje(podaj liczbe): ";
          cin >> liczba;
          switch ( liczba )
          {
          case 1:
               kanoniczna();
               break;
          case 2:
               ogolna();
               break;       
          }      
}while (liczba != 0);

 return 0;   
}

Strona wyszukana na takie tagi:

  • c proste skrypty
  • c prosty program windows
  • programC
  • przykład java gotowy program

Program sprawdzający czy można zbudować trójkąt

Program prosi o podanie 3 boków odcinka. I odpowiada czy da się zbudować trójkąt.

var a,b,c:real;wynik:boolean;
begin
writeln('Sprawdź czy trójkąt o danych rozmiarach istnieje.');
write('Podaj rozmiar 1 boku: ');
readln(a);
write('Podaj rozmiar 2 boku: ');
readln(b);
write('Podaj rozmiar 3 boku: ');
readln(c);
if (a>b) and (a>c) then
        begin
        if a<b+c then wynik:=true
        else wynik:=false;
        end
else if (b>a) and (b>c) then
        begin
        if b<a+c then wynik:=true
        else wynik:=false;
        end
else
        begin
        if c<a+b then wynik:=true
        else wynik:=false;
        end;

if(wynik = true) then writeln('Trójkąt o danych bokach istnieje!')
else  writeln('Nie można zbudować trójkąta!');
readln;
end.

Użycie if-ów oraz znajomość warunku na istnienie trójkąta.

Strona wyszukana na takie tagi:

  • czy można zbudować trójkąt o bokach podanej długości