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.

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.

Program rysujący trójkąt równoramienny

Rysowanie trójkąta równoramiennego

Program rysujący trójkąt równoramienny, po podaniu jego wysokości. Pętla zagnieżdżona w pętli. Program zawiera również zabezpieczenie przed wpisaniem niepoprawnej wartości.

program trójkat;
Uses CRT;
var x,y,i,j,a,r:byte; h:longint;
begin
x:=40;
y:=1;
r:=1;
writeln('Rysuj trojkat ver 0.1 FINAL');
write('Podaj wysokość trójkąta(Mniej niż 25): ');
readln(h);
if(h>25) then
begin
repeat
write('Podaj poprawną warto˜ść: ');
   readln(h);
until h<25;
end;
Clrscr;
a:=h*2+1;
for i:=1 to h do
begin
GotoXY(x,y);
   for j:=1 to r do
        begin

             write('*');

        end;
           r:=r+2;
           y:=y+1;
           x:=x-1;
end;
readln;
end.

Uses crt; nie jest wymagane.

Szczęśliwa liczba z podanego numeru

Szczęśliwa liczba

Program sprawdzający czy dana liczba występuje w danym numerze telefonu.

program szczelb;
var numer,szczesliwa:string;i:byte;znalazlem:boolean;
begin
szczesliwa:='126';
write('Podaj numer telefonu(123456789): ');
readln(numer);
for i:=1 to 7 do
begin
if(numer[i]=szczesliwa[1])
and (numer[i+1]=szczesliwa[2]) and (numer[i+2]=szczesliwa[3]) then
znalazlem:=true;
end;
if(znalazlem=true) then writeln('Gratulujemy! Numer ',numer,' jest szczśliwy!');
readln;
end.

Program tworzący 2 tablice 5 elementowe Imię i nazwisko, oraz prosi o ich wypełnienie

Napisać program który tworzy 2 tablice 5 elementowe. Imię i nazwisko. A następnie. Prosi użytkownika aby je wypełnić.

program tablice;
var imie,nazwisko:array[0..5] of string;i:byte;
begin
   for i:=1 to 5 do
   begin
        write('Podaj imie: ');
        readln(imie[i]);
        write('Podaj nazwisko: ');
        readln(nazwisko[i]);
   end;
   writeln('Tablica gotowa!!');
   for i:=1 to 5 do
   writeln('Imie: ',imie[i],' Nazwisko: ',nazwisko[i]);
   readln;
end.

Pascal wyświetlanie liczb całkowitych od 1 do n w kolumnie

Napisz program, który wyświetli liczby całkowite od 1 do n każdą w osobnym wierszu.

Wyświetlanie liczb całkowitych od 1 do n

program liczby;
var i,liczba:longint;
begin
writeln('Program wy˜wietla liczby całˆkowite od 1 do n w kolumnie.');
write('Podaj liczbę całˆkowitą:');
readln(liczba);
 for i:=1 to liczba do
                begin
                    writeln(i);
                end;
        readln;
end.

Użycie zmiennej longint.
Pętla for odlicza, od 1 do rozmiaru liczby.
writeln – wyświetla liczbę i przechodzi do kolejnej kolumny.

Program liczy również od 1 do ujemnej liczby n, jeżeli ona jest ujemna – Modyfikacja programu

Program sprawdza czy podana liczba jest dodania czy jeżeli jest dodania wykonuje działanie programu powyżej, jeżeli natomiast ujemna, odlicza do niej od 1 do tej liczby.

Podaj liczbę: 7
1
2
3
4
5
6
7

Podaj liczbę: -5
0
-1
-2
-3
-4
-5

program liczby;
var i,liczba:longint;
begin
writeln('Program wyś˜wietla liczby caˆłkowite od 1 do n w kolumnie.');
write('Podaj liczbę całˆkowitą:');
readln(liczba);
if liczba>0 then
begin
 for i:=1 to liczba do
                begin
                    writeln(i);
                end;
 end else
 begin
 i:=1;
     repeat
     i:=i-1;
     writeln(i);
     until i=liczba
 end;
        readln;
end.

Wykorzystanie repeat, until.
Pascal wyświetlanie liczb całkowitych.

Program losujący 6 liczb z danego przedziału – Pascal lotto

