Program zamieniający minuty na godziny

Napisz program który na podstawie dowolnej ilości minut zwraca ile to jest całkowitych godzin i ile minut.

var l_min:word;l_godz:byte;
begin
write('Podaj liczbę minut: ');
readln(l_min);
l_godz:=l_min div 60;
l_min:=l_min mod 60;
write('Jest to ',l_godz,' Godzin');
if l_min > 0  then write(' i ',l_min,' Minut!');
readln;
end.

Poznajemy instrukcję warunkową if, oraz metody dzielenia, oraz uzyskiwania reszty.
Mod – reszta z dzielenia
Div – dzielenie przez liczby całkowite

Pascal przelicznik rozmiaru monitora na cale

Napisz program przeliczający rozmiar monitoru z cm na cale.
Podajesz długość i szerokość ekranu, a on wyświetli ci w calach rozmiar przekątnej ekranu.

program licze;
var a,b,przek:real;
const cal=2.5;
begin
    write('Podaj dˆługo˜ść monitora(cm): ');
    readln(a);
    write('Podaj szeroko˜ść monitora(cm): ');
    readln(b);
    przek:=sqrt(a*a*b*b)/ 1000;
    przek:=przek/cal;
    writeln('Przękątna twojego monitora wynosi ',przek:0:2,' cala.');
    readln;
end.

Użycie stałej.

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.

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.

Program liczący wartość bezwzględną

Pascal wartość bezwzględna

Program obliczający wartość bezwzględną z liczby.

var liczba:real;
begin
write('Podaj liczbę: ');
readln(liczba);
if (liczba < 0) then
liczba := -liczba;
write('Warto˜ść bezwzględna liczby równa jest:',liczba:0:3);
readln;
end.

Gdy liczba jest mniejsza od 0 program zmienia znak na przeciwny.
Poznajemy if-y.

Program zapisujący 30 losowych liczb do tablicy

Program który zapisuje do tablicy 30 losowych liczb.
Tablica z 30 losowymi liczbami.

program losowanie;
uses crt;
var tab:array[0..30] of word;i:byte;
begin
randomize;
    for i:=1 to 30 do
    begin
    tab[i]:=random(9999);
    writeln('Wylosowane liczby to: ',tab[i]);
    end;
    readln;
end.

Przedstawione wykorzystanie funkcji random.

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.

Pascal Cezar (Szyfrator)

Program szyfruje ciąg znaków przerabiając go na ciąg liczb. Szyfr cezara.

program cezar;
uses crt;
var
napis:string;
klucz:char;
d,i:integer;
BEGIN
writeln('Podaj napis');
readln(napis);
writeln('Podaj klucz');
readln(klucz);
d:=length(napis);
for i:=1 to d do
begin
kod:=ord(napis[i]);
kod:=kod+klucz;
szyfr:=chr(kod);
write(szyfr);
end;
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.

Program pobierający z pliku liczby i liczący z nich średnią

Pobieranie liczb z pliku pascal

Dany jest plik tekstowy zawierający 20 liczb. Program ma otworzyć ten plik, pobrać zawartość pliku i policzyć średnią.

program srednias;
var srednia:real;plik:text;i:byte;liczba:integer;
begin
        assign(plik,'liczby.txt');
        reset(plik);
       repeat
       readln(plik,liczba);
       srednia:=srednia+liczba;
       i:=i+1;
       until eof(plik);
       srednia:=srednia/i;
       writeln('—rednia liczb z pliku wynosi: ',srednia:0:2);
       readln;
end.

Wymagane jest istnienie pliku liczby.txt.
Problem może pojawić się z błędnym umiejscowieniem pliku.