Меню

На каком этапе создания программы могут появиться синтаксические ошибки

«ТЕХНОЛОГИЯ РАЗРАБОТКИ
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

1  Какие программы можно отнести к системному ПО

1)      
+драйверы 

2)      
текстовые редакторы 

3)      
электронные таблицы 

4)      
графические редакторы

5)      
все ответы верны

2  Специфические особенности ПО как продукта

1)      
+продажа по ценам
ниже себестоимости (лицензирование)   

2)      
низкие материальные
затраты при создании программ 

3)      
возможность создание
программ небольшие коллективом или даже одним человеком 

4)      
разнообразие решаемых
задач с помощью программных средств

5) все ответы верны

3  Какие программы нельзя отнести к системному ПО

1)      
+игровые программы 

2)      
компиляторы языков
программирования 

3)      
операционные системы 

4)      
системы управления
базами данных

5)      
все ответы верны

4  Специфические особенности ПО как продукта

1)      
+низкие затраты
при дублировании 

2)      
универсальность 

3)      
простота эксплуатации 

4)      
наличие поддержки
(сопровождения) со стороны разработчика

5)      
все ответы верны

5  Какие программы можно отнести к системному ПО

1)      
+утилиты 

2)      
экономические
программы 

3)      
статистические
программы 

4)      
мультимедийные программы

5)      
все ответы верны

6  Этап,
занимающий наибольшее время, при разработке программы

1)       +тестирование 

2)      
сопровождение 

3)      
проектирование 

4)      
программирование 

5)      
формулировка
требований

7  Первый этап в жизненном цикле программы

1)      
+формулирование
требований 

2)      
анализ требований 

3)      
проектирование 

4)      
автономное
тестирование 

5)      
комплексное
тестирование

8  Один из необязательных этапов жизненного цикла программы

1)      
+оптимизация 

2)      
проектирование 

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

4)      
программирование 

5)      
анализ требований

9  Самый большой
этап в жизненном цикле программы

1)      
+эксплуатация 

2)      
изучение предметной
области 

3)      
программирование 

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

5)      
корректировка ошибок

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

1)      
отладка 

2)      
оптимизация 

3)      
+программирование 

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

5)      
все ответы верны

11  Что выполняется раньше

1)      
+компиляция 

2)      
отладка 

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

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

5) нет правильного ответа

12  Что выполняется раньше

1)       +проектирование 

2)      
программирование 

3)      
отладка 

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

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

13  В стадии разработки программы не входит

1)      
+автоматизация
программирования 

2)      
постановка задачи 

3)      
составление
спецификаций 

4)      
эскизный проект 

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

14  Самый важный критерий качества программы

1)      
+работоспособность 

2)      
надежность 

3)      
эффективность 

4)      
быстродействие 

5)      
простота эксплуатации

15  Способы оценки качества

1)      
+сравнение с
аналогами 

2)      
наличие документации 

3)      
оптимизация программы 

4)      
структурирование
алгоритма

5)      
хранение и
запоминание информации

16  Наиболее важный критерий качества

1)      
+надежность 

2)      
быстродействие 

3)      
удобство в
эксплуатации 

4)      
удобный интерфейс 

5)      
эффективность

17  Способы оценки надежности

1)      
+тестирование 

2)      
сравнение с аналогами 

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

4)      
оптимизация

5)      
удобный интерфейс

18  В каких единицах можно измерить надежность

1)      
+отказов/час   

2)      
км/час 

3)      
Кбайт/сек 

4)      
операций/сек

5)      
мб/сек

19  В каких единицах можно измерить быстродействие

1)      
отказов/час   

2)      
км/час 

3)      
Кбайт/сек 

4)      
+операций/сек

5)      
мб/сек

20  Что относится к этапу программирования

1)      
+написание
кода программы 

2)      
 разработка
интерфейса 

3)      
 работоспособность 

4)      
анализ требований

5)      
создание базы данных

21  Последовательность
этапов программирования

1)      
+компилирование,
компоновка, отладка 

2)      
B) компоновка, отладка, компилирование 

3)      
отладка,
компилирование, компоновка 

4)      
компилирование,
отладка, компоновка

5)      
все ответы верны

22   Инструментальные средства программирования

1)      
+компиляторы,
интерпретаторы 

2)      
СУБД (системы
управления базами данных) 

3)      
BIOS (базовая система
ввода-вывода) 

4)      
ОС (операционные
системы)

5)      
нет правильного
ответа

23  На языке программирования составляется

1)      
+исходный код 

2)      
исполняемый код 

3)      
объектный код 

4)       алгоритм

5)      
предметный код

24  Правила, которым должна следовать программа это

1)      
+алгоритм 

2)      
структура 

3)      
спецификация 

4)      
состав информации 

5)      
последовательность

25  Доступ, при котором записи файла читаются в физической
последовательности, называется

1)      
+последовательным 

2)      
прямым 

3)      
простым 

4)      
основным

5)      
вторичным

26  Доступ, при котором записи файла обрабатываются в произвольной
последовательности, называется

1)      
+прямым 

2)      
последовательным 

3)      
простым 

4)      
основным

5)      
вторичным

27  Методы программирования (укажите НЕ верный ответ)

1)      
+логическое 

2)      
структурное 

3)      
модульное

4)      
компиляторное

5)      
линейное

28  Что выполняется раньше

1)      
+разработка алгоритма 

2)      
выбор языка программирования 

3)      
написание исходного кода 

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

5)      
Все ответы верны

29  Найдите НЕ правильное условие для создания имен

1)      
+имена могут
содержать пробелы 

2)      
длинное имя можно
сократить 

3)      
из имени лучше
выбрасывать гласные 

4)      
можно использовать
большие буквы

5)      
нет правильного
ответа

30  Какие символы не допускаются в именах переменных

1)      
+пробелы 

2)      
цифры 

3)      
подчеркивание

4)      
знаки препинания

5)      
заглавные буквы

31  Как называется способ составления имен переменных, когда в начале
имени сообщается тип переменной

1)      
прямым указанием 

2)      
+венгерской
нотацией 

3)      
структурным
программированием 

4)      
поляризацией

5)      
Нет правильного
ответа

32  На каком этапе производится выбор языка программирования

1)      
+проектирование 

2)      
программирование 

3)      
отладка 

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

5)      
разработка

33  Для решения экономических задач характерно применение

1)      
+СУБД (систем
управления базами данных) 

2)      
языков высокого
уровня 

3)      
языков низкого уровня 

4)      
применение сложных
математических расчетов

5)      
Нет правильного
ответа

34  Для решения инженерных задач характерно применение

1)      
+САПР (систем
автоматизированного проектирования)
 

2)      
СУБД (систем
управления базами данных) 

3)      
ОС (операционных систем)

4)      
(ТРПП) Технология и
разработка программного продукта

5)      
Нет правильного
ответа

35  Причины
синтаксических ошибок

1)      
+плохое знание
языка программирования 

2)      
ошибки в исходных
данных 

3)      
ошибки, допущенные на
более ранних этапах 

4)      
неправильное
применение процедуры тестирования

5)      
неправильная
установка ПО

36  Когда можно
обнаружить синтаксические ошибки

1)      
+при
компиляции 

2)      
при отладке 

3)      
при тестировании 

4)      
на этапе
проектирования 

5)      
при эксплуатации

37  Ошибки
компоновки заключаются в том, что

1)      
+указано
внешнее имя, но не объявлено 

2)      
неправильно
использовано зарезервированное слово 

3)      
составлено неверное
выражение 

4)      
указан неверный тип
переменной

5)      
Все ответы верны

38  Защитное
программирование это

1)      
+встраивание в
программу отладочных средств 

2)      
создание задач защищенных
от копирования 

3)      
разделение доступа в
программе 

4)      
использование паролей 

5)      
оформление авторских
прав на программу

39 Вид ошибки с неправильным написанием служебных слов (операторов)

1)      
+синтаксическая 

2)      
семантическая 

3)      
логическая 

4)      
символьная

5)      
алгоритмическая

40  Вид ошибки с неправильным использованием служебных слов (операторов)

1)      
+семантическая 

2)      
синтаксическая 

3)      
логическая 

4)      
символьная 

5)      
алгоритмическая

41  Ошибки при написании программы бывают

1)      
+синтаксические 

2)      
орфографические 

3)      
лексические 

4)      
фонетические 

5)      
морфологические

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

1)      
+отладка 

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

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

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

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

43  Программа для просмотра значений переменных при выполнении программы

1)      
+отладчик 

2)      
компилятор  

3)      
интерпретатор 

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

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

44  Отладка – это

1)      
+процедура
поиска ошибок, когда известно, что ошибка есть 

2)      
определение списка
параметров 

3)      
правило вызова
процедур (функций) 

4)      
составление
блок-схемы алгоритма

5)      
нет правильного
ответа

45  Когда
программист может проследить последовательность выполнения команд программы

1)      
+при
трассировке 

2)      
при тестировании 

3)      
при компиляции 

4)      
при выполнении
программы 

5)      
при компоновке

46  На каком этапе создания программы могут появиться синтаксические
ошибки

1)      
+программирование 

2)      
проектирование 

3)      
анализ требований 

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

5)      
разработка ПО

47  Когда приступают к тестированию программы

1)      
+когда программа
уже закончена 

2)      
после постановки
задачи 

3)      
на этапе
программирования 

4)      
на этапе
проектирования 

5)      
после составления
спецификаций,

48 Тестирование бывает

1)      
+автономное 

2)      
инструментальное 

3)      
визуальное 

4)      
алгоритмическое

5)      
структурное

49  Тестирование бывает

1)      
+комплексное 

2)      
инструментальное 

3)      
визуальное 

4)      
алгоритмическое

5)      
структурное

50  При комплексном тестировании проверяются

1)      
+согласованность
работы отдельных частей программы
 

2)      
правильность работы
отдельных частей программы 

3)      
быстродействие
программы 

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

5)      
все ответы верны

51  Чему нужно уделять больше времени, чтобы получить хорошую программу

1)      
+тестированию 

2)      
программированию 

3)      
отладке 

4)      
проектированию

5)      
разработке

52  Процесс исполнения программы с целью обнаружения ошибок

1)      
+тестирование 

2)      
кодирование 

3)      
сопровождение 

4)      
проектирование

5)      
разработка

53  Автономное тестирование это

1)      
+тестирование отдельных
частей программы 

2)      
инструментальное
средство отладки 

3)      
составление блок-схем 

4)      
пошаговая проверка
выполнения программы

5)      
все ответы верны

54  Трассировка это

1)      
+проверка
пошагового выполнения программы 

2)      
тестирование
исходного кода 

3)      
отладка модуля 

4)      
составление
блок-схемы алгоритма

5)      
нет правильного
ответа

55  Локализация ошибки

1)      
+определение
места возникновения ошибки 

2)      
определение причин
ошибки 

3)      
обнаружение причин
ошибки 

4)      
исправление ошибки

5)      
анализ данных

56  Назначение тестирования

1)      
+повышение надежности
программы 

2)      
обнаружение ошибок 

3)      
повышение
эффективности программы 

4)      
улучшение
эксплуатационных характеристик 

5)      
приведение программы
к структурированному виду

57  Назначение отладки

1)      
+поиск причин
существующих ошибок 

2)      
поиск возможных
ошибок 

3)      
составление
спецификаций 

4)      
разработка алгоритма

5)      
разработка проекта

58  Создание исполняемого кода программы без написания исходного кода
называется

1)      
составлением
спецификаций 

2)      
отладкой 

3)      
проектированием

4)      
+автоматизацией
программирования 

5)      
анализ данных

58  Один из методов автоматизации программирования

1)      
структурное
программирование 

2)      
модульное
программирование   

3)      
+визуальное
программирование 

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

5)      
машинное
программирование

59  Автоматизация программирования позволяет

1)      
повысить
надежность программы   

2)      
+сократить время
разработки программы 

3)      
повысить
быстродействие программы

4)      
ускорить процесс
программы

5)      
все ответы верны

60  Что легко поддается автоматизации

+A) интерфейс 

B) работа с файлами 

C) сложные логические задачи 

D) алгоритмизация

E) разработка ПО

61  Нахождение
наилучшего варианта из множества возможных

+A) оптимизация 

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

C) автоматизация 

D) отладка 

E) сопровождение

62  Что такое
оптимизация программ

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

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

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

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

E) Все ответы верны

63  Критерии
оптимизации

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

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

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

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

E) Нет правильного ответа

64  В чем
заключается оптимизация условных выражений

A) в изменении порядка следования элементов
выражения 

B) в использовании простых логических выражений 

C) в использовании
сложных логических выражений 

D) в использовании
операций AND, OR и NOT

E) в использовании
всех операций выражения

65  Оптимизация циклов заключается в

+A) уменьшении количества
повторений тела цикла 

B) просмотре задачи с
другой стороны 

C) упрощение задачи за
счет включения логических операций

