Zapisywanie 20 pierwszych liczb parzystych w pliku txt

Program który zapisuje 20 pierwszych liczb parzystych w notatnikowym formacie – txt.

Program zapisuje 20 pierwszych liczb parzystych do pliku tekstowego.

program liczb20;
var i:byte;liczba:integer;plik:text;
begin
for i:=1 to 20 do
        begin
          assign(plik,'liczby.txt');
          rewrite(plik);
          liczba:=i*2;
          writeln(plik,liczba);
          close(plik);
        end;
end.

Aby, program działał nie wymagane jest utworzenie pliku liczby.txt.

Program symujący bankomat w języku pascal

Program udający bankomat można wpłacać, wypłacać on zapisuje oraz pobiera informacje do pliku o naszej zdolności kredytowej.

Bankomat napisany w języku pascal. Pieniądze, które wpłacamy bądź wypłacamy zapisywane są w pliku tekstowym. Jest to prosty program symulujący bankomat.

Pascal bankomat

program bankomat;
uses crt;
var plik:text;
    wkasa,kasa,chkwota:integer;
    wyb,koniec:char;

begin
    Assign(plik,'kasa.txt');
    reset(plik);
    readln(plik,kasa);
    wkasa:=kasa;
    close(plik);
    repeat
writeln('----------- BANKO-MAT -----------');
writeln('Na twoim koncie znajduje się: ',kasa,' pln.');
writeln('Klikając 0 wracasz do menu gˆłównego!');
writeln('Debet wynosi 300zˆł');
writeln('a)Wypłˆać pieniądze');
writeln('b)Wpˆłać pieniądze');
writeln('c)Rezygnuje z transakcji');
wyb:=readkey;
if kasa>-300 then
begin
if wyb='a' then
  begin
    writeln('-------- Jaką kwotę chcesz wypłˆacić --------');
    writeln('1) 20zˆ             2) 50zˆ');
    writeln('3) 100zˆ            4) 200zˆ');
    writeln('5) Wybiorę(ręcznie) 0) anuluj ');
    wyb:=readkey;
        case wyb of
        '1': kasa:=kasa-20;
        '2': kasa:=kasa-50;
        '3': kasa:=kasa-100;
        '4': kasa:=kasa-200;
        '5': begin
        write('Podaj kwotę:');
        readln(chkwota);
        kasa:=kasa-chkwota;
        end;
    end;
  end;
end
else writeln('Ta usˆługa jest nieaktywna nie masz wystarczających ˜środków na koncie!');
  if wyb='b' then
  begin
    writeln('-------- Jaką kwotę chcesz wpˆłacić --------');
    writeln('1) 20zˆ             2) 50zˆ');
    writeln('3) 100zˆ            4) 200zˆ');
    writeln('5) Wybiorę(ręcznie) 0) anuluj ');
    wyb:=readkey;
        case wyb of
        '1': kasa:=kasa+20;
        '2': kasa:=kasa+50;
        '3': kasa:=kasa+100;
        '4': kasa:=kasa+200;
        '5': begin
        write('Podaj kwotę:');
        readln(chkwota);
        kasa:=kasa+chkwota;
        end;
    end;
  end;
  if(wkasa<>kasa) then
        begin
        writeln('Transakcja przebiegˆła pomy˜ślnie! Dziękujemy za korzystanie z naszych usˆług!');
        rewrite(plik);
        writeln(plik,kasa);
        close(plik);
       end;
       writeln('Czy chcesz skorzystać ponownie? t/n');
       koniec:=readkey;
       if(koniec='t') then wyb:='0';
         until wyb<>'0';
         writeln('Dziękujemy za korzystanie z naszych usłˆug!');
  readln;
end.

Ważne – Pascal Bankomat

Aby, program działał poprawnie wymagane jest utworzenie pliku, kasa.txt w folderze w którym znajduje się program, w nim zapisywane będą nasze fundusze.

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 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.

Pascal szybkie palce – program ćwiczący refleks

Szybkie palce

Znajdź jak najszybciej na klawiaturze klawisz wyświetlający się na ekranie. Program policzy ile czasu zajęła ci ta czynność i w miarę możliwości oceni.

Program sprawdzający refleks

