Главная » Просмотр файлов » Н. Вирт - Программирование на языке Модула-2

Н. Вирт - Программирование на языке Модула-2 (1160777), страница 5

Файл №1160777 Н. Вирт - Программирование на языке Модула-2 (Н. Вирт - Программирование на языке Модула-2) 5 страницаН. Вирт - Программирование на языке Модула-2 (1160777) страница 52019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Стоитпоэтому запомнить ключевые слова, перечисление в следующем далее списке; их смысл будетобъяснен в последующих разделах.ANDELSIFLOOPREPEATARRAYENDMODRETURNBEGINEXITMODULESETBYEXPORTMOTTHENCASEFOROFTOCONSTFROMORTYPEPOINTERUNTILDEFINITION IFDIVIMPLEMENTATION PROCEDUREVARDOIMPORTQUALIFIEDWHILEELSEINRECORDWITHОперации и ограничители, составленные из специальных литер:+сложение, объединение множеств-вычитание, разность множеств*умножение, пересечение множеств/деление, симметрическая разность множеств:=присваивание& логическое И~ логическое НЕ= равно# <> не равно<меньше чем> больше чем<=меньше или равно>=больше или равно()круглые скобки[]индексные скобки{}скобки множества16(* *) скобки комментария^ операция разыменования,.;:.. | знаки пунктуацииПоследовательные лексемы принято разделять одним или несколькими пробелами.

Однаконеобходимо это только в тех случаях, когда отсутствие пробелов привело бы к слиянию двухлексем в одну. Например, во Фрагменте "IF х = у THEN" пробелы нужны перед х и после у, авокруг знака равенства они могут быть опущены.5. Комментарии могут быть вставлены между любыми двумя лексемами. Они являютсяпроизвольными последовательностями литер, заключенными в скобки для комментариев (* и *).Комментарии служат дополнительной информацией для человека и пропускаются компилятором.Они могут также служить для задания режимов работы компилятора.5. ОПЕРАТОРЫ И ВЫРАЖЕНИЯЯзыковая конструкция, задающая некоторое действие, называется оператором. Операторы могутистолковываться (исполняться), и это истолкование (исполнение) влечет за собой последствия,заключающиеся в том, что изменяется состояние вычислительного процесса, который задаетсясовокупным значением всех переменных программы.

Самое элементарное действие присваивания значения переменной. Присваивание имеет вид$Присваивание = Обозначение ":=" Выражение.исоответствующеепоследовательности:емудействие состоит из трех частей, выполняемых в такой1. Вычислить обозначение, определяющее некоторую переменную.2. Вычислить выражение, получив некоторое значение.3. Заменить значение переменной из п. 1 на значение выражения из п. 2.Простые примеры присваиванийi := 1x := y + zЗдесь i получает значение 1, х - значение суммы у и z, прежние значения теряются. Заметьте, чтоследующие пары операторов, выполняемые последовательно, дают разные результаты:i := i + 1; j := 2*1j := 2*i; i := i + 1Полагая начальное значение 1 равным 0, для первой пары получим i = 1, j = 2, в то время каквторая пара дает j = 0.

Если мы захотим обменять значения переменных i и j, топоследовательность операторовi := j; j := iне даст желаемого результата. Мы должны ввести вспомогательную переменную, скажем к, длясохранения значения и задать три последовательных присваиванияk := i; i := j; j := kВ общем случае выражение состоит из операндов и знаков операций. Его вычисление состоит изприменения к операндам операций в предписанном порядке, как правило, слева направо.17Операндами могут быть константы, переменные или функции. (Функции будут описаны далее.)Вообще говоря, идентификация переменной требует в свою очередь вычисления обозначения:здесь мы, однако, ограничимся лишь случаем использования простой переменной, изображаемойидентификатором. Арифметические выражения (существуют и другие выражения) включаютчисла, числовые переменные и арифметические операции. К последним относятся основныеарифметические операции: сложение (+), вычитание (-), умножение (*) и деление.

Все они будутподробно рассмотрены в разделе, посвященном основным типам данных. Здесь же достаточноупомянуть, что знак (/) зарезервирован для деления действительных чисел, а для целых мыиспользуем в качестве знака операции ключевое слово DIV, что означает взятие целой частичастного.Выражение состоит из последовательных слагаемых. ЗаписьТ0 + Т1 + ... + Тnэквивалентна((Т0 + Т1) +...)+ ТnСинтаксис выражения определяется правилами$ПростоеВыражение = ["+" |"-"] Слагаемое$${ОперацияТипаСложения Слагаемое}.ОперацияТипаСложения - "+"|"-"|"OR".ПРИМЕЧАНИЕ: Пока читатель может считать, что синтаксические понятия Выражение иПростоеВыражение эквивалентны. Различие между ними и смысл операций OR, AND и NOTбудут разъяснены в разделе, посвященном данным типа BOOLEAN.Аналогичным образом, каждое слагаемое состоит из множителей.

СлагаемоеF0 * F1 * ... * Fnэквивалентно((F0 * F1) *... ) * Fnи определяется синтаксически по правилам:$$$Слагаемое - Множитель{ОперацияТипаУмножения Множитель}.ОперацияТипаУмножения - "*"|"/"|"DIV"|"MOD"|"AND"|"&".Каждый множитель - это или константа, или переменная, или Функция, или выражение,заключенное в круглые скобки.Примеры арифметических выражений:2*3+4*5 = (2*3)+(4*5) = 2615 DIV 4 * 4 = (15 DIV 4)*4 = 1215 DIV (4*4) = 02 + 3*4-5 = 2+(3*4)-5 = 96.25 / 1.25 + 1.5 = 5.0 + 1.5 = 6.518Учитывая, что множитель в свою очередь тожесинтаксис множителей рекурсивен.$можетбыть выражением, очевидно, чтоМножитель = Число | Цепочка | Множество |$Обозначение[ФактическиеПараметры] |$"(" Выражение ")" | "NOT" Множитель.Правила вычисления выражений в действительности очень просты: сложные ситуациивстречаются весьма редко, но мы тем не менее укажем несколько основных правил,заслуживающих упоминания.1.

Каждой переменной в выражении должно быть предварительно присвоено значение.2. Два знака операций не могут стоять рядом. Например, запись а*-b неправильна: нужнописать а*(-b).3. При умножении нельзя пропускать знак операции. Например, запись 2n неправильна:должно быть 2*n.4.ОперацияТипаУмноженияОперацияТипаСложения.имеетболеевысокийприоритет,чем5.

При возникновении сомнений в правилах вычисления (т.е. старшинстве операций)используйте дополнительные скобки для уточнения. Например, а+b*с можно записать и кака+(b*с).Присваивание - лишь одна из возможных Форм операторов. Другие Формы будут введены вследующих разделах. Мы перечислим эти Формы в виде синтаксического определения$Оператор - [ Присваивание | ВызовПроцедуры |$ЦиклПока | ЦиклДо | ЦиклСШагом |$БезусловныйИикл | УсловныйОператор |$ОператорВыбора | ОператорПрисоединения |$ОператорВозврата | "EXIT" ].Некоторые из этих Форм - структурированные операторы, т.е. их компоненты в свою очередьмогут быть операторами. Таким образом, определение операторов, как и выражений, рекурсивно.Самая фундаментальная структура языка - последовательность.

Начисление - последовательностьдействий, где каждое действие задается некоторым оператором и исполняется после завершенияпредшествующего действия. Строгая временная упорядоченность -существенная предпосылкапоследовательного программирования. Если оператор S1 следует за S0, то мы указываем этупоследовательную во времени связь точкой с запятойS0; S1Этот разделитель операторов (не завершитель) указывает на то, что за действием,соответствующим S0, должно непосредственно следовать действие, соответствующее S1.Последовательность операторов синтаксически определяется так:$ПослОператоров = Оператор {":" Оператор).Синтаксис операторов подразумевает, что оператор может вообще не содержать литер.

В такомслучае оператор называют пустым, и, очевидно, он задает пустое действие. Эта диковинка среди19операторов имеет определенный смысл. Пустой оператор позволяет вставлять точку с запятой втакие места, где она на самом деле избыточна, например в конец последовательности операторов.6. УПРАВЛЯЮШИЕ СТРУКТУРЫГлавная особенность ЭВМ - способность выполнять отдельные действия циклически либовыбирать одно из нескольких действий в зависимости от ранее вычисленных результатов.

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

Его синтаксис $ЦиклПока - "WHILE" Выражение$"DO" ПослОператоров "END".Соответствующее ему действие 1. Вычислить условие, которое принимает Форму выражения со значением или TRUE(истина) или FALSE (ложь).2. Если получилось значение TRUE, выполнить последовательность операторов, а затемповторить шаг 1. если значение условия - FALSE, то закончить выполнение.Условное выражение в операторе цикла имеет тип BOOLEAN (булев, логический). Этот тип будетобсуждаться в разделе, посвященном типам данных. Здесь же достаточно знать, что простоесравнение -выражение типа BOOLEAN. Пример цикла был дан во вводном примере, гдеповторение заканчивалось, когда сравниваемые переменные принимали одинаковые значения.

Вотеще примеры операторов цикла с условием продолжения.1. Пусть вначале q = 0 и r = х; вычислить, сколько раз можно вычесть у из х, т.е. вычислитьчастное q = х DIV у и остаток r = х MOD у, если х и у - натуральные числа.WHILE r >= у DOr:=r-у; q:=q+1END2. Пусть z = 1 и i = k, умножить z на х к раз, т.е. вычислить z = х^k, если r и k- натуральные числа.WHILE 1 > И DOz := z*x; i := i –ENDИспользуя циклы, важно помнить следующее:1.

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

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

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

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