Napisz program Lotto. Użytkownik ma podać 6 liczb. Program ma wylosować 5 liczb z danego przedziału i wyświetlić ile trafiliśmy.

program lotto;
var a:char;
    b:array[1..6] of byte;
    i,licznik,liczba:byte;
begin
randomize;
licznik:=0;
i:=1;
writeln('Witamy w programie Lotto. Nacisnij enter.');
readln;
writeln('Wybierz typ losowania a)Wybrane liczby b)Chybiˆł trafiłˆ');
readln(a);
if a='b' then
    begin
    repeat
    b[i]:=random(50);
    i:=i+1;
    until i=6;
    end;
if a='a' then
    begin
    repeat
    writeln('Podaj liczb©.');
    readln(b[i]);
    inc(i);
    until  i=6;
    end;
writeln('Twoje liczby to: ',b[1],' ',b[2],' ',b[3],' ',b[4],' ',b[5],' ',b[6],'.');
for i:=1 to 6 do
        begin
            liczba:=random(50);
            if b[i] = liczba then licznik:=licznik+1;
        end;
        write('Trafiˆe˜ ',licznik);
        if licznik=0 then
         write(' liczb!')
        else if licznik=1 then write(' liczbą!')
        else write(' liczby!');
readln;
end.

Strona wyszukana na takie tagi:

  • lotto program

Soundskan badanie częstotliwości – C++ beep

Program wydaje dźwięk z głośniczka wewnętrznego komputera, o częstotliwościach podanych w zakresie.

Wydaje dźwięk w przedziałach jakich mu podamy, wartość podawana jest w Hz. Używając programu możesz sprawdzić, w jakich granicach częstotliwości, człowiek słyszy.

Dla osób o mocnych nerwach.

C++ Beep

#include <iostream>
#include <windows.h>
  #include <conio.h>
    
using namespace std;

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

int main() {
      start:
    system("title SoundSkan");
  cout << "SoundSkan by Jasiek65"  << endl;
    cout << "Sprawdz do jakiej czestotliwosci slyszysz!" << endl;
  cout << "--------------------------------------------------------------------------" << endl;
    int min, max;
    int interwal;
  
    cout << "Podaj czestotliwosc minimalna: ";
  min = pobierz(min);
  cout << "Podaj czestotliowsc maksymalna: ";
  max = pobierz(max);
  cout << "Podaj interwal(odstep): ";
  interwal = pobierz(interwal);
  
system("color 02");
    for(int a=min; a<max; a= a+interwal)
    {
   
             cout<< "Aktualna czestotliwosc: "<< a << endl;
              Beep(a,200);
              system("cls");
             }
    
    
    cout << "Wytrzymales? Zakonczyc? T/N";
    char znak;
    znak = getch();  
    if(znak != 't')
    {
    system("cls");
        goto start;  
            }
 return 0;   
}

Uwaga!
Goto jest to bardzo przestarzała komenda, zaleca się jej nieużywanie. Można w prosty sposób zamienić ją na funkcje while, zastępującej działanie tej funkcji.

Strona wyszukana na takie tagi:

  • c program zamienia minuty na godziny
  • programy w c
  • Small basic zgadnij liczbę
  • gotoweprogramy c
  • program c przykład
  • programy w c przykłady
  • zaawansowane programy c

C++ Ludek

Napisz program, który będzie przesuwał dany napis, co określony czas.

C++ ludek

    #include <iostream>
#include <windows.h>
#include <conio.h>
#include <string>

using namespace std;

int main()
{
cout << " O" <<endl
<< "/I\\" << endl
<< " I" << endl
<< "/^\\" << endl;
Sleep(1000);
system("cls");
for(string a; 1; a +="\t")
{
cout << a <<"\t O" <<endl
<< a <<"\t/I\\" << endl
<< a <<"\t I" << endl
<< a <<"\t/^\\" << endl;
Sleep(1000);
system("cls");
}
return 0;
}

Program ma pokazać użycie komend:
System - Do sterowania komendami Dos-u.
sleep() – Zatrzymanie pracy programu na określony czas.
system("cls"); – Czyszczenie okna programu

Strona wyszukana na takie tagi:

  • c gotowe programy

