Измените класс helloworld чтобы напечатать слово hello так как показано ниже

Ответили на вопрос 5 человек. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.

Как вывести буквы фигурами не зная циклов?

Читая книгу Якова Файна — программирование на java для детей родителей дедушек и бабушек у меня появилось небольшое недоумение.
В книге автор дает задание на странице 39 нарисовать HELLO звездочками

5f9f87cf00625838966990.png

При этом, в книге еще не было циклов. Пройдены только типы. Если возможно нарисовать данное творение без циклов, дайте подсказку как это сделать? Неужели по типу sout? Буду рад любым подсказкам.


  • Вопрос задан

    более двух лет назад

  • 699 просмотров

Измените класс HelloWorld, чтобы напечатать слово Hello, так, как показано ниже.

В классе HelloWorld наверняка есть команда типа
System.out.println("Hello world!");
Нужно написать вместо нее:

System.out.println("*    * ***** *     *      ****");
System.out.println("*    * *     *     *     *    *");
System.out.println("****** ***** *     *     *    *");
System.out.println("*    * *     *     *     *    *");
System.out.println("*    * ***** ***** *****  ****");

Очень просто. Нужно подключить абстрактное мышление, прикинуть пробелы между звёздочками и вывести 5 строк. Будь я ребёнком изучающим джаву, я бы взял тетрадь в клеточку и прикинул в ней какие строки нужно выводить.

Пригласить эксперта

А что мешает набрать это в блокноте и вывести в консоль?

System.out.println("n *    * ***** *     *      ****n *    * *     *     *     *    *n ****** ***** *     *     *    *n *    * *     *     *     *    *n *    * ***** ***** *****  ****");


  • Показать ещё
    Загружается…

10 февр. 2023, в 12:46

13000 руб./за проект

10 февр. 2023, в 12:41

2500 руб./за проект

10 февр. 2023, в 12:26

50000 руб./за проект

Минуточку внимания

1 / 1 / 0

Регистрация: 22.10.2014

Сообщений: 41

1

23.08.2015, 20:36. Показов 4201. Ответов 8


Здравствуйте!! Начал изучать программирование по книге. Есть вот такое практическое задание: Измените класс HelloWorld, чтобы напечатать свой адрес с помощью нескольких вызовов метода println(). Всем этим занимаюсь в программе Eclipse.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Автоматизируй это!

Эксперт Python

6481 / 4174 / 1140

Регистрация: 30.03.2015

Сообщений: 12,329

Записей в блоге: 29

23.08.2015, 20:39

2

и? в чем проблема? покажите код



0



Эксперт Java

2392 / 2218 / 564

Регистрация: 28.12.2010

Сообщений: 8,661

23.08.2015, 21:39

3

s-v-v, то есть у вас есть программа которая пишет на экран Hello World, вы должны вместо этого сообщения написать другое и вы спрашиваете на форуме как это делать?

Вы уверены что выбрали правильное занятие?



0



s-v-v

1 / 1 / 0

Регистрация: 22.10.2014

Сообщений: 41

23.08.2015, 21:42

 [ТС]

4

Цитата
Сообщение от Welemir1
Посмотреть сообщение

и? в чем проблема? покажите код

Сам код вот:

Java
1
2
3
4
5
6
7
8
9
public class Home {
 
    public static void main(String[] args) {
        System.out.print("Kiev");
        // TODO Auto-generated method stub
 
    }
 
}

Просто не пойму как понять слова:с помощью нескольких вызовов метода println()



0



2882 / 2294 / 769

Регистрация: 12.05.2014

Сообщений: 7,978

23.08.2015, 21:44

5

пропусти это задание, иди дальше



1



marick0073

3 / 3 / 1

Регистрация: 06.07.2014

Сообщений: 133

23.08.2015, 21:44

6

Лучший ответ Сообщение было отмечено KEKCoGEN как решение

Решение

Java
1
2
3
4
5
6
7
8
public class Home {
 public static void main(String[] args) {
  System.out.print("K");
  System.out.print("i");
  System.out.print("e");
  System.out.print("v");
 }
}

Может имеется ввиду указать и индекс и улицу помимо города?

Java
1
2
3
4
5
6
7
public class Home {
 public static void main(String[] args) {
  System.out.println("Index");
  System.out.println("Kiev");
  System.out.println("Street");
 }
}



1



1 / 1 / 0

Регистрация: 22.10.2014

Сообщений: 41

23.08.2015, 21:51

 [ТС]

7

Цитата
Сообщение от Паблито
Посмотреть сообщение

пропусти это задание, иди дальше

Походу так и сделаю.

Добавлено через 2 минуты

Цитата
Сообщение от marick0073
Посмотреть сообщение

public class Home {
*public static void main(String[] args) {
* System.out.print(«K»);
* System.out.print(«i»);
* System.out.print(«e»);
* System.out.print(«v»);
*}
}

Спасибо. Это и есть правильное решение.



1



Welemir1

23.08.2015, 22:13



0