D) увеличении
количества повторений тела цикла

E) упрощение задачи за
счет отключения логических операций

66  Оптимизация программы это

+A) модификация 

B) отладка 

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

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

E) быстродействие
программы

67  Критерии
оптимизации программы

+A) быстродействие или размер программы 

B) быстродействие и размер программы 

C) надежность или эффективность 

D) надежность и эффективность

E) Все ответы верны

68  Результат
оптимизации программы

+A) эффективность 

B) надежность 

C) машино-независимость 

D) мобильность

E) Все ответы верны

69  Сущность
оптимизации циклов

+A) сокращение количества повторений выполнения тела цикла 

B) сокращение тела цикла 

C) представление циклов в виде блок-схем 

D) трассировка циклов 

E) поиск ошибок в циклах

70  Рекомендуемые размеры модулей

+A) небольшие 

B) большие 

C) равные  

D) фиксированной длины

71  В чем заключается независимость модуля

+A) в написании,
отладке и тестировании независимо от остальных модулей 

B) в разработке и
написании независимо от других модулей 

C) в независимости от
работы основной программы

D) в зависимости от
работы вторичной программы

Е) в разработка и написании в зависимости от вторичных программ

72  При модульном программировании желательно, чтобы модуль имел

A) большой размер 

+B) небольшой размер 

C) фиксированный
размер 

D) любой размер

E) Все ответы верны

73  Достоинство модульного программирования

+A) создание
программы по частям в произвольном порядке 

B) не требует компоновки 

C) всегда дает эффективные программы 

D) снижает количество ошибок

E) Все ответы верны

74  Недостаток модульного программирования

A) увеличивает трудоемкость программирования 

+B) усложняет
процедуру комплексного тестирования 

C) снижает быстродействие программы 

D) не позволяет выполнять оптимизацию
программы

E) Все ответы верны

75  Достоинство модульного программирования

+A) возможность
приступить к тестированию до завершения написания всей программы 

B) не требует комплексного тестирования 

C) уменьшает размер программы   

D) повышает надежность программы

E) Все ответы верны

76  Программирование без GO TO применяется  при

+A) структурном
программировании 

B) модульном
программировании 

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

D) все ответы верные

E) машинном
программировании

77  Достоинство структурного программирования

+A) можно приступить к
комплексному тестированию на раннем этапе разработки 

B) можно приступить к
автономному тестированию на раннем этапе разработки 

C) нет необходимости
выполнять тестирование 

D) можно пренебречь
отладкой

E) Все ответы верны

78  Недостаток структурного программирования

+A) увеличивает размер
программы 

B) снижает
эффективность 

C) уменьшает
количество ошибок 

D) не требует отладки

E) Все ответы верны

79  Что такое объект, в объектно-ориентированное программировании

+A) тип данных 

B) структура данных 

C) событие 

D) обработка событий 

E) использование
стандартных процедур

  1. Инкапсуляция это

A) определение новых типов
данных 

B) определение новых
структур данных 

+C) объединение переменных, процедур
и функций в одно целое   

D) разделение переменных,
процедур и функций 

E) применение стандартных
процедур и функций

81.  
Наследование
это

A) передача свойств
экземплярам
 

B) передача свойств предкам 

+C) передача свойств потомкам 

D) передача событий потомкам

E) Все ответы верны

82.  
Полиморфизм
это

+A) изменение поведения потомков,
имеющих общих предков 

B) передача свойств по
наследству 

C) изменение поведения
потомков на разные события 

D) изменение поведения
экземпляров, имеющих общих предков 

E) Все ответы верны

83.  
Три
«кита» объектно-ориентированного метода программирования

A) предки, родители, потомки 

+B) полиморфизм, инкапсуляция,
наследование 

C) свойства, события, методы 

D) визуальные, не визуальные
компоненты и запросы

E) Все ответы верны

84.  
Какое
утверждение верно

A) предки наследуют свойства
родителей 

B) родители наследуют
свойства потомков 

C) потомки не могут иметь
общих предков 

+D) потомки наследуют свойства
родителей

E) Все ответы верны

85.  
Могут
ли два визуальных компонента иметь общего предка

+A) да 

B) нет 

C) если их свойства
совпадают 

D) если их методы совпадают

E) Все ответы верны

86.
  Есть ли различие в поведении объекта и экземпляра того же типа

A) да 

B) если у них есть общий
предок 

+C) нет 

D) если у них нет общего
предков

E) Все ответы неверны

87.
  Изменение свойств, приводит к изменению поведения экземпляра

A) нет 

B) только для визуальных   

C) только НЕ для визуальных   

+D) да  

Е)
Все ответы неверны

88.   Процесс преобразования постановки задачи в план алгоритмического
или вычислительного решения это

+A) проектирование 

B) анализ требований 

C) программирование 

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

E) Все ответы неверны

89.  Составление спецификаций это

+A) формализация задачи 

B) эскизный проект 

C) поиск алгоритма 

D) отладка

E) Все ответы неверны

90.  Этап разработки программы, на котором дается характеристика области
применения программы

+A) техническое задание 

B) эскизный проект 

C) технический проект 

D) внедрение 

E) рабочий проект

91  Укажите правильную последовательность создания программы

+A) формулирование
задачи, анализ требований, проектирование, программирование 

B) анализ требований,
проектирование, программирование, тестирование, отладка 

C) анализ требований,
программирование, проектирование, тестирование 

D) анализ требований,
проектирование, программирование, модификация, трассировка 

E) формулирование
задачи, анализ требований, программирование, проектирование, отладка

92.  Метод проектирования

+A) нисходящее 

B) алгоритмическое 

C) логическое 

D) использование
языков программирования 

E) составление
блок-схем

93.   Нисходящее проектирование это

+A) последовательное
уточнение (детализация) 

B) составление
блок-схем 

C) разделение
программы на отдельные участи (блоки) 

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

E) Все ответы верны

94.   Признаки нисходящего программирования

+A) последовательная
детализация 

B) наличие оптимизации 

C) наличие
тестирования 

D) автоматизация
программирования

E) Все ответы верны

95.   Модульное программирование применимо при

A) проектировании
сверху вниз 

B) проектирование
снизу-вверх 

+C) и в том, и другом
случае 

D) ни в коем случае

E) Все ответы неверны

96  В каких единицах измеряются затраты на проектирование

+A) в человеко-днях 

B) в терабайтах

C) в гигабайтах

D) в килобайтах

Е)  в мегабайтах

97. Упорядоченная последовательность команд
(инструкций) компьютера для решения конкретной задачи.

A.    Свойство программы

B.    Программное обеспечение

C.    Постановка задачи

+D.  Программа

E.            Язык
программирования

98. С позиции специфики разработки и вида
программного обеспечения, на какие два класса делятся задачи?

A.    Позиционные и функциональные

+B.  Технологические и
функциональные

C.    Позиционные и непозиционные

D.    Технологические и параметрические

E.  
Нет верного ответа

99. Какими
последовательными действиями можно представить процесс создания программ?

A.    Программирование,
постановка задачи, построение алгоритма

B.    Построение
алгоритма, решение задачи

C.    Построение
алгоритма, программирование

+D.  Программирование,
построение алгоритма, постановка задачи

E.  
Постановка задачи, построение алгоритма решения, программирование

100. Постановка задачи — это …

A.    упорядоченная последовательность команд
компьютера для решения задач

B.    точная формулировка решения задачи на компьютере
с описанием входных и выходных данных

+C.  совокупность связанных
между собой функций, задач управления, с помощью которых достигается выполнение
поставленных целей

D.    система точно сформулированных правил

E.   
Все ответы верны

101. Алгоритм — это …

A.    разбиение процесса обработки информации на
более простые этапы

B.    задача, подлежащая реализации с
использованием средств информационных технологий

+C.  точная формулировка
решения задачи на компьютере с описанием входных и выходных данных

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

E. 
нет верного ответа

102. Разбиение процесса обработки информации на
более простые этапы (шаги выполнения), выполнение которых компьютером или
человеком не вызывает затруднений

A. Массивы

B. Безопасность

C. Программное обеспечение

+D. Алгоритм

E.
Все ответы неверны

103. Выполнимость — это

A. конечность действий
алгоритма решения задач, позволяющая получить желаемый результат при допустимых
исходных данных за конечное число шагов

+B. разбиение процесса
обработки информации на более простые этапы (шаги выполнения), выполнение
которых компьютером или человеком не вызывает затруднений

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

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

Е.
нет верного ответа

104. Осуществляет
разработку и отладку программ для решения функциональных задач

A. Системный
программист

B. Программист-аналитик

+C. Прикладной
программист

D. Администратор

E. 
Постановщик задач

105. Занимается
разработкой, эксплуатацией и сопровождением системного программного
обеспечения, поддерживающего работоспособность компьютера и создающего среду
для выполнения программ

+A. Прикладной
программист

B  Программист-аналитик

C. Системный
программист

D. Администратор БД

E.
нет верного ответа

106. Анализирует и
проектирует комплекс взаимосвязанных программ для реализации функций предметной
области

A. Прикладной
программист

B. Программист-аналитик

C. Системный
программист

D. Постановщик задач

+E. 
Администратор

107. Участвует в процессе
создания программ на начальной стадии работ

A. Администратор БД

+B. Прикладной
программист

C. Постановщик задач

D. Системный
программист

E.
все ответы верны

108. Является основным
потребителем программ

A. Прикладной
программист

B. Программист-аналитик

C. Системный
программист

D. Конечный
пользователь

+E.
Нет верного ответа

109. Свойство системы
сохранять во времени в установленных пределах значения всех характеристик,
определяющих способность системы выполнять требуемые функции в условиях
заданных режимов эксплуатации

A. Дискретность

B. Экономичность

+C. Готовность

D. Работоспособность

E.
Надежность

110. Возможность
доступа к услугам АИС с использованием соответствующих технологий всегда, когда
в ней возникает необходимость

A. Определенность

B. Работоспособность

C. Надежность

D. Экономичность

+E. 
Готовность

111. Количество и
степень занятости ресурсов, процессов, ОП, внешней и внутренней памяти, каналов
ввода/вывода, терминалов и каналов сети

A. Экономичность

B. Готовность

C. Надежность

+D. Определенность

E.
Работоспособность

112. Устойчивость — …

A.    характеризует способность к безотказному
функционированию при наличии сбоев

B. возможность доступа к услугам АИС с
использованием соответствующих технологий всегда, когда в ней возникает
необходимость

C. Свойство системы сохранять во времени в
установленных пределах значения всех характеристик, определяющих способность
системы выполнять требуемые функции в условиях заданных режимов эксплуатации

D. количество и степень занятости ресурсов,
процессов, ОП, внешней и внутренней памяти, каналов ввода/вывода, терминалов и
каналов сети

+E.
Нет верного ответа

113. Процесс
обеспечивает возобновления нормально функционирования АИС

A. Устойчивость

+B. Перезапуск

C. Готовность

D. Надежность

E.
Все ответы верны

С каким этапом
жизненного цикла программного продукта связано с алгоритмизацией

114.Процесса обработки
данных, детализацией функций обработки, разработкой структуры ПП, выбором
методов и средств создания программ?

A. Документирование

B. Программирование

C. Сопровождение

D. Проектирование

+E.
нет верного ответа

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

A. Документирование

B. Проектирование структуры ПП

+C. Программирование,
тестирование и отладка

D. Сопровождение ПП

E.
Все ответы верны

116.На каком этапе
жизненного цикла программного продукта составляются необходимые сведения по
установке и обеспечению надежной работы ПП и т.д.?

A. Проектирование

B. Эксплуатация

C. Документирование

D. Программирование

+E. 
нет верного объекта

117. Жизненный цикл ПО — …

A. непрерывный процесс, который начинается с
момент его полного изъятия из эксплуатации и заканчивается в момент принятия
решения о необходимости его создания

+B. процесс, который начинается
с момента его полного описания и заканчивается в момент принятия решения о
необходимости его создания

C. непрерывный процесс, который начинается с
момента принятия решения о необходимости его создания и заканчивается в момент
его полного изъятия из эксплуатации

D. прерывающийся процесс, который начинается с
момента написания структуры программы и заканчивается в момент его полного
изъятия из эксплуатации

E.
Нет верного ответа

118. На какие три
группы процессов делится структура жизненного цикла ПО по стандарту ISO/IEC
12207?

A. Составные, действующие и вспомогательные
процессы

B. Основные, дополнительные и остальные процессы

C. Вспомогательные, основные и дополнительные
процессы

+D. Основные,
вспомогательные и организационные процессы

E.
Нет верного ответа

119. Основные процессы
жизненного цикла ПО делятся на …

A. Процесс документирования, процесс обеспечения
качества, процесс верификации

B. Процесс поставки, процесс обеспечения качества,
процесс верификации

+C. Процесс управления, процесс
создания инфраструктуры, процесс обучения

D. Процесс
приобретения, процесс поставки, процесс разработки*

