Отправляет email-рассылки с помощью сервиса Sendsay

Всё о работе в Интернет

  Все выпуски  

Занятие 12.


Сегодня, уважаемый подписчик, мы создадим и выполним на компьютере свою первую программу!

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

ПОРЯДОК СОЗДАНИЯ И ВЫПОЛНЕНИЯ ПРОГРАММЫ

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

Алгоритм на АЯ, переведённый на язык Паскаль, называется подпрограммой. Подпрограммы являются составными частями программы. Подпрограммы разделяют на процедуры и функции.

Алгоритм-процедура АЯ переводится в процедуру языка Паскаль. При этом служебное слово алг заменяют зарезервированным словом Procedure. Отметим, что зарезервированные слова отличаются тем, что их смысл и способ употребления жёстко определены заранее.

Алгоритм-функция АЯ переводится в функцию языка Паскаль. При этом служебное слово алг заменяют зарезервированным словом Function.  

Имена в Паскале называют идентификаторами. От имён АЯ их отличает только то, что буквы могут быть использованы только из латинского алфавита. 

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

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

Тип АЯ

Тип Паскаля

Диапазон значений

нат

Byte

Word

0 .. 255

0 .. 65535

цел

Integer

LongInt

32768 .. 32767

231 .. 2311

вещ

Real

Extended

10-38 .. 1038

10-4931 .. 104932

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

Комментарии дано и надо при переводе должны быть заключены в фигурные скобки {...}. Сам текст комментариев может быть оставлен без изменений.

После заголовка следует указать зарезервированное слово Var и разместить после него перечень промежуточных переменных с указанием типов (если он имеется). Знаки препинания “,” и “;” здесь используются по той же схеме, что и в заголовке алгоритма. 

Служебное слово нач заменяют зарезервированным словом Begin. Служебное слово кон заменяют зарезервированным словом End, после которого ставится точка з запятой.

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

В качестве примера приведём перевод на язык Паскаль базового алгоритма L-1 ЗначФункции:

Function Express ( a,x: Real ): Real;

   {дано: произвольные значения a, x; надо: значение функции}

   Var n,m: Real;

Begin

   n := 2 + a * a;

   m := n + Sin(x);

   n := n * Sin(2) / Cos(2);

   Express := Sqrt(m) / n - Ln(m) / Ln(10)

End;

Основные действия, связанные с переводом, таковы:  изменено имя алгоритма-функции, комментарии дано и надо заключены в фигурные скобки, описание промежуточных переменных размещено после заголовка алгоритма и снабжено зарезервированным словом Var, для всех вещественных переменных и типа функции выбран тип Real, служебные слова нач и кон заменены зарезервированными словами Begin и End.

2. Элементарный подход к структуре программы.

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

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

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

В простейшем случае описательная часть программы в явном виде содержит:

-       описание имени программы с помощью директивы Program;

-       раздел описаний переменных, состоящий из директивы Var и последующих указаний типов переменных, являющихся исходными данными для задачи в целом;

-       описания подпрограмм (процедур и функций), решающих поставленную задачу;

-       раздел описаний переменных, являющихся результатами решения задачи.

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

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

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

-       операторы ввода значений исходных данных задачи с клавиатуры;

-       операторы обращения к подпрограммам, решающим задачу;

-       операторы вывода результатов решения задачи на экран дисплея.

3. Операторы ввода-вывода.

Для ввода данных с клавиатуры в программе можно использовать оператор обращения к стандартной процедуре, имеющий вид ReadLn( <список переменных> ).

Имена переменных в списке указываются через запятую. Например, ReadLn ( a, b );.

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

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

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

Например, при наличии в программе описания Var a: Real; b: Integer; и оператора ввода ReadLn ( a, b );, а также при необходимости придать переменным значения a = 2.35b = 14, поток исходных данных должен быть построен в виде строки “2.35 14”. Выполнение оператора ввода в этом случае равносильно выполнению операторов присваивания: a := 2.35; b := 14;.

Для вывода данных на экран дисплея в программе можно использовать оператор обращения к стандартной процедуре, имеющий вид WriteLn( <список элементов> ) или Write( <список элементов> ).

Элементы в списке указываются через запятую. В общем случае элементами списка могут быть  выражения любых типов, в том числе константы, переменные и обращения к функциям. К каждому элементу вещественного типа рекомендуется применять, так называемый, формат вывода в виде <элемент>:0:n, где n – количество цифр после десятичной точки. Например, WriteLn ( ’Ответ: ’, + b:0:2 );. При этом на экране мы увидим значения элементов списка “Ответ: 16.35”.

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

С учётом всего вышеизложенного, программа реализации базового алгоритма L-1 приобретает следующий вид:

{$B+,D+,E+,I+,L+,N+,Q+,R+,X-}

Program L_01;

   Var a,x: Real;

   Function Express ( a,x: Real ): Real;

      Var n,m: Real;

   Begin

      n := 2 + a * a;

      m := n + Sin(x);

      n := n * Sin(2) / Cos(2);

      Express := Sqrt(m) / n - Ln(m) / Ln(10)

   End;

   Var у: Real;

Begin

   Write('Введите значения a и x: '); ReadLn(a,x);

   y := Express(a,x);

   WriteLn('y = ',y:0:4)

End.

Примечание: самая первая строка программы {$B+, D+, E+, I+, L+, N+, Q+, R+, X-} представляет собой перечень, так называемых, директив компиляции. О них мы будем говорить на последующих занятиях.

А сейчас нам предстоит ввести созданную программу в компьютер и выполнить её.

4. Основной порядок работы в ИСП.

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

-       Запуск ИСП.

-       Закрытие всех окон предыдущего сеанса работы другого пользователя нажатием клавиш (команда Window→Close all). Чтобы закрыть единственное окно, достаточно нажать клавиши <Alt + F3>.

-       Установка текущего каталога в диалоговом окне Change Directory, вызываемом выполнением команды File→Change dir.... Текущим каталогом должен быть тот, в котором размещаются файлы с текстами программ.

-       Выполнение одного из двух нижеследующих вариантов открытия окна текстового редактора ИСП:

-      Открытие пустого окна для новой впервые создаваемой программы выполнением команды File→New. Сразу же после этого должна быть нажата клавиша <F2> (команда File→Save as...) с целью вызова диалогового окна Save File As для присвоения имени файлу, в котором будет сохраняться текст новой программы. После этого новую программу можно будет либо ввести с клавиатуры, либо перенести её текст из сборника программ.

-      Загрузка в окно текстового редактора ИСП текста существующей программы (в файле с расширением PAS) с помощью средств диалогового окна Open a File, вызываемого нажатием клавиши <F3> (команда File→Open...). После этого в программу можно будет внести изменения, просто просмотреть или использовать её фрагменты для какой-то другой программы.

-       Редактирование текста программы.

-       Сохранение текста готовой программы в файле на диске нажатием клавиши <F2> (команда File→Save). Такое сохранение также рекомендуется делать периодически в процессе всего редактирования.

-       Компиляция и запуск программы на выполнение нажатием клавиш <Ctrl + F9> (команда Run→Run).

-       Просмотр полученных результатов в окне выполнения программы, получаемом посредством нажатия клавиш <Alt + F5> (команда Debug→User screen). Это окно закрывается при нажатии любой клавиши.

-       Завершение работы с ИСП нажатием клавиш <Alt + X> (команда File→Exit).

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

Уважаемый подписчик! При необходимости задать вопрос, проконсультироваться, уточнить или обсудить что-либо обращайтесь через Гостевую книгу моего персонального сайта http://a-morgun.narod.ru

С уважением, Александр.


В избранное