KEKCoGEN

23.08.2015, 22:14


    Как напечатать свой адрес с пом. нескольких вызовов метода println()

 Комментарий модератора 
Закрыто во избежание флуда



0



1.

Языки
программирования.
Java: стоит ли его
изучать?
Мастер — класс
Разработчик : преподаватель Центра цифрового
образования детей «IT-Куб.Кузнецк» Ю.В. Анохина

2.

О программировании и программистах
Программирование — это процесс создания
программ (программного обеспечения) –
инструкций, понятных для компьютера.
Для этого программисты пишут исходный код на
одном из языков программирования.
Существует более 300 языков программирования,
но для успешной карьеры можно выбирать из
десяти самых популярных.
Еще правильнее будет сначала определиться с
областью, в которой вы собираетесь работать, и
только потом приступать к выбору языка.
Попробуйте выбрать для себя язык программирования,
который возможно подойдет Вам для изучения.
https://onlinetestpad.com/egcymr4ypweto

3.

Рейтинг языков программирования
В соответствии с рейтингом TIOBE
TIOBE
считает
упоминания на
веб-страницах.
В рейтинге
учитывается
количество
работающих с
языком
специалистов, а
ещё различные
курсы, где
языки можно
изучить.

4.

Рейтинг языков программирования по
количеству вакансий
Количество вакансий с сайта Zarplan (ноябрь 2021):
Количество вакансий с сайта hh.ru (ноябрь 2021):
Язык программирования
Количество вакансий
SQL
30410
JavaScript
17 626
Python
15 805
Java
12 334
PHP
7409
C#
7270
C++
5976
Go
4856
Kotlin
3239

5.

И все же
Java…

6.

Любопытные факты о
Java
Это
официальный
символ Java
Изначально Java создавался для интерактивного ТВ, но
индустрия кабельного телевидения была недостаточно
развита для того, чтобы использовать его.
Язык
разрабатывался
Джеймсом
Гослингом
и
первоначально был назван Oak в честь дуба, который
рос около офиса Гослинга. Впоследствии язык был
переименован в Java, и стал использоваться для
написания клиентских приложений и серверного
программного обеспечения. Свое последнее название
язык получил в честь марки кофе Java, поэтому на
официальной эмблеме изображена чашка с кофе.
А это Дюк –
официальный
талисман Java
Дюк (Duke), символ Java, был создан Джо Пэлрэнгом,
который впоследствии работал над популярными
анимационными фильмами, такими как Шрэк.
Согласно данным сайта Tiobe, Java занимает второе
место
среди
самых
популярных
языков
программирования. Первое место отдано языку С.
Главную технологию Java — библиотеку для модульного
тестирования ПО JUnit — используют 4 из 5

7.

Характеристики Java
•Невысокий порог вхождения.
Изучать Java проще, чем большинство языков с Си-подобным синтаксисом.
•Объектно-ориентированный.
Программы в Java строятся на основании объектов и их взаимодействии,
что позволяет задействовать все преимущества ООП.
•Переносимость.
Благодаря использованию интерпретатора — виртуальной машины Java, —
программы переносятся на различные платформы и устройства.
•Платформенная независимость.
Программа, написанная на Java для одной платформы, компилируется в
промежуточный байт-код, который может запускаться на других
платформах благодаря интерпретации с помощью JVM под каждую
платформу.
•Развитая многопоточность.
Средства Java позволяют управлять выполнением нескольких потоков, что
позволяет создавать многопоточные приложения.

8.

Характеристики Java
•Безопасность.
Благодаря встроенной в JVM верификации байт-кода, отсутствии в Java ручного
управления памятью, слежением за переполнением стека, а также наличию
различных API, которые позволяют контролировать безопасность, на этом языке
можно создавать действительно безопасные приложения.
•Отказоустойчивость.
Механизм исключений как при компиляции, так и во время непосредственного
выполнения повышает отказоустойчивость программ и снижает количество ошибок.
•Интерпретируемость.
Java-интерпретатор может выполнять байт-коды Java на любой машине, на которой
имеется JVM и JRE.
•Распределенность.
У Java есть инструменты для создания распределенных приложений.
•Производительность.
Использование JIT (Just-in-time)-компилятора обеспечивает высокую скорость
работу приложений, сопоставимую по скорости с языками С и С++.

9.

Направления Java
Java Enterprise Edition или Java 2 Enterprise
Edition (сокращенно Java EE) — используется при
разработке приложений для крупных
предприятий, корпораций.
Java 2 Standard Edition (сокращенно Java SE ) –
используется для разработки простых Java
приложений. Используя данную редакцию Java,
можно создавать консольные приложения,
апплеты, приложения с графическим
интерфейсом пользователя.
Java Micro Edition или Java 2 Micro
Edition (сокращенно Java ME) — используется в
создании приложений для мобильных
телефонов, карманных персональных
компьютеров и других маломощных
вычислительных систем.
Java Card — используется для смарт-карт.
Например, банковские платёжные карточки,
SIM-карточки в мобильной связи и т.д.

