Witam,
w jakim programie programujecie (masło maślane ;P) w Pascalu?
Pozdrawiam!
Darmowe:
Free Pascal
albo bardziej rozbudowane ale oparte o pascala Delphi 7
Płatne:
Turbo Pasacal
Pytanie powinno brzmieć kto (oprócz zacofanych nauczycieli informatyki) używa jeszcze pascala
[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
Z tego co wiem to Lazarus chyba tez jest pod Windowsa :) i na nim sie na studiach programowało :)
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
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
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!
W Pascalu?
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).
Niestety mam jutro kolosa i muszę umieć co nieco, a te zadania nieco rozjaśnią mi temat ;)
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ć...
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.
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
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.
randomowy-->
To to ja umiem ;)
Głównie nie ogarniam tych wszystkich pętli oraz warunków ;)
zadaj konkretne pytania, możesz je ponumerować, postaramy się odpowiedzieć. Np. o którą pętlę ci chodzi?
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ę>
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"
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;
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;)
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".
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ą.