undefined

Porównanie z Pascalem

Składnia Java
Poziom 1 , Lekcja 8
Dostępny
image-pol-01-05

– Cześć. Nazywam się Laga Bilaabo. Jestem istotą pozaziemską i lekarzem na tym statku. Mam nadzieję, że się zaprzyjaźnimy.

– Ja również.

– Na mojej macierzystej planecie używamy zaawansowanego języka programowania Pascal zamiast zacofanego języka Java. Spójrz na to porównanie kodu Java i Pascal:

Java Pascal
public class MojaPierwszaKlasa
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Wprowadź dwie liczby");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("Suma to " + c);
   }
}
Program MojPierwszyProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Wprowadź dwie liczby");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("Suma to ", c);
End.

– To ten sam program, ale napisany w dwóch różnych językach. Jak widać, wersja w Pascalu ma mniej linii, co świadczy o tym, że Pascal jest lepszy od Javy.

– Uznałem, że ten przykład może pomóc Ci zrozumieć Javę, jeżeli wcześniej używałeś Pascala.

– Nie, nie używałem. Mimo to porównanie dwóch języków programowania jest interesujące.

– Słusznie. Będę zatem kontynuował.

– W Pascalu umieszczamy kod w ciele programu, procedurach lub funkcjach. W Javie ten proces jest uproszczony: ciało programu, procedury i funkcje zostały zastąpione funkcjami nazywanymi metodami.

Java Pascal
Metoda main
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Ciało programu
Begin
   WriteLn("Ho-ho-ho!");
End.
Funkcja/metoda
double kwadrat(double a)
{
   return a * a;
}
Funkcja
Function Kwadrat(a: Real): Real
Begin
   Kwadrat := a * a;
End;
Funkcja zwracająca void (typ pusty)
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Procedura
Procedure NapiszDwukrotnie(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

– W kolumnie z Pascalem widzę takie określenia, jak „ciało programu”, „funkcja” i „procedura”, ale w Javie wszystkie one są nazywane metodami. To trochę dziwne.

– My, istoty pozaziemskie, uważamy, że to bardzo dziwne. Ale ludzie lubią wszystko ujednolicać.

– W Javie cały kod jest częścią metody, więc nie trzeba nawet wpisywać słowa Function, jak w Pascalu, aby zadeklarować metodę.

– To wszystko jest bardzo proste. Jeśli linia kodu wygląda jak Typ + Nazwa, jest to deklaracja metody lub zmiennej. Jeśli po nazwie znajdują się nawiasy, to jest to deklaracja nowej metody. Jeśli nie ma nawiasów, jest to deklaracja zmiennej.

– Deklaracje zmiennych i metod są w Javie bardzo podobne. Sam zobacz:

Kod Opis
String imie;
Zmienna o nazwie imie, która jest typu String.
String getImie()
{
}
Metoda o nazwie getImie, która zwraca String.

– Ale to nie wszystko. W Javie metody nie mogą istnieć samodzielnie. Muszą być umieszczone wewnątrz klasy. Zatem, gdy ludzie chcą napisać jeden mały program w Javie, muszą najpierw stworzyć klasę, zadeklarować w niej metodę main i dopiero wtedy mogą napisać swój kod w metodzie. Ci Ziemianie są pokręceni!

– Diego wpadł do mnie i poprosił o przekazanie Ci tych zadań. Mam nadzieję, że Ci się spodobają.

undefined
1
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Wielkie porządki
Ktoś, kto napisał ten program, musiał bardzo się śpieszyć. A tak zupełnie poważnie: ten program został napisany w celach edukacyjnych i autor celowo umieścił w nim zbędne zmienne oraz nie zadeklarował potrzebnych zmiennych. Poprawimy to: Zakomentuj niepotrzebne zmienne i zadeklaruj te brakujące. Dzięki temu nasz program osiągnie wieczną harmonię.
undefined
1
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Nie chce Ci się? Mimo wszystko – zrób to.
Lenistwo dotyka nawet najlepszych programistów. Zresztą – nie tylko programistów. Musisz jednak wiedzieć, że wszyscy oni zostali profesjonalistami dzięki nauce. Proponujemy zatem – nie leń się. Zamiast tego spróbuj wyświetlić na ekranie to hasło: „Jeżeli masz na to ochotę, wykonaj zadanie. Jeżeli nie masz na to ochoty, zrób to mimo wszystko”. Wyświetl je 16 razy, żeby dobrze to zapamiętać.
undefined
5
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Kwadrat liczby
Istnieje kilka sposobów na to, aby uzyskać kwadrat liczby. Niektórzy na przykład najpierw piszą liczbę, a następnie rysują wokół niej kwadrat. Z tej metody korzystają osoby, które nigdzie się nie uczyły. Wszyscy inni muszą mnożyć, znać na pamięć tabliczkę mnożenia lub... użyć programu. Twój program powinien wyświetlać kwadrat liczby 5.
undefined
5
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Proste jak 2+2
W aplikacji Java wszystkie akcje wykonuje się przez funkcje, a dokładniej – metody. W naszym programie uprzejmy mentor zaimplementował już metodę (czyli – napisał kod metody), która liczy sumę dwóch liczb. Wszystko, co musisz zrobić, to wywołać tę metodę z argumentami 2 i 2. Należy to wykonać w metodzie main.
undefined
1
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Wybierz zdrowe jedzenie! Wybierz owoce!
Wyświetl zmienne, których wartościami są nazwy owoców. Każdą zmienną wyświetl w nowej linii.
undefined
1
Zadanie
Składnia Java, poziom 1, lekcja 8
Niedostępne
Ulubiony wiersz
Jeśli myślisz, że dzisiejsi programiści to stuprocentowi inżynierowie, skupieni tylko na gadżetach i technologii, to jesteś w błędzie. Niektórzy pasjonują się także poezją. Ty pewnie także jesteś miłośnikiem poezji, więc poniższe zadanie nie powinno sprawić Ci trudu: wyświetl czterowiersz (lub dłuższy fragment) ze swojego ulubionego wiersza.
Komentarze (8)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Piotr Mgłosiek Poziom 2
20 grudnia 2020
mam pytanie czy 1 zadanie epic można było rozwiązać z wiedzą z tego kursu. nie przypominam sobie żebyśmy się tego uczyli. ale mogę się mylić
Mateusz Poziom 19 Toruń
4 września 2020
How it is even possible for me to finish this last 2 epic tasks if in course noone never mention how to use two classes :(
Patryk Poziom 3 Augsburg
29 sierpnia 2020
Witam, dlaczego od poczatku szkolenianie bylo nic napisane o takiej mozliwosci :System.out.println(sqr(5)); ? Jak osoba poczatkujaca ma wywnioskowac ze jest to rozwiazanie zadania?
Piotr Lelonek Poziom 20 Warsaw
24 lipca 2020
Zadanie dość długo rozkminiałem, gdyż treść zadania jest myląca, grubą czcionką nie powinno być napisane "kwadrat liczby".
Karolina Poziom 1 Warsaw
6 maja 2020
poproszę porównanie z Pythonem! ;)
Katarzyna Poziom 7
8 kwietnia 2020
bład we wskazówce zamiast sqr powinno być kwadrat