10.

Последовательность шагов в
изучении Java
Установка
Java (JDK)
Знакомство с
Java
программой
Установка инструментов
для разработки (Maven,
Docker, GitHub)
Изучение синтаксиса Java
Изучение Java Core
Изучение библиотек и фреймворков

11.

Как работает Java
В языке Java, как и во многих других языках
программирования, для создания программы
вы пишете исходный код. При написании кода
вы создаете файл с расширением .java.
Далее работает компилятор, который
проверяет соответствие вашего кода
синтаксическим правилам языка. После
компиляции Java-кода получаются байт-коды.
Виртуальная машина Java (JVM) затем
интерпретирует эти байт-коды во время
исполнения — то есть тогда, когда вы
запускаете Java-программу.
JVM (виртуальная машина Java) читает и
интерпретирует код, и то, как она делает
это, зависит от платформы, на которой вы
работаете.

12.

Среды разработки Java (IDE)
Среда разработки — это программа или несколько программ,
которые вы используете для создания программ. В этот
процесс входит, собственно, написание кода, его отладка,
запуск, интеграция с системами управления версиями.
IntelliJ IDEA
NetBeans
Eclipse

13.

Учимся программировать на Java
Для того, чтобы писать полноценные программы, необходимо установить на
компьютере IDE, представленные на предыдущем слайде.
Но для того, чтобы потренироваться в написание несложных программ, можно
использовать он-лайн приложение https://www.online-java.com/
Тут пишут программу
Тут отображается результат выполнения программы

14.

Программы на Java
Для того, чтобы написать программу необходимо знать некоторые принципы
программирования:
Принцип первый: в языке программирования Java каждую команду принято писать с
новой строки. В конце команды ставится точка с запятой.
Принцип второй: программа не может просто состоять из команд. Команды языка Java
должны находиться внутри функций, а функции — внутри классов.
Так вот, команды — это мебель. В языке программирования Java команда не может быть
сама по себе: она — часть функции (функции в Java еще называют методами).
А метод (функция) — это часть класса. Иными словами, класс делится на методы,
а методы содержат команды.

15.

Структура типичной программы
Программы на языке Java состоят из классов (class). Классов могут быть десятки
тысяч.
Минимальная программа — один класс.
Для каждого класса заводится отдельный файл, имя которого совпадает с именем
класса.
Если вы решили описать в программе, например, кота (Cat — кот, по-английски), тогда
вам нужно создать файл Cat.java и в нем описать класс Cat и т.д.
Обычно код класса состоит из имени класса и тела класса.
Тело класса помещается в фигурные скобки. Вот как может выглядеть класс c именем
House (красной линией подчеркнуты обязательные элементы программы).

16.

Структура типичной программы
Конечно, любая программа состоит из команд. Самой часто встречаемой
командой является System.out.print (“ Текст — вывод на экран текста.
“);
Это пример программы, выводящей на экран фразу:This is my first program
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println(«This is my first program»);
}
}

17.

Программы на Java
Практические упражнения для умников и умниц
• Измените класс HelloWorld, чтобы напечатать свое
имя и место учебы с помощью нескольких вызовов
метода println().
• Измените класс HelloWorld, чтобы напечатать слово
Hello, так как показано ниже.

18.

Спасибо

