Skocz do zawartości
Forum komputerowe PC Centre
damianek

Pascal

Rekomendowane odpowiedzi

Smutno , jeżeli takie podforum jest opuszczone. Liczę, że razem to zmienimy.

Poniżej troche o Pascalu.

 

Pascal - dawniej jeden z najpopularniejszych języków programowania, uniwersalny wysokiego poziomu, ogólnego zastosowania, oparty na języku Algol. Został opracowany przez Niklausa Wirtha w 1971 roku. Nazwa języka pochodzi od nazwiska francuskiego fizyka, matematyka i filozofa Blaise Pascala.

 

Pierwszy opis języka Wirth zawarł w The programming language Pascal, Acta Informatica 1/1971, a kolejny, poprawiony w The programming language Pascal (Revised Report), Bericht der Fachrgruppe Computer – Wissenschaften 5/1972. Pierwszym podręcznikiem języka Pascal była pozycja Jensen, Wirth, Pascal, User Manual and Report 1974.

 

Pierwotnie służył celom edukacyjnym do nauki programowania strukturalnego. Popularność Pascala w Polsce była większa niż w innych krajach ze względu na dostępność kompilatorów w pirackich wersjach (zanim pojawiło się prawo ochrony własności intelektualnej), prostotę języka oraz jego popularyzację przez wyższe uczelnie. Szczyt popularności tego języka przypadł na lata 80. i początek 90 XX wieku. Wraz ze zniesieniem ograniczeń COCOM, upowszechnieniem się sieci oraz systemu Unix (następnie Linuksa) stopniowo został wyparty przez C i C++.

 

Jedną z popularniejszych implementacji kompilatorów tego języka był produkt firmy Borland International – Turbo Pascal. W chwili obecnej dość mocno rozpowszechnionym obiektowym dialektem języka Pascal jest Object Pascal osadzony w Delphi oraz Kyliksie (również wyprodukowanych przez Borland International).

 

Istnieją wolne kompilatory Pascala, na przykład Free Pascal, a także wolne środowisko IDE jak Lazarus. - opis pobrany z wikipedi

 

Zaprezentuje poniżej kilka bardzo prostych przykładów codu Pascala, które byłem zmuszony utworzyć na lekcji :)

 

Równanie liniowe

 

program aaa;

Uses WinCrt;

var a,b,x:real;

begin

writeln('Wprowadź wspolczynnik kierunkowy');

read(a);

Writeln('Wprowadz wspolczynnik b');

read(B);

if a=0 and b=0 then writeln('Niskonczenie wiele rozwiazan')

if a=0 and b<>0 then writeln('Brak rozwiazania;)

else x:=-b/a

writeln('x=',x:2:2);

end.

 

Tablice

 

program petla_for;

 

{$APPTYPE CONSOLE}

 

uses

SysUtils;

 

 

var

a:array[1..100] of real;

b:array[1..100] of real;

i,p,s:integer;

begin

p:=10;

for i:=1 to p do

begin

writeln('poad wartosc x[',i,']:');

readln(b);

a:=b*b;

end;

for i:=1 to p do

begin

write('x[',i,']:',b:2:2);

for s:=1 to p do

write(' ');

writeln(a);

end;

 

readln;

end.

 

Układ równań

 

Program uklad_rownan;

 

uses wincrt;

 

var

W,Wx,Wy,a1,a2,b1,b2,c1,c2,x,y:real;

 

begin

Write('a1=');

read(a1);

Write('b1=');

read(b1);

Write('c1=');

read(c1);

Write('a2=');

read(a2);

Write('b2=');

read(b2);

Write('c2=');

read(c2);

W:=(a1*b2)-(b1*a2);

Wx:=(c1*b2)-(b1*c2);

Wy:=(a1*c2)-(c1*a2);

 

if (W<>0) then

begin

x:=Wx/W;

y:=Wy/W;

Writeln('x=',x:2:2);

Writeln('y=',y:2:2);

end;

if (W=0)and (Wx<>0) then Writeln('Brak rozwiazan');

if (W=0) and (Wx=0) then

begin

if (Wy=0) then Write('nieskonczenie wiele rozwiazan') else

Writeln('brak rozwiazan');

end;

end.

 

Tablice 2

 

program tablice;

 

Uses WinCrt;

 

var

liczby: array[1..20] of Byte;

I,N : Byte;

Ileznaleziono:Byte;

 

begin

 

Randomize;

for i:=1 to 20 do

liczby := Random(20)+1;

 

write('Podaj liczbe z zakresu (1..20): ');

readln(N);

while ((N<1) or (N>20)) do

 

begin

write('Zla wartosc. Podaj liczbe z zakresu(1..20): ');

readln(N);

end;

 

Ileznaleziono:=0;

writeln;

write('Tablica: ');

for I:=1 to 20 do a

begin

Write(liczby ,'');

if liczby = N then

Ileznaleziono:=ileznaleziono+1;

end;

writeln;

if ileznaleziono = 0 then

writeln('Liczby',N,'w tablicy nie odnaleziono')

else

writeln('Liczbe ', N,' w tablicy odnaleziono ',Ileznaleziono ,' razy');

readln;

end.

 

Rekord

 

program x;

 

uses WinCrt;

 

type

oceny=record

jpolski:string;

matematyka:string;

end;

var i:integer;

a: array [1..3] of oceny;

Begin

for i:=1 to 3 do

Begin

writeln('Podaj ocene z j.polskiego ',i,' ucznia');

readln(a.jpolski);

writeln('Podaj ocene z matematyki ',i,' ucznia');

readln(a.matematyka);

 

end;

 

for i:=1 to 3 do

Begin

writeln('j.polski:',a.jpolski);

writeln('mateamtyka:',a.matematyka);

 

end;

 

End.

 

Zadanie na zaliczenie:)

 

