Глава 5 Программа номер один



Постановка задачи

Отныне мы будем повелевать компьютером, а он – исполнять наши капризы. Чем бы таким озадачить его? Ответ на подобный вопрос программисты называют постановкой задачи. Никто из них и пальцем не шевельнет, не прояснив суть предстоящей работы. Пусть наша первая программа выведет на экран слово «Привет!», – славно, когда тебя приветствует собственный компьютер!

Создание файла

Запустите IDE Free Pascal, – воспользуйтесь для этого ярлычком, который мы настроили в предыдущей главе. Затем создайте новый файл, выбрав пункт меню File –> New (рис. 13). В области редактора появится пустое окно с заголовком «NONAME00.PAS», – это так называемый безымянный файл; две цифры в конце имени (00, 01, 02 и т.д.) помогают различать такие файлы.



Рис.13 – Пункт меню для создания нового файла

Сохраните пока ещё пустой файл в своей рабочей папке, у меня это папка «C:\User\Pascal». При сохранении файлу надо придумать подходящее имя. Здесь ваша фантазия ограничена лишь требованиями к именам файлов. Пока вы учитесь, придерживайтесь правил, принятых в MS–DOS: имя файла должно содержать не более восьми символов, не считая расширения имени PAS. В имени используйте только латинские буквы, цифры и знак подчеркивания (пробелы и русские буквы я запрещаю!).

Из этих «кирпичиков» можно составить миллионы имен, – и запутаться в них! Но мы избежим хаоса, применив некоторую систему. Пусть в имени файла содержится номер главы, где была создана программа. Тогда по имени файла вы найдете надлежащую главу, а по номеру главы – файл.

Итак, имя файла начнем с латинской буквы «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. Если все нормально, появится знакомое окно успешной компиляции. В противном случае найдите ошибку, исправьте её и повторите компиляцию.

Запуск программы

Теперь мы создали новую версию файла «P_05_1.EXE», запустите его, пожалуйста. Что увидели? Опять мелькнувшее окно? Причина все та же: операционная система быстренько закрыла консольное окно, поскольку программа завершилась сразу после вывода сообщения, – вы просто не успели его разглядеть! Скоро мы найдем способ притормозить программу, но ждать нам недосуг, – не терпится посмотреть результат! И я покажу, как его увидеть.

Готовую программу мы запустим, не покидая IDE, – нажатием сочетания клавиш Ctrl+F9. Нажали? И что, опять ничего?! Спокойно, сейчас разберемся. Дело в том, что IDE закрывает собою всю площадь консольного окна, пряча то, что вывела в это окно наша программа. Чтобы увидеть результат, надо временно убрать IDE нажатием комбинации клавиш Alt+F5. Сделайте так, и тогда вам явится долгожданная картинка (рис. 16).



Рис. 16 – Вид консольного окна после скрытия IDE

Первые строки содержат служебное сообщение о запуске IDE Free Pascal, – не смотрите туда. Нам важна последняя строка, где мы видим долгожданный «Привет!». Полюбовавшись на него, вернитесь в IDE, для чего нажмите любую клавишу. Хотите повторить удовольствие? Так запустите программу ещё пару раз (Ctrl+F9) и полюбуйтесь на результат (Alt+F5).

Итоги

• Создание программы начинается с подготовки текстового файла.

• Программа на Паскале содержит, по меньшей мере, одну пару ключевых слов Begin – End с точкой в конце. Между этими ключевыми словами помещают операторы, выполняющие нужные действия.

• Вывод информации на экран выполняется процедурой Writeln с параметрами внутри круглых скобок; таким параметром может быть строковая константа.

• Строковая константа – это последовательность символов, заключенная в апострофы. Наши строки будут содержать не более 255 символов.

• Для создания исполняемого EXE-файла вызывают компилятор, это делается нажатием клавиши F9. Если программа не содержит синтаксических ошибок, компилятор создаст исполняемый файл и сообщит об успешной компиляции, а иначе доложит об ошибке.

• Запустить исполняемый файл можно непосредственно в IDE. Для этого следует нажать сочетание клавиш Ctrl+F9.

• Для просмотра выводимых на экран результатов (временного скрытия IDE) нажимают комбинацию клавиш Alt+F5, а для восстановления IDE – любую клавишу.

А слабо?

Начиная с этой главы и далее, я буду предлагать вам каверзные вопросы и задачки. Некоторые из них решаются в уме, другие – на компьютере. Если вы справитесь с большинством задач, спите спокойно – ваша совесть чиста, а голова не пуста. Вот вам первые задания.

А) Найдите ошибки в следующей программе.

begn

Writeln(ПрЫветик!)

end

Сначала проделайте это в уме, а затем на компьютере. Объясните, почему компилятор не нашел ошибки в слове «ПрЫветик». Или слабо?

Б) Будет ли работать следующая программа?

begin Writeln(’Begin End.’) end.

В) Попытайтесь написать программу, выводящую на экран не одну, а две строки, например:

Без труда

Не выловишь калошу из пруда

Здесь нужны две процедуры печати, следующие друг за другом. Подсказка: между процедурами требуется специальный разделитель – точка с запятой (;).

Загрузка...