Green brown cyan lightgray 19 глава

7.1.2. Программа. Языки программирования

Можно дать такое определение компьютерной программе — это алгоритм, понятный компьютеру Процесс обработки информации, осуществляемый компьютером, требует наличия как технических средств (называемых часто англоязычным словосочетанием «hardware» или русскоязычным словом «железо»), так и программного обеспечения (называемого «software» или «софт»). Программированием называется процесс создания компьютерной программы.

Единственным языком, который непосредственно понимает процессор компьютера, является язык машинных кодов, который представляет собой последовательность двоичных чисел, изображаемых нулями и единицами. Эта особенность языка машинных кодов объясняется тем, что технически гораздо легче построить компьютер на базе элементов, каждый из которых может находиться в одном из двух устойчивых состояний, одно из которых соответствует нулю, а другое единице. Когда в 40-е годы XX века были созданы первые компьютеры, то машинный код был единственным языком, на котором составлялись компьютерные программы. Естественно, что составление программ на таком языке является для человека утомительным процессом, чреватым к тому же многочисленными ошибками. Еще одним существенным недостатком машинных языков является то, что они привязаны к компьютерам определенной модели, конструкции. Созданные для компьютера одной конструкции программы в машинных кодах нельзя переносить без переработки на компьютеры другой конструкции.

Уже через несколько лет после появления первых компьютеров для облегчения и упрощения работы программистов был создан язык Ассемблера, в котором команды машинных кодов заменялись более понятными для человека. Такими командами в основном были сокращенные слова английского языка. Эти команды более удобные для запоминания называют мнемоническими или символьными командами языка Ассемблера. Ассемблер это программа, преобразующая исходную программу на символьном языке в программу на машинном языке. Язык Ассемблера до сих пор используется для составления программ в тех случаях, когда предъявляются повышенные требования к компактности программ. Программы, написанные на языке Ассемблера, требуют минимального объема памяти и времени выполнения. Однако этот язык сохранил ряд существенных недостатков своего предшественника – языка машинных кодов. Это, во-первых, достаточно жесткая привязка языка к компьютерам определенной конструкции. Во-вторых, как и в случае с машинными кодами, язык Ассемблера требует очень высокой квалификации программиста, но и знания устройства компьютера, особенно в том, что касается архитектуры его центрального процессора. Поэтому язык Ассемблера называют машинно-ориентированным языком. По отношению к машинным кодам и языку Ассемблера употребляют термин «языки низкого уровня», так как они максимально приближены к уровню технических устройств компьютера.

Следующим шагом в развитии программирования стало создание языков высокого уровня. Такие языки еще удобнее для понимания, чем команды языка Ассемблера, так как они включают себя обычные слова человеческого языка и общепринятые обозначения математических операций. Команды языков высокого уровня (называемые также операторами) зачастую напоминают фразы, составленные на английском языке. Кроме того языки высокого уровня стали машинно-независимыми, то есть программы, написанные на таких языках можно без труда переносить с одного компьютера на другой. Первым широко распространенным во всем мире языком программирования высокого уровня стал язык Фортран, созданный в первую очередь для решения различных научно-технических задач. Название этого языка представляет сокращение английского словосочетания «formula translation», что означает «перевод формул», то есть имеется в виду перевод различных математических формул на язык понятный компьютеру. За ним последовали такие языки высокого уровня, как Кобол, Алгол (на основе которого был впоследствии разработан язык Паскаль), Бейсик, Си и многие другие.

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

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

7.1.3. Этапы работы над программой. Система программирования

Составление программы с помощью современных средств и языков программирования состоит из следующей последовательности этапов.

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

2. Создание алгоритма. Необходимо составить план решения задачи, наметить наиболее надежный и эффективный путь ее решения. Целесообразно описать алгоритм решения задачи на бумаге в виде графической схемы, либо изложить в словесном виде основные пункты ее решения.