E. Процесс управления, процесс разработки, процесс
обучения

120. Вспомогательные
процессы жизненного цикла ПО делятся на …

A.    Процесс документирования, процесс
обеспечения качества, процесс верификации*

B. Процесс поставки, процесс обеспечения качества,
процесс верификации

+C. Процесс управления, процесс
создания инфраструктуры, процесс обучения

D. Процесс приобретения, процесс поставки, процесс
разработки

E. Процесс управления, процесс разработки, процесс
обучения

«Технология разработки программного обеспечения»

ВАРИАНТ 1

  1. Какие программы можно отнести к системному
    программному обеспечению:

а)     
прикладные
программы;

б)     
операционные
системы;

в)     
игровые
программы.

  1. Можно ли отнести операционную систему к
    программному обеспечению:

а)     
да;

б)     
нет.

  1. Самый
    большой этап в жизненном цикле программы:

а)     
изучение
предметной области;

б)     
программирование;

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

г)     
эксплуатация;

д)     
корректировка
ошибок.

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

а)     
отладка;

б)     
тестирование.

  1. Способы оценки качества:

а)     
наличие документации;

б)     
сравнение с
аналогами;

в)     
оптимизация
программы;

г)     
структурирование
алгоритма.

  1.  Существует ли связь между эффективностью и
    оптимизацией программы:

а)     
да;

б)     
нет.

  1. Можно ли внутри цикла поместить еще один цикл:

а)     
да;

б)     
нет.

  1. Можно ли ставить знак подчеркивания в начале имени:

а)     
да, без
ограничений;

б)     
да, но не
рекомендуется;

в)     
нет.

  1. Как называется способ составления имен переменных,
    когда в начале имени сообщается тип переменной:

а)     
прямым
указанием;

б)     
венгерской
нотацией;

в)     
структурным
программированием;

г)     
поляризацией.

  1. Можно ли писать комментарии в отдельной строке:

а)     
да;

б)     
нет.

  1. Наличие комментариев позволяет:

а)     
быстрее
писать программы;

б)     
быстрее
выполнять программы.

в)     
быстрее
найти ошибки в программе;

  1. Возможно ли комбинирование языков программирования
    в рамках одной задачи:

а)     
нет.

б)     
да;

  1. Для решения инженерных задач характерно применение:

а)     
САПР (систем
автоматизированного проектирования);

б)     
СУБД (систем
управления базами данных);

в)     
ОС
(операционных систем).

  1. Причины
    синтаксических ошибок:

а)     
ошибки в
исходных данных;

б)     
ошибки,
допущенные на более ранних этапах;

в)     
плохое
знание языка программирования;

г)     
неправильное
применение процедуры тестирования.

  1. Защитное
    программирование это:

а)     
встраивание
в программу отладочных средств;

б)     
создание
задач защищенных от копирования;

в)     
разделение
доступа в программе;

г)     
использование
паролей;

  1. Отладка – это:

а)     
определение
списка параметров;

б)     
правило
вызова процедур (функций);

в)     
процедура
поиска ошибок, когда известно, что ошибка есть;

г)     
составление
блок-схемы алгоритма.

17.  Когда программист может
проследить последовательность выполнения команд программы:

а)     
при
тестировании;

б)     
при
трассировке;

в)     
при
компиляции;

г)     
при
выполнении программы;

д)     
при
компоновке.

  1. На каком этапе создания программы могут появиться
    синтаксические ошибки:

а)     
анализ
требований;

б)     
проектирование;

в)     
программирование;

г)     
тестирование.

  1. Позволяет ли автоматизация программирования всегда
    создавать эффективные программы:

а)     
да.

б)     
нет;

20. Позволяет ли автоматизация программирования всегда
создавать надежные программы:

а)     
нет;

б)    
да.

21. Что легко поддается
автоматизации:

а)     
работа с файлами;

б)     
сложные логические задачи;

в)     
интерфейс;

г)     
алгоритмизация.

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

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

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

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

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

23.
Сущность оптимизации циклов:

а)     
;трассировка
циклов;

б)     
сокращение
тела цикла;

в)     
представление
циклов в виде блок-схем;

г)     
сокращение
количества повторений выполнения тела цикла

24. В чем сущность модульного программирования:

а)     
в
разбиении программы на отдельные равные части;

б)     
в
разбиении программы на отдельные функционально независимые части;

в)    
в
разбиение программы на процедуры и функции;

г)     
снижает количество ошибок.

25. Недостаток модульного
программирования:

а)     
увеличивает трудоемкость
программирования;

б)     
снижает быстродействие программы;

в)     
не позволяет выполнять оптимизацию
программы.

г)     
усложняет процедуру комплексного
тестирования;

26. При структурном программировании задача выполняется:

а)     
поэтапным
разбиением на более легкие задачи;

б)     
без участия программиста;

в)     
объединением
отдельных модулей программы.

27. Достоинство структурного программирования:

а)     
можно
приступить к автономному тестированию на раннем этапе разработки;

б)     
нет
необходимости выполнять тестирование;

в)     
можно
приступить к комплексному тестированию на раннем этапе разработки;

г)     
можно
пренебречь отладкой.

28. 
Может ли дочерний элемент иметь двух родителей:

а)      да;

б)      нет;

в)      только для
визуальных элементов;

г)      если их свойства
совпадают.

29.
Есть ли различие между объектом и экземпляром:

а)      да;

б)      нет;

в)      если у них общий
предок.

30. Могут ли два экземпляра
одного объекта реагировать на событие по-разному:

а)     
да;

б)     
нет.

31. Какие этапы проектирования можно объединять:

а)     
эскизный и
рабочий;

б)     
технический
и эскизный.

в)     
технический
и рабочий;

32. Процесс преобразования постановки задачи в план
алгоритмического или вычислительного решения это:

а)     
анализ
требований;

б)     
программирование;

в)     
проектирование;

г)     
тестирование.

33. Модульное программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

34. Проектирование сверху вниз это:

а)     
последовательное
разбиение общих задач на более мелкие;

б)     
составление
из отдельных модулей большой программы.

35. Проектирование снизу-вверх это:

а)     
составление
из отдельных модулей большой программы;

б)     
последовательное
разбиение общих задач на более мелкие.

36. Зависит ли трудоемкость разработки от вида
информации:

а)     
да;

б)     
нет.

37. Кому принадлежит право собственности на ПО:

а)     
продавцу;

б)     
разработчику;

в)     
покупателю.

38. Кому принадлежит авторское право на ПО:

а)     
покупателю.

б)     
продавцу;

в)     
разработчику;

39. Если вы приобрели программы законным путем, имеете
ли вы право продать ее:

а)     
да;

б)     
нет.

40. Если вы приобрели программу законным путем,
являетесь ли вы

собственником программы:

а)     
нет;

б)     
да.

ВАРИАНТ 2

1. Специфические особенности ПО как продукта:

а) продажа по ценам ниже
себестоимости (лицензирование);

б) низкие материальные затраты при
создании программ;

в) возможность создание программ
небольшие коллективом или даже одним человеком;

г) разнообразие решаемых задач с помощью
программных средств.

2. Можно ли отнести операционную систему к прикладному
программному обеспечению:

а)     
да;

б)     
нет.

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

а)     
отладка;

б)     
тестирование.

4. В стадии разработки программы не входит:

а)     
постановка
задачи;

б)     
составление
спецификаций;

в)     
эскизный
проект;

г)     
автоматизация
программирования;

д)     
тестирование.

5. Наиболее важный критерий качества:

а)     
надежность;

б)     
быстродействие;

в)     
удобство в
эксплуатации;

г)     
удобный
интерфейс;

д)     
эффективность.

6. Способы оценки надежности:

а)     
сравнение с
аналогами;

б)     
тестирование;

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

г)     
оптимизация.

7.  Можно ли внутри условного оператора поместить еще
одно условие:

а)     
да;

б)     
нет.

8. Какие символы не допускаются в именах переменных:

а)     
цифры;

б)     
подчеркивание

в)     
пробелы;

9. Транслируются ли комментарии:

а)     
да;

б)     
нет.

10. Что определяет выбор языка программирования:

а)     
область приложения;

б)     
знание
языка;

в)     
наличие
дополнительных библиотек.

11. Наличие комментариев позволяет:

а)     
применять
сложные структуры;

б)     
легче
разобраться в программе;

в)     
увеличить
быстродействие.

12. Допустимо ли комбинирование языков программирования
в рамках одной задачи :

а)     
нет.

б)     
да;

13. Для решения экономических задач характерно
применение:

а)     
СУБД (систем
управления базами данных);

б)     
языков
высокого уровня;

в)     
языков
низкого уровня;

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

14.
Когда можно обнаружить синтаксические ошибки:

а)     
при отладке;

б)     
при
тестировании;

в)     
на этапе
проектирования;

г)     
при
компиляции;

д)     
при
эксплуатации.

15. Вид ошибки с неправильным написанием служебных слов
(операторов):

а)     
синтаксическая;

б)     
семантическая;

в)     
логическая;

г)     
символьная.

16. Когда программист может проследить последовательность
выполнения команд программы:

а)     
при
тестировании;

б)     
при
компиляции;

в)     
при
выполнении программы;

г)     
при
трассировке;

д)     
при
компоновке.

17. Когда приступают к тестированию программы:

а)     
после
постановки задачи;

б)     
на этапе
программирования;

в)     
на этапе проектирования;

г)     
когда
программа уже закончена;

д)     
после
составления спецификаций,

18. Тестирование бывает:

а)     
инструментальное;

б)     
автономное;

в)     
визуальное;

г)     
алгоритмическое.

19. Назначение отладки:

а)     
поиск
возможных ошибок;

б)     
составление
спецификаций;

в)     
разработка
алгоритма.

г)     
поиск причин
существующих ошибок;

20. Отладка программ это:

а)     
локализация
и исправление ошибок;

б)     
алгоритмизация
программирования;

в)     
компиляция и
компоновка.

21. В чем сущность автоматизации программирования:

а)     
получение
готовой программы без выполнения компоновки;

б)     
создание
программы без написания ее текста;

в)     
в отсутствии
компиляции.

22. Выполняется ли процедура
компиляции при автоматизации программирования:

а)     
да;

б)     
 нет.

23. Относится ли визуальное
программирование к средствам автоматизации:

а)     
 нет.

б)     
да;

24. Нахождение
наилучшего варианта из множества возможных:

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

б)     
оптимизация;

в)     
автоматизация;

г)     
отладка;

д)     
сопровождение.

25.
Результат оптимизации программы:

а)     
надежность;

б)     
машино-независимость;

в)     
эффективность;

г)     
мобильность.

26.
Критерии оптимизации программы:

а)     
быстродействие
или размер программы;

б)     
быстродействие
и размер программы;

в)     
надежность
или эффективность;

г)     
надежность и
эффективность.

27. Достоинство модульного
программирования:

а)     
не требует комплексного
тестирования;

б)     
возможность приступить к
тестированию до завершения написания всей программы;

в)     
уменьшает размер программы;

г)     
повышает надежность программы.

28. Разрешается ли использование циклов при структурном
программировании
p:

а)     
да;

б)     
нет.

29. Достоинство структурного программирования:

а)     
повышает
быстродействие программы;

б)     
облегчает
работу над большими и сложными проектами;

в)     
снижает
затраты на программирование.

1.      Какое утверждение
верно
:

а)      предки наследуют
свойства родителей;

б)      родители наследуют
свойства потомков;

в)      потомки не могут
иметь общих предков;

г)      потомки наследуют свойства
родителей.

31.
Изменение свойств, приводит к изменению поведения экземпляра:

а)      нет;

б)      только для
визуальных;

в)      только НЕ для
визуальных;

г)      да.

32. Какой методикой проектирования пользуются при
структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

33. Какой этап проектирования может быть исключен:

а)     
эскизный
проект;

б)     
технический
проект;

в)     
рабочий
проект.

34. Какие этапы проектирования можно объединять:

а)     
эскизный и
рабочий;

б)     
технический
и рабочий;

в)     
технический
и эскизный.

35. Модульное программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

36. Модульное программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

в)     
и в том, и
другом случае;

г)     
ни в коем
случае.

37. Какой методикой проектирования пользуются при
структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

38. Зависит ли трудоемкость разработки от вида
информации:

а)     
да;

б)     
 нет.

39. Если вы приобрели программы законным путем, имеете
ли вы право вносить в нее изменения:

а)     
да

б)     
нет;

40. Если вы приобрели программы законным путем, имеете
ли вы право продать ее:

а)     
да;

б)     
нет.

ВАРИАНТ 3

1. Какие программы можно отнести к системному ПО:

а) драйверы;

б) текстовые редакторы;

в) электронные таблицы;

г) графические редакторы.

2. Специфические особенности ПО как продукта:

а)     
универсальность;

б)     
низкие
затраты при дублировании;

