Главная » Просмотр файлов » Р.У. Себеста - Основные копцепции языков программирования (2001)

Р.У. Себеста - Основные копцепции языков программирования (2001) (1160794), страница 56

Файл №1160794 Р.У. Себеста - Основные копцепции языков программирования (2001) (Р.У. Себеста - Основные копцепции языков программирования (2001)) 56 страницаР.У. Себеста - Основные копцепции языков программирования (2001) (1160794) страница 562019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

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

как правило, в терминах совместимости имен или структур типов. 203 Резюме Статический обзор данных является основным свойством языка А1.001. 60 и большинства его потомков. Он предлагает эффективный метод разрешения видимости нелокальных переменных полпрограмм. Динамический обзор данных обеспечивает большую по сравнению со статическим обзором гибкость, но, опять-таки, за счет ухудшения читабельности, эффективности и належности программ.

Среда ссылок оператора является совокупностью всех его переменных, видимых данным оператором. Именованные константы — это простые переменные. связываемые со своим значением только в момент их связывания с ячейкой памяти. Инициализация — это связывание переменной со своим значением во время ее связывания с ячейкой памяти. Р: -2г 1. Какие вопросы разработки языков программирования связаны с именами? 2. В чем состоит потенциальная опасность имен, зависящих от регистра? 3.

Чем зарезервированные слова лучше ключевых? 4. Что такое альтернативное имя? 5. Какие категории ссылок в языке С++ всегда имеют альтернативные имена? 6. Что такое левое значение переменной? Что такое правое значение переменной? 7. Дайте определение связывания и времени связывания. 8. Какие четыре варианта времени связывания есть в программе после разработки языка и его реализации? 9. Дайте определение статического и дипачического связывания. 10. Назовите достоинства и недостатки неявных обьявлений. 11.

Назовите достоинства н недостатки динамического связывания типов. 12. Дайте определение стапгических переменных, автоматических перанеииых, явных и неявных динамических переменных. 13. Дайте определение приведения типов, оизибки определения типов, проверки типов и строгой типизаиии. 14. Дайте определение совместимости имен типов и совместимости структур типов. Какое полезное свойство объединяет эти два понятия? 15. Чем различаются производные типы языка Ада и полтины того же языка? 16. Дайте определение времени згсизии, области видимости, статического и динамического обзора данных.

17. Каким образом обрашение к нелокальной переменной в программе со статическим обзором данных связано с ее опрелелением? 18. Назовите основную проблему, возникаюшую при статическом обзоре данных. 19. Что такое "среда ссылок оператора"? 20. Что является статическим предком подпрограммы? Что является динамическим предком подпрограммы? 21. Что такое "блок" ? 206 Глава 4. Имено, связывание, проверка типов н области видимости 22.

23. Назовите достоинства и недостатки линамического обзора данных. В чем заключаются достоинства именованных констант". Определите, какая из следуюших форм идентификаторов является самой чита- бельной. Аргументируйте ваше решение. ЯимОЙЯа1ев вив о1 ва1ев 5))ИОГЯАЬЕЯ Одним из распространенных использований оператора ЕО))1ЧАЬЕНСЕ языка ГО)П'йА)ч является следуюшее. Большой массив числовых величин доступен подпро~рамме как параметр. Массив содержит множество различных не связанных между собой переменных, а не совокупность повторений одной и той же переменной. Данные представляются в виде массива для уменьшения числа имен, которые требуется передать как параметры. Вне подпрограммы длинный оператор ЕО))1НАЬЕ))СЕ используется лля создания дополнительных имен в качестве альтернативных имен различных злементов массива, что повышает читабельность команд подпрограммы.

Хороша ли эта идея? Какие сушествуют альтернативы использованию совмешения имен? 3. Напишите простой оператор присваивания с одним арифметическим оператором из какого-нибудь известного вам языка. Для каждого компонента оператора перечислите различные связывания, требуемые для определения его семантики при выполнении. Для кажлого связывания укажите используемые в языке времена связывания. Объясните взаимосвязь динамического связывания типов с неявными динамиче- скими переменными. Опишите ситуацию, в которой могут оказаться полезными переменные, зависящие от предыстории. Рассмотрите слелузошую скелетную программу на языке Рааса): ргодгае вадпг маг х : Ьпседег; ргосес)иге виЬЗ; йогиаге)Г ргосес)иге виЬ1; чаг х: 1пседегг ргосес)иге виЬ2; Ьедяп ( виЬ2 ) сН ) Ь2) Ьеддп ) виЬ1 ) )г ) виЬ1 ) 201 Упражнения В некоторых языках определение типов не предусмотрено.

Назовите очевидные достоинства и недостатки таких языков. ргоаасЬлка яцЬЗ; Ьадлп ( яцЬЗ ) а;( ЬЗ) Ьадлп ( жало ) апс(. ( амадо ) Предположим, что выполнение программы осуществляется следующим образом: процедура зла л п вызывает процедуру я цЬ1; процедура яцЬ1 вызывает процедуру яцЬ2; процедура яцЬ2 вызывает процедуру яиЬЗ г 7.1. Если предположить, что используется статический обзор данных, какое из объявлений переменнод х будет справедливо для следующих обращений к переменной х? 7.1.1. В процедуре яиЬ1.

7.1.2. В процедуре яиЬ2. 7.1.3. В процедуре яцЬ3. 7.2. Повторите задание пункта 7.1, предполагая использование динамического обзора данных. 8, Предположим, что следующая программа была откомпилирована и выполнена с использованием правил статического обзора данных. Какое значение переменной х выводится на экран в процедуре яцЬ1? Каким бы было зто значение при использовании правил динамического обзора? ргодгаа та1п; час х : лпкадвг; ргоаасцлге яцЬ1; Ьадлп ( яцЬ1 нггсе1п('х =', х) апс1; ( яцЬ1 ) ргооааига яиЬ21 чая х : дпкадак; Ьадлп ( яцЬ2 ) х:= 10; яОЬ1 апс1; ( яиЬ2 Ьадлп ( гаа1п х:= 51 яцЬ2 апс1.

(тала) 9. Рассмотрите слелуюшую программу: ргодгаа вадп; час х, у, г : лпгедег; ркоаас(цга яцЬ1; чаг а, у, г : 1пгедег; 208 Глава 4. Имена, связывание, проверка типов и области видимости ргосвйиге яиЬ2; чаг а, Ь, г : 1пседег; Ьедап ( яиЬ2 ) епс1; ( яиЬ2 Ьвдлп ( яиЬ1 ) аг ( Ь1 ] ргосеФзге яиЬЗ; чаг а, х, н : 1ггеаег; Ьедап ( 5иЬЗ ) впе$1 ( яиЬЗ ] Ьедхп ( гкадп ) еп6. (падл) Предполагая использование статического обзора данных, перечислите все переменные.

видимые в телах процедур яиЬ1, яиЬ2 и яиЬЗ, вместе с программными единицами, в которых они объявляются. 10. Рассмотрите следуюшую программу: ргодгаа мауп; чаг х, у, г: 1пгедегг ргосвс(иге яиЬ1; чаг а, у, г : 1пгедег; Ьедз.п ( яиЬ1 ) епйг ( яиЬ1 ) ргосвс(иге яиЬ2; чаг а, х, н : 1пгедег) ргосвгЗиге яиЬЗг чаг а, Ь, г : 1пседег; Ьед1п ( яиЬЗ ) взм11 ( яиЬЗ ) Ьвдхп ( яиЬ2 ) вп<й; ( 5иЬ2 ) Ьвд1п ( тауп ) епс1.

(паул) Прелполагая использование статического обзора. перечислите все переменные. видимые в телах процедур яиЬ1. яиЬ2 и яиЬЗ, вместе с программными единицами, в которых они обьявляются. 11. Рассмотрите следуюшую программу на языке бд чо1с( йип (чей) дпк а, Ь, с; /* определение 1 */ 209 Упражнения ииз.1е (...) ( дпе Ь, с, аг < иих1е (.. ) ( дпе с, г), е /* определение 2 */ /* определение 3 */ ------------ ††----4 < Для каждой из четырех отмеченных точек приведенной функции перечислите все видимые переменные и укажите количество операторов, определяюших зтн пере- менные. 12. Рассмотрите следующую скелетную программу на языке С: чойс( Енп1(чой4()г /*прототип*/ чоас( тнп1(чойс()г /*прототип*/ чово йнп1(чола)г /*прототип*/ чо1<( ваап()г ( дпе а, Ь, с; ) чоЫ Гнп1 (чоЫ) ( 1пк Ь, с, г)г чоЫ йип2 (чоас() ( з.пс с, с), е; чоха ЕипЗ (чоЫ) ( дпе с(, е, 12.3.

Функция вайп вызывает функцию гнп2; функшяя йнп2 вызывает функцию гнпЗ; функция йнпЗ вызывает функцию йнп1. 12.4. Функция ваап вызывает функцию ГнпЗ; функния йнпЗ вызывает функцию Е оп 1. 240 Глава 4. Имена, связывание, проверка типов и области видимости Предполагая использование динамического обзора данных, рассмотрите следующие последовательности вызовов и укажите, какие переменные видимы во время выполнения последней вызванной функции. Для каждой видимой переменной укажите имя функции, определяющей данную переменную. 12.1. Функция ва1п вызывает функнию Гип1; функция йнп1 вызывает функцию йнп2; функция гнп2 вызывает функнию йнпЗ.

12.2. Функция вадп вызывает функцию 1ип1; функция гнп1 вызывает функнию йипЗ. 12.5. Функция вазп вызывает функцию йцп1; функция бцп1 вызывает функцию 1ипЗ; функция гипЗ вызывает функцию бцп2. 12.6. Функция па1п вызывает функцию бцпЗ: функция йцпЗ вызывает функцию йип2; функция Ьцп2 вызывает функцию бцп1. 13. Рассмотрите слелуюшую программу: ргосгаа гаа1п; чаг х, у, х : 1пСеаег; ргссвс(цге вцЬ11 чаг а, у, з : 1пкедегг Ьвяхп ( 5ОЬ1 ) впс(г ( аиЬ1 ) ргосеспгв яцЬ2; чаг а, Ь, г : 1пседегг Ьейз.п ( 50Ь2 впс1; ( виЬ2 ) ргссес(иге виЬЗ( чаг а, х, н : 1пСецегг Ьесхп ( яиЬЗ ) епс1; ( яиЬЗ Ьесап ( аа1п ) впс(. (гаазп) Предполагая использование динамического обзора данных, рассмотрите следуюшие последовательности вызовов и укажите, какие переменные видимы во время активации последней подпрограммы. Для каждой видимой переменной укаьтите нмя блока, в котором объявляется данная переменная.

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

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

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

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