»’ Напишите функцию с названием hello_world, которая будет выводить в консоль фразу — Hello, world! »’ # def hello_world(): # print(«Hello, world!») # # hello_world() # #/////////////////////////////////////////////// # # »’ # Напишите функцию с названием print_square, # которая будет принимать параметр num и выводить в консоль квадрат числа num. # Не используйте в теле функции дополнительные переменные # »’ # #варіант 1 # def print_square (num): # num = num ** 2 # print(num) # # print_square(10) # #100 # # #варіант 2 # def print_square1 (num): # print(num * num) # # print_square1(3) # #9 # #//////////////////////////////////////////// # # # Напишите функцию add_numbers, которая возвращает результат сложения двух своих # # параметров first и second.Дополнительные переменные не использовать. # # # # # … # # # code # # # … # # def add_numbers(first, second): # # return first + second # result = add_numbers(2,4) # print(result) # #6 # # def print_square(num): # return num * num # print(print_square(2)) # # #////////////////////////////////////////////////// # # #приклад вложеної функції # # def function (x): # if x > 0: # return x * 2 # else: # return x * 3 # # # def main_func(): # for i in range(-3, 4): # y = function(i) # print(‘function(‘, i,’) = ‘,i, sep=») # # # main_func() # # #function(3) = 3 # # # »’ # Приклад присвоювання номінальних і фактичних параметрів і ф-ій # »’ # # def table(width=1.5, legs=4, color=»brown» ): # print(«Table width -«, width) # print(«Table legs -«, legs) # print(«Table color -«, color) # # # table() # table(legs=2, color=»black», width=2) # table(legs=2) # table(1.2, 2, «gray») # table(1.1, 3) # table(legs=4, width=2, color=»white») # table(color=»green», width=2, legs=2) # # print(«/////////////////////////////////////////////////////////») # # def table(width=1.5, legs=4, color=»brown» ): # print(«Table width -«, width) # print(«Table legs -«, legs) # print(«Table color -«, color) # # # table() # # table(width=2, color=»black», legs=2) # # table(legs=2) # # table(1.2, 2, «gray») # table(1.1, 3) # # table(width=2, legs=4, color=»white») # # table(color=»green», width=2, legs=2) # # # #////////////////////////////////////////// # # # Напишите функцию sum_ принимает три # # параметра a, b, c.Параметр “c” равен нулю по умолчанию.Функция должна возвращать # # сумму всех трех аргументов.Не использовать дополнительные переменные. # # # def sum_ (a,b,c = 0): # return a+b+c # # print (sum_(100,1)) # #101 #////////////////////////////////////// # Напишите функцию с именем func которая будет выводить в консоль числа от 0 до 4, # каждое в новой строке если ее запустить без параметров. # Либо числа от 0 до n-1, где n – параметр функции. Используйте цикл for и переменную итератор i. # # def func (n): # if n == 0 and n <=4: # return n # else: # return n — 1 # # def func1(): # for i in range (0, 6): # y = func(i) # print(‘function(‘,i, ‘) = ‘, y, sep=») # # func1() »’ function(0) = 0 function(1) = 0 function(2) = 1 function(3) = 2 function(4) = 3 »’ #TODO знайти коректне рішення для функції func #//////////////////////////////////////////////////// # Напишите функцию с именем func которая будет выводить в консоль числа от 0 до 4, # каждое в новой строке если ее запустить без параметров. Либо числа от 0 до n-1, где n – параметр функции. # Используйте цикл while и переменную итератор i. Цикл while должен проверять условие (i != n). # # # … # # code # # … # # func() # def func (n = 5): # for i in range(n): # while i != n: # i +=1 # if i == 0 and i <= 4: # print(i) # else: # n -= i # print(n) #func() # #TODO знайти коректне рішення для функції func2 «»» Напишите функцию с названием function и параметрами a и b, которая возвращает сумму этих параметров. Напишите документационную строку к функции содержащую текст — This function adds two arguments. «»» # def function_(a, b): # «»»- This function adds two arguments.»»» # # return a + b # # # print(function_(4, 6)) # #10 # # #//////////////////////////////////// # # Вывести содержание документационной строки функции the_func() на консоль. # print(function_.__doc__) # #- This function adds two arguments. # # #///////////////////////////////// # # «»» # Напишите функцию с именем func, которая принимает три параметра a, b, c, значения по умолчанию которых 4, 10, -1 соотве # тственно. # Функция выводит в консоль максимальное значение, минимальное значение, и модуль параметра “c”. # Для решения задачи используйте встроенные функции Python. Порядок следования переменных не изменять. # «»» # # def func(a = 4, b = 10, c = -1): # # # print(max(a, b, c)) # print(min(a, b, c)) # print(abs(c)) # # # func() # «»» # 10 # -1 # 1 # «»» # # #/////////////////////////////////////////////////////////////////////////////// # «»» # Напишите функцию с названием str_revers, # которая принимает параметр str_ строку, и выводит в консоль перевернутую строку, # все символы которой идут в обратном порядке. # Используйте цикл for, переменную итератор i # «»» # # def str_revers(str_ = «строку»): # for i in reversed(str_): # print(i, end=») # # str_revers() # # # #//////////////////////////////////////////// # # «»» # Напишите функцию с названием function, которая присваивает глобальной переменной var значение «new variable» # # var = «variable» # # # … # # code # # … # # function() # print(var) # «»» # # # var = «variable» # # def function(): # global var # var = «new variable» # # function() # print(var) #глобальна перемінна буде мати значення new variable #//////////////////////////////////////////////// «»» Создайте функцию с именем function(), без параметров. Объявите в ней переменную var и присвойте ей значение “variable”. Создайте встроенную функцию inner() тоже без параметров, которая меняет значение ранее созданной переменной var на новое “new variable” «»» # def function(): # var = «variable» # # # def inner(): # nonlocal var # var = «new variable» #////////////////////////////////////////////// «»» Простенька рекурсія для циклічного підрахунку на 1″»» # def rec (a): # print(«res of recursion», a) # while a == 20: # continue # # rec(a+1) # # rec(10) «»» res of recursion 10 res of recursion 11 res of recursion 12 res of recursion 13 res of recursion 14 res of recursion 15 res of recursion 16 res of recursion 17 res of recursion 18 res of recursion 19 res of recursion 20 «»» #//////////////////////////////////////////// «»» Напишите функцию с сигнатурой factorial(n) которая возвращает факториал числа n. Используйте рекурсию. «»» # def factorial(n): # if n == 0: # return 1 # else: # return n * factorial(n-1) # # print(«Recursion result:», factorial(5)) # # #Recursion result: 120 #///////////////////////////////////////////////// «»» Программа рекурсивно вычисляет числа Фибоначчи и выводит 10 из них в консоль. Найдите ошибки в коде: «»» import functools #імпорт подуля для роботи з кешуванням даних @functools.lru_cache(maxsize=None) #використали декоратор для зберігання проміжних значень функції def fib(n): if n == 1 or n == 2: return 1 else: return fib(n 1) + fib(n 2) for i in range(1, 101): print(fib(i)) «»» 1 1 2 3 5 8 13 21 34 55 «»»