в)     
простота
эксплуатации;

г)     
наличие
поддержки (сопровождения) со стороны разработчика.

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

а)     
отладка;

б)     
оптимизация;

в)     
программирование;

г)     
тестирование.

4. Специфические особенности ПО как продукта:

а)     
низкие
затраты при дублировании;

б)     
универсальность;

в)     
простота
эксплуатации;

г)     
наличие
поддержки (сопровождения) со стороны разработчика.

5. Повышает ли качество программ оптимизация:

а)     
да;

б)      нет.

6. Существует ли связь между надежностью и
быстродействием:

а)     
нет:

б)     
да.

7. Можно ли одно большое (длинное) выражение разбить на
несколько выражений
p:

а)     
да;

б)     
нет.

8. Найдите НЕ правильное условие для создания имен:

а)     
длинное имя
можно сократить;

б)     
из имени
лучше выбрасывать гласные;

в)     
имена могут
содержать пробелы;

г)     
можно
использовать большие буквы.

9. Наличие комментариев позволяет:

а)     
улучшить
читабельность программы;

б)     
улучшить
эксплуатацию программы;

в)     
повысить
надежность программы.

10. Что определяет выбор языка программирования:

а)     
знание
языка;

б)     
область
приложения;

в)     
наличие
дополнительных библиотек.

11. Наличие комментариев позволяет:

а)     
улучшить
читабельность программы;

б)     
улучшить
эксплуатацию программы;

в)     
повысить
надежность программы.

12. Для каких задач характерно использование большого количества
исходных данных, выполнение операций поиска, группировки:

а)     
для
системных задач;

б)     
для
экономических задач;

в)     
для
инженерных задач.

13. Можно ли использовать комбинацию языков
программирования в рамках одного проекта:

а)     
да;

б)     
нет.

14.
Ошибки компоновки заключаются в том, что:

а)     
неправильно
использовано зарезервированное слово;

б)     
составлено
неверное выражение;

в)     
указано
внешнее имя, но не объявлено;

г)     
указан
неверный тип переменной.

15. Вид ошибки с неправильным использованием служебных
слов (операторов):

а)     
синтаксическая;

б)     
семантическая;

в)     
логическая;

г)     
символьная.

16. Программа для просмотра значений переменных при
выполнении программы:

а)     
компилятор;

б)     
интерпретатор;

в)     
отладчик;

г)     
трассировка;

д)     
тестирование.

17. Тестирование бывает:

а)     
инструментальное;

б)     
комплексное;

в)     
визуальное;

г)     
алгоритмическое.

18. 
При
комплексном тестировании проверяются:

а)     
правильность
работы отдельных частей программы;

б)     
согласованность
работы отдельных частей программы;

в)     
быстродействие
программы;

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

19. Существует ли различие между отладкой и тестированием:

а)     
да;

б)     
нет.

20. Что выполняется раньше, отладка или тестирование:

а)     
отладка;

б)     
тестирование.

21. В чем сущность автоматизации программирования:

а)     
получение
готовой программы без выполнения компоновки;

б)     
создание
программы без написания ее текста;

в)     
в отсутствии
компиляции.

22. Влияет ли автоматизация программирования на
эффективность программы:

а)     
нет;

б)     
да

23. Позволяет ли автоматизация программирования всегда
создавать надежные программы:

а)     
нет;

б)     
да.

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

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

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

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

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

25.
Нахождение наилучшего варианта из множества возможных:

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

б)     
автоматизация;

в)     
отладка;

г)     
оптимизация;

д)     
сопровождение.

26. Рекомендуемые размеры модулей:

а)     
большие;

б)     
равные;

в)     
небольшие;

г)     
фиксированной
длины.

27. В чем заключается независимость модуля:

а)     
в написании,
отладке и тестировании независимо от остальных модулей;

б)     
в разработке
и написании независимо от других модулей;

в)     
в
независимости от работы основной программы.

28. Допустимо ли использование оператора GO
ТO при структурном программировании:

а)     
нет;

б)     
да.

29. Возможно, ли преобразовать неструктурированную
программу к структурному виду:

а)     
да;

б)     
нет.

30. Недостаток структурного программирования:

а)     
снижает
эффективность;

б)     
уменьшает
количество ошибок;

в)     
увеличивает
размер программы;

г)     
не требует
отладки.

31.  Три
«кита» объектно-ориентированного метода программирования:

а)      предки, родители,
потомки;

б)      полиморфизм,
инкапсуляция, наследование;

в)      свойства, события,
методы;

г)      визуальные, не
визуальные компоненты и запросы.

32.
Можно ли свойствам присваивать значения:

а)      да (всегда);

б)      не всегда;

в)      нет.

33. Модульное программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

34. Процесс преобразования постановки задачи в план
алгоритмического или вычислительного решения это:

а)     
проектирование;

б)     
анализ
требований;

в)     
программирование;

г)     
тестирование.

35. Процесс преобразования постановки задачи в план
алгоритмического или вычислительного решения это:

а)     
анализ требований;

б)     
программирование;

в)     
проектирование;

г)     
тестирование.

36. Этап разработки программы, на котором дается
характеристика области применения программы:

а)     
эскизный
проект;

б)     
технический
проект;

в)     
внедрение;

г)     
рабочий
проект.

д)     
 техническое
задание;

37. Составление спецификаций это:

а)     
эскизный
проект;

б)     
поиск
алгоритма;

в)     
формализация
задачи;

г)     
отладка.

38. В чем заключается иерархический подход в решении
задачи:

а)     
в выделении
основных и второстепенных элементов;

б)     
в
последовательном разбиении задачи на более мелкие составные части;

в)     
в
возможности параллельного выполнения отдельных частей задачи.

39. Какой метод проектирования соответствует
иерархическому подходу в решении задачи:

а)     
нисходящее
(сверху вниз);

б)     
восходящее
(снизу-вверх).

40. Кому принадлежит авторское право на ПО:

а)     
разработчику;

б)     
продавцу;

в)     
покупателю.

ВАРИАНТ  4

  1. Какие программы можно отнести к системному ПО:

а)     
программа
расчета заработной платы;

б)     
электронные
таблицы;

в)     
СУБД
(системы управления базами данных).

  1. Какие программы можно отнести к системному ПО:

а)     
утилиты;

б)     
экономические
программы;

в)     
статистические
программы;

г)     
мультимедийные
программы.

  1. Что выполняется раньше:

а)     
компиляция;

б)     
отладка;

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

г)     
тестирование.

  1. Этап,
    занимающий наибольшее время, в жизненном цикле программы:

а)     
проектирование;

б)     
тестирование;

в)     
программирование;

г)     
сопровождение;

д)     
формулировка
требований.

  1. В каких единицах можно измерить надежность:

а)     
км/час;

б)     
отказов/час;

в)     
Кбайт/сек;

г)     
операций/сек.

  1. Что относится к этапу программирования:

а)     
написание
кода программы;

б)     
разработка
интерфейса;

в)     
работоспособность;

г)     
анализ требований.

  1. . Если имеется стандартная функция, нужно ли писать
    собственную:

а)     
нет;

б)     
да.

  1. . Доступ, при котором записи файла читаются в
    физической последовательности, называется:

1)     
прямым;

2)     
простым;

3)     
последовательным;

4)     
основным.

  1.  Можно ли ставить знак подчеркивания в начале
    имени:

а)     
да, но не
рекомендуется;

б)     
да, без
ограничений;

в)     
нет.

  1.  Как называется способ составления имен переменных,
    когда в начале имени сообщается тип переменной:

а)     
прямым
указанием;

б)     
венгерской
нотацией;

в)     
структурным
программированием;

г)     
поляризацией.

  1. . Что определяет выбор языка программирования:

а)     
область
приложения;

б)     
знание
языка;

в)     
наличие
дополнительных библиотек.

  1.  Для каких задач характерен большой объем
    вычислений, использование сложного математического аппарата:

а)     
для
системных задач;

б)     
для
инженерных задач;

в)     
для
экономических задач.

  1. . На каком этапе производится выбор языка
    программирования:

а)     
проектирование;

б)     
программирование;

в)     
отладка;

г)     
тестирование.

  1.  Могут ли проявиться ошибки при изменении условий
    эксплуатации:

а)     
да;

б)     
нет.

15. Ошибки при написании программы бывают:

а)     
орфографические;

б)     
лексические;

в)     
синтаксические;

г)     
фонетические;

д)     
морфологические.

16. Отладка – это:

а)     
определение
списка параметров;

б)     
правило
вызова процедур (функций);

в)     
процедура
поиска ошибок, когда известно, что ошибка есть;

г)     
составление
блок-схемы алгоритма.

  1.  При комплексном тестировании проверяются:

а)     
правильность
работы отдельных частей программы;

б)     
согласованность
работы отдельных частей программы;

в)     
быстродействие
программы;

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

18. Чему нужно уделять больше времени, чтобы получить хорошую
программу:

а)     
программированию;

б)     
отладке;

в)     
тестированию;

г)     
проектированию.

19. Назначение тестирования:

а)     
обнаружение
ошибок;

б)     
повышение
эффективности программы;

в)     
улучшение
эксплуатационных характеристик;

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

д)     
приведение
программы к структурированному виду.

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

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

б)     
отладчики;

в)     
компиляторы;

21.
Возможны ли ошибки при автоматизации программирования:

а)     
да;

б)     
нет.

22. Один из методов автоматизации программирования:

а)     
структурное программирование;

б)     
модульное
программирование;

в)     
визуальное
программирование;

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

23. 
Нахождение наилучшего варианта из множества возможных:

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

б)     
автоматизация;

в)     
отладка;

г)     
сопровождение.

д)     
оптимизация;

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

а)     
эффективность
использования ресурсов;

б)     
структурирование
алгоритма;

в)     
структурирование
программы.

25. В
чем заключается оптимизация условных выражений:

а)     
в
использовании простых логических выражений;

б)     
в изменении
порядка следования элементов выражения;

в)     
в
использовании сложных логических выражений;

г)     
в
использовании операций AND, OR и NOT.

26. В чем сущность модульного программирования:

а)     
в разбиении
программы на отдельные равные части;

б)     
в разбиении
программы на отдельные функционально независимые части;

в)     
в разбиение
программы на процедуры и функции;

27. Можно ли сочетать модульное и структурное
программирование:

а)     
да;

б)     
нет.

28. Можно ли сочетать структурное программирование с
модульным:

а)     
можно;

б)     
нельзя;

в)     
только в
особых случаях.

29. При структурном программировании задача выполняется:

а)     
без участия
программиста;

б)     
поэтапным
разбиением на более легкие задачи;

в)     
объединением
отдельных модулей программы.

30. Повышает ли читабельность программ структурное
кодирование:

а)     
да;

б)     
нет.

31.  Полиморфизм это:

а)      передача свойств
по наследству;

б)      изменение
поведения потомков на разные события;

в)      изменение
поведения потомков, имеющих общих предков;

г)      изменение
поведения экземпляров, имеющих общих предков;

32. Можно ли переопределять
методы:

а)     
да;

б)     
нет.

33. В каких единицах измеряются затраты на
проектирование:

а)     
в
человеко-днях;

б)     
в долларах;

в)     
в тенге;

г)     
в
килобайтах.

34. Можно ли переопределять
свойства:

а)     
да;

б)     
нет.

35. Составление спецификаций это:

а)     
эскизный
проект;

б)     
формализация
задачи;

в)     
поиск
алгоритма;

г)     
отладка.

36. Этап разработки программы, на котором дается
характеристика области применения программы:

а)     
эскизный
проект;

б)     
технический
проект;

в)     
внедрение;

г)     
рабочий
проект.

д)     
техническое
задание;

37. Этап разработки программы, на котором дается
характеристика области применения программы:

а)     
технический
проект;

б)     
техническое
задание;

в)     
эскизный
проект;

г)     
внедрение;

д)     
рабочий
проект.

38. Укажите правильную последовательность создания
программы:

а)     
анализ
требований, проектирование, программирование, тестирование, отладка;

б)     
анализ
требований, программирование, проектирование, тестирование;

в)     
анализ
требований, проектирование, программирование, модификация, трассировка;

г)     
формулирование
задачи, анализ требований, проектирование, программирование;

д)     
формулирование
задачи, анализ требований, программирование, проектирование, отладка.

39. В каких единицах измеряются затраты на
проектирование:

а)     
в долларах;

б)     
в
человеко-днях;

в)     
в тенге;

г)     
в
килобайтах.

40. Зависит ли трудоемкость разработки от сложности
алгоритма:

а)     
да;

б)     
нет.

ВАРИАНТ 5

  1. Какие программы нельзя отнести к системному ПО:

а)     
компиляторы
языков программирования;

б)     
операционные
системы;

в)     
игровые
программы;

г)     
системы
управления базами данных.

  1. Этап,
    занимающий наибольшее время, в жизненном цикле программы:

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

б)     
программирование;

