undefined

Сравнение с Pascal’ем

Java Syntax
1 уровень , 8 лекция
Открыта
Сравнение с Pascal’ем - 1

— Привет! Меня зовут Лага Билаабо, я – инопланетянин и врач этой экспедиции, надеюсь, мы станем друзьями.

— Я тоже.

— На нашей родной планете мы используем прогрессивный язык программирования Pascal, вместо отсталой Джавы. Вот тебе небольшой пример сравнения Java и Pascal:

Java Pascal
public class MyFirstClass
{
   public static void main(String[] args)
   {
      int a, b, c;
      String s1, s2;
      System.out.println("Введите два числа");
      a = new Scanner(System.in).nextInt();
      b = new Scanner(System.in).nextInt();
      c = a + b;
      System.out.println("Сумма ваших чисел равна " + c);
   }
}
Program MyFirstProgram;
Var
   a, b, c: Integer;
   s1, s2: String;
Begin
   WriteLn("Введите два числа");
   ReadLn(a);
   ReadLn(b);
   c := a + b;
   WriteLn("Сумма ваших чисел равна ", c);
End.

— Это одна и та же программа, записанная на разных языках. Как видишь, в паскале она занимает меньше строчек – это признак того, что паскаль прогрессивнее.

— Я думаю, такое сравнение может ускорить твое понимание Java, если ты когда-то видел Pascal.

— Нет, не видел, но все равно было бы интересно посмотреть сравнение двух разных языков программирования.

— Разумная мысль. Тогда я продолжу.

— В паскале мы помещаем написанный код в тело программы, в процедуры или в функции. В Джаве все было сильно упрощено: тело программы, процедуры и функции заменили просто функциями. И стали называть их методами.

Java Pascal
Функция main
public static void main(String[] args)
{
   System.out.println("Ho-ho-ho!");
}
Тело программы
Begin
   WriteLn("Ho-ho-ho!");
End.
Функция/Метод
double sqr(double a)
{
   return a * a;
}
Функция
Function Sqr(a: Real): Real
Begin
   Sqr := a * a;
End;
Функция с типом void
void doubleWrite(String s)
{
   System.out.println(s);
   System.out.println(s);
}
Процедура
Procedure DoubleWrite(s: String);
Begin
   WriteLn(s);
   WriteLn(s);
End;

— В столбце с Паскалем я вижу «тело программы», «функцию» и «процедуру», а в Java везде функции. Это как-то странно.

— Да, нам – инопланетянам — это кажется очень странным, но люди любят все унифицировать.

— В Java весь код является функциями, поэтому там даже не надо писать function, как в паскале, чтобы объявить функцию.

— Все очень просто: если строчка кода имеет вид «Тип + имя», то это либо объявление функции, либо переменной. Если после имени стоят скобочки – значит это объявление новой функции. Если скобочек нет – объявление новой переменной.

— Объявления переменных и функций в Java очень похожи, сравни:

Код Описание
String name;
Переменная с именем name и типом String.
String getName()
{
}
Функция с именем getName и типом возвращаемого результата String.

— И это ещё не всё. В Java функции не могут быть сами по себе. Они обязаны находиться внутри какого-то класса. Поэтому когда человекам нужно написать одну маленькую программку на Java, им нужно сначала создать класс, затем написать в нем функцию main, а уж потом писать в ней свой код. Все земляне — такие чудаки.

— Сегодня ко мне зашел Диего и попросил дать тебе эти задачи, надеюсь тебе они понравятся:

undefined
1
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Большая чистка
Тот, кто писал эту программу, явно делал это в спешке.. На самом деле, нет: программа-то учебная, и этот кто-то нарочно запихнул туда лишние переменные, а те, что надо, не объявил. Исправляем ситуацию: лишние переменные закомментируем, а недостающие — объявим. И наступит тогда в программе всеобщая гармония.
undefined
1
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Не хочешь - решай нехотя
Лень-матушка захватывает даже лучших программистов. И не только программистов. Вопреки ей, люди умудрялись самообучаться и становиться специалистами. Так что предлагаем не лениться, а вывести на экран лозунг: «Хочешь - решай задачи, не хочешь - решай нехотя». Ну а чтобы запомнилось, вывести его нужно 16 раз.
undefined
5
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Число в квадрате
Число в квадрате можно получить по-разному. Например, нарисовать квадрат, а внутри — число. Этим способом пользуются те, кто нигде не учился. Остальным придется умножать или вспоминать таблицу квадратов… или воспользоваться программой. Ваша программа должна вывести на экран квадрат числа 5.
undefined
5
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Просто, как 2+2
В Java-приложении все действия выполняют функции. Или методы, так будет правильнее. В нашей программе добрый наставник уже реализовал метод (то есть написал его код), и этот метод умеет считать сумму двух чисел. Всё, что вам нужно сделать — написать вызов этой функции с параметрами 2 и 2. Делать это нужно в методе main.
undefined
1
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Выбирай здоровую еду! Выбирай фрукты!
Выведи на экран переменные, значения которых являются названиями фруктов. Каждую переменную выведи с новой строки.
undefined
1
Задача
Java Syntax,  1 уровень,  8 лекция
Недоступна
Любимое стихотворение
Современный программист редко бывает совсем уж законченным технарем, который помешан на технике и гаджетах и больше ни на чем. Некоторые из них еще и поэзией увлечены. Если вы из таких, то вам будет легко выполнить следующее задание: вывести на экран четверостишие (или больше) из вашего любимого стихотворения.
Комментарии (1014)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
MrNem0 3 уровень, Елизово
23 февраля 2021
 
Классно было поломать голову с двумя сложныиюми задачками...
 
Malenky Jozh 9 уровень, Екатеринбург
2 февраля 2021

public class Solution {
    public static void main(String[] args) {
        int a = sqr(5);
        System.out.println (a);
    }

    public static int sqr(int a) {
        return a * a;
    }
}


public class Solution {
    public static void main(String[] args) {
       sum (2,2); //напишите тут ваш код
    }

    public static void sum(int a, int b) {
        int c = a + b;
        System.out.print(c);
    }
}

Прохожу курс заново. И возник такой вопрос, который я и раньше не понимала. По какому принципу мы ставим тип void во втором методе, решаем все внутри метода, а в main просто взываем его. Либо ставим другой тип, возвращаем значение и операции проводим уже в main?
Олег_Манцаев 2 уровень
13 января 2021
Что-то про квадрат непонятно. На телефоне вообще не удобно быдлокодить.
Павел 2 уровень
12 января 2021
Честно бесят задачи не по теме. Вы про метод sqr и sum слово не об молвили, да и вообще про методы не было больно инфы, изучаем 100500 задание про переменные и комментирование. Зачем эти задачи? Можно же после обучения. Условия читаешь и не поймешь ничего
Anonymous #2288933 8 уровень
25 декабря 2020
Задачи эпик можно сделать по аналогии с примером в 1 уровень 1 лекция.
Любимая татикома Бато-сана 3 уровень, Ростов-на-Дону
12 декабря 2020
Именно поэтому после Паскаля Java кажется мне суперудобной, лаконичной и дружелюбной)
Андрей 2 уровень, Санкт-Петербург
2 декабря 2020
В стихотворении что бы не писать с каждой строки System.out.println, попробуйте использовать \n для обрыва и начала новой строчки. Скрепляя строчки +. В конце закройте команду привычными скобками и точкой с запятой. К примеру:

       System.out.println("Мое любимое стихотворение:\n" +
                "\n" +
                "Roses are red,\n" +
                "Violets are blue,\n" +
Андрей 2 уровень, Санкт-Петербург
2 декабря 2020
Кто понял жизнь, тот больше не спешит, Смакует каждый миг и наблюдает, Как спит ребёнок, молится старик, Как дождь идёт и как снежинки тают. В обыкновенном видит красоту, В запутанном простейшее решенье, Он знает, как осуществить мечту, Он любит жизнь и верит в воскресенье. Он понял то, что счастье не в деньгах, И их количество от горя не спасет, Но кто живёт с синицею в руках, Свою жар-птицу точно не найдет. Кто понял жизнь, тот понял суть вещей, Что совершенней жизни только смерть, Что знать, не удивляясь, пострашней, Чем что-нибудь не знать и не уметь.
Service Plus 5 уровень, Санкт-Петербург
2 декабря 2020
Зачем тут эпик задачи? Как их решить? Где лекция в которой этот материал изучали?
MATRIX UNIT 4 уровень
28 ноября 2020
Я сам пишу стихи, и поэтому вывел свой стих) LOL