Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
delphi / песни о паскале.pdf
Скачиваний:
63
Добавлен:
26.03.2016
Размер:
5.16 Mб
Скачать

Глава 7 Развиваем успех

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

------------------------

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

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

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

------------------------

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

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

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

begin

 

Writeln(’------------------------

’)

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

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

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

Writeln(’------------------------

’)

end.

 

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

50

Глава 7

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

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

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

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

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

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

51

 

 

Глава 7

 

 

 

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

 

 

 

 

 

 

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!).

Алгоритмы

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

52

Глава 7

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

основное понятие в программировании. Вот слегка упрощенное определение алгоритма, запишите: «Алгоритм это точное предписание исполнителю

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

В этом определении угадывается что-то знакомое, не так ли? Ещё бы! То и дело мы получаем указания: сделай то, да сделай это. За что ни возьмись, надо выполнять некий алгоритм. Так, например, одеваясь на улицу, вы соображаете, что и за чем следует напялить на себя: сначала белье, затем рубашку, брюки, носки и ботинки. Даже при ходьбе выполняем простейший алгоритм: левой, правой, левой, правой...

Разбивая сложное действие на ряд простых шагов, вы создаете алгоритм. Алгоритм нашей программы состоит из шагов, выполняемых друг за другом,

последовательно. Линейная последовательность — это одна из трех базовых управляющих структур, на которых строится вся гигантски сложная архитектура современных программ (о двух других базовых управляющих структурах я расскажу позднее).

Блок-схемы

Как видите, с алгоритмами связан любой из нас, а не только программисты. Создание напичканных компьютерами сложных систем — заводов, электростанций и тому подобного — требует согласованных усилий специалистов разных профессий. Они объясняют программистам требования к создаваемым системам. Иными словами, эти специалисты заказывают алгоритмы. Увы, не все они владеют программированием. Как быть?

Кто-то догадался изображать алгоритмы графическими схемами, картинками. Этот прием оказался наглядным и понятным даже людям, далеким от программирования. Блок-схемы — так называют эти картинки — стали средством общения между специалистами разных профессий с одной стороны, и программистами с другой.

Впрочем, программисты и между собой общаются посредством блок-схем. Эти схемы помогают обнаружить ошибки в программах. В чем отличие блоксхемы программы от её текста? Текст показывает то, что фактически делает программа, а блок-схема — то, что она должна делать. Сравнивая одно с другим, можно найти ошибки в программном воплощении алгоритма.

Перед вами блок-схемы трех созданных нами программ (рис. 21).

53

Соседние файлы в папке delphi