в)     
формулировка
требований.

г)     
сопровождение;

д)     
проектирование;

  1. Что выполняется раньше:

а)      программирование;

б)      отладка;

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

г)      проектирование;

  1. Самый
    большой этап в жизненном цикле программы:

а)     
эксплуатация;

б)     
изучение
предметной области;

в)     
программирование;

г)     
тестирование;

д)     
корректировка
ошибок.

  1. В каких единицах можно измерить быстродействие:

а)     
отказов/час;

б)     
км/час;

в)     
Кбайт/сек;

г)     
операций/сек.

  1. Последовательность
    этапов программирования:

а)     
компоновка,
отладка, компилирование;

б)     
отладка,
компилирование, компоновка;

в)     
компилирование,
отладка, компоновка.

г)     
компилирование,
компоновка, отладка;

  1. Инструментальные средства программирования:

а)     
СУБД
(системы управления базами данных);

б)     
BIOS
(базовая система ввода-вывода);

в)     
ОС
(операционные системы).

г)     
компиляторы,
интерпретаторы;

  1. Что
    выполняется раньше:

а)     
разработка алгоритма;

б)     
выбор языка программирования;

в)     
написание исходного кода;

г)     
компиляция.

  1.  Если имеется стандартная функция, нужно ли писать
    собственную:

а)     
нет;

б)     
да.

  1.  Наличие комментариев позволяет:

а)     
быстрее
найти ошибки в программе;

б)     
быстрее
писать программы;

в)     
быстрее
выполнять программы.

  1.  На каком этапе производится выбор языка
    программирования:

а)     
программирование;

б)     
отладка;

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

г)     
проектирование;

  1. Для каких задач характерен большой объем
    вычислений, использование сложного математического аппарата:

а)     
для
инженерных задач;

б)     
для
системных задач;

в)     
для
экономических задач.

  1.  Могут ли проявиться ошибки при изменении в
    предметной области:

а)     
да;

б)     
нет.

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

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

б)     
компоновка;

в)     
отладка;

г)     
транзакция;

д)     
трансляция.

  1. Ошибки при написании программы бывают:

а)     
синтаксические;

б)     
орфографические;

в)     
лексические;

г)     
фонетические;

д)     
морфологические.

  1.  Процесс исполнения программы с целью обнаружения
    ошибок:

а)     
кодирование;

б)     
тестирование;

в)     
сопровождение;

г)     
проектирование.

  1. Автономное тестирование это:

а)     
составление
блок-схем;

б)     
пошаговая
проверка выполнения программы

в)     
тестирование
отдельных частей программы;

г)     
инструментальное
средство отладки;

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

а)     
компиляторы;

б)     
отладчики;

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

  1.  Отладка программ это:

а)     
алгоритмизация
программирования;

б)     
локализация
и исправление ошибок;

в)     
компиляция и
компоновка.

20. 
 Недостаток
автоматизации программирования;

а)     
низкое
быстродействие;

б)     
большой
размер программы;

в)     
сложность
программы.

  1.  Возможны
    ли ошибки при автоматизации программирования:

а)     
да;

б)     
нет.

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

а)     
да;

б)     
нет.

23.  Нахождение наилучшего варианта из множества
возможных:

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

б)     
автоматизация;

в)     
отладка;

г)     
сопровождение.

д)     
оптимизация;

24. В чем заключается независимость модуля:

а)     
в разработке
и написании независимо от других модулей;

б)     
в
независимости от работы основной программы.

в)     
в написании,
отладке и тестировании независимо от остальных модулей;

25. При модульном программировании желательно, чтобы
модуль имел:

а)     
большой
размер;

б)     
небольшой
размер;

в)     
фиксированный
размер;

г)     
любой
размер.

26. Любую ли программу можно привести к
структурированному виду:

а)     
любую;

б)     
не все;

в)     
нельзя.

27. Разрешается ли использование оператора GO TO  при
структурном программировании:

а)     
да;

б)     
иногда.

в)     
нет;

28. Разрешается ли использование циклов при
объектно-ориентированном программировании:

а)     
да;

б)     
нет.

29.  Наследование это:

а)      передача свойств
экземплярам
;

б)      передача свойств
предкам
;

в)      передача свойств
потомкам
;

г)      передача событий
потомкам
.

30. Предусматривает ли объектно-ориентированное
программирование использование стандартных процедур и функций:

а)     
да;

б)     
нет.

31. Какой методикой проектирования пользуются при
структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

32. Составление спецификаций это:

а)     
эскизный
проект;

б)     
формализация
задачи;

в)     
поиск
алгоритма;

г)     
отладка.

33. Могут ли два различных
объекта реагировать на событие по-разному:

а)     
да;

б)     
нет.

34. Несуществующий метод проектирования:

а)     
алгоритмическое;

б)     
нисходящее;

в)     
восходящее.

35. Укажите правильную последовательность создания
программы:

а)     
анализ
требований, проектирование, программирование, тестирование, отладка;

б)     
анализ
требований, программирование, проектирование, тестирование;

в)     
анализ
требований, проектирование, программирование, модификация, трассировка;

г)     
формулирование
задачи, анализ требований, программирование, проектирование, отладка.

д)     
формулирование
задачи, анализ требований, проектирование, программирование;

36. Уточнение структуры входных и выходных данных,
разработка алгоритмов, определение элементов интерфейса входят в:

а)     
рабочий
проект;

б)     
эскизный
проект.

в)     
технический
проект;

37.  Несуществующий метод проектирования:

а)     
алгоритмическое;

б)     
нисходящее;

в)     
восходящее.

38. Зависит ли трудоемкость разработки от сложности
алгоритма:

а)     
да;

б)     
нет.

39. Какой метод проектирования соответствует
иерархическому подходу в решении задачи:

а)     
нисходящее
(сверху вниз);

б)     
восходящее
(снизу-вверх).

40. Если вы приобрели программы законным путем, имеете
ли вы право продать ее:

а)     
да;

б)     
нет.

ВАРИАНТ 6

1. Какие программы можно отнести к прикладному
программному обеспечению:

а)     
электронные
таблицы;

б)     
таблицы
решений;

в)     
СУБД
(системы управления базами данных).

2. В стадии разработки программы не входит:

а)     
составление
спецификаций;

б)     
эскизный
проект;

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

г)     
автоматизация
программирования;

д)     
постановка
задачи;

3. Что выполняется раньше:

а)      программирование;

б)      проектирование;

в)      отладка;

г)      тестирование.

4. В стадии разработки программы не входит:

а)     
постановка
задачи;

б)     
составление
спецификаций;

в)     
эскизный
проект;

г)     
тестирование.

д)     
автоматизация
программирования;

5. На языке программирования составляется:

а)     
исполняемый
код;

б)     
объектный
код;

в)     
алгоритм.

г)     
исходный
код;

6. Правила, которым должна следовать программа это:

а)     
алгоритм;

б)     
структура;

в)     
спецификация;

г)     
состав
информации.

7. Можно ли переменным присваивать произвольные
идентификаторы:

а)     
да;

б)     
нет.

8. Найдите НЕ правильное условие для создания имен:

а)     
длинное имя
можно сократить;

б)     
из имени
лучше выбрасывать гласные;

в)     
можно
использовать большие буквы.

г)     
имена могут
содержать пробелы;

9. Доступ, при котором записи файла обрабатываются в
произвольной последовательности, называется:

а)     
последовательным;

б)     
простым;

в)     
основным.

г)     
прямым;

10. Что определяет выбор языка программирования:

а)     
знание
языка;

б)     
наличие
дополнительных библиотек.

в)     
область
приложения;

11. Транслируются ли комментарии:

а)     
да;

б)     
нет.

12. Можно ли использовать комбинацию языков
программирования в рамках одного проекта:

а)     
да;

б)     
нет.

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

а)     
проектирование;

б)     
программирование;

в)     
отладка;

г)     
тестирование.

14.
Возможно ли программирование с защитой от ошибок:

а)     
да;

б)     
нет.

15. Программа для просмотра значений переменных при
выполнении программы:

а)     
компилятор;

б)     
интерпретатор;

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

г)     
тестирование.

д)     
отладчик;

16. Вид ошибки с неправильным использованием служебных
слов (операторов):

а)     
синтаксическая;

б)     
логическая;

в)     
символьная.

г)     
семантическая;

17. Трассировка это:

а)     
проверка пошагового
выполнения программы;

б)     
тестирование
исходного кода;

в)     
отладка
модуля;

г)     
составление
блок-схемы алгоритма.

18. Локализация ошибки:

а)     
определение
причин ошибки;

б)     
определение
места возникновения ошибки;

в)     
обнаружение
причин ошибки;

г)     
исправление
ошибки.

19. Локализация ошибки:

а)     
определение
причин ошибки;

б)     
обнаружение
причин ошибки;

в)     
определение
места возникновения ошибки;

г)     
исправление
ошибки.

20. Назначение тестирования:

а)     
обнаружение
ошибок;

б)     
повышение
эффективности программы;

в)     
улучшение
эксплуатационных характеристик;

г)     
приведение
программы к структурированному виду.

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

21. Выполняется ли процедура
компиляции при автоматизации программирования:

а)     
да;

б)     
нет.

22. Что легко поддается
автоматизации:

а)     
интерфейс;

б)     
работа с файлами;

в)     
сложные логические задачи;

г)     
алгоритмизация.

23. Модульное программирование это:

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

б)     
разбиение
программы на отдельные части;

в)     
структурирование;

24. Можно ли использовать оператор GO TO в модульном
программах:

а)     
можно;

б)     
нельзя.

25. Разрешается ли использование циклов при структурном
программировании
p:

а)     
да;

б)     
нет.

26. Разрешается ли использование оператора IF при
объектно-ориентированном программировании:

а)     
нет

б)     
да

27. Что такое объект, в объектно-ориентированное
программировании:

а)     
событие;

б)     
обработка
событий;

в)     
тип данных;

г)     
структура
данных;

д)     
использование
стандартных процедур.

28. Могут ли два экземпляра
одного объекта реагировать на событие по-разному:

а)     
да;

б)     
нет.

29. Укажите правильную последовательность создания
программы:

а)     
анализ
требований, проектирование, программирование, тестирование, отладка;

б)     
анализ
требований, программирование, проектирование, тестирование;

в)     
формулирование
задачи, анализ требований, проектирование, программирование;

г)     
анализ
требований, проектирование, программирование, модификация, трассировка;

д)     
формулирование
задачи, анализ требований, программирование, проектирование, отладка.

30. Уточнение структуры входных и выходных данных,
разработка алгоритмов, определение элементов интерфейса входят в:

а)     
технический
проект;

б)     
рабочий проект;

в)     
эскизный
проект.

31. Метод проектирования:

а)     
алгоритмическое;

б)     
логическое;

в)     
нисходящее;

г)     
использование
языков программирования;

д)     
составление
блок-схем.

32. Нисходящее проектирование это:

а)     
составление
блок-схем;

б)     
разделение
программы на отдельные участи (блоки);

в)     
последовательное
уточнение (детализация);

г)     
трассировка.

33. В каких единицах измеряются затраты на
проектирование:

а)     
в
человеко-днях;

б)     
в долларах;

в)     
в тенге;

г)     
в
килобайтах.

34. Зависит ли трудоемкость разработки от языка или
системы программирования:

а)     
да;

б)     
нет.

35. Зависит ли трудоемкость разработки от сложности
алгоритма:

а)     
да;

б)     
нет.

36. Зависит ли трудоемкость разработки от вида
информации:

а)     
да;

б)     
нет.

37. Зависит ли трудоемкость разработки от количества
обрабатываемой информации:

а)     
да;

б)     
нет.

38. Кому принадлежит право собственности на ПО:

а)     
продавцу;

б)     
разработчику;

в)     
покупателю.

39. Если вы приобрели программы законным путем, имеете
ли вы право продать ее:

а)     
да;

б)     
нет.

40. Кому принадлежит право собственности на ПО:

а)     
разработчику;

б)     
продавцу;

в)     
покупателю.

ВАРИАНТ 7

  1. Какие программы можно отнести к прикладному ПО:

а)     
программа
расчета заработной платы;

б)     
диспетчер
программ;

в)     
программа
«Проводник» (
Explorer).

  1. Этап,
    занимающий наибольшее время, при разработке программы:

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

б)      сопровождение;

в)      проектирование;

г)      программирование;

д)      формулировка требований.

  1. Первый этап в жизненном цикле программы:

а)     
анализ
требований;

б)     
проектирование;

в)     
формулирование
требований;

г)     
автономное
тестирование;

д)     
комплексное
тестирование.

  1. Самый важный критерий качества программы:

а)     
надежность;

б)     
эффективность;

в)     
работоспособность;

г)     
быстродействие;

д)     
простота
эксплуатации.

  1. В каких единицах можно измерить надежность:

а)     
км/час;

б)     
Кбайт/сек;

в)     
отказов/час;