Первые шаги¶

Давайте посмотрим, как создать традиционную программу «Hello World» на Python.
Это научит вас писать, сохранять и выполнять программы на Python.

Существует два способа запуска программ на Python: использование интерактивного
приглашения интерпретатора и использование файла с текстом программы. Сейчас мы
увидим, как пользоваться обоими методами.

Использование командной строки интерпретатора¶

Откройте окно терминала (как было описано в главе
Установка) и запустите интерпретатор Python, введя
команду python3 и нажав Enter.

Пользователи Windows могут запустить интерпретатор в командной строке, если
установили переменную PATH надлежащим образом. Чтобы открыть командную
строку в Windows, зайдите в меню «Пуск» и нажмите «Выполнить…». В появившемся
диалоговом окне введите «cmd» и нажмите Enter; теперь у вас будет всё
необходимое для начала работы с python в командной строке DOS.

Если вы используете IDLE, нажмите «Пуск» —> «Программы» —> «Python 3.0» —>
«IDLE (Python GUI)».

Как только вы запустили python3, вы должны увидеть >>> в начале строки,
где вы можете что-то набирать. Это и называется командной строкой
интерпретатора Python
.

Теперь введите print('Hello World') и нажмите клавишу Enter.
В результате должны появиться слова «Hello World».

Вот пример того, что вы можете увидеть на экране, если будете использовать
компьютер с Mac OS X. Информация о версии Python может отличаться в зависимости
от компьютера, но часть, начинающаяся с приглашения (т. е. от >>> и далее)
должна быть одинаковой на всех операционных системах.