3. Запись текста программы на языке программирования. Этот процесс часто называют также кодированием программы, то есть происходит реализация алгоритма в код, понятный компьютеру (в случае языков низкого уровня) либо в программу на языке высокого уровня. Для того чтобы набрать текст программы, необходима специальная программа – текстовой редактор. С помощью этой программы, пользователь может осуществлять операции ввода и редактирования текста. Под редактированием текста понимается его правка, исправление обнаруженных в тексте ошибок. Текст программы, уже набранный и откорректированный, находится до определенного момента в оперативной памяти компьютера. Если программа не является «одноразовой», необходимой для получения только один раз некоторых результатов, то ее следует сохранить на жестком диске компьютера в виде отдельного файла. Файлом называется область на диске компьютера, имеющая свое собственное имя и служащая для хранения программ и данных. В противном случае (если не сохранить программу в файле) сразу после выключения компьютера содержимое его оперативной памяти очистится, а вместе с ним пропадет и набранный пользователем текст программы.

4. Проверка программы. Этот этап начинается с того, что программа запускается на трансляцию. Транслятор проверяет исходный текст программы (называемый также исходным кодом) на правильность с точки зрения синтаксиса языка программирования, на котором составлен текст данной программы. При обнаружении таких ошибок транслятор выдает об этом соответствующее сообщение. Пользователь должен внести в программу соответствующие изменения, а затем снова запустить ее на трансляцию. В том случае, если в тексте программы транслятором не было обнаружено синтаксических ошибок, на основе исходного кода программы транслятор создает текст программы на языке машины, называемый объектным модулем. Этот объектный модуль еще не является программой готовой к выполнению на компьютере. Дело в том, что ни одна компьютерная программа не обходится без использования некоторых вспомогательных программ, разработанных ранее другими программистами. Такие вспомогательные программы называются стандартными подпрограммами и объединяются в специальные библиотеки. Подключение же этих библиотек производится с помощью специальной программы, называемой редактором связей. После подключения необходимых стандартных подпрограмм и создается готовая к выполнению программа, называемая исполняемым модулем.

5. Отладка программы.Обычно возникает ситуация когда в программе отсутствуют синтаксические ошибки, но тем не менее программа не выдает правильного результата. Это говорит о том, что в программе имеются семантические (смысловые) ошибки. Для исправления таких ошибок требуется наличие четкой логики мышления, знание эффективных методов выявления ошибок и определенный опыт в отладке программ. Начинающий программист должен научиться выполнять, так называемую, “прокрутку” программы. Эта прокрутка состоит в последовательном выполнении операторов программы “вручную” самим программистом с одновременным заполнением таблицы, содержащей значения переменных программы.

Для облегчения процесса создания программ на языке высокого уровня существуют вспомогательные программы, которые составляют комплекс, называемый интегрированной системой или средой программирования. Данный комплекс должен включать в себя следующие основные элементы:

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

2. Компилятор. Это основное ядро системы программирования. Компилятор может создавать как исполняемые модули в рамках самой системы программирования, так и модули, которые будучи созданы в данной системе, могут работать независимо от нее.

3. Редактор связей. Подключает требуемые стандартные библиотеки.

4. Программа-отладчик. Позволяет автоматизировать процесс “прокрутки” программы, контролировать ход пошагового выполнения программы при решении тестовых задач и таким образом выявлять семантические ошибки.

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

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

7.2. Предварительные сведения о языке
Паскаль и системе программирования

7.2.1. Запуск системы Турбо Паскаль

Система программирования Турбо Паскаль представляет собой комплекс, файлов, в котором содержится головной файл turbo.exe, запускающий систему. Файлы системы программирования Турбо Паскаль находятся на жестком диске компьютера в каталоге с именем tp7, который содержит подкаталог bin,в которомнаходится файл turbo.exe.

Запуск Турбо Паскаля из операционной системы Windows на выполнение можно осуществить несколькими способами.

а) Открыть папку, содержащую файл turbo.exe, и запустить файл на выполнение двойным щелчком мыши.

б) Если система программирования Турбо Паскаль “прописана” в главном меню, открыть меню нажатием кнопки “Пуск”, найти в меню соответствующий пункт и один раз щелкнуть его мышью.

в) Если на рабочем столе Windowsдля файла turbo.exe создан ярлык, для запуска файла достаточно дважды щелкнуть ярлык мышью.

После успешного запуска системы программирования Вы увидите на экране компьютера исходный экран системы. Под управлением ОС Windows система программирования может работать либо в полноэкранном режиме, либо в оконном, занимая только часть экрана компьютера. Для того чтобы выбрать удобный для пользователя режим работы следует отредактировать ярлык файлаturbo.exe.

Для редактирования ярлыка нужно щелкнуть его правой кнопкой мыши и в открывшемся контекстном меню выбрать пункт «Свойства», щелкнув по нему мышью. В открывшемся диалоговом окне на вкладке «Программа» установим флажок «Закрывать окно по завершении сеанса работы». Тогда, при выходе из системы программирования ее окно будет закрываться автоматически. Затем щелкнем на той же вкладке экранную кнопку «Дополнительно» и в окне дополнительных настроек программы уберем флажок «Режим MS DOS», после чего можно будет работать в Турбо Паскале, не выходя из Windows. Наконец, перейдем на вкладку «Экран» и устанавливаем переключатель в положение «Полноэкранный» или «Оконный» в зависимости от того, в каком режиме удобно работать.

На экране системы программирования можно выделить три основные части: верхнюю строку, основную часть экрана и нижнюю строку (рис. 7.2.1). Верхняя строка исходного экрана системы программирования называется строкой меню и содержит десять разделов.

Green brown cyan lightgray 19 глава

Рис. 7.2.1. Исходный экран системы программирования

Green brown cyan lightgray 19 глава

Рис. 7.2.1. Верхняя и нижняя строка исходного экран системы программирования

Для того чтобы активизировать строку меню (т.е. привести ее в рабочее состояние) необходимо нажать клавиши F10.После этого один из разделов меню будет подсвечен (как правило, зеленым цветом). Перемещаться по строке меню можно клавишами («стрелка влево») и ®(«стрелка вправо»). После нажатия клавиши Enterподсвеченный раздел меню будет раскрыт, то есть появиться локальное ниспадающее меню. То же самое можно сделать, щелкнув строку меню мышью. После щелчка мышью или нажатия Enter в ниспадающем меню будут видны все пункты выделенного раздела. Серым цветом закрашены пункты, которые в данный момент времени недоступны. Те же команды, которые можно выполнить, закрашены черным цветом. Справа от некоторых команд указываются названия клавиш или сочетаний клавиш, с помощью которых можно быстро выполнить данные команды, не открывая меню. Всего основное меню системы Турбо Паскаль содержит десять разделов. Ниже приведены названия разделов и краткая информация по каждому из них:

File –операции с файлами;

Edit– редактирование исходного текста программы;

Search– поиск и замена группы символов в тексте программы;

Run – компиляция программы с запуском ее на выполнение;

Compile – компиляция программы без запуска на выполнение;

Debug – отладка программы (поиск ошибок в программе и просмотр хо да ее выполнения);

Tools– работа с внешними по отношению к системе программирования программами;

Options – настройка параметров системы программирования;

Windows – операции с окнами, открытыми в текущем сеансе работы;

Help– получение справочной информации по работе с системой про граммирования.

На рис. 7.2.2 изображен экран системы Турбо Паскаль после активизации меню (раскрыт раздел File). Данный раздел содержит команды, используемые для операций с файлами и команда для выхода из системы программирования. Например, выход из системы программирования по завершении сеанса работы в Турбо Паскале осуществляется командой FileExit. Это означает, что для выполнения данной команды нужно произвести следующие действия: открыть раздел меню File, стрелкой выбрать нужный пункт в разделе и затем нажать клавишу Enter, либо щелкнуть данный пункт мышью. После выполнения этой команды Вы вернетесь в среду той операционной системы, либо файловой оболочки, из которой был запущен Турбо Паскаль.

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

Green brown cyan lightgray 19 глава

Рис. 7.2.2 . Экран системы программирования с активизированной строкой меню

Названия тех из них, которые можно непосредственно использовать в данный момент, выделены красным цветом.

Сразу после открытия системы программирования можно использовать клавиши F1, F3 и комбинацию клавиш Alt+F10. При изменении режима работы системы программирования меняется и содержимое строки состояния.

