Из этих «кирпичиков» можно составить миллионы имен, – и запутаться в них! Но мы избежим хаоса, применив некоторую систему. Пусть в имени файла содержится номер главы, где была создана программа. Тогда по имени файла вы найдете надлежащую главу, а по номеру главы – файл.
Итак, имя файла начнем с латинской буквы «P» (от слова «Pascal»), далее последуют две цифры с номером главы и одна цифра – с порядковым номером программы в этой главе. Элементы имени разделим знаками подчеркивания, и тогда для 1-й программы 5-й главы файл получит имя «P_05_1.PAS».
Сохраним его под этим именем. Нажмите клавишу F2, – на экране появится диалоговое окно (рис. 14). В верхней строке напечатайте имя файла, а расширение PAS можете не печатать, – оно будет добавлено автоматически. После нажатия клавиши Enter или кнопки OK файл будет сохранен в рабочей папке, и в заголовке окна появится его новое имя «P_05_1.PAS».
Рис.14 – Диалог сохранения файла
Наполнение файла
Теперь обратимся к содержимому файла, ведь он пока чист, как белый снег. Нацарапайте на этом снегу парочку английских слов, что показаны ниже.
begin
end.
Возможно, вам известен их перевод: BEGIN – «начало», а END – «конец». Зачем они тут? При переводе программы с «человеческого» языка на язык процессора компилятор должен видеть границы программы. Слова BEGIN и END для того и предназначены, их называют ключевыми. Паскаль содержит десятки ключевых слов, они перечислены мною в приложении Г. Ключевые слова служат поводырями для компилятора, помогая ему разбираться в программе. Эти слова запрещено использовать по иному назначению!
Итак, слова BEGIN и END указывают компилятору начало и конец программы. Пару BEGIN–END применяют и в иных случаях, как скобки в математике. То есть, после слова BEGIN где-то далее в программе обязательно следует слово END. Но слово END используют и для завершения некоторых других конструкций языка, о которых вы узнаете позже.
Ключевые слова можно печатать и маленькими (строчными) и большими (заглавными) буквами, например: Begin, BEGIN, begiN, – это дело вкуса. То же относится к другим «волшебным» словам языка, о которых вы узнаете позже. Важно помнить, что в этих словах разрешены только латинские буквы. Будьте внимательны: некоторые латинские буквы по начертанию совпадают с русскими («А», «Е», «О»), но для компилятора эти буквы разные, и он обязательно заметит подмену!
Теперь взгляните на точку после слова END, – она отмечает конец программы. Без нее нельзя, иначе компилятор попытается читать текст после слова END, и, не найдя ничего, сообщит об ошибке.
Итак, напечатав эти две строки с точкой в конце, нажмите ещё раз клавишу F2 для сохранения файла. Поскольку ранее мы уже дали имя файлу, IDE сохранит его под этим именем, не докучая лишними вопросами.
Примечание. В начале программы иногда пишут необязательное ключевое слово PROGRAM, после которого указывают имя программы. Это имя должно совпадать с именем файла без расширения, например:
program P_05_1;
begin
end.
В наших примерах я не буду вставлять это необязательное ключевое слово.
Теперь поздравьте себя, – вы написали первую программу! И пусть она ещё ни на что не годна, зато синтаксически правильна, – так полагает компилятор. А это важно, – ведь теперь можно создать исполняемый файл, надо лишь откомпилировать этот текст! Раз так, дадим слово компилятору.
Компиляция
А где тут компилятор? Куда спрятался? Не ищите, для создания исполняемого EXE–файла просто нажмите клавишу F9. Если две строчки программы были напечатаны верно, появится сообщение об успешной компиляции (рис. 15).
Рис.15 – Сообщение об успешной компиляции
Закройте окно нажатием любой клавиши, или щелчком по иконке в верхнем левом углу. Заглянув теперь в свою рабочую папку, вы обнаружите там наряду с файлом «P_05_1.PAS» ещё и файл «P_05_1.EXE».
Запустите на выполнение новорожденный EXE–файл и поделитесь своим наблюдением. Зоркий охотник заметит лишь мелькнувшее консольное окно. Чем это объяснить? Запуская консольную программу (именно такую мы сейчас сотворили), Windows создаёт для нее консольное окно, а по завершении программы закрывает его. Поскольку наша программа пока ещё пуста и завершается, ничегошеньки не сделав, консольное окно вмиг исчезает.
Процедура вывода (печати)
Вернемся в IDE и продолжим наполнять нашу программу с тем, чтобы напечатать на экране приветствие. Вообще-то печатать можно только на бумаге, а на экране – высвечивать. Но, со времен пишущих машинок – консолей – слово «печатать» настолько укоренилось, что вывод на экран или файл я иногда буду называть «печатью».
Итак, для вывода приветствия добавим между ключевыми словами BEGIN и END ещё одну строчку, вот она.
Writeln(’Привет!’)
Разберем строку «по косточкам». Прежде всего, мы видим слово Writeln. Это сокращение из двух слов: Write – «записывать», и Line – «линия, строка», что вместе значит «написать строку». Слово Writeln в Паскале не ключевое – это имя процедуры. В отличие от ключевых слов – поводырей для компилятора, – процедуры определяют выполняемые программой действия. На пути к вершинам Паскаля мы встретим немало ключевых слов и процедур, и всякий раз я буду объяснять, где что.
Вернемся к процедуре Writeln, которая дает указание напечатать что-либо на экране. Но, что именно? Ответ находится внутри круглых скобок, где содержатся параметры процедуры. В этих скобках мы видим слово «Привет!», заключенное в апострофы (иногда их называют одинарными кавычками). В Паскале строку, заключенную в апострофы, называют строковой константой. Вот несколько примеров строковых констант.
’Привет, Мартышка!’
’--- Free Pascal ---’
’Я понял, что такое строковая константа!’
Как видите, любой текст обращается в строковую константу, если заключить его в апострофы. Внутри такой константы компилятор не различает ни ключевых слов, ни процедур, а воспринимает строку «как есть». Длина применяемых нами строк будет ограничена 255 знаками, включая пробелы. А вот примеры «незаконных», ошибочных строковых констант:
Нет первого апострофа’
’Нет последнего апострофа
’Апостроф ’ внутри строки’
Совсем без апострофов
А когда надо вставить апостроф внутрь строки? Тогда ставят два апострофа подряд, например:
’Один апостроф ’’ внутри строки’
И, хотя в середине строки поставлены два апострофа, компилятор учтет только один из них, – такая вот хитрость!
Теперь, с оператором печати, наша программа выглядит следующим образом:
begin
Writeln(’Привет!’)
end.
Постарайтесь ввести её без ошибок, ведь вы пока не умеете бороться с ними. Готово? Тогда сохраните файл нажатием F2 и скомпилируйте нажатием F9. Если все нормально, появится знакомое окно успешной компиляции. В противном случае найдите ошибку, исправьте её и повторите