Главная » Просмотр файлов » В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль

В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль (1107618), страница 15

Файл №1107618 В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль (В.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль) 15 страницаВ.Г. Абрамов, Н.П. Трифонов, Г.Н. Трифонова - Введение в язык Паскаль (1107618) страница 152019-04-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 15)

Так что в качестве метки может использоватьсятакое же целое без знака, что и операнд какой-либо арифметической операции, например25 : х := х + 25В разделе меток объявляемые метки могут быть перечислены в произвольном порядке, независимо от того, в каком порядке эти метки встречаются в разделе операторов, при этом любая метка в разделе меток можетбыть указана только один раз.Пример непустого раздела меток:label 57, 9, 2245;Раздел констант.

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

значение, представляющее собойтривиальную структуру данных. Например, отдельное число (целое иливещественное) может быть константой (типа integer или real), однакопоследовательность чисел константой быть не может, хотя в паскале значением может быть и массив, представляющий собой упорядоченную последовательность чисел. Единственным исключением из этого правила являетсятакая константа, как < литерная строка >, представляющая собой последовательность литер, заключенную в апострофы:<литерная строка> ::= '< литера) {(литера)} 'например 'ЭТО ЛИТЕРНАЯ СТРОКА'.

Более подробно литерные строкибудут рассмотрены в главе 7.52Во-вторых, напомним, что отдельные данные некоторых типов в паскалеявляются идентификаторами, выбираемыми по усмотрению программиста(названия дней недели, цветов радуги и т.д.) , которые представляют разныечастные случаи используемого в программе понятия. Каждый такой идентификатор является константой соответствующего типа. С подобным случаеммы уже встречались: значениями типа boolean являются идентификаторыfalse и true — эти идентификаторы и являются константами типа boolean.С другими случаями констант аналогичного рода мы встретимся при рассмотрении перечислимых типов паскаля.Обычно константа представляет собой запись соответствующего постоянного значения в том месте программы, где это значение используется.Однако в ряде случаев такой способ бывает неудобен. Если, например,постоянное числовое значение 3.1415926535 используется в программе внескольких ее местах, то многократное его выписывание весьма утомительно.

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

В связи с этим имя константы тоже являетсяконстантой, которую, в частности, можно использовать в описаниях другихконстант, напримерnpi = - p iВ этом случае имя npi является синонимом числа -3.1415926535.Таким образом, понятие (константа) можно определить следующимобразом:< константа) : := < скалярное значение ) | < литерная строка ) |< имя константы ) | + < имя константы > |— < имя константы )Разумеется, знак плюс или минус может предшествовать только именичислового значения.Использование имен констант, помимо обеспечения большей компактности и наглядности программы, позволяет сгруппировать в началепрограммы величины, зависящие от конкретной реализации языка — в этомслучае для адаптации программы применительно к другой реализациидостаточно внести необходимые изменения только в раздел констант.То же самое относится и к константам, характеризующим процесс обработки данных, задаваемый программой (точность результата в каком-либо итерационном процессе, число повторений какого-либо цикла и т.д.).53Все описания констант должны содержаться в разделе констант паскальпрограммы.

Этот раздел начинается служебным словом const (константа)и заканчивается точкой с запятой. Если в разделе содержится несколькоописаний констант, то они отделяются друг от друга точкой с запятой:( раздел констант ) : := < пусто ) |const < описание константы ) {; < описание константы >} :Пример непустого раздела констант:conet ВЕРХНГР=25;НИЖНГР=-ВЕРХНГР;р i =3. 1415926535; WAY=2500;TEXT—'ЗНАЧЕНИЕ X: ' ;В качестве иллюстрации использования описаний констант рассмотримследующий пример чисто учебного характера, весьма близкий к рассмотренному ранее примеру 1.1.П р и м е р 3.1. Составить программу для вычисленияs= 1 + 1/2 + 1/3+ .

. . + 1 / 1 0 . у = (л + х) sin (я - х),z = - т г ( Ю - cos(x))при задаваемом значении х (принять тг = 3.14159265).Без использования описаний констант программу можно записатьв виде:iПример 3.1.1.Брич З.С.НИИЗВМ 10.1.87 }{Вычисления по простейшим Формулам}{Вариант программы без использования имен констант!program -formula(input., output);{описание переменных}var s,x,y,z: real; k: integer;begin{ввод и печать значения х}read(x) ; writeln(_ х =>;{подготовка к циклу}{цикл для вычисления суммы а}repeatк:= к+ 1; ss»s+l/kuntilк=10;{вычисление у и 2 по заданным Формулам.}у=(3.14159265+х)»ein<3.14159265-х);2:=-3.14159265*(10-cos(х>);{лечать реэультата}wr i tel n <, s,у—у,'._", 2)end.Как видно, текст программы получился весьма громоздким из-за неоднократного выписывания значения тт.

Кроме того, если бы мы захотели вое-пользоваться этой программой для вычисления s = 1 + 1/2 + 1/3 + . . . + 1/20,а у и z — по прежним формулам, то в тексте программы пришлось бы заменить число 10, задающее число повторений цикла, на число 20. Однакоэту работу нельзя проделать формально, путем замены каждого вхождениячисла 10 на число 20 — ведь при вычислении значения z тоже используетсячисло 10, которое к числу повторений цикла не имеет никакого отношения!Так что такая замена должна быть сделана очень осторожно. А в случаедостаточно сложной программы это потребовало бы значительной работы,при выполнении которой нетрудно допустить ошибку.

Поэтому число повторений цикла удобнее сделать к а к бы "параметром" программы, конкретное значение которого можно задать с помощью соответствующего описания константы. А чтобы несколько раз не выписывать значение 7Г, емуи значению —7г удобно дать соответствующие имена:£ Пример 3.1.2.

Ариг-гов М.М. ТашГУ 24.11.86 >[Вычисления по Формулам}{Вариант программы с использованием имен констант)program +orm(input, output);(описание констант, где n - число слагаемых в сумме а>constn— 10; pi =3. 14159265; p i n — p i ;{описание переменных}varв, и, у, г: real; k: integer;begin{ввод и печать значения :•;.!•read<х>;writeln(х», х >;{'подготовка к циклу}{цикл для вычисления в}repeatk: =к+1; s:=s-H/kuntil k=n;{вычисление у и г}у: = к pi +:•: )*sin<pi-x> ;7.: ==р i.

n * (10—с os (х ) ) ;{'печать результатов}writeln (s=»_,s, '... у-. ' ,у, '... г=,г)end.Как видно, арифметические выражения, задающие правила вычисления уи 2, получились более компактными и наглядными. Кроме того, длянастройки программы на новое значение и, равное 20, достаточно в разделеконстант описание п = 10 заменить на описание п = 20, а в теле программыничего менять не нужно.55Раздел типов. Как уже отмечалось, в паскале имеется всего четыре стандартных типа значений: integer, real, char и boolean, которые могут использоваться в любой программе без каких-либо дополнительных усилий состороны программиста. Наряду с этими типами программист имеет возможность вводить в употребление и другие типы значений (в рамкахдопустимых в языке классов) . Однако — в отличие от стандартных типовкаждый такой тип должен быть явно определен (задан) в программе спомощью понятия < задание типа >.

Сейчас мы не будем пока давать строгогосинтаксического определения этого понятия — эти определения будут даваться постепенно, по мере рассмотрения соответствующих классовдопустимых типов.Сейчас пока речь идет о том, что в паскале предусмотрена возможностьиспользовать каждый вновь определяемый тип так же просто, как и стандартные типы. Эта возможность состоит в том, что каждому вводимомув употребление типу можно дать свое имя (подобно тому, как за каждымстандартным типом закреплено свое стандартное и м я ) , после чего для указания требуемого типа достаточно указать его имя.Для достижения этой цели служит описание типа:< описание типа > : : = ( имя типа > = (тип >(тип > : : = ( имя типа > | ( задание типа >Вторая из этих метаформул говорит о том, что в описании типа в качестве компоненты (тип > можно использовать имя какого-либо описанногоранее (или стандартного) типа, т.е.

Характеристики

Тип файла
PDF-файл
Размер
2,47 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее