теория

Что такое Hello World! - спросите любого программиста - он тихо посмеётся про себя. Программкой типа Hello World! называют простую программу вывода текста на экран. Надеюсь, что будем выводить понятно :) Кстати Hello world! по русски значит "Привет, мир!". 90% начинают именно с программок типа Hello world!

Программа

Сразу начнём с текста программы:

Program HelloWord;

begin

writeLn ('Hello World!')

end.

Теория

Итак быстренько запускаем паскаль, вбиваем (в смысле набираем) эти 4 строчки, нажимаем F2 (сохранить), вводим имя, нажимаем Ctrl+F9 (исполнение).....

Когда пройдет первая радость от содеяного, давайте рассмотрим теперь всё это дело более серьёзно (по строкам):

Итак слово Program - служебное слово языка паскаль. Служебные слова - это такие слова, которые программист использует в строго определённых целях. После слова Program идёт имя программы, однако это имя может и не совпадать с именем файла. Это служебные данные и на программе они не отражаются. Как это можно проверить? КОНЕЧНО же экспериментом: удалите эту строчку, программа будет прекрасно работать!! Как говорит описание: это чисто информативный заголовок. Замечательно! Всё начинает проясняться! Обратите внимание на завершающую току с запятой (;) Без неё нельзя! Почему? Расскажу чуть позже...

Дальше следует служебное слово begin - отсюда начинается сама программа (begin - англ. начало). Кстати не плохо было бы обзавестись словарём или знаниями английского... поможет....

writeLn ('Hello World!') - обратите внимание, что здесь нет служебных слов! (Hello World! - выделена что бы понять, что это текст). writeLn - это функция вывода текста на экран, а текст в кавычках ('...') - это, как можно догадаться, то, что надо вывести на экран. Т.е. что бы вызвать функцию нужно написать её имя и в скобках указать параметр. СТОП! Вполне может возникнуть вопрос а откуда паскаль знает, что это за функция, в смысле, что она должна выводить текст на экран ??? Да всё дело в том, что с паскалем поставляется набор стандартных функций, и это одна из них. writeLine - вывести линию, т.е. если вы до сих пор не заметили, то курсор переводится на следующую строчку и возвращается в начало этой строки. Например можете написать такое: write ('Hello World!') - курсор не будет переводится и каждый раз запуская программу слова Hello World! будут помещаться на одной строке, а не на новых! Т.е. можно сделать глубокомысленное заключение: функция write выводит текст на экран :))))))

Ну вот мы уже близки к концу программы... Последняя строка:

end. - если begin указывал на начало программы, то end указывает на её конец. Обратите ОЧЕНЬ МНОГО ВНИМАНИЯ на точку: end. - этим мы указываем, что текст программы закончился и дальше читать его не надо. Читать это компилятору а не вам! Как в этом убедится? - не бойтесь экспериментировать! (хотя на начальном уровне лучше поосторожнее)

Итак вы узнали 3 служебных слова, 2 стандартные функции и написали первую программу!!

Однако много чего осталось за кадром, попытаюсь объяснить всё это подробнее: Что происходит при нажатии запуске программы?: Запускаются программы - компилятор и линкер:

Компилятор - специальная программа, которая проверяет ошибки в вашей программе, и создаёт специальный файл: *.pas. Линкер - специальная программа, которая превращает pas-файл в exe-файл ... и, если компиляция и линковка прошли успешно (т.е. без ошибок), запускается ваша программа на исполнение.

Давайте о правилах подробнее: ЗАГЛАВНЫЕ и строчные буквы не различаются. Т.е. мы могли спокойно написать всё это так:

PROGRAM HELLOWORD;

BEGIN

WRITELN ('Hello World!')

END.

Однако если бы мы вместо Hello World! написали HELLO WORLD!, то и на экране мы бы увидели всё заглавными буквами! Это правило не распространяется на текст! В написании программ можно использовать только: все буквы английского алфавита, символ подчёркивание "_", цифры 0-9 и спец. символы: @ # $ > < = - * [ ] { } + / ' , . : ; ^ Естественно это правило не распространяется на текст, такое вполне законно: writeLn (' Привет, мир!')

Каждая строка должна заканчиваться точкой с запятой! Однако есть исключения: Если после данной строки (обозначим 1) стоит строка состоящая из одного слова end, то после строки 1 точку с запятой ставить не обязательно. Вот и мы не поставили в нашей программе точку с запятой, хотя если написать writeLn ('Hello World!');, то это не вызвало бы ошибок!