Program x;

 

uses wincrt;

var

a: array [1..100] of real;

b: array [1..100] of real;

i,n: integer;

s,suma,g,f,y:real;

 

Begin

s:=0 ;

g:=0;

writeln('Podaj liczbe wersów');

read(n);

For i:=1 to n do

Begin

writeln('Podaj liczbe ',i,' w pierwszym wersie tablicy');

read(a);

s:=s+a;

if a>0 then g:=g+1;

end;

suma:=0;

f:=0;

for i:=1 to n do

 

Begin

writeln('Podaj liczbe ',i,' w drugim wersie tablicy');

read(b);

suma:=suma+b;

if b>0 then f:=f+1;

end;

writeln('Liczby w pierwszym wersie : ');

for i:=1 to n do

Begin

write(a:0:0);

write(' ');

end;

writeln('suma :',s:0:0);

writeln('');

 

writeln('Liczby w drugim wersie : ');

for i:=1 to n do

Begin

write(b:0:0);

write(' ');

end;

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Ps. Jak by ktoś znalazł jakiś błąd, prosze o info a zaraz poprawię.

 

Równanie linjowe??

 

Ponadto brakuje 't' w temacie :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Heh... kurde, ja już niewiele z tego pamiętam... nawet fajne to było w Liceum, ale tam to w sumie tylko tak kąsnęliśmy zaledwie tego pascala...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Pascal w sumie odszedł do lamusa...C/C++....w sumie tylko to sie liczy naprawde jesli chodzi o programowanie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość Clamoor

tzn rozwiniecie pascala, czyli delphi całkiem sobie radzi w prostym oprogramowaniu, ale cóż ... prosty kalkulator w delphi około 500kb c++ na winde około 90, assembler 35 :] ale kto bedzie pisał wszystko w asm :P

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Robilem duzo w Delphi, bardzo cenię je sobie i lubię. Ostatnio nie mam czasu i za bardzo pomysłów. Jednak jeden mój projekt jest używany na matematyce w Liceum heh do tej pory wiec mam powod do dumy ;-) Nawet dwa, sobie przypomnialem heh. Do jednego mega roznica miedzy kompilacja Turbo Pascala , C++ i C jest kolosalna. Pozniej projekty z Deplhi powolutku wychodzą na swoje. Bardzo ciekawa alternatywa jest Borland Delphi C++, czyli robimy tak samo jak wcześniej w Pascalu, te same menu itp, tylko ze C++.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość Clamoor

w delphi pisałem sobie boty do różnych gier online :], typu ogame, travian itd.

jedno z przyjemnych zasotosowan delphi. Szybko łatwo i przyjemnie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość Clamoor

część wzoruw jest znana... wiec wpisywalo sie ile mam surowców i w odpowiednim momencie mi włączało budowanie (2 rożne sposoby, albo przejeci kontroli nad mysza i fizyczne klik, albo poprzez logowanie http i wchodzenie na link(z tym bywały problemy)), poza tym np jak mnie ktos atakował, pojawia sie wedy czerwony napis , jak go wykryło (sprawdzanie koloru px na ekranie) czekało jakies 10 min (w tylenikt nie dolwci a mogła to buc sonda) jezeli leciało dalej no to podejmowało działania :) tzn włączał mi alarm na głośniki :], kilka funkcji sobie zrobiłem, było częściowo w fazie takiej ze jak cos chciałm zmienic to musiałem w kodzie ;) ale co tam :P

razem z botem długo siedzielismy w top 10 uni 11 :]

 

poza tym pomysły na funkcje bota można mnożyć... właściwie bez konca .. az do napisania po prostu programu grajacego w ogame bez naszej ingerencji.

 

Edit: kiedyś jak mnie najdzie troche czasu i checi i znajda sie ludzie do pomocy mozna by porobic jakies wspolne projekty. Od gier poczynajac, na powaznych aplikacjach konczac. :] W koncu pccentre nie tylkko ma byc portalem informacyjnym ale również ma ściągać społeczność. a jak jest społeczność to sporo sie da :].

 

Najlepszym dowodem na to sa gry typu Freeciv, projekty takie jak na www.uw-team.org/ czy tez nawet film taki jak "1409, afera w zamku Bartenstein" który równiez powstał z inicjatywy 2 społeczności z 2 portali www :]

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jakby co, to jeśli będę miał czas, a Ty pomysł to ja jestem gotow sie zaangażować ;) Poki co nie mam czasu w ogoel na programowanie. Moze jesli bede mial dosyc iinnych rzeczy na kompie lub w ramach urozmaicenia.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

×
×
  • Dodaj nową pozycję...