Pascal Anagramy

Napisz program, który poprosi nas o podanie słowa. Potem poprosi o podawanie liter i napisze czy da się z danego stringa, ułożyć to słowo.

Co to są anagramy?

Anagram – nazwa wywodząca się od słów greckich: ana- (nad) oraz grámma (litera), oznacza wyraz, wyrażenie lub całe zdanie powstałe przez przestawienie liter bądź sylab innego wyrazu lub zdania, wykorzystujące wszystkie litery (głoski bądź sylaby) materiału wyjściowego. W czasopismach szaradziarskich pojawiają się zadania polegające na odgadnięciu wykreskowanego anagramu na podstawie wierszowanego komentarza, a także anagramy rysunkowe polegające na ułożeniu hasła z wszystkich liter właściwego określenia rysunku. Formami spokrewnionymi z anagramem są stenoanagram, egzoanagram i endoanagram.
Źródło wikipedia

Dlaczego pascal? Projekt do szkoły, niebyło możliwości wybrania języka.

Anagram NP.
słowo -> owłos – Podane słowo to anagram.
adam -> adam – Podane słowa są takie same
adam -> dama -Podane słowa są anagramami, z danego ciągu słowo można
ułożyć 2 razy.
interpersonalizacja -> Słowo jest za długie – Oczywiście możemy usunąć pętle zabezpieczającą i delikatnie zmodyfikować program.
Zasada działania:

  1. Podajemy słowo: adam
  2. Wpisujemy po kolei litery d,a,m,a.
  3. Program sprawdza każdą literkę w ciągu, a gdy trafi na odpowiednią, usuwa ją z obiegu – zabezpieczenie, gdyby go nie było można byłoby podać słowo adam->damo i wyświetliłoby się że to anagram.
  4. Program liczy liczbę kombinacji
  5. Wyświetla wynik działania i i pyta o ponowne użycie

Program bada również kombinacje. Sprawdza także czy słowo nie jest za długie.

Pascal Anagramy:

program Anagramy;
uses crt;
var cache:boolean;slowo,podane:string;x,m,i,j,c,rozmiar,licznik,ile:byte;wylacz:char;l_wyst:array[1..17]of byte;
begin
repeat
begin
licznik:=0;ile:=0;slowo:='';podane:='';rozmiar:=0;cache:=false;licznik:=0;ile:=0;
write('Podaj słˆowo: ');
readln(slowo);
rozmiar:=length(slowo);
while(rozmiar > 17) do
begin
  writeln('Sˆłowo nie może być dˆłuższe niż 17 znaków!');
  write('Powtórz hasłˆo: ');
  readln(slowo);
  rozmiar:=length(slowo);
end;
        for m:=1 to rozmiar do
         begin
          write('Podaj ',m,' literę: ');
          readln(podane[m]);
          end;
for i:=1 to rozmiar do
begin
for j:=1 to rozmiar do
begin
 cache:=(slowo[i]=podane[j]);
  if(l_wyst[j]=2) then cache:=false;
if(cache=true) then
        begin
        licznik:=licznik+1;
        l_wyst[i]:=l_wyst[j]+1;
        end;
if (licznik>i) then
        begin
        licznik:=i;
        ile:=ile+1;
        end;
end;
end;
for c:=1 to rozmiar do l_wyst:=0;
if(licznik=rozmiar) then writeln('Sˆłowo ',podane,' to anagram ',slowo)
else writeln('Sˆowo nie jest anagramem');
if(ile<>0) and (licznik=rozmiar) then writeln('Z danego ciągu słˆowo ',slowo,' można uˆożyć ',ile,' razy!');
         writeln('Wyłączyć? t/n');
         wylacz:=readkey;
         end;
    until wylacz='t';
end.

Ten kod jest bardzo ciekawy, ponieważ delikatnie go rozbudowując możemy wyszukiwać, porównywać w plikach anagramy. Bardzo łatwo jesteśmy w stanie dostosować go do swoich potrzeb.

Posiadam kilka wersji tego programu. Jeżeli by ktoś potrzebował innych proszę pisać w komentarzach.

Strona wyszukana na takie tagi:

  • interpersonalizacja
  • interpersonalizacja co to znaczy
  • interpersonalizacja co to jest