$ python3
Python 3.3.0 (default, Oct 22 2012, 12:20:36)
[GCC 4.2.1 Compatible Apple Clang 4.0 ((tags/Apple/clang-421.0.60))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>

Обратите внимание, что Python выдаёт результат работы строки немедленно! Вы
только что ввели одиночный «оператор» Python. print используется для
того, чтобы (что неудивительно1) напечатать любое переданное в него
значение. В данном случае мы передали в него текст «Hello World», который и был
напечатан на экране.

Как выйти из командной строки интерпретатора

Если вы используете IDLE или оболочку GNU/Linux или BSD, вы можете выйти из
командной строки интерпретатора нажатием Ctrl-D или введя команду
exit() (примечание: не забудьте написать скобки, «()»), а затем
нажав клавишу Enter. Если вы используете командную строку Windows,
нажмите Ctrl-Z, а затем нажмите клавишу Enter.

Выбор редактора¶

Поскольку мы не можем набирать программу в командной строке интерпретатора
каждый раз, когда нам нужно что-то запустить, нам понадобится сохранять
программы в файлах, чтобы потом иметь возможность запускать их сколько угодно
раз.

Прежде чем приступить к написанию программ на Python в файлах, нам нужен
редактор для работы с файлами программ. Выбор редактора крайне важен.
Подходить к выбору редактора следует так же, как и к выбору личного
автомобиля. Хороший редактор поможет вам легко писать программы на Python,
делая ваше путешествие более комфортным, а также позволяя быстрее и безопаснее
достичь вашей цели.

Одно из самых основных требований — это подсветка синтаксиса, когда
разные элементы программы на Python раскрашены так, чтобы вы могли легко
видеть вашу программу и ход её выполнения.

Если вы не знаете, с чего начать, я бы порекомендовал воспользоваться программой
Komodo Edit, которая
доступна для Windows, Mac OS X и GNU/Linux.

Если вы пользуетесь Windows, Не используйте Блокнот — это плохой выбор,
поскольку он не обладает функцией подсветки синтаксиса, а также не позволяет
автоматически вставлять отступы, что очень важно в нашем случае, как мы увидим
позже. Хорошие редакторы, как Komodo Edit, позволяют делать это автоматически.

Опытные программисты, должно быть, уже используют Vim
или Emacs. Не стоит даже и говорить,
что это два наиболее мощных редактора, и вы только выиграете от их
использования для написания программ на Python. Лично я пользуюсь ими обоими
для большинства своих программ, и даже написал книгу о Vim.
Я настоятельно рекомендую вам решиться и потратить время на изучение Vim или
Emacs, поскольку это будет приносить вам пользу долгие годы. Однако, как я уже
писал выше, новички могут пока просто остановиться на Komodo Edit и
сосредоточиться на изучении Python, а не текстового редактора.

Я повторюсь ещё раз: обязательно выберите подходящий редактор — это сделает
написание программ на Python более простым и занимательным.

Для пользователей Vim

Существует хорошее введение в использование Vim как мощного IDE для Python,
автор — John M Anderson.
Также я рекомендую плагин jedi-vim
и мой собственный конфигурационный файл.

Для пользователей Emacs

Существует хорошее введение в использование Emacs как мощного IDE для Python, автор — Ryan McGuire.
Также я рекомендую Конфигурацию dotemacs от BG.

Использование программных файлов¶

А теперь давайте вернёмся к программированию. Существует такая традиция, что
какой бы язык программирования вы ни начинали учить, первой вашей программой
должна быть программа «Привет, Мир!». Это программа, которая просто выводит
надпись «Привет, Мир!». Как сказал Simon Cozens2, это «традиционное
заклинание богов программирования, которое поможет вам лучше изучить язык».

Запустите выбранный вами редактор, введите следующую программу и сохраните её
под именем helloworld.py .

Если вы пользуетесь Komodo Edit, нажмите «Файл» —> «Новый» —> «Новый файл»,
введите строку:

В Komodo Edit нажмите «Файл» —> «Сохранить» для сохранения файла.

Куда сохранить файл? В любую папку, расположение которой вы знаете. Если вы
не понимаете, что это значит, то создайте новую папку и используйте её для
всех ваших программ на Python:

  • C:py в Windows
  • /tmp/py в GNU/Linux
  • /tmp/py в Mac OS X

Чтобы создать папку, воспользуйтесь командой mkdir в терминале. Например,
mkdir /tmp/py.

Не забывайте указывать расширение файла .py. Например, «file.py«.

В Komodo Edit нажмите «Инструменты» —> «Запуск команды», наберите
python3 helloworld.py и нажмите «Выполнить». Вы должны увидеть вывод,
показанный на скриншоте ниже.

Screenshot of Komodo Edit with the Hello World program

Но всё-таки лучше редактировать программу в Komodo Edit, а запускать в
терминале:

  1. Откройте терминал, как описано в главе Установка.
  2. Перейдите в каталог, в котором вы сохранили файл. Например, cd /tmp/py.
  3. Запустите программу, введя команду python3 helloworld.py.

Вывод программы показан ниже.

$ python3 helloworld.py
Привет, Мир!

Если у вас получился такой же вывод, поздравляю! — вы успешно выполнили вашу
первую программу на Python. Вы только что совершили самый сложный шаг в
обучении программированию, заключающийся в написании своей первой программы!

Если вы получите сообщение об ошибке, введите вышеуказанную программу в
точности
так, как показано здесь, и запустите снова. Обратите внимание, что
Python различает регистр букв, то есть print — это не то же самое, что
Print (обратите внимание на букву p в нижнем регистре в первом случае и
на букву P в верхнем регистре во втором). Также убедитесь, что перед первым
символом в строке нет пробелов или символов табуляции — позже мы увидим,
почему это важно.

Как это работает

Программа на Python состоит из выражений. В нашей первой программе имеется
всего лишь одно выражение. В этом выражении мы вызываем функцию print,
которая просто выводит текст 'Привет, Мир!'. О функциях мы узнаем в
одной из последующих глав, а пока вам достаточно понять,
что всё, что вы укажете в скобках, будет выведено на экран. В данном примере
мы указали 'Привет, Мир!'.

Python никак не обрабатывает комментарии, кроме специального случая в первой
строке. Она называется »строка shebang»; когда первые два символа файла с
программой — #!, за которыми следует путь к некоторой программе, это
указывает вашей Unix-подобной системе, что вашу программу нужно запускать
именно в этом интерпретаторе, когда вы »исполняете» её. Это объясняется
подробно в следующем параграфе. Помните, что вы всегда можете запустить свою
программу на любой платформе, указав интерпретатор напрямую в командной
строке, как например, команда python helloworld.py .

Важно! Вставляйте разумные комментарии в ваши программы, чтобы объяснить некоторые
важные детали вашей программы — это будет полезно для тех, кто будет читать
вашу программу, так как им легче будет понять, что программа делает.
Помните, что таким человеком можете оказаться вы сами через полгода!

Исполнимые программы на Python¶

Это касается только пользователей GNU/Linux и Unix, но пользователям Windows
тоже будет полезно об этом знать.

Каждый раз, когда нам нужно запустить программу на Python, нам приходится в
явном виде запускать python3 foo.py. Но почему бы нам не запускать её точно
так же, как и все другие программы? Этого можно достичь при помощи так
называемого hashbang.

Добавьте строку, указанную ниже, в самое начало вашей программы:

Теперь ваша программа должна выглядеть так:

#!/usr/bin/env python3
print('Привет, Мир!')

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

Команда chmod здесь используется для изменения режима файла3
добавлением атрибута исполнимости для всех пользователей в системе4.

$ chmod a+x helloworld.py

После этого мы можем запускать программу напрямую, потому что наша операционная
система запустит /usr/bin/env, который, в свою очередь, найдёт Python 3, а
значит, сможет запустить наш файл.

$ ./helloworld.py
Привет, Мир!

Здесь «./» обозначает, что программа находится в текущем каталоге.

Ради интереса можете даже переименовать файл в просто «helloworld» и
запустить его как ./helloworld, и это также сработает, поскольку система
знает, что запускать программу нужно интерпретатором, положение которого
указано в первой строке файла программы.

Но до сих пор мы могли выполнять свою программу только если знали полный путь
к ней. А что, если нам нужно запускать эту программу из любого каталога? Это
можно организовать, расположив свою программу в одном из каталогов,
перечисленных в переменной окружения PATH.

При попытке запуска какой-либо программы система ищет её в каталогах,
перечисленных в переменной окружения PATH, и запускает. Таким образом, мы
можем сделать программу доступной из любого места, скопировав её в один из
каталогов, перечисленных в PATH.

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/swaroop/bin
$ cp helloworld.py /home/swaroop/bin/helloworld
$ helloworld
Привет, Мир!

Мы можем вывести на экран значение переменной PATH при помощи команды
echo, добавив перед именем переменной символ $, чтобы указать оболочке,
что мы хотим получить значение этой переменной. Мы видим, что
/home/swaroop/bin — один из каталогов в переменной PATH, где swaroop
это имя пользователя, которое я использую в своей системе. В вашей системе,
скорее всего, будет аналогичный каталог для вашего пользователя.

Вы также можете добавить какой-либо каталог к переменной PATH — это можно
сделать, выполнив PATH=$PATH:/home/swaroop/mydir, где
'/home/swaroop/mydir' — это каталог, который я хочу добавить к переменной
PATH.

Этот метод полезен для написания сценариев, которые будут доступны для запуска
в любой момент из любого места. По сути, это равносильно созданию собственных
команд, как cd или любой другой, которые часто используются в терминале
GNU/Linux или приглашении DOS.

Когда речь идёт о Python, слова «программа» или «сценарий (скрипт)» обозначают одно и то же.

Получение помощи¶

Для быстрого получения информации о любой функции или операторе Python служит
встроенная функция help. Это особенно удобно при использовании командной
строки интерпретатора. К примеру, выполните help(print) — это покажет
справку по функции print, которая используется для вывода на экран.

Для выхода из справки нажмите q.

Аналогичным образом можно получить информацию почти о чём угодно в Python.
При помощи функции help() можно даже получить описание самой функции
help!

Если вас интересует информация об операторах, как например, return, их
необходимо указывать в кавычках (например, help('return')), чтобы
Python понял, чего мы хотим.

Резюме¶

Теперь вы умеете с лёгкостью писать, сохранять и запускать программы на Python.

И поскольку сейчас вы уже используете Python, давайте узнаем больше о его
основных принципах.

С чем познакомимся:

  • Ключевые слова: class, public, import;
  • блоки кода;
  • операторы, методы;
  • метод System.out.println();
  • пакеты

Теперь разберем нашу первую программу, что называется «по косточкам». Давайте приведем ее немного измененный текст еще раз.

Листинг 1. Текст первой программы HelloWorld.java

import java.io.*;
public class HelloWorld {

public static void main (String args []) {

    System.out.println («Да здравствует Java!»);
  }
}

У внимательного (пусть даже и не очень хорошо знакомого с программированием) читателя могут возникнуть справедливые вопросы, на которые необходимо ответить (единственное, оговоримся, мы будем рассматривать код из Листинга 1 немного «не-по порядку»).

Мы уже говорили ранее, что все в Java является объектом — поэтому наличие в нашей программе класса «class HelloWorld», название которого совпадает с названием файла, в принципе уже не должно быть непонятным. Также как употребление слова class. Отметим, что в языке Java существует ряд слов, которые называют «ключевыми». Public, class, static — типичные представители ключевых слов. Употребление таких слов регламентируется правилами языка и будет рассмотрено нами постепенно, по мере изучения предмета.

На данном этапе скажем, что ключевое слово public употребляется для того, «чтобы класс был виден» (или, по-другому: «чтобы его можно было использовать») из других классов, которые мы, возможно, придумаем в дальнейшем. Посмотрите на ход мыслей создателей языка: «Программа на Java — это своеобразный конструктор (пусть, например, «Лего»). Каждая деталька — это класс. Хочешь ее использовать в построении более сложной программы — объяви детальку/класс публичной (public) и используй там где понадобится!». Смысл этих слов обязательно прояснится позже, пока же посмотрите как я придумал использовать наш «лего»-класс HelloWorld на рис.1.

класс machine
рис.1 Использование класса HelloWorld в объекте machine

Еще — текст программы буквально напичкан скобками. Интересная особенность — скобки всегда образуют пары — () или {}. Пара фигурных скобок {} образует так называемые блоки кода. Например, описание класса начинается и заканчивается парой таких скобок (см. подробнее об этом в [1]).

В литературе часто встречается понятие оператор. Вот как его объясняет Б.Эккель (см. [2] или ссылку): оператор получает один или несколько аргументов и создает на их основе новое значение. В нашем коде строчку «System.out.println («Да здравствует Java!»);» лучше назвать вызовом метода System.out.println(). О методах класса мы обязательно поговорим позже. Однако, и оператор и метод, записанный в Java, заканчивается символом «;», например:

c=a+b; //это оператор
System.out.println ("Да здравствует Java!"); //это метод класса System

Далее, весьма интересный момент — строчка нашей программы

System.out.println ("Да здравствует Java!");

тесно связана со другой строкой. Эта связь основана на одном из принципов языка Java, заложенного в него его создателями. А именно — классы, созданные Вами или другими программистами можно подключить к программе, используя еще одно ключевое слово — import. Поэтому, чтобы использовать метод, выводящий в терминал «что-то», необходимо подключить к программе пакет java.io.* в котором он содержится с помощью строчки:

import java.io.*;

подробнее о пакетах можно посмотреть здесь, но можно этот материал и пропустить, оставив, то что не понятно, «на потОм».

В конце отметим, что программисты любят украшать свой код комментариями, описывая что происходит в данном кусочке кода. В ЯП Java, чтобы добавить комментарий, необходимо сначала вставить два символа «слеш», вот так:
//это комментарий а не код

Таким образом, все что будет записано после символов «//» до конца строки и будет комментарием. Второй вариант вставки комментария — использовать сочетание символов «/*» и «*/»

/*это тоже комментарий*/

Такой вид комментария интересен тем, что его можно вставлять в любом месте кода, даже в середину строки кода (например, если нужно попробовать в программе другие параметры, не стирая старых, чтобы их не забыть).

На следующем занятии мы постараемся «внедрить в сознание» ООП, более тесно познакомившись с классами.


Литература:
1. Герберт Шилдт «Полный справочник по Java» 7-е издание, Издательский дом «Вильямс», 2007г., с.62
2. Брюс Эккель «Философия Java», 4-е издание, с.72

Create a program, that outputs a hello world string («Hello world», «Hello, World» etc.), and source code. Output is written to stdout or equivalent. Hello world string is embedded in the source code.

For example, the output for might be

(some source code here)hello world(some source code here)

When the output is compiled or interpreted again, it should create a similar output, but the hello world string must have a different punctuation or capitalization. For example, the previous example could create the following output

(some source code here)hello, wORld(some source code here)

Each «(some source code here)» in these examples can change after each execution, or it can be the same.

Your output must contain a valid hello world string exactly once. It may contain any amount of invalid hello world strings. Source code may contain any amount of comments, and the hello world string may be embedded in comments. The first program can have either zero or one valid hello world strings, but no more.

Following punctuation is valid:

hello, world
hello world
helloworld

Any capitalization is acceptable. For example, these are valid hello world strings:

Hello, world
hellO WORld
HELLoworlD

These strings are not valid:

Hello     world
Hello(newline)world
Hello,world
Hello, Steve

Your program fails as soon as one of the following conditions are met:

  • It outputs a hello world string that has been output during some earlier execution,
  • output is no longer valid source code in the same language, or
  • output does not contain exactly one valid hello world string.

Your program is not valid for this contest unless at least two first executions are successful. This means that the third output is allowed to be invalid. Output of your program may not be random. First execution should always create the same second output, second execution should always create the same third output, etc.

Score is calculated as amount of bytes in the source code of the initial program. Lowest score wins.

Following bonuses do apply (up to -60%):

  • -5% * (N — 2), where N is the index of the execution after which your program produces invalid output. This bonus caps at -50%. If your program succeeds 12 times or more, you get the max bonus.
  • -10%, if your outputs (including first source code) include all three valid punctuation alternatives.

Your submission should include the first source code, and it should also contain the outputs of the successful executions. If your program succeeds more than 12 times, add output for 12 executions.

Example

Next line is the first source code. When we execute it, it is the first execution.

hello world(some source code here)

Next line is the output from the first source code code. It is the first output.

hello, world(some source code here) 

Next line is the output from the second execution. It is the second output.

helloworld(some source code here)

When we executed the first output, this program became eligible for the -10% bonus. That means we have two outputs, and one original code, which all have different punctuation. Moreover, because the second output was valid, this program is eligible for this contest.

Next line is the output from the third execution. It is the third output.

Helloworld(some source code here)

Next line is the output from the fourth execution. It is the fourth output.

hellworld(some source code here)

This output was invalid. Index of the last valid execution was 4. This program is eligible for -5% * (4 — 2) bonus and -10% bonus from the punctuation. This makes total of -20%. The length of the first source code («hello world(some source code here)») was 34 bytes, so the final score is 27.2.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Извините произошла ошибка insufficient privileges стим
  • Изменил жене как помириться
  • Изменит или изменет как правильно
  • Извините произошла ошибка instagram
  • Изменил жене как вернуть доверие

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии