1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы), страница 2

PDF-файл 1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы), страница 2 Программирование (85810): Ответы (шпаргалки) - 2 семестр1611678431-0e68e83522cb9d960ac896aa5d90854d (Билеты - Ответы) - PDF, страница 2 (85810) - СтудИзба2021-01-26СтудИзба

Описание файла

PDF-файл из архива "Билеты - Ответы", который расположен в категории "". Всё это находится в предмете "программирование" из 2 семестр, которые можно найти в файловом архиве НГУ. Не смотря на прямую связь этого архива с НГУ, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 2 страницы из PDF

Понятие языка программирования высокого уровня и транслятора,классификация языков и виды трансляторовЯзык программирования высокого уровня -- это средство, позволяющеепрограммировать на некоторую физически не существующую (виртуальную)вычислительную машину , которая не связана имеющимися техническимиограничениями и ориентируется на человека, а транслятор -- это программа дляреально существующей машины , которая позволяет машиневыступать вроли виртуальной машины . При этом обработка программыобычнопроисходит в два этапа, которые во времени следуют один за другим: этаптрансляции -- построения машинной (рабочей) программы и этап выполненияпостроенной машинной программы, при котором осуществляются обработкавходных данных программыи печать полученных результатов.Трансля́ тор — программа или техническое средство, выполняющее трансляцию программы.[1][2]Трансляция программы — преобразование программы, представленной на одном из языковпрограммирования, в программу на другом языке, эквивалентную по результатам выполненияпервой.[1]Виды трансляторов:1.КомпиляторКомпиля́ тор — программа или техническое средство, выполняющее компиляцию.[1][2][3]2.Компиляция — трансляция программы, составленной на исходном языке высокого уровня,в эквивалентную программу на низкоуровневом языке, близком машинномукоду(абсолютный код, объектный модуль, иногда на язык ассемблера).[2][3][4] Входнойинформацией для компилятора (исходный код) является описание алгоритма илипрограмма напроблемно-ориентированном языке, а на выходе компилятора —эквивалентное описание алгоритма на машинно-ориентированном языке (объектныйкод).[5]ИнтерпретаторИнтерпрета́ тор — программа (разновидность транслятора) или аппаратное средство,[1]выполняющее интерпретацию.Интерпрета́ ция — пооператорный (покомандный, построчный) анализ, обработка и тут жевыполнение исходной программы или запроса (в отличие от компиляции, при которойпрограмма транслируется без её выполнения).[2][3][4]Компилятор медленнее интерпретатораКлассификация языков:1.

Объектно-ориентированные (объекты и классы)2. Параллельные3. Логические (высказывания)4. Функциональные (нет переменных, присваиваний, есть некоторая функция и всяпрограмма может быть записана в виде одной функции)5. Императивные (есть переменная, присваивание и тд и тп)6. Синтаксис и семантика языков программирования. Стандарты и версииязыков программирвоанияСодержательно язык программирования -- это средство общения междучеловеком (программистом) и компьютером (исполнителем).

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

Например,семантика языка команд компьютера определяется самим компьютером:машинная программа означает в точности то, что осуществляет вычислительнаямашина при работе по данной программе. Аналогично семантика языкавысокого уровня может быть определена через описание правил выполнениясоответствующей виртуальной машины.Язык – некоторая знаковая система как средство сообщенияСинтаксис – правило построения сообщенияСемантика – правила истолкования сообщения адресатамиСемантические средства – доступные объекты (данные, операции и тд) и способы их построенияСинтаксические средства – способы обозначения данных и внешнего представления данныхобъектовОсобенности искусственных языков1.

Синтаксис и семантика строго определены2. Синтаксическая структура строго определяет семантикуСтанда́ рт оформле́ ния ко́ да(станда́ рт коди́ рования, стиль программирования) (англ. codingstandards, coding convention или programming style) — набор правил и соглашений, используемыхпри написании исходного кода на некотором языке программирования.

Наличие общего стиляпрограммирования облегчает понимание и поддержание исходного кода, написанного больше чемодним программистом, а также облегчает сотрудничество нескольких человек в развитии одногопрограммного обеспечения [1].Стандарт сильно зависит от используемого языка программирования. Например, стандартоформления кода для языка Си будет серьёзно отличаться от стандарта для языка BASIC. Вцелом, исходя из назначения стандарта, обычно он имеет целью добиться такого положения,когда программист достаточной квалификации мог бы дать заключение о функции, выполняемойконкретным участком кода, а в идеале — также определить его корректность, изучив только самэтот участок кода или, во всяком случае, минимально изучив другие части программы.

Инымисловами, смысл кода должен быть виден из самого кода, без необходимости изучать контекст.Поэтому стандарт кодирования обычно строится так, чтобы за счёт определённого визуальногооформления элементов программы повысить информативность кода для человека.Обычно, стандарт оформления кода описывает:способы выбора названий и используемый регистр символов для имён переменных и другихидентификаторов:запись типа переменной в её идентификаторе (венгерская нотация) ирегистр символов (нижний, верхний, «верблюжий», «верблюжий» с малой буквы),использование знаков подчёркивания для разделения слов;стиль отступов при оформлении логических блоков — используются ли символы табуляции,ширина отступа;способ расстановки скобок, ограничивающих логические блоки;использование пробелов при оформлении логических и арифметических выражений;стиль комментариев и использование документирующих комментариев.7.

Три подхода к заданию семантикиСема́ нтика в программировании — правила истолкования сообщения адресатамиСпособы задания семантики:1. Содержательная (операционная)Пишется абстрактная машина, в терминах которой описываются все действияЗначение конструкций языка в таких семантиках выражается в терминахпереходов той или иной абстрактной машины из одного состояния в другое.Пример:GO TO MIF b THEN GO TO M(Это команды нашей машины)IF E THEN S1 ELSE S2t:=E;IF t THEN GO TO M1;GO TO M2;M1:S1;GO TO M2;M2:S2;M3: заключительное состояние2.Аксиоматическая семантикаПозволяет описывать свойства программ на некотором языкеЗначение конструкций языка в таких семантиках выражается втерминах множества формул, описывающих состояния объектов программы.

В качествепримеров можно привести, в частности, аксиоматический метод ХоараТройка Хоара:{p}S{q}p-предусловиеq-постусловиеS-оператор{p}S[q]здесь мы обязательно завершимсяЕсли S-пустой операторДля любого p {p}S{q}S-оператор присваивания x:=E{p}x:=E{q}, где p – получается из q заменой вхождения x на EПример:{y+1=10}x:=y+1{x=10}{x+1=10}x:=x+1{x=10}3. Денотационная семантикаСмысл конструкций языка представляется в терминах абстракции функций,оперирующих состояниями программы8.

Метод промежуточных утверждений для блок-схемного представления программ, теорема окорректности2.3.4 Метод промежуточных утвержденийПусть -- некоторая последовательность операторов, аи-- некоторыеутверждения о значениях переменных, используемых в P соответственно вначальном и конечном состояниях выполнения P .аназывается предусловием,-- постусловием дляГоворят, что является частично правильной относительно ее спецификации,заданной в виде утвержденийи(или, что то же самое, обладаетсвойством частичной правильности {}P{}), если для любых начальныхзначений переменных, относительно которых справедливо , выполнениедействия (если оно определено) дает такие конечные значения переменных,для которых истинно утверждение. Примеры свойств:,,для любыхи.Заметим, что частичная правильность ничего не говорит о завершаемостиТак, например, в последнем свойстве оператор не применим, еслисумма.превышает MaxInt.Свойство правильности программы относительно внешней ее спецификации,заданной в виде утвержденийи, означает справедливость свойствачастичной правильности {}, а такжесвойства завершаемости программы -- нормального завершения выполненияпрограммы на любом начальном состоянии, удовлетворяющемутверждению.Идея метода промежуточных утверждений для доказательства частичнойправильности Паскаль-программ состоит в построении исчисления свойствчастичной правильности программ и их частей, аксиомами в которомвыступают свойства элементарных операторов (операторов присваивания ипустых операторов), а правила вывода связаны с другими конструкциями языкаи позволяют выводить свойства этих конструкций из свойств составляющих егокомпонент или операторов присваивания (как это имеет место для операторовввода-вывода).При этом ход построения доказательства заданного свойства частичнойправильности всей Zonnon-программы (или ее части) может состоять впоследовательном применении правил вывода свойств, сводящих исходноесвойство к некоторым свойствам образующих ее частей -- в конечном счете кгруппе свойств частичной правильности составляющих ее операторовприсваивания, либо в его выводе из свойств операторов присваивания.

Цель -построить вывод заданного свойства частичной правильности. В этомдоказательстве (выводе) могут использоваться также все традиционныеаксиомы и правила вывода соответствующего логического исчисления и тойобласти (например, арифметики), к которой относится задача, решаемаяпрограммой.Семантика пустого оператораоператора: {}{описывается очевидной аксиомой пустого} для любого утвержденияВ соответствии с семантикой оператора присваиванияимеемследующую аксиому оператора присваивания: {любая пара утверждений таких, чтоиз}, гдеи---- утверждение, получающеесяподстановкой выражения вместо вхождения переменнойНапример,справедливы свойства:.Следующие два правила завершают построение исчисления свойств Zonnonпрограмм, использующих лишь уже рассмотренные конструкции языка; вдальнейшем они будут дополнены правилами и для других конструкций.Правило вывода следствий формулируется следующим образом.

Пусть дляфрагмента программы имеет место{}, и пусть утверждениеТогда имеет место {оператора присваиваниясильнее, а утверждениеслабее}. Например, из рассмотренных выше свойствможно вывести свойства:.,.Правило вывода свойств последовательности операторов имеет следующийвид. Пусть и-- последовательности операторов, обладающие соответственносвойствами {}и{последовательности}. Тогда дляимеет место свойство {}.В качестве примера применения метода промежуточных утверждений покажем,чтолюбых целых чисел A и BдляПо аксиоме оператора присваивания имеем следующие свойства операторов,составляющих анализируемую последовательность:.Применяя правило вывода следствий, из последнего свойства получаем.Отсюда и из первых двух свойств по правилу вывода свойствпоследовательности операторов получаем: сначала -,а затем -.Аналогичными правилами можно доказывать правильность программ.

Дляэтого в ходе доказательства следует проверять, что представленные программойпоследовательности операций на соответствующих состояниях памяти могутбыть выполнены. Такая проверка для всех рассмотренных языковыхконструкций сводится к анализу значений выражений на состояниях памяти,заданных с помощью утверждений, и во многих конкретных случаях легкореализуется.В дальнейшем в тексты программ мы будем включать утверждения, размещаяих в скобках комментариев. Такие формализованные комментарииназываются аннотациями; они определяют те свойства состояний, которыесправедливы в соответствующие моменты выполнения программы.Аннотированная программа может выступать в качестве доказательства своейправильности. Например, программувозведения в десятую степень можнодополнить следующими аннотациями:module X10D;var A,B : integer;begin (*read(A);*)(* {}*)B := A A; (* {}*)B := B B; (*{}*)B := B A; (* {}*)B := B B; (*{write(B) (* {end X10D.}*)}*)Нетрудно убедиться, что программа удовлетворяет спецификации "Быстроевозведение в десятую степень", просто показав для каждой тройки (аннотация1,оператор, аннотация2) справедливость свойства {утверждение1} оператор{утверждение2} и соответствующего свойства завершаемости.

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