Песни о Паскале - [12]

Шрифт
Интервал

А найдет ли компилятор ошибку внутри апострофов? Как он воспримет слова «прЫвет» и «мАлАко»? Ничего не заметил? Это и понятно, ведь слова внутри апострофов компилятор не проверяет. Не его это дело, – он вообще не знает русского языка! В строковых константах он проверяет, как мы уже убедились, только парность апострофов.

Итоги

• В редакторе IDE можно одновременно открывать несколько исходных файлов с программами.

• При запуске IDE Free Pascal автоматически открывает файлы, открытые в предыдущем сеансе (точнее, окна, не закрытые при выходе из сеанса).

• Элементы управления окном редактора изменяют его размеры, перемещают по экрану, распахивают, сворачивают и закрывают окно.

• Компилятор Pascal проверяет текст программы при каждой компиляции. Обнаружив синтаксическую ошибку, он не создает исполняемый файл, а выводит краткое описание ошибки.

Глава 7

Развиваем успех



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

> ------------------------

>Мой повелитель!

>Поздравляю тебя с первой программой!

>Твой верный слуга Паскаль

> ------------------------

Здесь в первой и последней строках для красоты печатается горизонтальный прочерк.

Операторы и разделители

Создадим новый файл и сохраним его под именем «P_07_1.PAS». Напомню, что новый файл создается через пункт меню File –> New, а сохраняется нажатием клавиши F2. Покончив с этим, приступим к сочинению программы. Поразмыслив немного, вы наверняка напишите следующие строки.


>begin

>Writeln(’------------------------’)

>Writeln(’Мой повелитель!’)

>Writeln(’Поздравляю тебя с первой программой!’)

>Writeln(’Твой верный слуга Паскаль’)

>Writeln(’------------------------’)

>end.


Ход вашей мысли ясен: уж если компилятор читает программу слева направо и сверху вниз, то и компьютер будет выполнять её в том же порядке. Вы угадали, так оно и есть! Ну что ж, пробуем скомпилировать свое детище, жмем F9 и что? Опять видим сообщение об ошибке (рис. 20)!



Рис.20 – Сообщение о синтаксической ошибке

В чем дело? Компилятор утверждает, что где-то пропущена точка с запятой. В скобках указано место ошибки: третья строка, первый символ. Значит, точку с запятой надо ставить здесь? И зачем она нужна?

Познакомьтесь с важным понятием языка – оператором. Оператор – это наименьший смысловой «кусочек» программы. Он заключает в себе либо небольшое действие – шаг программы, либо описание каких-то данных. В Паскале есть много разных операторов, процедура печати – один из них. В целом программа – это последовательность операторов и ключевых слов. Читая программу, компилятор должен уяснить, где кончается один оператор и начинается следующий. И здесь он нуждается в вашей помощи! Ему нужна подсказка – разделитель операторов, которым служит точка с запятой (;).

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

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


>begin

>Writeln(’------------------------’);

>Writeln(’Мой повелитель!’);

>Writeln(’Поздравляю тебя с первой программой!’);

>Writeln(’Твой верный слуга Паскаль’);

>Writeln(’------------------------’)

>end.


А где разделитель за последним оператором, то есть перед словом END? Здесь он не нужен, поскольку END – не оператор, а ключевое слово. Но, если вы поставите лишнюю точку с запятой или даже несколько подряд, в этом не будет ошибки. Теперь можно запустить программу нажатием Ctrl+F9 и полюбоваться на результат её работы, нажав Alt+F5.

Программа, стой!

Как хотите, а мне надоело всякий раз нажимать сочетание Alt+F5 для того лишь, чтобы увидеть результат. Пора избавиться от этого неудобства.

Познакомьтесь с новой процедурой, она называется ReadLn. Это слово, как и слово Writeln, тоже состоит из двух: Read – «чтение», Line – «линия, строка», что значит «чтение строки». Действует процедура ReadLn очень просто: дойдя до её исполнения, компьютер остановится в ожидании, пока вы не нажмете клавишу Enter. Вот и все. И пока он ждет, вы спокойно разглядываете консольное окно. Ясно? Тогда подскажите, где поместить эту процедуру? Ну, очевидно же – самым последним оператором! В результате получим новый вариант программы.


>begin

>Writeln(’------------------------’);

>Writeln(’Мой повелитель!’);

>Writeln(’Поздравляю тебя с написанием первой программы!’);

>Writeln(’Твой верный слуга Паскаль’);

>Writeln(’------------------------’);

>Readln

>end.


Про точку с запятой не забыли? Отлично! Запускаем программу и убеждаемся, что Паскаль нас снова не подвел (не забудьте нажать Enter!).

Алгоритмы

Взгляните на программу ещё разок: печатая строки, компьютер выполняет отдельные действия – шаги программы. Такую последовательность шагов называют алгоритмом. Вам следует привыкнуть к этому слову, ведь алгоритм – основное понятие в программировании. Вот слегка упрощенное определение алгоритма, запишите: «Алгоритм – это точное предписание исполнителю совершить определенную последовательность действий для достижения поставленной цели за конечное число шагов». Под исполнителем мы понимаем компьютер.


Рекомендуем почитать
Ёлка Для Вампиров

Софья устраивается на работу в банке, а там шеф - блондин неписанной красоты. И сразу в нее влюбился, просто как вампир в гематогенку! Однако девушка воспитана в строгих моральных принципах, ей бабушка с парнями встречаться не велит, уж тем более с красавцем банкиром, у которого и так налицо гарем из сотрудниц. Но тут случилась беда: лучшую подругу похитили при жутких обстоятельствах. Потом и на Соню тоже напали, увезли непонятно куда: в глухие леса, на базу отдыха и рыболовства. Вокруг - волки воют! А на носу - Новый год!.


Сангреаль. Академия Избранных

Осмелься мне вчера кто-нибудь сказать, что в один день я потеряю любимую работу, любимого мужчину и такой привычный, родной мир, — я бы посмеялась над этим не самым умным человеком. А сейчас, оказавшись в месте, где живут маги и рыцари, мне стало совсем не до смеха… Особенно если учесть, чтобы вернуться в свое привычное русло я смогу только, если сама возьмусь за свое выживание. Сама сдам вступительные испытания в аз-Зайтун, где меня никто не ждет с распростертыми объятиями и чашечкой ароматного кофе.


Право на вседозволенность

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


Рассказы из блога автора в “ЖЖ“, 2008-2010

Рассказы, которые с 2008 по 2010 г., Александр Чубарьян (также известный как Саша Чубарьян и как Sanych) выкладывал в сети, на своём блоге: sanych74.


Рассказы обо мне

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


Чернильница хозяина: советский писатель внутри Большого террора.

Каждый месяц на Arzamas выходила новая глава из книги историка Ильи Венявкина «Чернильница хозяина: советский писатель внутри Большого террора». Книга посвящена Александру Афиногенову — самому популярному советскому драматургу 1930-х годов. Наблюдать за процессом создания исторического нон-фикшена можно было практически в реальном времени. *** Судьба Афиногенова была так тесно вплетена в непостоянную художественную конъюнктуру его времени, что сквозь биографию драматурга можно увидеть трагедию мира, в котором он творил и жил.