Napisz program, który poprosi cię o podanie klawisza alfanumerycznego na klawiaturze i zliczy czas, w jakim został znaleziony.

Program zlicza czas w sekundach oraz setnychsekundy. Dlatego jego dokładność jest wysoka. Licznik jest bardzo dokładny, dlatego można go użyć również do stopera.

Program może pełnić różne funkcje, głównym jego celem było pokazanie użycia biblioteki dos, w celach obliczeniowych czasu.

Program do treningu refleksu oraz nauki klawiatury, dla niewprawionych użytkowników.

program szybkie_palce;
uses dos ,crt;
var czas_poczatek,czas_koniec,s,ss,h,m:word;
        litera,pobierana,key:char;
begin
randomize;
writeln('Program testujący twój refleks! Naci˜śnij enter, aby kontynuować.');
readln;
repeat
writeln('Uwaga za chwilę wy˜wietli się litera!');
writeln('Postaraj się jak najszybciej znale˜ść tą literę!');
litera:=chr(random(25)+65);{49+41}
delay(3500);
GetTime(h, m ,s, ss);
czas_poczatek:=s*100+ss;
clrscr;
writeln(litera);
        repeat
        pobierana:=UPCASE(readkey);
        until pobierana=litera;
        GetTime(h, m ,s, ss);
        czas_koniec:=(s*100)+ss;
        czas_koniec:=czas_koniec-czas_poczatek;
        s:=czas_koniec div 100;
        ss:=czas_koniec-s*100;
        write('Znalezienie klawisza zajęło ci ');
        if s <> 0 then write(s,' sekund ');
        if ss <> 0 then write(ss,' setnych!');
        writeln;
        if s>60 then writeln('Wyˆłączony mam większy zapˆołn od twojego:P')
        else if s>2 then writeln('Kiepski refleks. Liczę na twoją poprawę.')
        else if s>1 then writeln('Łuuch... Ale się namy˜lałˆe˜ś.')
        else if (s<=1) and (ss>90) then writeln('Tempo żółwia w skˆładzie porcelany!')
        else if (s<1) and (ss<10) then writeln('Musisz jeszcze trochę poćwiczyć!')
        else if (ss<100) and (s>0) then writeln('Sˆłabiutko. Może następnym razem będzie lepiej!')
       else if ss>80 then writeln('Źle nie ma. Tempo ziemniaka czasem się przydaje.')
        else if ss>60 then writeln('Dobrze. Może kiedy˜ wyprzedzisz ˜ślimaka!')
        else if ss>40 then writeln('Niezˆy refleks. Oby tak dalej!')
        else if ss>20 then writeln('Brawo! Świetny wynik!')
        else writeln('Jeste˜ś kozak gratuluje refleksu.');
        if(ss<60) and (s=0) then
        begin
        writeln;
        writeln('Niepokonany heros. Level UP. Może teraz rozszerzymy arsenaˆł? T/N');
        readln;
        writeln('Żartowaˆem nie chce mi się!');
        end;
writeln('Jedziemy dalej? T/N');
key:=UPCASE(readkey);
until key='N'
end.

W programie została użyta biblioteka Dos odpowiadająca za obsługę czasu.

Zachęcam do sporządzenia własnych modyfikacji tego skryptu!

I ty przetestuj czy masz szybkie palce! Wystarczy Pascal kompilator.

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 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.

Program liczący liczbę płyt

125 m chodnik składamy z 4 metrowych gotowych płyt ile płyt potrzeba na zbudowanie chodnika. Napisz program, który na podstawie podanych długości chodnika podaje ilość płyt.

program plyty;
uses crt;
const plyta=4;
var dlugosc:word;l_plyt:byte;
begin
write('Podaj dlugosc chodnika(w metrach):' );
readln(dlugosc);
l_plyt:= dlugosc div plyta;
if (dlugosc mod plyta) > 0 then
l_plyt:= l_plyt+1;
write('Musisz kupić ',l_plyt);
if(l_plyt=1) then write(' pˆłyte!')
else if(l_plyt<5) then  write(' płˆyty!')
else write(' płˆyt');
readln;
end.

const - stała, ustawiamy jaka jest stała długość płyty chodnikowej.