Для того чтобы приступить к работе над программой, необходимо предварительно создать новый файл, в котором будет записан текст данной программы. Создание файла производится выполнением команды File New (для этого нужно щелкнуть мышью пункт New в разделе Fileили установить курсор на этот пункт стрелками клавиатуры и нажать клавишу Enter). После этого на экране появится окно вновь созданного файла, в котором можно вводить текст программы на языке Паскаль.

Так как вышеуказанные имена файлов не несут информации о содержании записанных в них программ (словосочетание Noname в переводе с английского означает “без имени”), то желательно давать файлам какие–либо осмысленные имена. Например, файл, содержащий программу, складывающую два числа, можно назвать Summa2.pas. Имена файлов могут содержать буквы латинского алфавита и цифры. В именах файлов не следует использовать буквы русского алфавита, имена файлов не должны содержать пробел, а также следующие символы:

* = + [ ] ; : , . / ?

Так как система Турбо Паскаль возникла как приложение операционной системы MS DOS, то необходимо помнить еще об одном ограничении: имена файлов с программами на Паскале (как и все прочие имена файлов в MS DOS) не могут содержать более 8 символов (не считая 3 символов, зарезервированных для расширения имени). Всего имя файла, таким образом, может содержать не более 11 символов.

Файл, создаваемый в системе программирования Турбо Паскаль должен иметь расширение имени .pas. Для этого нужно вначале настроить ярлык файла turbo.exe, находящийся в каталоге bin так, как это было описано выше. Затем нужно выделить любой файл, содержащий исходный текст программы на Паскале, и дважды щелкнуть его мышью. При этом появится диалоговое окно, содержащее список имеющихся на Вашем компьютере приложений Windows, с помощью которых можно открывать различные файлы. Так как Турбо Паскаль не является приложением Windows, то нужно в диалоговом окне щелкнуть экранную кнопку «Другая». После щелчка на этой кнопке Вы увидите диалоговое окно, позволяющее разыскать на компьютере файл turbo.exe. Найдя и выделив этот файл, следует щелкнуть экранную кнопку «Открыть», а затем подтвердить произведенные настройки, нажав в диалоговом окне кнопку «Ok». После вышеуказанных операций выбранный файл будет открыт в системе программирования Турбо Паскаль. В этой же системе будут теперь автоматически открываться и все другие файлы с программами на Паскале.

Как уже было сказано выше для того, чтобы файл не оставался безымянным необходимо его переименовать. Переименование программы производится с помощью команды FileSave as … (Файл Сохранить как). С помощью этого пункта меню задается также каталог, в котором будет сохранен данный файл. При этом открывается диалоговое окно следующего вида (рис. 7.2.3). Вообще, если команда меню в Турбо Паскале заканчивается многоточием, то при ее выполнении открывается диалоговое окно(см. рис. 7.2.3).

Диалоговое окно сохранения файла содержит следующие элементы:

1. Текстовое поле, в которое можно вводить новое имя файла. Это поле находится в верхней части диалогового окна и выделено синим цветом. Само диалоговое окно имеет светло-серый цвет.

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

3. Стандартные экранные кнопки OK(подтверждение операции), Cancel(отмена операции) и Help(получение помощи). Экранные кнопки находятся в правой части диалогового окна и выделены зеленым цветом.

4. Информационная строка, содержащая сведения о текущем каталоге и о выделенном файле (один файл в каталоге всегда выделен другим цветом).

Строка расположена в нижней части диалогового окна и выделена синим цветом. Для каталога в информационной строке указывается путь к нему, начиная с имени диска, на котором он находится. Для файла помимо его имени указывается его размер в байтах, а также дата и время его создания или последнего изменения.

Перемещение между элементами диалогового окна можно производить с помощью клавиши Tab или с помощью мыши. Перемещение внутри элементов производится с помощью клавиш управления курсором («стрелка влево», «стрелка вправо», «стрелка вверх», «стрелка вниз») или мышью. Если каталог, заданный по умолчанию, устраивает пользователя, то ему необходимо после ввода имени сохраняемого файла только щелкнуть 2 раза мышью кнопку OK или выделить эту кнопку клавишей Tab и нажать Enter, после чего диалоговое окно закроется и файл сохранится в текущем каталоге под указанным именем.