г)     
операций/сек.

  1. Способы оценки надежности:

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

б)     
сравнение с
аналогами;

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

г)     
оптимизация.

  1.  Какие символы не допускаются в именах переменных:

а)     
цифры;

б)     
пробелы;

в)     
подчеркивание

  1. Транслируются ли комментарии:

а)     
да;

б)     
нет.

  1. Наличие комментариев позволяет:

а)     
быстрее
найти ошибки в программе;

б)     
быстрее
писать программы;

в)     
быстрее
выполнять программы.

  1.  Какие символы не допускаются в именах переменных:

а)     
цифры

б)     
подчеркивание

в)     
пробелы

  1. Можно ли ставить знак подчеркивания в начале имени:

а)     
да, без
ограничений;

б)     
да, но не
рекомендуется;

в)     
нет.

  1.  Можно ли писать комментарии в отдельной строке:

а)     
да;

б)     
нет.

  1.  Для решения экономических задач характерно
    применение:

а)     
языков
низкого уровня;

б)     
применение
сложных математических расчетов.

в)     
СУБД (систем
управления базами данных);

г)     
языков
высокого уровня;

14.
Есть ли недостатки программирования с защитой от ошибок:

а)     
да;

б)     
нет.

15. Отладка – это:

а)     
определение
списка параметров;

б)     
процедура
поиска ошибок, когда известно, что ошибка есть;

в)     
правило
вызова процедур (функций);

г)     
составление
блок-схемы алгоритма.

16. Вид ошибки с неправильным написанием служебных слов
(операторов):

а)     
семантическая;

б)     
логическая;

в)     
символьная.

г)     
синтаксическая;

17. На каком этапе создания программы могут появиться
синтаксические ошибки:

а)     
проектирование;

б)     
анализ
требований;

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

г)     
программирование;

18. Когда приступают к тестированию программы:

а)     
когда
программа уже закончена;

б)     
после
постановки задачи;

в)     
на этапе
программирования;

г)     
на этапе
проектирования;

д)     
после
составления спецификаций,

19. Процесс исполнения программы с целью обнаружения
ошибок:

а)     
кодирование;

б)     
сопровождение;

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

г)     
проектирование.

20. Трассировка это:

а)     
тестирование
исходного кода;

б)     
отладка
модуля;

в)     
проверка
пошагового выполнения программы;

г)     
составление
блок-схемы алгоритма.

21. Автоматизация программирования позволяет:

а)     
повысить
надежность программы;

б)     
сократить
время разработки программы;

в)     
повысить
быстродействие программы.

22. Позволяет ли автоматизация программирования всегда
создавать эффективные программы:

а)     
да.

б)     
нет;

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

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

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

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

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

24. Выполняется ли процедура
компиляции при автоматизации программирования:

а)     
да;

б)     
нет.

25.
Сущность оптимизации циклов:

а)     
сокращение
тела цикла;

б)     
представление
циклов в виде блок-схем;

в)     
сокращение
количества повторений выполнения тела цикла;

г)     
трассировка
циклов;

д)     
поиск ошибок
в циклах.

26. В чем сущность модульного программирования:

а)     
в разбиении
программы на отдельные функционально независимые части;

б)     
в разбиении
программы на отдельные равные части;

в)     
в разбиение
программы на процедуры и функции;

27. Можно ли использовать оператор GO TO в
структурированных программах:

а)     
можно;

б)     
нельзя;

в)     
только в
особых случаях.

28. Разрешается ли использование оператора IF при
структурном программировании:

а)     
да;

б)     
нет.

29. Предусматривает ли объектно-ориентированное
программирование использование стандартных процедур и функций:

а)     
да;

б)     
нет.

30. Предусматривает ли объектно-ориентированное
программирование использование стандартных процедур и функций:

а)     
да;

б)     
нет.

31. Какой методикой проектирования пользуются при
структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

31. Составление спецификаций это:

а)     
эскизный
проект;

б)     
формализация
задачи;

в)     
поиск
алгоритма;

г)     
отладка.

32. Этап разработки программы, на котором дается характеристика
области применения программы:

а)     
техническое
задание;

б)     
эскизный
проект;

в)     
технический
проект;

г)     
внедрение;

д)     
рабочий
проект.

33. Признаки нисходящего программирования:

а)     
наличие
оптимизации;

б)     
наличие
тестирования;

в)     
последовательная
детализация;

г)     
автоматизация
программирования.

34. Какой этап проектирования может быть исключен:

а)     
эскизный
проект;

б)     
технический
проект;

в)     
рабочий
проект.

35. Какой методикой проектирования пользуются при
структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

36. В чем заключается иерархический подход в решении
задачи:

а)     
в
последовательном разбиении задачи на более мелкие составные части;

б)     
в выделении
основных и второстепенных элементов;

в)     
в
возможности параллельного выполнения отдельных частей задачи.

37. Зависит ли трудоемкость разработки от языка или
системы программирования:

а)     
да;

б)     
нет.

38. Зависит ли трудоемкость разработки от количества
обрабатываемой информации:

а)        
да;

б)        
нет.

39. Зависит ли трудоемкость разработки от вида
информации:

а)     
да;

б)     
нет.

40. Если вы приобрели программу законным путем,
являетесь ли вы

собственником программы:

а)     
нет;

б)     
да.

ВАРИАНТ 8

  1. Какие программы нельзя отнести к прикладному ПО:

а)     
компиляторы
и (или) интерпретаторы;

б)     
текстовые и
(или) графические редакторы;

в)     
электронные
таблицы.

  1. Один из необязательных этапов жизненного цикла
    программы:

а)     
оптимизация;

б)     
проектирование;

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

г)     
программирование;

д)     
анализ
требований.

  1. Самый важный критерий качества программы:

а)     
надежность;

б)     
эффективность;

в)     
работоспособность;

г)     
быстродействие;

д)     
простота
эксплуатации.

  1. В стадии разработки программы не входит:

а)     
автоматизация
программирования;

б)     
постановка
задачи;

в)     
составление
спецификаций;

г)     
эскизный
проект;

д)     
тестирование.

  1. Способы оценки качества:

а)     
оптимизация
программы;

б)     
наличие
документации;

в)     
сравнение с
аналогами;

г)     
структурирование
алгоритма.

  1. Повышает ли качество программ оптимизация:

а)     
да;

б)      нет.

  1. Можно ли использовать имена, которые уже были
    использованы в другой программе (модуле):

а)     
да;

б)     
нет.

  1. Как называется способ составления имен переменных,
    когда в начале имени сообщается тип переменной:

а)     
прямым
указанием;

б)     
венгерской
нотацией;

в)     
структурным
программированием;

г)     
поляризацией.

  1. Можно ли писать комментарии в отдельной строке:

а)     
да;

б)     
нет.

  1. Найдите НЕ правильное условие для создания имен:

а)     
имена могут
содержать пробелы;

б)     
длинное имя
можно сократить;

в)     
из имени
лучше выбрасывать гласные;

г)     
можно
использовать большие буквы.

  1. Какие символы не допускаются в именах переменных:

а)     
пробелы;

б)     
цифры;

в)     
подчеркивание

  1.  Наличие комментариев позволяет:

а)     
улучшить
эксплуатацию программы;

б)     
улучшить
читабельность программы;

в)     
повысить
надежность программы.

г)     
ОС
(операционных систем).

  1. Для решения экономических задач характерно
    применение:

а)     
языков
высокого уровня;

б)     
СУБД (систем
управления базами данных);

в)     
языков
низкого уровня;

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

  1.  Есть
    ли недостатки программирования с защитой от ошибок:

а)     
да;

б)     
нет.

15.  Когда программист может
проследить последовательность выполнения команд программы:

а)     
при
трассировке;

б)     
при
тестировании;

в)     
при
компиляции;

г)     
при
выполнении программы;

д)     
при
компоновке.

  1. Защитное
    программирование это:

а)     
встраивание
в программу отладочных средств;

б)     
создание
задач защищенных от копирования;

в)     
разделение
доступа в программе;

г)     
использование
паролей;

д)     
оформление
авторских прав на программу.

  1. Программа для просмотра значений переменных при
    выполнении программы:

а)     
отладчик;

б)     
компилятор;

в)     
интерпретатор;

г)     
трассировка;

д)     
тестирование.

  1. Отладка – это:

а)     
определение
списка параметров;

б)     
процедура
поиска ошибок, когда известно, что ошибка есть;

в)     
правило
вызова процедур (функций);

г)     
составление
блок-схемы алгоритма.

  1. Тестирование бывает:

а)     
комплексное;

б)     
инструментальное;

в)     
визуальное;

г)     
алгоритмическое.

  1. Существует ли различие между отладкой и
    тестированием:

а)     
да;

б)     
нет.

21. Один из методов
автоматизации программирования:

а)     
структурное
программирование;

б)     
модульное
программирование;

в)     
визуальное
программирование;

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

22.  Влияет ли автоматизация
программирования на эффективность программы:

а)     
нет;

б)     
да

  1. В чем
    заключается оптимизация условных выражений:

а)     
в
использовании простых логических выражений;

б)     
в
использовании сложных логических выражений;

в)     
в изменении
порядка следования элементов выражения;

г)     
в
использовании операций AND, OR и NOT.

  1.  Оптимизация циклов заключается в:

а)     
уменьшении
количества повторений тела цикла;

б)     
просмотре
задачи с другой стороны;

в)     
упрощение
задачи за счет включения логических операций.

24. При модульном программировании желательно, чтобы
модуль имел:

а)     
большой
размер;

б)     
небольшой
размер;

в)     
фиксированный
размер;

г)     
любой
размер.

25. Модульное программирование это:

а)     
разбиение
программы на отдельные части;

б)     
структурирование;

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

26. Разрешается ли использование циклов при структурном
программировании
p:

а)     
да;

б)     
нет.

27. Программирование без GO TO применяется. при:

а)     
модульном
программировании;

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

в)     
структурном
программировании;

г)     
все ответы
верные.

28. . Можно ли сочетать объектно-ориентированное и
структурное программирование

а)     
можно;

б)     
нельзя.

29. Инкапсуляция это:

а)      определение новых
типов данных;

б)      определение новых
структур данных;

в)      объединение
переменных, процедур и функций в одно целое;

г)      разделение
переменных, процедур и функций;

д)      применение
стандартных процедур и функций.

30. Проектирование сверху вниз это:

а)     
последовательное
разбиение общих задач на более мелкие;

б)     
составление
из отдельных модулей большой программы.

31. Проектирование снизу-вверх это:

а)     
составление
из отдельных модулей большой программы;

б)     
последовательное
разбиение общих задач на более мелкие.

32. 
 Модульное
программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

в)     
и в том, и
другом случае;

г)     
ни в коем
случае.

33. 
 Какой
методикой проектирования пользуются при структурном программировании:

а)     
сверху вниз;

б)     
снизу-вверх.

34. Какой этап проектирования может быть исключен:

а)     
эскизный
проект;

б)     
технический
проект;

в)     
рабочий
проект.

35. Модульное программирование применимо при:

а)     
проектировании
сверху вниз;

б)     
проектирование
снизу-вверх;

36. Процесс преобразования постановки задачи в план
алгоритмического или вычислительного решения это:

а)     
проектирование;

б)     
анализ
требований;

в)     
программирование;

г)     
тестирование.

37. В каких единицах измеряются затраты на
проектирование:

а)     
в долларах;

б)     
в тенге;

в)     
в
человеко-днях;

г)     
в
килобайтах.

38. Зависит ли трудоемкость разработки от языка или
системы программирования:

а)     
да;

б)     
нет.

39. Что охраняется законом:

а)     
структура базы данных;

б)     
содержание базы данных

40. Кому принадлежит авторское право на ПО:

а)     
разработчику;

б)     
продавцу;

в)     
покупателю.

номер вопроса

Номер варианта

Ответы

1

2

3

4

5

6

7

8

1.     
 

б

а

а

в

в

а

а

а

2.     
 

а

б

б

а

г

г

а

а

3.     
 

г

а

в

а

г

б

в

в

4.     
 

а

г

а

г

а

б

в

а

5.     
 

б

а

а

б

г

б

в

в

6.     
 

а

б

а

а

г

а

а

а

7.     
 

а

в

а

а

г

а

б

а

8.     
 

б

в

в

в

а

г

б

б

9.     
 

б

б

а

а

а

г

а

а

10. 
 

а

а

б

б

а

в

в

а

11. 
 

в

б

а

а

г

б

б

а

12. 
 

б

б

б

б

а

а

а

б

13. 
 

а

а

а

а

а

а

в

б

14. 
 

в

г

в

а

а

а

а

а

15. 
 

а

а

б

в

а

д

б

а

16. 
 

в

г

в

в

б

г

г

а

17. 
 

б

г

б

б

в

а

г

а

18. 
 

в

б

б

в

а

б

а

б

19. 
 

б

г

а

г

б

в

в

а

20. 
 

б

а

а

в

б

д

в

а

21. 
 

в

б

б

а

а

а

б

в

22. 
 

б

а

а

в

а

а

б

а

23. 
 

г

б

а

д

д

б

а

в

24. 
 

б

б

б

а

в

а

а

б

25. 
 

г

в

г

б

б

а

а

а

26. 
 

в

а

в

б

а

б

а

а

27. 
 

в

б

а

а

в

в

б

в

28. 
 

б

а

а

а

а

а

а

а

29. 
 

а

б

а

б

в

в

а

в

30. 
 

а

г

в

в

а

а

а

а

31. 
 

в

г

б

в

а

в

а

а

32. 
 

в

а

б

а

б

в

б

в

33. 
 

б

а

б

а

а

а

в

а

34. 
 

а

б

а

б

а

а

а

а

35. 
 

а

б

в

б

д

а

а

б

36. 
 

а

в

д

д

в

а

а

а

37. 
 

б

а

в

б

а

б

а

в

38. 
 

в

а

б

г

а

б

б

а

39. 
 

а

б

а

б

а

а

а

б

40. 
 

а

а

а

а

а

а

а

а

Ключ к тестам

После
подготовки текста программы необходимо
ее откомпилировать, связать с библиотекой
стандартных процедур и функций, загрузить
в оперативную память и передать ей
управление. Компиляцией называется
трансляция программы, записанной на
исходном языке, в объектный модуль и
создание в результате исполняемого
файла.

Вся
эта последо­вательность действий
называется исполнением программы и
реализуется в разделе Программа
командой Выполнить
(F9).
Вызов команды Выполнить
приводит к компиляции и исполнению
программного модуля, находящегося
непосредственно в редакционном окне
(рис. 3). Кроме этого система Pascal
ABC позволяет выполнять пошаговую
компиляцию и исполнение со входом в
подпрограмму (F7)
или без входа в подпрограмму (F8),
а также исполнение программы вплоть до
строки программы, в которой находится
курсор, с помощью клавиши F4.

Рис. 3

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

Во
многих случаях такие ошибки возникают
из-за неправильного на­бора текста
на клавиатуре, пропуска запятых, двоеточий
и т.п. Найден­ная ошибка исправляется
программистом, и производится повторная
компиляция программы.

Если
в программе нет синтаксических ошибок,
то далее производится тестирование
программы, в процессе которого выявляются
семантические и алгоритмические ошибки
[4, 5]. Тестирование включает подготовку
тестов (специальным образом подобранных
наборов входных данных, для которых
заранее просчитан результат), его прогон
и сравнение полученных результатов с
эталонными (тестовыми). Число тестовых
наборов должно быть достаточным для
слежения за ходом выполнения программы
по всем ее ветвям и проверки свойств,
характеристик и функций (спецификаций)
проектируемой программы. Кроме того,
необходимы наборы, контролирующие
допустимые значения для исходных данных
и предельные значения для результатов.

1.5. Этапы подготовки и решения задач на компьютере

Практика
программирования показывает, что решение
прикладных, инженерных, экономических
и научных задач на ЭВМ сложный и трудоемкий
процесс, состоящий из следующих этапов.

1.
Постановка
задачи
состоит в четком изложении условия
задачи и определении подзадач.

2.
Физический
и
математический
анализ.
Анализируется, существует ли вообще
решение данной задачи и единственно ли
оно. Подбирается математический аппарат,
и строится математическая модель для
решения задачи. Выбирается метод или
методика решения (составляются формулы,
определяются правила, связывающие эти
формулы).

3.
Этап алгоритмизации.
На основании выбранного метода и
конкретных методик с учетом возможностей
ПК разрабатывается алгоритм и строится
его схема. Этот
этап заключается в разложении
вычислительного процесса на возможные
составные части, описании содержания
каждой такой части, установлении порядка
их следования, которые определят
структуру программы, т. е. разрабатывается
укрупнённый алгоритм решения задачи и
проверяется возможность реализации
выбранного метода. Подобное расчленение
алгоритма на составные части называется
структуризацией.

4.
Этап
программирования
.
Выбирается язык и (или) система
программирования, и в соответствии с
алгоритмом разрабатывается программа
на конкретном языке программирования.

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

6.
Решение
задач на компьютере.

7.
Обработка
результатов
решения задач. Производится анализ
результатов, строятся таблицы, графики,
делаются выводы.

Дополнительно
могут присутствовать такие этапы, как
описание структуры программы, описание
структур данных, оптимизация программы,
этап документирования.

Готовая
программа в компьютере проходит следующие
стадии:

Различают
следующие системы
подготовки
и
выполнения программы
:

1)
компилирующего типа (статистическая
подготовка) (СИ, ПАСКАЛЬ);

2)
интерпретирующего типа (динамическая
подготовка).

В
системах компилирующего
типа сначала для всей программы готовится
загрузочный модуль, который затем
выполняется, т.е. подготовка и выполнение
разделены во времени.

В
системах интерпретирующего
типа последовательно читается,
транслируется и сразу же выполняется
оператор за оператором (БЕЙСИК).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Аннотация: Лекция посвящена описанию вопросов, касающихся отладки приложений и работы с ошибками.

8.1. Ошибки при создании программы

Можно выделить два типа ошибок, с которыми сталкивается программист. Во-первых — это ошибки, которые сопровождают создание программ, а во вторых — ошибки времени выполнения.

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

Приведем несколько примеров синтаксических ошибок.

  • Неправильное ключевое слово. Такая ошибка сразу будет отмечена редактором. Например, если в конструкции цикла For-Next сделать ошибку в ключевом слове For — вы увидите сообщение об ошибке как только попытаетесь перейти к написанию следующей, после начала цикла, строки.
  • Ошибка при объявлении переменной. Если вы забудете указать ключевое слово Dim при объявлении переменной — редактор выдаст сообщение об ошибке. Однако, сделает он это лишь при попытке запуска программы.

А вот — логические ошибки.

  • Неправильное использование операторов. Например, вместо знака обычного деления вы случайно использовали знак целочисленного деления.
  • Расчет какого-либо показателя по неправильной формуле. Например, если неточно расставить скобки в каком-либо выражении — это приведет к ошибке, хотя внешне все может выглядеть правильным.
  • Неправильное использование функций — как встроенных, так и пользовательских. Например, используя функцию Str для получения строкового представления числа, вы не учли, что для положительных чисел эта функция добавляет в начало строки пробел. Далее вы попытались узнать первую цифру числа, вырезав первый символ полученной строки. Естественно, никакой цифры в этом случае не получится — лишь знак пробела для положительных или «минус» для отрицательных чисел.
  • Неправильное использование переменных. Например, вы используете два вложенных цикла для обработки двумерного массива. Одна из цикловых переменных имеет имя i, вторая — j. Они довольно сильно похожи внешне, их можно случайно перепутать при указании индексов массива. К тому же, обрабатывая массив в цикле довольно легко перепутать место каждой из переменных при указании индекса массива. Использование понятных имен переменных (например — my_Age или num_Vozrast для хранения возраста и т.д.) позволяет эффективно бороться с такими ошибками.
  • Случайное использование «новых» переменных. Например, вы предложили пользователю ввести некое значение и записали его в переменную num_Inp, а использовав эту переменную в выражении, напечатали не num_Inp, а num_Ihp. Внешне они похожи, но, присмотревшись, вы можете обнаружить, что имена разные. Еще сложней искать ошибки в латинских именах переменных, в которые «вкрались» русские буквы. Разницу между my_Name и my_Namе вы не увидите, но это — разные переменные — в конце второй вместо латинской e использована русская е. Эффективно бороться с такими ошибками можно, если задать в редакторе опцию обязательного объявления переменных ( Option Explicit ). При появлении необъявленной переменной редактор даст знать об этом.
  • Неправильное использование оператора сравнения. Например, это может быть оператор, который сравнивает некие величины не так, как вы предполагали — вместо знака < вы случайно использовали > или, редактируя сравнение (скажем, скопировав похожий оператор сравнения из другого места программы для ускорения работы), поменяли местами сравниваемые переменные или выражения, не поменяв знака и т.д.

Ошибки логики можно найти лишь тщательно проверив и протестировав программу. Чтобы облегчить работу с кодом программы, рекомендуется снабжать ее комментариями. Вовсе необязательно комментировать каждую строчку, достаточно выделить крупные функциональные блоки.

8.2. Ошибки при выполнении программы

Такие ошибки называют еще ошибками времени выполнения. Происходят они, как правило, при неправильном вводе данных пользователем, при возникновении обстоятельств, делающих дальнейшую нормальную работу программы невозможной. Например, ошибку вызовет попытка использовать текстовые данные в арифметическом выражении, попытка сохранения файла в несуществующей директории, деление на ноль и т.д.

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

Давайте, для начала, рассмотрим способы поиска ошибок в процессе создания программ

8.3. Тестирование программ и поиск ошибок

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

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

Если обычные проверки закончились успешно — можно считать, что ваша программа корректно работает, не имеет синтаксических и логических ошибок.

После этого можно усложнить режим тестирования, чтобы как можно более полно сымитировать действия пользователя программы и посмотреть на ее поведение. Еще лучше — попытайтесь целенаправленно вызвать ошибку. Гораздо лучше, когда программа даст сбой на вашем рабочем столе, и вы сможете оперативно устранить этот сбой, чем ждать, когда то же самое произойдет у другого пользователя.

Для проверки программы в реальных условиях попробуйте провести следующие эксперименты.

  • Если программа запрашивает число — введите какое-нибудь слово, очень большое число, ноль, отрицательное число, оставьте поле ввода пустым, введите дробное число. Если вы не предусмотрели никаких специальных мер по обработке ошибок, при выполнении подобных операций вы почти гарантированно встретитесь с проблемами.
  • Попытайтесь запустить программу, открыв несколько окон с документами.
  • Попытайтесь прервать работу программы, а потом снова возобновить ее. Если в вашей программе есть участки, в течение выполнения которых нельзя допускать прерывания работы программы пользователем — вам следует подумать о том, чтобы запретить прерывание работы программы на этих участках.
  • Попытайтесь использовать вашу программу в более старой версии Microsoft Office, в нерусифицированной версии. Обратите внимание, например, на различия расширений имен файлов в Office 2007 и более старых версиях, на различия в объектных моделях. В общем случае программы из более старых версий Office будут работать в Office 2007, однако если они используют какие-то специфические особенности Office — такие программы нуждаются в проверке и обновлении. В то же время, макросы для Office 2007, использующие новые объектные модели, могут не работать или работать неправильно в старых версиях.
  • Попытайтесь поработать с вашей программой на чужом ПК. Вполне возможно, что при таком эксперименте вы столкнетесь с ошибкой. Например, вы программно работаете с файлами на вашем рабочем ПК — если эти файлы отсутствуют на ПК другого пользователя или находятся в других директориях, или тех директорий, которые нужны вашей программе, нет на ПК другого пользователя — вы столкнетесь с ошибкой.
  • Во время работы программы сделайте что-нибудь необычное. Как правило, от пользователей можно ожидать любых странных на первый взгляд действий. Если вы тестируете программу для MS Word, которая правит текст или занимается автоматическим созданием текста, попробуйте во время ее работы переключаться между документами, читать документ, вносить в него правки, выделять произвольные участки текста. То же самое касается MS Excel — во время работы программы попробуйте переключаться между открытыми книгами, между листами, выделять ячейки, попробуйте запустить программу, делая различные листы активными, открыв несколько книг. Результаты такого тестирования могут быть совершенно непредсказуемыми. Проанализировав их, вы можете прити к выводу, что, например, на время выполнения программы нужно скрывать или блокировать документ, пользоваться альтернативными методами работы с документом. Яркий пример — объект Selection в MS Word, который чувствителен к смене выделения в процессе работы, и объект Range, который может работать совсем без создания выделения в тексте.
  • Если ваша программа использует файлы, находящиеся в локальной сети, отключите сеть во время работы программы. Проверьте ее реакцию. То же самое можно сделать, если ваша программа работает с принтером — проверьте ее реакцию на выключенный принтер, на принтер, в котором нет бумаги.
  • Наконец, представьте, что вы — пользователь программы и просто поработайте с ней. А еще лучше — попросите потенциального пользователя немного «пообщаться» с вашей программой. Этот способ позволяет протестировать программу в условиях, максимально приближенных к реальным.

Возможно, вам покажется, что такая проверка не нужна вашей программе. Если вы пишете небольшой макрос для собственного использования, скорее всего, так оно и есть. Но стоит вашему проекту хоть немного вырасти, методы поиска и устранения ошибок могут оказаться очень кстати.

Если вы встретитесь с ошибками и затрудняетесь определить, где именно они происходят — попробуйте выполнить программу в пошаговом режиме, используйте встроенные в редактор VBA средства для отладки программ.

8.4. Отладка программ в редакторе VBA

