Материал: 406

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

4.4.Типовой вариант по теме «Оптимизация кода»

1.Верно ли утверждение, что между эффективностью и опти-

мизацией программы существует связь?

2.Что такое оптимизация программ:

a)улучшение работы существующей программы

b)создание удобного интерфейса пользователя

c)разработка модульной конструкции программы

d)применение методов объектно-ориентированного программирования

3.Критерии оптимизации:

a)время выполнения или размер требуемой памяти

b)размер программы и ее эффективность

c)независимость модулей

d)качество программы, ее надежность

4.Возможна ли оптимизация программ без участия програм-

миста?

5.Оптимизация программы это:

a)модификация

b)отладка

c)повышение сложности программы

d)уменьшение сложности программы

4.5.Типовой вариант по теме

«Дебаггинг»

8.Отладка программы – это

a)работы, связанные с обслуживанием программы в процессе

ееэксплуатации

b)контроль логически сложных участков программы

c)испытание, проверка правильности работы программы в целом либо ее составных частей

d)процесс поиска и устранения ошибок в программе, производимый по результатам ее прогона на ПК

e)определение функциональных возможностей системы

9.Какой этап выполняется раньше:

a)отладка

b)тестирование

10.Процедура поиска ошибки, когда известно, что она есть это:

a)отладка

b)тестирование

c)компоновка

d)транзакция

e)трансляция

11.Верно ли утверждение, что между отладкой и тестированием

существует различие?

12.Инструментальные средства отладки (НЕ правильный от-

вет):

a)компиляторы

b)отладчики

c)трассировка

13.Как называется процесс преобразования кода программы в

машинный код?

a)трансляция

b)отладка

c)тестирование

d)компиляция

e)компоновка

5. КОМПЛЕКТ ЗАДАНИЙ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ

Контрольная работа № 1 «Рефакторинг и технологии управления программным кодом»

Задание 1. Подготовьте письменные ответы на следующие вопросы:

1.2 Основные причины и предпосылки рефакторинга

2.2Основные принципы и методы рефакторинга

2.3Признаки “плохого” кода

2.4Возможности рефакторинга кода, которые распознаются в Visual Studio (заполните таблицу)

Прием рефакторинга

Описание

Укажите источники информации, используемые при подготовке ответов на задание.

Задача 2. Существует программа на языке C++

#include <iostream> using namespace std;

//Structure for a bank certificate of deposit: struct CDAccount

{

double balance; double interest_rate;

int term;//months until maturity

};

void get_data(CDAccount& the_account);

//Postcondition: the_account.balance and the_account.interest_rate //have been given values that the user entered at the keyboard.

int main( )

{

CDAccount account; get_data(account);

double rate_fraction, interest; rate_fraction = account.interest_rate/100.0;

interest = account.balance*rate_fraction*(account.term/12.0); account.balance = account.balance + interest;

cout.setf(ios::fixed);

cout.setf(ios::showpoint);

cout.precision(2);

cout << "When your CD matures in "

<<account.term << " months,\n"

<<"it will have a balance of $"

<<account.balance << endl; system("Pause");

return 0;

}

//Uses iostream:

void get_data(CDAccount& the_account)

{

cout << "Enter account balance: $"; cin >> the_account.balance;

cout << "Enter account interest rate: "; cin >> the_account.interest_rate;

cout << "Enter the number of months until maturity\n" << "(must be 12 or fewer months): ";

cin >> the_account.term;

}

Перепишите данную программу так, чтобы:

переопределить CDAccount, чтобы это был класс а не

structure;

member variable - были бы private;

включить member functions для: to return the initial balance, to return the balance at maturity, to return the rent interest rate, to return term.

включить конструктор который опрелит все member variables to any specified values, как же как default constructor.

Задача 3. Решите задача на С++/С#. Проведите оптимизацию полученного кода.

В городе M строятся N новых микрорайонов, между которыми запланировано M магистральных дорог. Каждая дорога имеет свою стоимость строительства Pij. В прошлом году из этих M дорог муниципалитет успел построить K штук. К сожалению, в этом году финансирование строительства решено было сократить, и теперь из запланированных, но не построенных M-K дорог нужно оставить такие, чтобы из любого микрорайона в любой другой существовал хотя бы один путь, но при этом стоимость их строительства была минимальной (гарантируется, что такой набор существует).

Какова минимальная стоимость P завершения строительства дорожной сети по новому плану, и сколько новых дорог по нему предстоит построить?

СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1.Лаврищева, Е. М. Программная инженерия. Парадигмы, технологии

иcase-средства : учебник для вузов / Е. М. Лаврищева. — 2-е изд., испр. — М. : Издательство Юрайт, 2018. — 280 с. — (Серия : Университеты России). — Ре-

жим

доступа:

www.biblio-online.ru/book/DCE62C40-BE54-4478-9BA5-

7BE6200A8967. —

Загл. с экрана.

2.Малявко, А. А. Формальные языки и компиляторы : учебное пособие для вузов / А. А. Малявко. — М. : Издательство Юрайт, 2018. — 429 с. — (Серия : Университеты России). — ISBN 978-5-534-04288-7. — Режим доступа : www.biblio-online.ru/book/B4D96654-71D5-4748-986D-66E8309C25E3.

1.Казарин, О. В. Программно-аппаратные средства защиты информации. Защита программного обеспечения : учебник и практикум для вузов / О. В. Казарин, А. С. Забабурин. — М. : Издательство Юрайт, 2018. — 312 с. — (Серия

:Специалист). — ISBN 978-5-9916-9043-0. — Режим доступа : www.biblio- online.ru/book/E458AFCD-826E-4A1F-9BAB-68BB83EA616F.

2.Лаврищева, Е. М. Программная инженерия и технологии программирования сложных систем : учебник для вузов / Е. М. Лаврищева. — М. : Издательство Юрайт, 2018. — 432 с. — (Серия : Бакалавр. Академический курс). —

ISBN 978-5-534-04591-8. — Режим доступа : www.biblio- online.ru/book/DCD7188A-4AAB-4B59-84CD-40A05E3676A7. — Загл. с экрана.

3.Черткова, Е. А. Компьютерные технологии обучения : учебник для вузов / Е. А. Черткова. — 2-е изд., испр. и доп. — М. : Издательство Юрайт,

2018. — 297 с. — (Серия : Университеты России). — ISBN 978-5-534-01255-2. — Режим доступа : www.biblio-online.ru/book/69B7DCC2-98A7-4367-9F26- 07D7C339F64E.

ПЕРЕЧЕНЬ РЕСУРСОВ СЕТИ «ИНТЕРНЕТ», РЕКОМЕНДУЕМЫХ ДЛЯ ОСВОЕНИЯ ДИСЦИПЛИНЫ

1.http://elibrary.ru - Научная электронная библиотека eLIBRARY.RU

2.http://e.lanbook.сот/ - ЭБС издательства ЛАНЬ

3.http://msdn.microsoft.com/ru-ru/library/719exd8s.aspx - Microsoft Developer Networks / Рефакторинг (С#)

4.http://www.ibm.com/developerworks/ru/library/os-ecref/ - IBM / Рефакто-

ринг для всех