Если же файл нужно сохранить в другом каталоге, то необходимо перейти из текущего каталога в требуемый. Для того чтобы перейти в надкаталог (на один уровень вверх) необходимо выделить в текущем каталоге «..»(признак надкаталога) и нажать Enterили щелкнуть два раза мышью. Для перехода в подкаталог (на один уровень вниз) необходимо выделить в текущем каталоге имя этого подкаталога и нажать Enterили щелкнуть два раза мышью. Затем в текстовом поле вводим имя сохраняемого файла.

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

Чтобы отказаться от сохранения и закрыть диалоговое окно, нужно щелкнуть кнопку Cancel.

Green brown cyan lightgray 19 глава

Рис. 7.2.3. Диалоговое окно “Сохранение файла”

После закрытия окна сохранения файла правильность выполненных действий можно проконтролировать по верхней части рамки рабочей области, в которой будет указано полное имя сохраненного файла, включающее имя каталога (каталогов), содержащих данный файл. Например, в случае успешного сохранения файла Summa2 в каталоге prog, находящемся в каталоге tp7, который расположен на логическом диске D, вверху рабочей области пользователь увидит следующее полное имя файла: tp7\prog\Summa2.pas.

Сохранить файл в нужном каталоге под нужным именем лучше в самом начале работы над программой, т. к. в дальнейшем при необходимости срочно прервать работу над программой можно быстро сохранить ее текст, выполнив команду FileSave. При этом все изменения будут внесены в файл автоматически.

7.2.2. Алфавит языка Паскаль

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

Алфавит языка Паскаль включает в себя:

1. Буквы латинского алфавита от A до Z. Буквы могут быть как прописными, так и строчными, так как компилятор языка Паскаль при обработке программ не делает различия между теми и другими.

2. Цифры от 0 до 9.

3. Специальные символы. К специальным символам относятся знаки математических операций, знаки пунктуации и некоторые другие. Специальные символы подразделяются на:

а) одиночные

+ — * / =

[ ] , ( ) : ;пробел

^ . @ { } $ # _

б) парные

= := (* *) (. .)

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

and asm array
begin case const
constructor destructor div
do downto else
end exports file
for function goto
if implementation in
inherited inline interface
label library mod
nil not object
of or packed
procedure program record
repeat set shl
shr string then
to type unit
until uses var
while with xor

Из отдельных символов и служебных слов в Паскале формируются операторы. Оператором называется выражение, обозначающее и описывающее какую-либо операцию, выполняемую в программе.

Использование букв русского алфавита в программе допускается только в комментариях (пояснениях к программе, не влияющих на ход ее выполнения) и в качестве значений строковых констант и переменных. Комментарии отделяются от основного текста программы с помощью фигурных скобок.

7.2.3. Структура программы на языке Паскаль

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

Константой называется величина, которая в процессе выполнения программы остается неизменной. Константа может быть либо числом (числовая константа), либо некоторым произвольным набором символов (в таком случае она называется текстовой константой).

Переменной называется величина, которая может изменяться в ходе выполнения программы. Каждая переменная и константа должна иметь собственное имя, значение и тип. Имя переменной и имя константы состоят из латинских букв и цифр, причем начинаться имя обязательно должно с буквы. Каждая отдельная переменная может принимать значения только определенного типа. Это могут быть, например целые или вещественные числа. В первом случае переменная называется целочисленной, во втором – переменной вещественного типа. Значениями переменной могут быть не только числа, но и, например, отдельные символы. В таком случае переменная называется символьной. Если же значением переменной является не отдельный символ, а последовательность символов (строка), то соответствующая переменная будет именоваться строковой. Позднее мы познакомимся и с другими типами переменных.

Тип переменной используемой в программе обязательно должен быть описан в соответствующем разделе программы. Тип переменной определяет не только область значений переменной, но и набор операций, в которых она может участвовать. Например, с числовыми переменными можно производить операции умножения и деления, а для строковой переменной существует операция определения ее длины. Под каждую переменную в памяти компьютера отводится некоторая область, в которой хранится ее значение. Это значение сохраняется в неизменном виде до тех пор, пока переменная не получит новое значение. Операция изменения значения переменной называется операцией присваивания.

Color Camp Signup 32/32 Closed


Похожие статьи.

Понравилась статья? Поделиться с друзьями: