Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Pascal

18.12.2013 14:10
AvengerXXX
😊
1
AvengerXXX
112
Senator

Pascal

Witam,
w jakim programie programujecie (masło maślane ;P) w Pascalu?

Pozdrawiam!

18.12.2013 15:24
maly_17a
😜
2
odpowiedz
maly_17a
167
Senator

Jeszcze pascal.

18.12.2013 15:44
Dym14
3
odpowiedz
Dym14
109
Senator
18.12.2013 15:55
Bac02
4
odpowiedz
Bac02
75
StreetRider

Darmowe:
Free Pascal
albo bardziej rozbudowane ale oparte o pascala Delphi 7

Płatne:
Turbo Pasacal

18.12.2013 16:54
Manstein
5
odpowiedz
Manstein
64
Huzio

Ja korzystałem z TMT Compiler Pascal

18.12.2013 18:18
DanuelX
6
odpowiedz
DanuelX
82
Kopalny

Pytanie powinno brzmieć kto (oprócz zacofanych nauczycieli informatyki) używa jeszcze pascala

18.12.2013 18:37
7
odpowiedz
zanonimizowany961795
1
Legionista

[6]
zacofany to ty jesteś. Język C też jest stary (1972 rok), a C++ (1983). Dopiero Java jest nowsza (1995). Wychodzi na to, że nie posiadasz żadnej wiedzy skoro nawet pascal sprawia ci problemy i nie potrafisz w nim napisać kalkulatora prostego. Pscal jest w szkołach popularny dlatego, że osoby, które nie miały do czynienia z programowaniem, łatwiej nauczą się podstaw w pascalu niż w c++.
A idąc dalej, mamy Delphi, który pozwala pisać programy dla iOS, Mac, Android (dla linuxa jest Lazarus). Z programów pisanych w delphi masz AQQ, chyba PotPlayer (odtwarzacz filmów), kaspersky też miał część kodu w tym języku oraz Skype (Delphi, Objective-C, C++ with QT), Total Commander.
btw. Dev C++ jest napisany w delphi

18.12.2013 18:43
Halas6
8
odpowiedz
Halas6
94
Ksiadz Proboszcz

Z tego co wiem to Lazarus chyba tez jest pod Windowsa :) i na nim sie na studiach programowało :)

18.12.2013 18:46
9
odpowiedz
zanonimizowany961795
1
Legionista

tak, masz rację, jest na Win, Linux i OS X, aplikacje konsolowe też w nim na pewno pisać można więc do pascala powinien być dobry

18.12.2013 18:53
10
odpowiedz
zanonimizowany961795
1
Legionista

swoją drogą, kiedyś trojana na bankomaty w delphi napisali internet.gadzetomania.pl/2009/06/06/trojany-znajdziesz-nawet-w-bankomatach

a z programów napisanych w delphi jest Cheat Engine, który wielu z was zna

18.12.2013 19:08
karelpeter
11
odpowiedz
karelpeter
44
SirDzastelot

Pascal? Pffff. Okrasa FTW!

18.12.2013 20:40
AvengerXXX
😊
12
odpowiedz
AvengerXXX
112
Senator

http://home.agh.edu.pl/~byrska/src/5Zadania.pdf
http://sendzimir.metal.agh.edu.pl/~iolejarc/pipu/pascal/pz2.pdf

Takie w necie znalazłem ćwiczenia. Czy ktoś hmm... ogarnięty mógłby je zrobić? Dopiero zabieram się za powiedzmy programowanie i muszę mieć jakieś wzorce ;)

Pozdrawiam!

18.12.2013 20:42
13
odpowiedz
zanonimizowany626335
17
Generał

W Pascalu?

18.12.2013 20:44
adam11$13
😜
14
odpowiedz
adam11$13
130
EDGElord

''Pophostu ghotuj!''

18.12.2013 20:51
Wooler
15
odpowiedz
Wooler
81
Konsul

Avenger - mała rada - jeżeli uczysz się programowania dla siebie, a nie bo ktoś wymaga tego (np. w szkole) i decyduje za ciebie, to radzę ci zacząć od C++. Składnia jest tylko odrobinę mniej zrozumiała, ale za to łatwiej o liczne tutoriale, a i ja chętniej bym ci pomógł, bo Pascala już nie mam ochoty sobie przypominać. No i umiejąc C++ o wiele łatwiej, wręcz naturalnie, można przechodzić na inne, nowsze języki.

I tak, jeżeli już któryś język jest zacofany to na pewno jest to Pascal (chociaż i tak lepszy, niż wmuszany mi kiedyś w szkole Basic).

18.12.2013 20:57
AvengerXXX
16
odpowiedz
AvengerXXX
112
Senator

Niestety mam jutro kolosa i muszę umieć co nieco, a te zadania nieco rozjaśnią mi temat ;)

18.12.2013 21:20
17
odpowiedz
zanonimizowany861943
46
Generał

Niestety mam jutro kolosa i muszę umieć co nieco, a te zadania nieco rozjaśnią mi temat ;)

Jeśli masz jutro kolokwium i nie potrafisz rozwiązać tak banalnych zadań jak z [12] to mogę powiedzieć tylko jedno - trzeba się za to było wcześniej brać...

18.12.2013 21:27
AvengerXXX
18
odpowiedz
AvengerXXX
112
Senator

Słowa krytyki na pewno się przydadzą jednak teraz liczę na coś lepszego...

18.12.2013 21:38
19
odpowiedz
Tuminure
106
Senator

Jeśli masz jutro kolokwium i nie potrafisz rozwiązać tak banalnych zadań jak z [12]
Przeczytałem to i liczyłem, że po otwarciu pdfa zobaczę napisanie jakiegoś rodzaju sortowania albo chociażby programu obliczającego średnie spalanie na danej trasie.

Ale żeby chodziło o napisanie hello worlda?

to radzę ci zacząć od C++. Składnia jest tylko odrobinę mniej zrozumiała
Również radzę zacząć od C++. Jednakże moim zdaniem podstawowa składnia jest znacznie prostsza w C++ niż w Pascalu.

18.12.2013 22:07
20
odpowiedz
zanonimizowany961795
1
Legionista

w ogóle wiesz cokolwiek o pascalu? wiesz co to są zmienne chociaż?
deklarujesz je (w uproszczeniu "tworzysz je") pod słówkiem VAR, czyli

var
nazwa_zmiennej: String;

i tak "stworzyłeś" zmienną o nazwie nazwa_zmiennej typu String. Typ string trzyma tekst, typ Char trzyma jeden znak np. literę, typ Integer trzyma liczbę całkowitą (taką nieprzecinkową).

a jak chcesz przypisać zmiennej jakąś wartość to w kodzie pod słówkiem BEGIN to robisz, przykład:

var
nazwa_zmiennej: String;
begin
nazwa_zmiennej := 'siema, oto tekst';
end;

możesz też zrobić zmienne trzymające liczbę i wynik i dodać je (wcześniej przypisując zmiennym jakieś wartości)

var
a, b, wynik: Integer;
begin
a := 10;
b := 5;
wynik := a + b;
end;

i zmienna wynik będzie miała wartość a + b, czyli w tym przypadku 15.

jakbyś chciał wyświetlić tekst na ekranie to np tak:

begin
writeln('siema');
end;

a jakbyś chciał by wykonało się to polecenie 10 razy to robisz np. tak:

var
i: Integer;
begin

for i := 1 to 10 do
begin
writeln('siema');
end;

end;

i wtedy będzie 10 linijek tekstu ze słowem "siema". I poznałeś pętlę FOR (wyżej podałem pętlę for liczącą od 1, normalnie liczy od 0, czyli byłoby od 0 do 9)

Przeczytaj też jak odczytać coś co wpisał użytkownik i zapisał to do zmiennej, czyli funkcja readln itd.
Napisałem to w założeniu, że twoja wiedza o pascalu jest równa zero. W google znajdziesz tutoriale różne, przykłady praktyce, sobie kod przeanalizujesz i nauczysz się podstaw podstaw do jutra :D

PS. jak robisz jakiś program to na samym końcu możesz dać funkcję readln lub inną tak by program się nie zamykał zaraz po uruchomieniu, tylko czekał na wciśnięcie klawisza

18.12.2013 22:19
Vaerin
21
odpowiedz
Vaerin
111
Generał

Najlepszy moim zdaniem do nauki jest Python, jest łatwy, obiektowy, można prosto pisać programy bez IDE i na dodatek uczy robić wcięcia w kodzie :D A tego nawyku nie ma większość początkujących programistów. Można zacząć się go uczyć bez instalowania czegokolwiek, totalnie za darmo na http://www.codecademy.com/

No i jak człowiek ogarnie podstawy, może napisać drugiego GOL'a w Django :]

C i C++ wymagają sporo nauki, np. ogarnięcia wskaźników i alokowania pamięci albo stl'a w tym drugim przypadku. Dla osoby na studiach bomba, dla hobby-ta potencjalna przyczyna odstawienia programowania na bok.

18.12.2013 22:19
AvengerXXX
22
odpowiedz
AvengerXXX
112
Senator

randomowy-->
To to ja umiem ;)
Głównie nie ogarniam tych wszystkich pętli oraz warunków ;)

18.12.2013 22:25
23
odpowiedz
zanonimizowany961795
1
Legionista

zadaj konkretne pytania, możesz je ponumerować, postaramy się odpowiedzieć. Np. o którą pętlę ci chodzi?

18.12.2013 22:31
AvengerXXX
24
odpowiedz
AvengerXXX
112
Senator

IF, Case, For

18.12.2013 22:36
25
odpowiedz
zanonimizowany961795
1
Legionista

Ok, to pierwszy przykład z warunkiem IF

var
liczba: Integer;
begin
Writeln('Wprowadz jakas liczbe:');
Readln(liczba);

if liczba > 10 then
begin
Writeln('Wpisales liczbe wieksza niz 10');
end else
begin
Writeln('Wpisales liczbe mniejsza niz 10');
end;

end.

W kodzie po IF <warunek> then <coś> dałem w begin i end, w tym powyższym przypadku nie musi być tego bloku begin i end, można dać IF <warunek> then <tu co ma się zrobić jeśli warunek spełniony> else <a tu co ma się stać gdy warunku nie spełni się>

18.12.2013 22:40
26
odpowiedz
zanonimizowany961795
1
Legionista

a tu masz przykład CASE OF

var
liczba: Integer;
begin
Writeln('Wprowadz jakas liczbe:');
Readln(liczba);

case liczba of
1: Writeln('wpisales 1');
5: Writeln('wpisales 5');
else Writeln('Wpisales cos innego');
end;

end.

czyli w skrócie
case (w przypadku gdy) liczba of (liczba ma wartość):
<i tu liczby są różne>: <i po dwukropku co ma się wykonać za kod, gdy ta liczba będzie wpisana. Można tam nawet wrzucić blok BEGIN i END i pomiędzy nimi dać z 20 poleceń do wykonania, gdy ktoś wpisze np. 5. A słówko ELSE znasz już, czyli "w przeciwnym razie"

18.12.2013 22:45
27
odpowiedz
zanonimizowany961795
1
Legionista

a tu pętla FOR:

var
liczba: Integer;
begin
Writeln('Ile razy wyswietlic napis "Ala ma kota"?');
Readln(liczba);

for liczba := 1 to liczba do
begin
Writeln('Ala ma kota');
end;

end.

Wytłumaczenie małe:
for <od ilu> to <do ilu> wykonuj kod
begin
kod jakiś
end;

mógłbyś nawet tam dać zmienną i: Integer; i później w pętli użyć:
for i := 1 to liczba do //czyli od jednego do 10 rób...
begin
//kod
end;

18.12.2013 22:50
28
odpowiedz
zanonimizowany961795
1
Legionista

pewnie też się spotkasz z inkrementacją, czyli np. zmiennej typu Integer podnosisz wartość o jeden, w pascalu możesz to zrobić wpisując:

liczba := liczba + 1;

i wtedy jak liczba ma wartość 10 to po wykonaniu powyższej linijki kodu, będzie miała wartość 11.
Inny sposób to:
Inc(liczba);

a w c++ to wystarczyłoby: liczba++
(lub liczba = liczba + 1;)

18.12.2013 22:59
29
odpowiedz
zanonimizowany961795
1
Legionista

jeszcze WHILE ci opiszę

var
tekst: String;
begin
Writeln('Wpisz "bocian":');
Readln(tekst);

while (tekst <> 'bocian') do
begin
Writeln('Zle! wpisales inne slowo! wpisz "bocian"!');
Readln(tekst);
end;

Writeln('Brawo! wpisales "bocian", wygrywasz 100 PLN');
end.

Wyjaśnienie:
czyli while (dopóki) <warunek> do (rób coś...)

Czyli dopóki zmienna tekst jest inna od słowa bocian to wykonuj kod...

ten znaczek <> oznacza "inne", "różne" lub "nie jest równe". W tym przypadku wpisany przez użytkownika tekst np. "małysz" nie jest równy słowu "bocian" więc wykonuje się kod tak długo, aż użytkownik zamiast małysza wpisze "bocian" i wtedy pętla while się zakończy, bo "bocian" będzie równy (taki sam jak) "bocian".

18.12.2013 23:11
30
odpowiedz
zanonimizowany961795
1
Legionista

btw. jeszcze wspomnę coś o funkcjach IntToStr i StrToInt, czyli przekonwertowaniu liczby na tekst i tekstu na liczbę.

var
liczba: Integer;
begin
Writeln('Wpisz jakas liczbe');
Readln(liczba);

Writeln('Twoja wpisana liczba to: ' + IntToStr(liczba));
end.

W tym kodzie użyłem IntToStr(liczba) żeby zmienną typu Integer zamienić na postać tekstu (String). Czasem takie rzeczy są potrzebne, jakbyś nie użył funkcji IntToStr to kompilator mógłby się doczepić, że chcesz do tekstu dołączyć liczbę choć powinieneś dołączyć do tekstu tekst (string) i stąd ta potrzeba przerobienia liczby na tekst tą prostą funkcją.

18.12.2013 23:20
AvengerXXX
31
odpowiedz
AvengerXXX
112
Senator

Masz u mnie piwo! ;) Wielkie dzięki ;)

Forum: Pascal