«Hello, world!» — программа, результатом работы которой является вывод на экран или иное устройство фразы «Hello, world!» (в дословном переводе с английского — «Здравствуй, мир!»; представляет собой распространённое неформальное приветствие, близкое к русскому «всем привет!»). Также используются вариации с другой пунктуацией или регистром — например, «Hello World». Обычно это первый пример программы в учебниках по программированию, и для многих студентов такая программа является первым опытом при изучении нового языка.
Такая постановка задачи обращает внимание учащегося сразу на несколько ключевых моментов языка программирования, главным из которых является базовая структура программы.
Хотя небольшие проверочные примеры использовались с тех самых пор, как появились компьютеры, традиция использования фразы «Hello, world!» в качестве тестового сообщения была введена в книге «Язык программирования Си» Брайана Кернигана и Денниса Ритчи, опубликованной в 1978 году.
В среде программирования микроконтроллеров при отсутствии дисплея простейшей программой также под названием «Hello, world» является программа реализующая мигание светодиода на одном из выходов микроконтроллера. Цель такой программы является успешная компиляция программы (при изучении нового микроконтроллера или новой среды разработки), прошивка программы в микроконтроллер и демонстрация работоспособности самого микроконтроллера.
hello world | C Programming Example
Перевод на русский язык
Русскоязычные программисты и технические переводчики традиционно переводят слово world в его основном значении — «мир, свет, вселенная», отчего из «hello world» получается дословное «здравствуй, мир». Объясняется такой перевод тем, что программа, начиная работу, как бы рождается и приветствует мир, в который она приходит.
Более знакомые с тонкостями английского языка указывают на то, что у world имеются и другие значения — «народ», «общество», «человечество», а «hello world» является распространённым неформальным приветствием, адресованным неопределённому кругу лиц (людей, а не просто произвольных объектов или природе в целом). Поэтому переводить приветствие следует как «всем привет», «привет, народ», «здорово, люди» и т. п., что подтверждается англоязычными программистами.
В аналогичном смысле слово world применяется при назначении прав доступа (owner, group, world) в операционных системах UNIX, для которых был разработан язык C, откуда и пошла традиция выводить «hello world» в качестве приветствия. owner означает владельца объекта, group — группу пользователей, в которую входит владелец, а world — всех остальных пользователей системы.
Примеры
Примеры программы на различных языках
C в устаревшем варианте K end.
Visual Basic (6.0):
Private Sub Form1_Load() Print «Hello, world!» End Sub
package main; import «fmt» func main()
puts «Hello, World!»
Python, Lua, Perl и Swift:
JavaScript (браузерный вариант):
First Program | Hello World | Java Tutorial
На языке JavaScript (Node.JS вариант):
Common Lisp:
(format t «Hello, world!~%»)
На эзотерическом языке HQ9+:
На эзотерическом языке Malbolge:
На эзотерическом языке Whitespace:
Каждому символу Пробел, Таб, и Перевод строки предшествует комментарий «S», «T», и «L», соответственно:
S S S T S S T S S S L
T L S S S S S T T S S T S T L T L S S S S S T T S T T S S L T L S S S S S T T S T T S S L T L S S S S S T T S T T T T L T L S S S S S T S T T S S L T L S S S S S T S S S S S L T L S S S S S T T T S T T T L T L S S S S S T T S T T T T L T L S S S S S T T T S S T S L T L S S S S S T T S T T S S L T L S S S S S T T S S T S S L T L S S S S S T S S S S T L T L S S L L L
Маргинальные примеры
Данная группа примеров призвана показать громоздкость некоторых технологий.
Другие программы
В учебниках по программированию используются и другие программы:
- Пустая программа — ничего не делает, но корректно запускается и выгружается из памяти.
- «99 бутылок пива» демонстрирует простейшее применение циклов с выводом текста на экран.
- Программы вычисления факториала и чисел Фибоначчи.
- Куайн — программа, печатающая саму себя.
- JAPH.
Источник: visacon.ru
Циклы: For
В нашей жизни много действий повторяются время от времени: каждый день мы ходим в школу, в школе мы присутствуем на уроках и т.д.
Но здесь есть 1 момент. Мы точно знаем, что в школу мы ходим с 1-го до примерно 270 дня, каждый день в школе в среднем мы присутствуем с 1-го по 6-ой урок. Это важно. В каждом случае мы знаем начальное и конечное значение.
Это было отступление. Теперь вернемся к нашему предмету.
В самом начале мы писали программу вывода на экран сообщения ‘Hello World’ и это выглядело так:
begin writeln(‘Hello World’); Writeln(‘Press Enter to Exit’); readln; end.
Усложним задачу. Выведем наше сообщение 2 раза.
begin writeln(‘Hello World’); writeln(‘Hello World’); Writeln(‘Press Enter to Exit’); readln; end.
Усложним задачу. Выведем наше сообщение 4 раза.
begin writeln(‘Hello World’); writeln(‘Hello World’); writeln(‘Hello World’); writeln(‘Hello World’); Writeln(‘Press Enter to Exit’); readln; end.
А теперь представим, что вывод нужно сделать 1000 раз. Сами понимаете, что код будет не особо интересный.
begin writeln(‘Hello World’); . 998 раз. writeln(‘Hello World’); Writeln(‘Press Enter to Exit’); readln; end.
Для выполнения однообразных действий, которые нужно выполнить известное количество раз в Паскале существует циклическая структура FOR с параметром.
Общий вид (2 варианта)
FOR счетчик:=начальное значение TO конечное значение DO FOR счетчик:=конечное значение DOWNTO начальное значение DO
Для первого случая: начальное значение Для второго случая: конечное значение>=начальное значение
Разберем что входит в эту структуру.
— это переменная целого типа (Integer) которая «про себя» считает, сколько раз выполнилось то что нам нужно по условию задачи. Чаще всего переменную счетчик называют i или j или k.
Когда мы считаем от минимального значения к максимальному, то пишем
FOR счетчик:=минимальное значение TO максимальное значение DO
Когда мы считаем от максимального значения к минимальному то пишем
FOR счетчик:=максимальное значение DOWNTO минимальное значение DO
ВАЖНО: счетчик увеличивается только на 1 (либо +1, либо -1).
ВАЖНО: после слова DO точка с запятой НЕ СТАВИТСЯ
ВАЖНО: те команды, которые выполняются в цикле — называют телом цикла
ВАЖНО: счетчик, начальное и конечное значение промежутка — Целого типа (Integer)
Начальное и конечное значение — это ОТ скольки и ДО скольки считать, или верхний и нижний порог нашего промежутка. Вернемся к нашему примеру о печати приветствия 1000 раз.
var i:integer; begin for i:=1 to 1000 do writeln(‘Hello World’); Writeln(‘Press Enter to Exit’); readln; end.
переменная счетчик. ВАЖНО: Целого типа Начало Счетчик i получил значение 1. и напечатал сообщение. Потом прибавил к себе +1 и стал 2. Структура FOR сама проверяет не вышел счетчик за 1000. Если вышел — то цикл заканчивается и управление идет на следующую команду. Если не дошел до конечного значения — то все повторяем сначала.
Счетчик =3-печать, затем 4-печать, 5-печать. 1000-печать, 1001 — выход ибо вышли за предел 1000. Печатаем(‘Press Enter to Exit’); Ждем Завершаем
Выполняется цикл FOR следующим образом:
переменной-параметру присваивается начальное значение;
выполняется тело цикла;
переменная-параметр автоматически увеличивается/уменьшается на 1 ;
если параметр превышает конечное значение, то происходит выход из цикла, иначе — переход к пункту 2.
А что делать, если нужно выполнить несколько действий. Вспоминаем команду ветвления. Если условие выполняется и нужно выполнить несколько действий — мы использовали командные скобки BEGIN END. Аналогично поступаем и в этом случае.
Вывести 10 раз слово Hello и его порядковый номер.
var i:integer; begin for i:=1 to 10 do begin write(i); writeln(‘ Hello’); end; Writeln(‘Press Enter to Exit’); readln; end.
Простая задача
Вывести на экран числа от 1 до 15
var i:integer; begin for i:=1 to 15 do write(i,’ ‘); Writeln(‘Press Enter to Exit’); readln; end.
Простая задача
Вывести на экран числа от 15 до 1
var i:integer; begin for i:=1 downto 15 do write(i,’ ‘); Writeln(‘Press Enter to Exit’); readln; end.
Простая задача. Вывести на экран квадраты и кубы чисел от 1 до 10
Нам нужно вычислить квадрат и куб числа и вывести его на экран. Причем 10 раз
var i:integer; begin for i:=1 to 10 do begin writeln(i,’ в квадрате =’,i*i); writeln(i,’ в кубе =’,i*i*i); end; Writeln(‘Press Enter to Exit’); readln; end.
Сделать тоже самое, но в обратном порядке.
var i:integer; begin for i:=10 downto 1 do begin writeln(i,’ в квадрате =’,i*i); writeln(i,’ в кубе =’,i*i*i); end; Writeln(‘Press Enter to Exit’); readln; end.
В начальной школе вы изучали таблицу умножения. Давайте выведем таблицу умножения на 2. Изменяя значение n можно получить разные таблицы умножения.
var n,i,res:integer; begin n:=2; for i:=1 to 10 do begin res:=n*i; writeln(n,’ * ‘,i:2,’ = ‘,res:2); end; Writeln(‘Press Enter to Exit’); readln; end.
Можно усовершенствовать данную программу. Сделаем запрос значения n.
var n,i,res:integer; begin Write(‘N=’);readln(n); for i:=1 to 10 do begin res:=n*i; writeln(n,’ * ‘,i:2,’ = ‘,res:2); end; Writeln(‘Press Enter to Exit’); readln; end.
В средней школе при изучении функции y=x*x вы строили таблицу для построения графика по точкам. Напишем программу, которая позволит нам автоматизировать этот процесс.
Найти значения функции на промежутке [-10,10] с шагом 1.
var x,y:integer; begin for i:=-10 to 10 do begin y:=x*x; writeln(‘При х=’,x:3,’ Y=’,y:3); end; Writeln(‘Press Enter to Exit’); readln; end.
Важно понимать, что начальное и конечное значение счетчика For можно передавать как переменные. Усложним предыдущую задачу.
Найти значения функции Y=1/(x*x+2) на промежутке [a,b] с шагом 1.
Переменная Y не является целым числом. Важно что бы счетчик, начальное и конечное значения были целого типа.
var x:integer; y:real; a,b:integer; begin Write(‘a=’);readln(a); Write(‘b=’);readln(b); for x:=a to b do begin y:=1/(x*x+2); writeln(‘При х=’,x:3,’ Y=’,y:3:3); end; Writeln(‘Press Enter to Exit’); readln; end.
Что нужно запомнить:
Общую структуру команды цикла с параметром.
Команда For используется когда известно количество повторений (начальное и конечное значения) и шаг 1.
В команде For счетчик и параметры должны быть целого типа (Integer).
Счетчик изменяется с шагом (+1) для слова ТО (возрастание) и (-1) для слова DOWNTO (спадание)
Тело цикла это набор команд между BEGIN — END.
Изменять значение счетчика в теле цикла НЕЛЬЗЯ
Если тело цикла состоит из одной команды BEGIN — END можно не писать
for i:=1 downto 15 do write(i,’ ‘);
Если тело цикла состоит из двух и более команды обязательно использовать BEGIN — END
for i:=10 downto 1 do begin writeln(i,’ в квадрате =’,i*i); writeln(i,’ в кубе =’,i*i*i); end;
В команду цикла можна передавать значения переменных, для начального и конечного значения
for x:=a to b do begin y:=1/(x*x+2); writeln(‘При х=’,x:3,’ Y=’,y:3:3); end;
Выполняется цикл FOR следующим образом:
1. переменной-параметру присваивается начальное значение;
2. выполняется тело цикла;
3. переменная-параметр автоматически увеличивается/уменьшается на 1 ;
4. если параметр превышает конечное значение, то происходит выход из цикла, иначе — переход к пункту 2.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник: codder.info
Hello World! на Delphi
После компиляции окно с текстом появляется на мгновение и исчезает. В чем может быть проблема и как это исправить?
Отслеживать
80.1k 9 9 золотых знаков 77 77 серебряных знаков 133 133 бронзовых знака
задан 29 сен 2011 в 14:06
143 11 11 серебряных знаков 25 25 бронзовых знаков
надо че-то типа readln; в конце программы
5 янв 2012 в 10:59
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Достаточно просто написать ReadLn перед последним end — тогда программа будет ждать нажатия клавиши Enter.
Отслеживать
ответ дан 29 сен 2011 в 16:37
DelphiM0ZG DelphiM0ZG
3,037 14 14 серебряных знаков 18 18 бронзовых знаков
Нет никакой проблемы. Программа запускается, выводит ‘Hello, world!’ и спокойно завершается, то есть делает именно то, что от нее и хотели.
Если хотите, чтобы программа перед закрытием повисела 3 секунды, например, исправьте на такой вариант:
program Helloworld; //название программы //директива компилятору о создании консольного приложения uses sysutils; begin writeln(‘Hello, world!’); //вывод сообщения Hello, world! sleep(3000); end. //конец программы
Источник: ru.stackoverflow.com