Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » И.Г. Головин - Варианты письменного экзамена (Методическое пособие)

И.Г. Головин - Варианты письменного экзамена (Методическое пособие)

PDF-файл И.Г. Головин - Варианты письменного экзамена (Методическое пособие) Языки программирования (54017): Ответы (шпаргалки) - 7 семестрИ.Г. Головин - Варианты письменного экзамена (Методическое пособие): Языки программирования - PDF (54017) - СтудИзба2019-09-19СтудИзба

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

PDF-файл из архива "И.Г. Головин - Варианты письменного экзамена (Методическое пособие)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

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

Текст из PDF

Московский государственныйуниверситет им. М.В. ЛомоносоваФакультет вычислительной математики и кибернетикиИ.Г. ГоловинКурс «Языки программирования»Варианты письменного экзаменаМетодическое пособиеМосква2009УДК 519.68ББКПечатается по решению Редакционно-издательского совета факультетавычислительной математики и кибернетикиМГУ им. М. В. ЛомоносоваРецензенты:проф., д.ф.-м.н. Машечкин И. В.доцент, к.ф.-м.н. Терехин А.Н.И.Г.ГоловинКурс «Языки программирования». Варианты письменного экзамена:Методическое пособие для студентов III курса. - М.: Издательский отделфакультета ВМиК МГУ им. М.В.Ломоносова (лицензия ИД № 05899 от 24.09.2001),2009 – 32 с.ISBN 978-5-89407-407-8Методическое пособие содержит варианты письменных экзаменов по курсулекций «Языки программирования», читаемого для студентов 3 курса 3 потокафакультета ВМК МГУ.

Цель письменного экзамена по курсу – на основеунифицированного набора задач по различным разделам курса и общих критериевобъективно оценить знания студентов, уровень их подготовки. Вариантывключают задачи различного уровня сложности: наряду с простейшими задачамии вопросами по конкретной теме, имеются задачи, предполагающие знаниематериала нескольких тем и умение владеть этим материалом. В пособииприведены ответы, а также продемонстрированы авторские решения некоторыхзадач, дана программа курса и рекомендуемая литература.Пособие рекомендуется студентам при подготовке к письменному экзамену.УДК 519.68ББКISBN 978-5-89407-407-8© Издательский отдел факультета вычислительнойматематики и кибернетики МГУ им.

М. В. Ломоносова,2009© И.Г. Головин, 20092I. Программа курса «Языки программирования»1. ВведениеОпределение языков программирования (ЯП), ЯП и основныепарадигмы программирования. Исторический очерк развития ЯП. Основныепозиции при рассмотрении ЯП. Схема рассмотрения ЯП: базис, средстваразвития и средства защиты.Основные понятия языков программирования: данные, операции исвязывание.Понятие о виртуальной машине языка.2. Базисные типы данных в языках программирования: простые исоставные типы данных, операции над нимиПростые типы данных.Арифметические типы данных: целые, плавающие, фиксированные.Проблемы представления чисел и способы их решения в ЯП.Символьные и логические типы данных.Порядковые типы: диапазоны и перечисления. Особенностиреализации перечислений в современных ЯП.Ссылки и указатели. Управление памятью. Автоматическая сборкамусора.

Объектно-референциальная модель в современных ЯП.Составные типы данных.Массивы и их особенности в современных ЯП.Записи. Недостатки системы типов в традиционных ЯП. Объединениякак средство преодоления этих недостатков. Проблемы, связанные собъединениями.Ассоциативные массивы и записи.3. Операторный базис языков программирования. Управлениепоследовательностью вычисленийОператоры присваивания.Понятиеоструктурномпрограммировании.Разновидностиуправляющих конструкций в современных языках программирования.Условные операторы и многовариантные развилки. Циклы.

Операторперехода, связанные с им проблемы и способы их решения в современныхЯП.Особенности реализации циклов-итераторов в современных ЯП.34. Процедурные абстракцииПодпрограммы и сопрограммы. Операторы возврата и возобновления.Процедуры и функции в современных ЯП.Передача параметров: семантика и способы реализации.Статический полиморфизм и перегрузка имен подпрограмм.Подпрограммныетипыданных.Проблемы,связанныесподпрограммными типами данных и способы их решения в современных ЯП.5.

Определение новых типов данных. Логические модули. Классы.Концепцияуникальноститипавтрадиционныхязыкахпрограммирования и понятие строгой типизации.Конструкции объявления новых типов данных. Тип данных какмножество значений и множество операций. Походы к определению новыхтипов данных: модули и классы.Понятие логического модуля.

Использование модулей для определенияновых типов данных. Особенности понятия модуля в современных ЯП.Импорт и экспорт имен. Видимость имен: непосредственная ипотенциальная. Управление видимостью. Области видимости и пространстваимен.Модульность и технология программирования: проектирование«сверху-вниз» и «снизу-вверх».Понятие класса.

Класс как тип данных. Члены класса: функции,данные. Статические и нестатические члены. Члены - вложенные классы.Статические и нестатические классы. Классы и области видимости.Понятие специальных функций-членов. Проблема инициализацииобъектов и способы ее решения. Конструкторы, деструкторы, операторыusing и try-finally.Преобразование типов и классы. Явные и неявные преобразования.Управление преобразованиями в современных ЯП: проблемы и способы ихрешения.Классы и перегрузка имен. Перегрузка встроенных знаков операций.Итераторы и индексаторы.Классы и стандартные библиотеки. Встроенные классы стандартнойбиблиотеки.46.

Инкапсуляция и абстрактные типы данных.Понятие инкапсуляции. Единицы и атомы защиты. Понятиеабстрактного типа данных (АТД) и его достоинства.Инкапсуляция и логические модули. Управление видимостью.Реализация АТД в модульных языках программирования (Ада, Оберон,Модула).Инкапсуляция и классы. Управление видимостью и управлениедоступом. Пространства имен и инкапсуляция. Реализация АТД с помощьюпонятия класса.Принцип разделения определения, реализации и использования(РОРИ). Эволюция принципа РОРИ в современных ЯП.7. Модульность и раздельная трансляцияВиды трансляции. Физические модули.

Программная и трансляционнаябиблиотеки. Раздельная трансляция: зависимая и независимая. Недостаткинезависимой трансляции и способы их преодоления.Особенности зависимой трансляции в современных ЯП. Одностороняяи двустороняя связь модулей и раздельная трансляция.Раздельная трансляция и пространства имен.8. Исключительные ситуации и обработка ошибокПонятие исключительной ситуации (ИС) и его эволюция.

ИС и ошибкив программах. Четыре аспекта рассмотрения ИС: определение,возникновение, распространение и обработка. Воплощение этих аспектов всовременных ЯП.Два подхода к обработке ИС: семантика возобновления и семантиказавершения. Их сравнение. Семантика завершения и современные ЯП.Свертка стека. Оператор try-finally.Дополнительные особенности ИС: спецификация ИС, проверяемые инепроверяемые ИС.9. Наследование типов и классовКонцепция уникальности типов в традиционных языках и строгаятипизация в объектно-ориентированных языках. Понятие единичногонаследования.

Единичное наследование в современных ЯП. Наследование имодель представления объекта в памяти. Преобразование из производноготипа в базовый. Иерархии типов, статические и динамические типы вобъектно-ориентированных ЯП.5Наследование и области видимости имен. Замещение, перегрузка искрытие имен при наследовании. Наследование и инкапсуляция. Управлениевидимостью и доступом при наследовании.Запрещение наследования для классов и методов.Наследование и специальные функции. Понятие о множественномнаследовании.10. Динамический полиморфизмСтатическое и динамическое связывание методов. Динамический типданных и динамическое связывание. Замещение функций и динамическоесвязывание.

Особенности динамического связывания в современных ЯП.Достоинстваинедостаткидинамическогосвязывания.Снятиединамическогосвязывания.Механизмреализациидинамическогосвязывания на примере языка Си++. Таблица виртуальных методов.Понятие о мультиметодах.11. Абстрактные классы и интерфейсыПонятие абстрактного класса (АК). Необходимость понятия АК припроектировании иерархий классов. Воплощение концепции АК всовременных ЯП.Абстрактные классы и интерфейсы. Интерфейс как языковаяконструкция. Связь интерфейсов и других языковых конструкций(итераторов, сохраняемых объектов и т.д.). Интерфейсы и иерархии классов.Множественное наследование интерфейсов. Реализация интерфейсов и ееособенности современных ЯП. Явная и неявная реализация интерфейсов.12. Множественное наследованиеМножественное наследование в языке Си++.

Ромбовидноенаследование и его примеры. Проблемы множественного наследования:конфликт имен, реализация динамического связывания. Особенностиреализации множественного наследования при наследовании интерфейсов.13. Динамическая идентификация типаПонятие о динамической идентификации типа (ДИТ). Достоинства инедостатки использования ДИТ. Особенности ДИТ в современных языкахпрограммирования.614. Понятие о родовых объектах. Обобщенное программированиеПонятие о статической параметризации и родовых объектах.Достоинства статической параметризации. Статическая параметризация иООП.Родовые модули и подпрограммы в языке Ада.Механизм шаблонов в языке Си++.

Шаблоны-классы и шаблоныфункции. Параметры шаблонов. Вывод параметров шаблонов. Генерациякода по шаблонам. Частичная специализация шаблонов. Обобщенноепрограммирование на языке Си++: функторы, свойства, стратегии, шаблонывыражений.Сравнение механизма шаблонов Си++ и родовых объектов Ады.Особенности родовых объектов в языках С# и Java.7II. Варианты экзаменационных работ2.1. Вариант 20031. Что будет напечатано в результате работы следующей программы наязыке Си++?#include <iostream.h>class A {public:virtual void f() {cout << "A::f\n"; g();}virtual void g() { cout << "A::g\n"; }void h() { cout << "A::h\n"; }};class B : public A {public:void f() { cout << "B::f\n"; }void g() { cout << "B::g\n"; h(); }void h() { cout << "B::h\n"; }};class C : public B {public:void f() { cout << "C::f\n"; }void g() { cout << "C::g\n"; }void h() { cout << "C::h\n"; f(); }};void P(A*pa,B*pb) {pa->f(); pa->g(); pa->h();pb->f(); pb->g(); pb->h();delete pa; delete pb;}int main() {P(new B, new B);cout<<"------------------------------\n";P(new C, new C); return 0;}2.

В каких из перечисленных ниже языков есть оператор перехода «gotoметка»?Ада 83, Ада 95, Оберон, Оберон-2, Модула-2, Java, Delphi, C#3. Сравните между собой конструкции "uses" в языке Delphi и "use" вязыке Ада (для чего применяются, сходства, отличия).4. В каких из перечисленных ниже языков длина массива являетсятолько статическим атрибутом? Приведите пример массива с динамическиматрибутом - длиной для какого-либо языка.Ада, Си++, Оберон, Модула-2, Java, C#85. Что означают термины "семантика возобновления" и "семантиказавершения" при обработке исключений? Для каждого способа (семантики)приведите пример языка, где этот способ (семантика) используется.6.

Назовите хотя бы один язык, в котором нельзя передаватьподпрограммы как параметры других подпрограмм.7. В каких классах памяти могут размещаться данные в языкахпрограммирования? В каких классах памяти размещаются объекты классовязыка С#?8. Ниже приведена спецификация родового пакета Stacks на языке Ада.Напишите объявление шаблонного класса на языке Си++, предназначенногодля той же роли, что и этот пакет.GENERICTYPE T IS PRIVATE; SIZE : INTEGER;PACKAGE Stacks ISTYPE Stack IS LIMITED PRIVATE;PROCEDURE Push(S: IN OUT Stack; X : IN T);PROCEDURE Pop(S: IN OUT Stack; X : OUT T);FUNCTION IsEmpty(S : IN Stack) RETURN BOOLEAN;FUNCTION IsFull(S : IN Stack) RETURN BOOLEAN;PRIVATETYPE Stack is RECORDBody : ARRAY (1..SIZE) OF T;Top : INTEGER := 1;END RECORD;END Stacks;92.2. Вариант 20041.

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