Основной метод отладки — это пошаговое исполнение программы с использованием точек останова (breakpoint).

Чтобы создать в программе точку останова, достаточно щелкнуть мышью в редакторе на серой панели напротив команды, на которой нужно остановить выполнение программы. Там появится большая красная точка (рис. 8.1.) — здесь программа будет остановлена в процессе выполнения. Строка будет подсвечена красным цветом.

Точка останова в программе

Рис.
8.1.
Точка останова в программе

Следует понимать, что строка, подсвеченная при остановке программы еще не выполнялась — редактор указывает на нее, как бы говоря «Эта строка будет выполнена следующей».

Таких точек останова можно установить столько, сколько нужно — на тех строках программы, где вы подозреваете возникновение ошибки. Чтобы убрать точку останова, щелкните по ней мышью.

Установить точку останова в строку можно, выделив строку и выбрав команду Debug o Toggle Breakpoint (Отладка o Установить точку останова). Для удаления всех точек останова из программы можно воспользоваться командой Debug o Clear All Breakpoints (Отладка o Очистить точки останова).

Вместо точек останова, расставленных мышью или из меню, можно использовать оператор Stop. Он останавливает работу программы и переводит ее в режим отладки.

Так же режим отладки можно включить, нажав во время работы программы комбинацию клавиш Ctr + Pause Break и нажав в появившемся окне кнопку Debug. Текущая строка будет выделена желтым цветом, напротив нее будет установлена желтая стрелочка. Однако такой способ обычно не позволяет точно «попасть» в то место программы, где находится предполагаемая ошибка (рис. 8.2.).

Программа, остановленная во время выполнения

Рис.
8.2.
Программа, остановленная во время выполнения

Чтобы запущенная программа останавливалась на каждой строке, можно запустить ее в режиме Step Into командой Debug o Step Into (Отладка o Пошаговое исполнение). Того же эффекта можно достичь, нажав клавишу F8 на клавиатуре.

Когда программа остановлена, вы можете выполнить следующие действия

  • Просмотреть значения переменных, наведя на них указатель мыши. Например, на рис. 8.3. вы видите всплывающее окно, которое содержит значение переменной.

    Значение переменной во всплывающем окне

    Рис.
    8.3.
    Значение переменной во всплывающем окне

  • Продолжить выполнение программы в режиме Step Into — выбрав соответствующую команду меню или нажав клавишу F8.
  • Отредактировать программу.
  • Продолжить исполнение программы в обычном режиме командой Run o Sub/User Form (Запустить o Процедуру/Форму), нажатием клавиши F5 или соответствующей кнопкой на панели инструментов
  • Остановить выполнение программы командой Run o Reset (Запустить o Перезагрузка) или кнопкой на панели инструментов
  • Воспользоваться другими средствами отладки — окнами Immediate, Locals, Watch.

Помимо режима Step Into существуют следующие режимы отладки, доступные в меню Debug.

  • Step Over (Перейти на следующую строку). Эта команда полезна при отладке программы, содержащей вызовы уже отлаженных процедур. В режиме Step Over отладчик не входит в процедуру, выполняя ее без отладки, после чего переходит на следующую строку. Например, вы выполняете программу в режиме Step Into и при очередной остановке видите, что подсвеченная строка содержит вызов процедуры, которую отлаживать не нужно. Вы выбираете команду Step Over, процедура выполняется без остановок на каждой ее строке, после чего следующая остановка происходит на строке вашей программы, которая идет за вызовом процедуры.
  • Step Out (Выполнить процедуру) — эта команда позволяет выполнить текущую процедуру (например, вызванную из кода основной программы при обычной отладке ) без остановки в каждой строке. Следующая остановка будет сделана на строке, которая следует за вызовом процедуры в основном тексте программы.
  • Run To Cursor (Выполнить до курсора) — выполняет программу до позиции, на которой установлен курсор. Аналогично установке одиночной точки останова.

Помимо точек останова существуют и другие средства отладки. Они полезны при проверке значений переменных (ведь если переменных достаточно много — проверка их значений в коде программы может превратиться в утомительное и непродуктивное занятие), свойств объектов, которые могут вызвать ошибки и в других случаях.

Отладка программы призвана выискивать «вредителей» кода и устранять их. За это отвечают отладчик и журналирование для вывода сведений о программе.

В предыдущей части мы рассмотрели исходный код и его составляющие.

После того, как вы начнете проверять фрагменты кода или попытаетесь решить связанные с ним проблемы, вы очень скоро поймете, что существуют моменты, когда программа крашится, прерывается и прекращает работу.

Отладка программы

Это часто вызвано ошибками, известными как дефекты или исключительные ситуации во время выполнения. Акт обнаружения и удаления ошибок из нашего кода – это отладка программы. Вы лучше разберетесь в отладке на практике, используя ее как можно чаще. Мы не только отлаживаем собственный код, но и порой дебажим написанное другими программистами.

Для начала необходимо рассортировать общие ошибки, которые могут возникнуть в исходном коде.

отладка программы

Синтаксические ошибки

Эти эрроры не позволяют скомпилировать исходный код на компилируемых языках программирования. Они обнаруживаются во время компиляции или интерпретации исходного кода. Они также могут быть легко обнаружены статическими анализаторами (линтами). Подробнее о линтах мы узнаем немного позже.

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

Семантические ошибки

Отладка программы может потребоваться и по причине семантических ошибок, также известных как логические. Они являются наиболее сложными из всех, потому что не могут быть легко обнаружены. Признак того, что существует семантическая ошибка, – это когда программа запускается, отрабатывает, но не дает желаемого результата.

Рассмотрим данный пример:

3 + 5 * 6

По порядку приоритета, называемому старшинством операции, с учетом математических правил мы ожидаем, что сначала будет оценена часть умножения, и окончательный результат будет равен 33. Если программист хотел, чтобы сначала происходило добавление двух чисел, следовало поступить иначе. Для этого используются круглые скобки, которые отвечают за смещение приоритетов в математической формуле. Исправленный пример должен выглядеть так:

(3 + 5) * 6

3 + 5, заключенные в скобки, дадут желаемый результат, а именно 48.

Ошибки в процессе выполнения

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

Вот хороший пример:

input = 25
x = 0.8/(Math.sqrt(input) - 5)

Фрагмент кода выше будет скомпилирован успешно, но input 25 приведет к ZeroDivisionError. Это ошибка во время выполнения. Другим популярным примером является StackOverflowError или IndexOutofBoundError. Важно то, что вы идентифицируете эти ошибки и узнаете, как с ними бороться.

Существуют ошибки, связанные с тем, как ваш исходный код использует память и пространство на платформе или в среде, в которой он запущен. Они также являются ошибками во время выполнения. Такие ошибки, как OutOfMemoryErrorand и HeapError обычно вызваны тем, что ваш исходный код использует слишком много ресурсов. Хорошее знание алгоритмов поможет написать код, который лучше использует ресурсы. В этом и заключается отладка программы.

Процесс перезаписи кода для повышения производительности называется оптимизацией. Менее популярное наименование процесса – рефакторинг. Поскольку вы тратите больше времени на кодинг, то должны иметь это в виду.

Отладка программы

Вот несколько советов о том, как правильно выполнять отладку:

  1. Использовать Linters. Linters – это инструменты, которые помогают считывать исходный код, чтобы проверить, соответствует ли он ожидаемому стандарту на выбранном языке программирования. Существуют линты для многих языков.
  2. Превалирование IDE над простыми редакторами. Вы можете выбрать IDE, разработанную для языка, который изучаете. IDE – это интегрированные среды разработки. Они созданы для написания, отладки, компиляции и запуска кода. Jetbrains создают отличные IDE, такие как Webstorm и IntelliJ. Также есть NetBeans, Komodo, Qt, Android Studio, XCode (поставляется с Mac), etc.
  3. Чтение кода вслух. Это полезно, когда вы ищете семантическую ошибку. Читая свой код вслух, есть большая вероятность, что вы зачитаете и ошибку.
  4. Чтение логов. Когда компилятор отмечает Error, обязательно посмотрите, где он находится.

Двигаемся дальше

Поздравляем! Слово «ошибка» уже привычно для вас, равно как и «отладка программы». В качестве новичка вы можете изучать кодинг по книгам, онлайн-урокам или видео. И даже чужой код вам теперь не страшен 🙂

В процессе кодинга измените что-нибудь, чтобы понять, как он работает. Но будьте уверены в том, что сами написали.

Викторина

  1. Какая ошибка допущена в фрагменте кода Python ниже?
items = [0,1,2,3,4,5]
print items[8]
//комментарий: элементы здесь представляют собой массив с шестью элементами. Например, чтобы получить 4-й элемент, вы будете использовать [3]. Мы начинаем отсчет с 0.
  1. Какая ошибка допущена в фрагменте кода Python ниже?
input = Hippo'
if input == 'Hippo':
  print 'Hello, Hippo'

Ответы на вопросы

  1. Ошибка выполнения: ошибка индекса вне диапазона.

2. Синтаксическая ошибка: Отсутствует стартовая кавычка в первой строке.

Compilation generally occur in several stages:lexical analysis, syntax analysis, etc. Say, in C language, I wrote

a=24;

without declaring a as int. Now, at what stage of compilation an error is detected? At syntax analysis stage? If that is the case, then what does lexical analyzer do? Just tokenizing the source code?

Am_I_Helpful's user avatar

Am_I_Helpful

18.6k7 gold badges51 silver badges73 bronze badges

asked Feb 16, 2015 at 13:16

AV94's user avatar

4

If talking about a general form of compiler,it is obvious that the error will occur at the syntax analysis phase when the parser will look for the symbol searching in symbol table entries ,and the subsequent phases — only if processed further after recovering from error.

The dragon book also clearly tells that. It is mentioned in the page where the types of error are mentioned. The topic to be studied thoroughly to understand this issue is given in 4.1.3 — Syntax Error Handling .

a = 24;   // without declaring a as an int type variable.

Here, the work of lexical phase is simply to access characters and form tokens and subsequently pass them to the further phases,i.e., to the parse in the syntax analysis phase,etc.

answered Feb 16, 2015 at 13:22

Am_I_Helpful's user avatar

Am_I_HelpfulAm_I_Helpful

18.6k7 gold badges51 silver badges73 bronze badges

9

I don’t know your compiler, but in general this would be in the parsing stage (syntax analysis) and not the lexical stage (tokenizing). Most C compilers will be written using a lex/yacc variant, which makes the above assumption more plausible. If you want to know the details, dive into the dragon book, a great resource.

If I were to write the compiler, I’d have the lexical analyzer spit out tokens (in this case: a, =, 24 and finally ;). The parser would maintain a symbol table and upon seeing the symbol a it would check whether the symbol was in the table; if not (as in your example) it would signal an error.

answered Feb 16, 2015 at 13:22

Karel Kubat's user avatar

Karel KubatKarel Kubat

1,62511 silver badges12 bronze badges

Compilation generally occur in several stages:lexical analysis, syntax analysis, etc. Say, in C language, I wrote

a=24;

without declaring a as int. Now, at what stage of compilation an error is detected? At syntax analysis stage? If that is the case, then what does lexical analyzer do? Just tokenizing the source code?

Am_I_Helpful's user avatar

Am_I_Helpful

18.6k7 gold badges51 silver badges73 bronze badges

asked Feb 16, 2015 at 13:16

AV94's user avatar

4

If talking about a general form of compiler,it is obvious that the error will occur at the syntax analysis phase when the parser will look for the symbol searching in symbol table entries ,and the subsequent phases — only if processed further after recovering from error.

The dragon book also clearly tells that. It is mentioned in the page where the types of error are mentioned. The topic to be studied thoroughly to understand this issue is given in 4.1.3 — Syntax Error Handling .

a = 24;   // without declaring a as an int type variable.

Here, the work of lexical phase is simply to access characters and form tokens and subsequently pass them to the further phases,i.e., to the parse in the syntax analysis phase,etc.

answered Feb 16, 2015 at 13:22

Am_I_Helpful's user avatar

Am_I_HelpfulAm_I_Helpful

18.6k7 gold badges51 silver badges73 bronze badges

9

I don’t know your compiler, but in general this would be in the parsing stage (syntax analysis) and not the lexical stage (tokenizing). Most C compilers will be written using a lex/yacc variant, which makes the above assumption more plausible. If you want to know the details, dive into the dragon book, a great resource.

If I were to write the compiler, I’d have the lexical analyzer spit out tokens (in this case: a, =, 24 and finally ;). The parser would maintain a symbol table and upon seeing the symbol a it would check whether the symbol was in the table; if not (as in your example) it would signal an error.

answered Feb 16, 2015 at 13:22

Karel Kubat's user avatar

Karel KubatKarel Kubat

1,62511 silver badges12 bronze badges

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • На истекшей неделе произошли такие события ошибка
  • На каком этапе решения на эвм выявляются синтаксические ошибки