Алгоритмические ошибки это ошибки тест

Аннотация: Лекция носит факультативный характер. Здесь мы рассматриваем виды допускаемых в программировании ошибок, способы тестирования и отладки программ, инструменты встроенного отладчика.

Цель лекции

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

Тестирование и отладка программы

Чем больше опыта имеет программист, тем меньше ошибок в коде он совершает. Но, хотите верьте, хотите нет, даже самый опытный программист всё же допускает ошибки. И любая современная среда разработки программ должна иметь собственные инструменты для отладки приложений, а также для своевременного обнаружения и исправления возможных ошибок. Программные ошибки на программистском сленге называют багами (англ. bug — жук), а программы отладки кода — дебаггерами (англ. debugger — отладчик). Lazarus, как современная среда разработки приложений, имеет собственный встроенный отладчик, работу с которым мы разберем на этой лекции.

Ошибки, которые может допустить программист, условно делятся на три группы:

  1. Синтаксические
  2. Времени выполнения (run-time errors)
  3. Алгоритмические

Синтаксические ошибки

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

Найденная компилятором синтаксическая ошибка - нет объявления переменной i

Рис.
27.1.
Найденная компилятором синтаксическая ошибка — нет объявления переменной i

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

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

Ошибки времени выполнения

Ошибки времени выполнения (run-time errors) тоже, как правило, легко устранимы. Они обычно проявляются уже при первых запусках программы, или во время тестирования. Если такую программу запустить из среды Lazarus, то она скомпилируется, но при попытке загрузки, или в момент совершения ошибки, приостановит свою работу, выведя на экран соответствующее сообщение. Например, такое:

Сообщение Lazarus об ошибке времени выполнения

Рис.
27.2.
Сообщение Lazarus об ошибке времени выполнения

В данном случае программа при загрузке должна была считать в память отсутствующий текстовый файл MyFile.txt. Поскольку программа вызвала ошибку, она не запустилась, но в среде Lazarus процесс отладки продолжается, о чем свидетельствует сообщение в скобках в заголовке главного меню, после названия проекта. Программисту в подобных случаях нужно сбросить отладчик командой меню «Запуск -> Сбросить отладчик«, после чего можно продолжить работу над проектом.

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

Если программу запустить из самой Windows, при возникновении этой ошибки появится такое же сообщение. При этом если нажать «OK«, программа даже может запуститься, но корректно работать все равно не будет.

Ошибки времени выполнения бывают не только явными, но и неявными, при которых программа продолжает свою работу, не выводя никаких сообщений, а программист даже не догадывается о наличии ошибки. Примером неявной ошибки может служить так называемая утечка памяти. Утечка памяти возникает в случаях, когда программист забывает освободить выделенную под объект память. Например, мы объявляем переменную типа TStringList, и работаем с ней:

begin
  MySL:= TStringList.Create;
  MySL.Add('Новая строка');
end;
    

В данном примере программист допустил типичную для начинающих ошибку — не освободил класс TStringList. Это не приведет к сбою или аварийному завершению программы, но в итоге можно бесполезно израсходовать очень много памяти. Конечно, эта память будет освобождена после выгрузки программы (за этим следит операционная система), но утечка памяти во время выполнения программы тоже может привести к неприятным последствиям, потребляя все больше и больше ресурсов и излишне нагружая процессор. В подобных случаях после работы с объектом программисту нужно не забывать освобождать память:

begin
  MySL:= TStringList.Create;
  MySL.Add('Новая строка');
  ...; //работа с объектом
  MySL.Free; //освободили объект
end;
    

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

begin
  try
    MySL:= TStringList.Create;
    MySL.Add('Новая строка');
    ...; //работа с объектом
  finally
    MySL.Free; //освободили объект, даже если была ошибка
  end;
end;
    

Итак, во избежание ошибок времени выполнения программист должен не забывать делать проверку на правильность ввода пользователем допустимых значений, заключать опасный код в блоки try…finally…end или try…except…end, делать проверку на существование открываемого файла функцией FileExists и вообще соблюдать предусмотрительность во всех слабых местах программы. Не полагайтесь на пользователя, ведь недаром говорят, что если в программе можно допустить ошибку, пользователь эту возможность непременно найдет.

Алгоритмические ошибки

Если вы не допустили ни синтаксических ошибок, ни ошибок времени выполнения, программа скомпилировалась, запустилась и работает нормально, то это еще не означает, что в программе нет ошибок. Убедиться в этом можно только в процессе её тестирования.

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

Если программа работает правильно с одними наборами исходных данных, и неправильно с другими, то это свидетельствует о наличии алгоритмической ошибки. Алгоритмические ошибки иногда называют логическими, обычно они связаны с неверной реализацией алгоритма программы: вместо «+» ошибочно поставили «-«, вместо «/» — «*», вместо деления значения на 0,01 разделили на 0,001 и т.п. Такие ошибки обычно не обнаруживаются во время компиляции, программа нормально запускается, работает, а при анализе выводимого результата выясняется, что он неверный. При этом компилятор не укажет программисту на ошибку — чтобы найти и устранить её, приходится анализировать код, пошагово «прокручивать» его выполнение, следя за результатом. Такой процесс называется отладкой.

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

Тест
по предмету технология разработки ПО

Задание №1

Вопрос:

Что такое модель жизненного цикла программного обеспечения

Выберите один из 5 вариантов ответа:

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

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

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

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

5) структура, содержащая процессы действия и задачи, которые
осуществляются в ходе разработки.

Задание №2

Вопрос:

Дана модель:

1-Постановка задачи

2-Выполнение

3-Проверка результата

4-При необходимости переход к первому пункту

Выберите название данной модели

Выберите один из 5 вариантов ответа:

1) Каскадная модель

2) Модель кодирования и устранения ошибок

3) Каскадная модель с промежуточным контролем

4) V модель

5) Спиральная модель

Задание №3

Вопрос:

Какая это модель жизненного цикла программного обеспечения?
(Нажмите на изображение)

Изображение:

Выберите один из 5 вариантов ответа:

1) Каскадная модель (водопад)

2) Каскадная модель с промежуточным контролем

3) V модель

4) Модель кодирования и устранения ошибок

5) Спиральная модель жизненного цикла ПО

Задание №4

Вопрос:

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

Выберите один из 5 вариантов ответа:

1) 7

2) 6

3) 3

4) 5

5) 4

Задание №5

Вопрос:

Согласно ГОСТ 19.102-77, в этап: Разработка программы входит

Выберите один из 5 вариантов ответа:

1) Программирование
и отладка программы.

2) Разработка плана
мероприятий по разработке и внедрению программ.

3) Разработка
программных документов в соответствии с требованиями ГОСТ 19.101-77.

4) Разработка,
согласование и утверждение порядка и методики испытаний.

5) Корректировка
программы и программной документации по результатам испытаний.

Задание №6

Вопрос:

Согласно ГОСТ 19.102-77, на стадии 1.Техническое задание
выполняется

Выберите один из 5 вариантов ответа:

1) Постановка задачи. Сбор исходных материалов

2) Уточнение структуры входных и выходных данных. Постановка
задачи.

3) Сбор исходных материалов, Разработка алгоритма решения задачи

4) Разработка структуры, Постановка задачи, Сбр исходных материаов

5) Постановка задачи, Сбор исходных материалов, Обоснование
необходимости проведения научно-исследовательских работ

Задание №7

Вопрос:

ГОСТ 19.001-77 отвечает за

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Виды программ

3) Стадии разработки

4) Общие требования

5) Основные надписи

Задание №8

Вопрос:

ГОСТ 19.101-77 отвечает за

Выберите один из 5 вариантов ответа:

1) Виды программ

2) Виды программ и программной документации

3) Виды программной документации и общие положения

4) Виды программ и общие положения

5) Виды программ и программной обозначений

Задание №9

Вопрос:

Что такое ЕСПД?

Выберите один из 5 вариантов ответа:

1) Единая система программной документации

2) Единая система проектной документации

3) Единый стандарт проектной документации

4) Единсветнный стандарт программной документации

5) Нет ответа

Задание №10

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «0» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

4) Правила выполнения документации изготовления

5) Правила обащения программной документации

Задание №11

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «1» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

4) Правила выполнения документации изготовления

5) Правила обащения программной документации

Задание №12

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «2» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

4) Правила выполнения документации изготовления

5) Правила обащения программной документации

Задание №13

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «3» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

4) Правила выполнения документации изготовления

5) Правила обащения программной документации

Задание №14

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «4» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

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

5) Правила обащения программной документации

Задание №15

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «5» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

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

5) Правила обащения программной документации

Задание №16

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «6» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Общие положения

2) Основопологающие стандарты

3) Правила выполнения документации разработки

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

5) Правила обащения программной документации

Задание №17

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «7/8» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Резервные группы

2) Основопологающие стандарты

3) Правила выполнения документации разработки

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

5) Правила обащения программной документации

Задание №18

Вопрос:

Классификация и обозначения стандартов ЕСПД. За что отвечает
группа «9» в стандартах ЕСПД

Выберите один из 5 вариантов ответа:

1) Резервные группы

2) Прочие стандарты

3) Правила выполнения документации разработки

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

5) Правила обащения программной документации

Задание №19

Вопрос:

2-ух значное число после точки в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:

1) Порядковый номер стандарта в группе

2) Год регистрации стандарта

3) Классификацию группы стандарта

4) Общие положения

5) Порядковый номер стандарта в регистрационной базе

Задание №20

Вопрос:

2-ух значное число до тере в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:

1) Порядковый номер стандарта в группе

2) Год регистрации стандарта

3) Классификацию группы

4) Общие положения

5) Порядковый номер стандарта в регистрационной базе

Задание №21

Вопрос:

2-ух значное число после тере в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:

1) Порядковый номер стандарта в группе

2) Год регистрации стандарта

3) Классификацию группы

4) Общие положения

5) Порядковый номер стандарта в регистрационной базе

Задание №22

Вопрос:

ГОСТ 19.102-77 отвечает за

Выберите один из 5 вариантов ответа:

1) Стадии разработки

2) Виды программ

3) Стадии разработки

4) Общие требования

5) Основные надписи

Задание №23

Вопрос:

ГОСТ 19.103-77 отвечает за

Выберите один из 5 вариантов ответа:

1) Стадии разработки

2) Обозначения программ и программных документов

3) Стадии разработки

4) Общие требования

5) Основные надписи

Задание №24

Вопрос:

ГОСТ 19.104-78 отвечает за

Выберите один из 5 вариантов ответа:

1) Стадии разработки

2) Основные надписи

3) Стадии разработки

4) Общие требования

5) Основные надписи

Задание №25

Вопрос:

ГОСТ 19.402-78 отвечает за

Выберите один из 5 вариантов ответа:

1) Стадии разработки

2) Описание программы

3) Стадии разработки

4) Общие требования

5) Основные надписи

Задание №26

Вопрос:

Укажите правильную запись стандарта ЕСПД

Выберите один из 5 вариантов ответа:

1) ГОСТ 19-001-787

2) ГОСТ 19-002.487

3) ГОСТ Е19.00-1997

4) ГОСТ 19.103-77г.

5) ГОСТ 19.103-77

Задание №27

Вопрос:

Что такое ситль программирования?

Выберите один из 5 вариантов ответа:

1) Набор приемов и методов программирования, которые необходимы
соблюдать при написании программы

2) Программирование, которое стилилизуется при написании программы

3) Хороший стиль программрования

4) Набор элементов, которые образуют надежность, дружественность,
отличный интерефейс

5) Использование отпустоп

Задание №28

Вопрос:

Что подрузумевает хороший стиль программирования?

Выберите один из 5 вариантов ответа:

1) Использование переменных

2) Использование комментариев

3) Использование программ

4) Использование UI

5) Качественные переменные

Задание №29

Вопрос:

Что такое надежность?

Выберите один из 5 вариантов ответа:

1) Программа контролирует исходные данные, проверяет результат
выполнение операции

2) Программа контролирует выходные данные, проверяет рузельтат
выполнения

3) Предпологает хорошо спроектирование диалоговые окна

4) Хороший интерефйс

5) Качественный код

Задание №30

Вопрос:

Что такое дружественность?

Выберите один из 5 вариантов ответа:

1) Программа контролирует исходные данные, проверяет результат
выполнение операции

2) Программа контролирует выходные данные, проверяет рузельтат
выполнения

3) Предпологает хорошо спроектирование диалоговые окна

4) Хороший интерефйс

5) Качественный код

Задание №31

Вопрос:

Что такое транслятор?

Выберите один из 5 вариантов ответа:

1) Программа для переводы с языка программирования на машинные
коды

2) Программа для изменения кода

3) Программа для создания изменений исходных программ

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

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

Задание №32

Вопрос:

Что такое компилятор?

Выберите один из 5 вариантов ответа:

1) Переводит исходный текст программы в язык программирования
низкого уровня

2) Переводит исходный текст программы в язык программирования
высокого уровня

3) Переводит исходный текст программы в процедуру

4) Переводит программу в функцию

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

Задание №33

Вопрос:

Что выполняет интерпритатор?

Выберите один из 5 вариантов ответа:

1) Выполняет покомандную обработку текста программы

2) Выполняет перевод

3) Выполняет покомандную переводку текста программы

4) Выполняет текст программы

5) Выполняет функцию обработки текста программы

Задание №34

Вопрос:

Что такое структурное программирование?

Выберите один из 5 вариантов ответа:

1) Методология разработки ПО, в основе которых лежит представление
программ в виде иерархической структуре блоков

2) Методология разраюотки ПО, в основе которых лежит представление
программ в виде блоков

3) Разработки из частей

4) Программирование по частям одной процедуры

5) Методология разработки ПО, в основе которых лежит представление
программ в виде линейной задачи

Задание №35

Вопрос:

Цель структурного программирования:

Выберите один из 5 вариантов ответа:

1) Снижение памят всего процесса создания ПО

2) Снижение затрат всего процесса создания ПО

3) Снижение трудоемкости всего процесса создания ПО

4) Снижение работоспособности всего процесса создания ПО

5) Снижение трудоемкости описания создания ПО

Задание №36

Вопрос:

Что представляет метод восходящей разработки?

Выберите один из 5 вариантов ответа:

1) 1) Строется модель структуры программы в виде дерева

2) Программируется цункции начиная с самого нижнего

2) 1) Строется модель структуры программы в виде структуры

2) Поочередно программируются модули начиная с самого нижнего

3) 1) Строется модель структуры программы в виде структуры

2) Поочередно программируются модули начиная с самого верхнего

4) 1) Строется модель структуры программы в виде дерева

2) Поочередно программируются модули начиная с самого верхнего

5) 1) Строется модель структуры программы в виде дерева

2) Поочередно программируются функции и переменные начиная с
самого верхнего

Задание №37

Вопрос:

Что представляет метод нисходящей разработки?

Выберите один из 5 вариантов ответа:

1) 1) Строется модель структуры программы в виде дерева

2) Программируется цункции начиная с самого нижнего

2) 1) Строется модель структуры программы в виде структуры

2) Поочередно программируются модули начиная с самого нижнего

3) 1) Строется модель структуры программы в виде функций

2) Поочередно программируются модули начиная с самого верхнего

4) 1) Строется модель структуры программы в виде дерева

2) Поочередно программируются модули начиная с самого верхнего

5) 1) Строется модель структуры программы в виде дерева

2) Поочередно программируются функции и переменные начиная с
самого верхнего

Задание №38

Вопрос:

Какого вида ошибок не существует?

Выберите один из 5 вариантов ответа:

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

2) Алгоритмические

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

4) Ошибки времени выполнения

5) Структурированные

Задание №39

Вопрос:

Синтеаксические ошибки, это ошибки

Выберите один из 5 вариантов ответа:

1) ошибки времени компиляции

2) ошибки при выполнении

3) ошибки при подсчете

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

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

Задание №40

Вопрос:

Алгоритмические ошибки, это ошибки

Выберите один из 5 вариантов ответа:

1) ошибки времени компиляции

2) ошибки при выполнении

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

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

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

Задание №41

Вопрос:

Угроза это

Выберите один из 5 вариантов ответа:

1) потенциальное возможное событие, действие, процесс или явление,
которое может привести к нанесению хороших данных

2) возможное событие, действие, процесс или явление, которое может
привести к  сохранности данных

3) потенциальное возможное событие, действие, процесс или явление,
которое может привести к нанесению изменению данных

4) потенциальное возможное событие, действие, процесс или явление,
которое может привести к нанесению ущерба.

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

Задание №42

Вопрос:

Область распространения ЕСПД

Выберите один из 5 вариантов ответа:

1) Распространяются на документы

2) Рспространяются на компьютерное оборудование

3) Распространяется на программы

4) Распространяется на чертежи

5) Распространяется на

Задание №43

Вопрос:

Правильная запись оформления рисунков

Выберите один из 5 вариантов ответа:

1)  … (см.рис. 6).

{рисунок}

Рисунок
6. Описание

2)  … (см.рисунок. 6).

{рисунок}

Рисунок
6-Описание

3)  … (см.рис. 6).

{рисунок}

Рисунок
6-Описание

4)  … (см.рис. 6).

{рисунок}

Рис. 6
Описание

5)  … (см.рис. 6).

{рисунок}

Рис. 6
— Описание

Задание №44

Вопрос:

Из каких 2 составлющих состоит надежность программ

Выберите один из 5 вариантов ответа:

1) Корректность и Контроль

2) Корректность и Обеспечение

3) Корректность и Устойчивость

4) Устойчивость и Контроль

5) Обеспечение и Контроль

Ответы:

1) (1 б.) Верные ответы: 1;

2) (1 б.) Верные ответы: 2;

3) (1 б.) Верные ответы: 1;

4) (1 б.) Верные ответы: 4;

5) (1 б.) Верные ответы: 1;

6) (1 б.) Верные ответы: 5;

7) (1 б.) Верные ответы: 1;

8) (1 б.) Верные ответы: 2;

9) (1 б.) Верные ответы: 1;

10) (1 б.) Верные ответы: 1;

11) (1 б.) Верные ответы: 2;

12) (1 б.) Верные ответы: 3;

13) (1 б.) Верные ответы: 4;

14) (1 б.) Верные ответы: 4;

15) (1 б.) Верные ответы: 4;

16) (1 б.) Верные ответы: 5;

17) (1 б.) Верные ответы: 1;

18) (1 б.) Верные ответы: 2;

19) (1 б.) Верные ответы: 3;

20) (1 б.) Верные ответы: 1;

21) (1 б.) Верные ответы: 2;

22) (1 б.) Верные ответы: 1;

23) (1 б.) Верные ответы: 2;

24) (1 б.) Верные ответы: 2;

25) (1 б.) Верные ответы: 2;

26) (1 б.) Верные ответы: 5;

27) (1 б.) Верные ответы: 1;

28) (1 б.) Верные ответы: 2;

29) (1 б.) Верные ответы: 1;

30) (1 б.) Верные ответы: 3;

31) (1 б.) Верные ответы: 1;

32) (1 б.) Верные ответы: 2;

33) (1 б.) Верные ответы: 1;

34) (1 б.) Верные ответы: 1;

35) (1 б.) Верные ответы: 3;

36) (1 б.) Верные ответы: 4;

37) (1 б.) Верные ответы: 4;

38) (1 б.) Верные ответы: 5;

39) (1 б.) Верные ответы: 1;

40) (1 б.) Верные ответы: 3;

41) (1 б.) Верные ответы: 4;

42) (1 б.) Верные ответы: 3;

43) (1 б.) Верные ответы: 1;

44) (1 б.) Верные ответы: 3;

Аннотация: Лекция носит факультативный характер. Здесь мы рассматриваем виды допускаемых в программировании ошибок, способы тестирования и отладки программ, инструменты встроенного отладчика.

Цель лекции

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

Тестирование и отладка программы

Чем больше опыта имеет программист, тем меньше ошибок в коде он совершает. Но, хотите верьте, хотите нет, даже самый опытный программист всё же допускает ошибки. И любая современная среда разработки программ должна иметь собственные инструменты для отладки приложений, а также для своевременного обнаружения и исправления возможных ошибок. Программные ошибки на программистском сленге называют багами (англ. bug — жук), а программы отладки кода — дебаггерами (англ. debugger — отладчик). Lazarus, как современная среда разработки приложений, имеет собственный встроенный отладчик, работу с которым мы разберем на этой лекции.

Ошибки, которые может допустить программист, условно делятся на три группы:

  1. Синтаксические
  2. Времени выполнения (run-time errors)
  3. Алгоритмические

Синтаксические ошибки

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

Найденная компилятором синтаксическая ошибка - нет объявления переменной i

Рис.
27.1.
Найденная компилятором синтаксическая ошибка — нет объявления переменной i

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

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

Ошибки времени выполнения

Ошибки времени выполнения (run-time errors) тоже, как правило, легко устранимы. Они обычно проявляются уже при первых запусках программы, или во время тестирования. Если такую программу запустить из среды Lazarus, то она скомпилируется, но при попытке загрузки, или в момент совершения ошибки, приостановит свою работу, выведя на экран соответствующее сообщение. Например, такое:

Сообщение Lazarus об ошибке времени выполнения

Рис.
27.2.
Сообщение Lazarus об ошибке времени выполнения

В данном случае программа при загрузке должна была считать в память отсутствующий текстовый файл MyFile.txt. Поскольку программа вызвала ошибку, она не запустилась, но в среде Lazarus процесс отладки продолжается, о чем свидетельствует сообщение в скобках в заголовке главного меню, после названия проекта. Программисту в подобных случаях нужно сбросить отладчик командой меню «Запуск -> Сбросить отладчик«, после чего можно продолжить работу над проектом.

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

Если программу запустить из самой Windows, при возникновении этой ошибки появится такое же сообщение. При этом если нажать «OK«, программа даже может запуститься, но корректно работать все равно не будет.

Ошибки времени выполнения бывают не только явными, но и неявными, при которых программа продолжает свою работу, не выводя никаких сообщений, а программист даже не догадывается о наличии ошибки. Примером неявной ошибки может служить так называемая утечка памяти. Утечка памяти возникает в случаях, когда программист забывает освободить выделенную под объект память. Например, мы объявляем переменную типа TStringList, и работаем с ней:

begin
  MySL:= TStringList.Create;
  MySL.Add('Новая строка');
end;
    

В данном примере программист допустил типичную для начинающих ошибку — не освободил класс TStringList. Это не приведет к сбою или аварийному завершению программы, но в итоге можно бесполезно израсходовать очень много памяти. Конечно, эта память будет освобождена после выгрузки программы (за этим следит операционная система), но утечка памяти во время выполнения программы тоже может привести к неприятным последствиям, потребляя все больше и больше ресурсов и излишне нагружая процессор. В подобных случаях после работы с объектом программисту нужно не забывать освобождать память:

begin
  MySL:= TStringList.Create;
  MySL.Add('Новая строка');
  ...; //работа с объектом
  MySL.Free; //освободили объект
end;
    

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

begin
  try
    MySL:= TStringList.Create;
    MySL.Add('Новая строка');
    ...; //работа с объектом
  finally
    MySL.Free; //освободили объект, даже если была ошибка
  end;
end;
    

Итак, во избежание ошибок времени выполнения программист должен не забывать делать проверку на правильность ввода пользователем допустимых значений, заключать опасный код в блоки try…finally…end или try…except…end, делать проверку на существование открываемого файла функцией FileExists и вообще соблюдать предусмотрительность во всех слабых местах программы. Не полагайтесь на пользователя, ведь недаром говорят, что если в программе можно допустить ошибку, пользователь эту возможность непременно найдет.

Алгоритмические ошибки

Если вы не допустили ни синтаксических ошибок, ни ошибок времени выполнения, программа скомпилировалась, запустилась и работает нормально, то это еще не означает, что в программе нет ошибок. Убедиться в этом можно только в процессе её тестирования.

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

Если программа работает правильно с одними наборами исходных данных, и неправильно с другими, то это свидетельствует о наличии алгоритмической ошибки. Алгоритмические ошибки иногда называют логическими, обычно они связаны с неверной реализацией алгоритма программы: вместо «+» ошибочно поставили «-«, вместо «/» — «*», вместо деления значения на 0,01 разделили на 0,001 и т.п. Такие ошибки обычно не обнаруживаются во время компиляции, программа нормально запускается, работает, а при анализе выводимого результата выясняется, что он неверный. При этом компилятор не укажет программисту на ошибку — чтобы найти и устранить её, приходится анализировать код, пошагово «прокручивать» его выполнение, следя за результатом. Такой процесс называется отладкой.

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

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

Тест по предмету технология разработки ПО

Задание №1
Вопрос:
Что такое модель жизненного цикла программного обеспечения

Выберите один из 5 вариантов ответа:
1) структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
2) модель содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
3) действия содержащие процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
4) структура, содержащая процессы задачи, которые осуществляются в ходе использования и сопровождения программного продукта.
5) структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки.

Задание №2
Вопрос:
Дана модель:
1-Постановка задачи
2-Выполнение
3-Проверка результата
4-При необходимости переход к первому пункту
Выберите название данной модели

Выберите один из 5 вариантов ответа:
1) Каскадная модель
2) Модель кодирования и устранения ошибок
3) Каскадная модель с промежуточным контролем
4) V модель
5) Спиральная модель

Задание №3
Вопрос:
Какая это модель жизненного цикла программного обеспечения? (Нажмите на изображение)
Изображение:

Выберите один из 5 вариантов ответа:
1) Каскадная модель (водопад)
2) Каскадная модель с промежуточным контролем
3) V модель
4) Модель кодирования и устранения ошибок
5) Спиральная модель жизненного цикла ПО

Задание №4
Вопрос:
Количество стадий, разработки программного обеспечения

Выберите один из 5 вариантов ответа:
1) 7
2) 6
3) 3
4) 5
5) 4

Задание №5
Вопрос:
Согласно ГОСТ 19.102-77, в этап: Разработка программы входит

Выберите один из 5 вариантов ответа:
1) Программирование и отладка программы.
2) Разработка плана мероприятий по разработке и внедрению программ.

3) Разработка программных документов в соответствии с требованиями ГОСТ 19.101-77.
4) Разработка, согласование и утверждение порядка и методики испытаний.

5) Корректировка программы и программной документации по результатам испытаний.

Задание №6
Вопрос:
Согласно ГОСТ 19.102-77, на стадии 1.Техническое задание выполняется

Выберите один из 5 вариантов ответа:
1) Постановка задачи. Сбор исходных материалов
2) Уточнение структуры входных и выходных данных. Постановка задачи.
3) Сбор исходных материалов, Разработка алгоритма решения задачи
4) Разработка структуры, Постановка задачи, Сбр исходных материаов
5) Постановка задачи, Сбор исходных материалов, Обоснование необходимости проведения научно-исследовательских работ

Задание №7
Вопрос:
ГОСТ 19.001-77 отвечает за

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Виды программ
3) Стадии разработки
4) Общие требования
5) Основные надписи

Задание №8
Вопрос:
ГОСТ 19.101-77 отвечает за

Выберите один из 5 вариантов ответа:
1) Виды программ
2) Виды программ и программной документации
3) Виды программной документации и общие положения
4) Виды программ и общие положения
5) Виды программ и программной обозначений

Задание №9
Вопрос:
Что такое ЕСПД?

Выберите один из 5 вариантов ответа:
1) Единая система программной документации
2) Единая система проектной документации
3) Единый стандарт проектной документации
4) Единсветнный стандарт программной документации
5) Нет ответа

Задание №10
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “0” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации изготовления
5) Правила обащения программной документации

Задание №11
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “1” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации изготовления
5) Правила обащения программной документации

Задание №12
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “2” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации изготовления
5) Правила обащения программной документации

Задание №13
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “3” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации изготовления
5) Правила обащения программной документации

Задание №14
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “4” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации сопровождения
5) Правила обащения программной документации

Задание №15
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “5” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации эксплуатации документации
5) Правила обащения программной документации

Задание №16
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “6” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Общие положения
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации эксплуатации документации
5) Правила обащения программной документации

Задание №17
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “7/8” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Резервные группы
2) Основопологающие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации эксплуатации документации
5) Правила обащения программной документации

Задание №18
Вопрос:
Классификация и обозначения стандартов ЕСПД. За что отвечает группа “9” в стандартах ЕСПД

Выберите один из 5 вариантов ответа:
1) Резервные группы
2) Прочие стандарты
3) Правила выполнения документации разработки
4) Правила выполнения документации эксплуатации документации
5) Правила обащения программной документации

Задание №19
Вопрос:
2-ух значное число после точки в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:
1) Порядковый номер стандарта в группе
2) Год регистрации стандарта
3) Классификацию группы стандарта
4) Общие положения
5) Порядковый номер стандарта в регистрационной базе

Задание №20
Вопрос:
2-ух значное число до тере в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:
1) Порядковый номер стандарта в группе
2) Год регистрации стандарта
3) Классификацию группы
4) Общие положения
5) Порядковый номер стандарта в регистрационной базе

Задание №21
Вопрос:
2-ух значное число после тере в стандартах ЕСПД обзначает

Выберите один из 5 вариантов ответа:
1) Порядковый номер стандарта в группе
2) Год регистрации стандарта
3) Классификацию группы
4) Общие положения
5) Порядковый номер стандарта в регистрационной базе

Задание №22
Вопрос:
ГОСТ 19.102-77 отвечает за

Выберите один из 5 вариантов ответа:
1) Стадии разработки
2) Виды программ
3) Стадии разработки
4) Общие требования
5) Основные надписи

Задание №23
Вопрос:
ГОСТ 19.103-77 отвечает за

Выберите один из 5 вариантов ответа:
1) Стадии разработки
2) Обозначения программ и программных документов
3) Стадии разработки
4) Общие требования
5) Основные надписи

Задание №24
Вопрос:
ГОСТ 19.104-78 отвечает за

Выберите один из 5 вариантов ответа:
1) Стадии разработки
2) Основные надписи
3) Стадии разработки
4) Общие требования
5) Основные надписи

Задание №25
Вопрос:
ГОСТ 19.402-78 отвечает за

Выберите один из 5 вариантов ответа:
1) Стадии разработки
2) Описание программы
3) Стадии разработки
4) Общие требования
5) Основные надписи

Задание №26
Вопрос:
Укажите правильную запись стандарта ЕСПД

Выберите один из 5 вариантов ответа:
1) ГОСТ 19-001-787
2) ГОСТ 19-002.487
3) ГОСТ Е19.00-1997
4) ГОСТ 19.103-77г.
5) ГОСТ 19.103-77

Задание №27
Вопрос:
Что такое ситль программирования?

Выберите один из 5 вариантов ответа:
1) Набор приемов и методов программирования, которые необходимы соблюдать при написании программы
2) Программирование, которое стилилизуется при написании программы
3) Хороший стиль программрования
4) Набор элементов, которые образуют надежность, дружественность, отличный интерефейс
5) Использование отпустоп

Задание №28
Вопрос:
Что подрузумевает хороший стиль программирования?

Выберите один из 5 вариантов ответа:
1) Использование переменных
2) Использование комментариев
3) Использование программ
4) Использование UI
5) Качественные переменные

Задание №29
Вопрос:
Что такое надежность?

Выберите один из 5 вариантов ответа:
1) Программа контролирует исходные данные, проверяет результат выполнение операции
2) Программа контролирует выходные данные, проверяет рузельтат выполнения
3) Предпологает хорошо спроектирование диалоговые окна
4) Хороший интерефйс
5) Качественный код

Задание №30
Вопрос:
Что такое дружественность?

Выберите один из 5 вариантов ответа:
1) Программа контролирует исходные данные, проверяет результат выполнение операции
2) Программа контролирует выходные данные, проверяет рузельтат выполнения
3) Предпологает хорошо спроектирование диалоговые окна
4) Хороший интерефйс
5) Качественный код

Задание №31
Вопрос:
Что такое транслятор?

Выберите один из 5 вариантов ответа:
1) Программа для переводы с языка программирования на машинные коды
2) Программа для изменения кода
3) Программа для создания изменений исходных программ
4) Программа для перевода из машинного кода в язык программирования
5) Переводит исходнй текст в программный код

Задание №32
Вопрос:
Что такое компилятор?

Выберите один из 5 вариантов ответа:
1) Переводит исходный текст программы в язык программирования низкого уровня
2) Переводит исходный текст программы в язык программирования высокого уровня

3) Переводит исходный текст программы в процедуру

4) Переводит программу в функцию

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

Задание №33
Вопрос:
Что выполняет интерпритатор?

Выберите один из 5 вариантов ответа:
1) Выполняет покомандную обработку текста программы
2) Выполняет перевод
3) Выполняет покомандную переводку текста программы
4) Выполняет текст программы
5) Выполняет функцию обработки текста программы

Задание №34
Вопрос:
Что такое структурное программирование?

Выберите один из 5 вариантов ответа:
1) Методология разработки ПО, в основе которых лежит представление программ в виде иерархической структуре блоков
2) Методология разраюотки ПО, в основе которых лежит представление программ в виде блоков
3) Разработки из частей
4) Программирование по частям одной процедуры
5) Методология разработки ПО, в основе которых лежит представление программ в виде линейной задачи

Задание №35
Вопрос:
Цель структурного программирования:

Выберите один из 5 вариантов ответа:
1) Снижение памят всего процесса создания ПО
2) Снижение затрат всего процесса создания ПО
3) Снижение трудоемкости всего процесса создания ПО
4) Снижение работоспособности всего процесса создания ПО
5) Снижение трудоемкости описания создания ПО

Задание №36
Вопрос:
Что представляет метод восходящей разработки?

Выберите один из 5 вариантов ответа:
1) 1) Строется модель структуры программы в виде дерева
2) Программируется цункции начиная с самого нижнего
2) 1) Строется модель структуры программы в виде структуры
2) Поочередно программируются модули начиная с самого нижнего

3) 1) Строется модель структуры программы в виде структуры
2) Поочередно программируются модули начиная с самого верхнего

4) 1) Строется модель структуры программы в виде дерева
2) Поочередно программируются модули начиная с самого верхнего

5) 1) Строется модель структуры программы в виде дерева
2) Поочередно программируются функции и переменные начиная с самого верхнего

Задание №37
Вопрос:
Что представляет метод нисходящей разработки?

Выберите один из 5 вариантов ответа:
1) 1) Строется модель структуры программы в виде дерева
2) Программируется цункции начиная с самого нижнего
2) 1) Строется модель структуры программы в виде структуры
2) Поочередно программируются модули начиная с самого нижнего

3) 1) Строется модель структуры программы в виде функций
2) Поочередно программируются модули начиная с самого верхнего

4) 1) Строется модель структуры программы в виде дерева
2) Поочередно программируются модули начиная с самого верхнего

5) 1) Строется модель структуры программы в виде дерева
2) Поочередно программируются функции и переменные начиная с самого верхнего

Задание №38
Вопрос:
Какого вида ошибок не существует?

Выберите один из 5 вариантов ответа:
1) Синтаксические
2) Алгоритмические
3) Нет правильного ответа
4) Ошибки времени выполнения
5) Структурированные

Задание №39
Вопрос:
Синтеаксические ошибки, это ошибки

Выберите один из 5 вариантов ответа:
1) ошибки времени компиляции
2) ошибки при выполнении
3) ошибки при подсчете
4) ошибки во время не выполнения
5) ошибки некоректного ввода

Задание №40
Вопрос:
Алгоритмические ошибки, это ошибки

Выберите один из 5 вариантов ответа:
1) ошибки времени компиляции
2) ошибки при выполнении
3) ошибки при подсчете из-за не правильного алгоритма
4) ошибки во время не выполнения
5) ошибки некоректного ввода

Задание №41
Вопрос:
Угроза это

Выберите один из 5 вариантов ответа:
1) потенциальное возможное событие, действие, процесс или явление, которое может привести к нанесению хороших данных
2) возможное событие, действие, процесс или явление, которое может привести к сохранности данных

3) потенциальное возможное событие, действие, процесс или явление, которое может привести к нанесению изменению данных
4) потенциальное возможное событие, действие, процесс или явление, которое может привести к нанесению ущерба.

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

Задание №42
Вопрос:
Область распространения ЕСПД

Выберите один из 5 вариантов ответа:
1) Распространяются на документы
2) Рспространяются на компьютерное оборудование
3) Распространяется на программы
4) Распространяется на чертежи
5) Распространяется на

Задание №43
Вопрос:
Правильная запись оформления рисунков

Выберите один из 5 вариантов ответа:
1) … (см.рис. 6).
{рисунок}
Рисунок 6. Описание
2) … (см.рисунок. 6).
{рисунок}
Рисунок 6-Описание
3) … (см.рис. 6).
{рисунок}
Рисунок 6-Описание
4) … (см.рис. 6).
{рисунок}
Рис. 6 Описание
5) … (см.рис. 6).
{рисунок}
Рис. 6 – Описание

Задание №44
Вопрос:
Из каких 2 составлющих состоит надежность программ

Выберите один из 5 вариантов ответа:
1) Корректность и Контроль
2) Корректность и Обеспечение
3) Корректность и Устойчивость
4) Устойчивость и Контроль

5) Обеспечение и Контроль

Ответы:
1) (1 б.) Верные ответы: 1;
2) (1 б.) Верные ответы: 2;
3) (1 б.) Верные ответы: 1;
4) (1 б.) Верные ответы: 4;
5) (1 б.) Верные ответы: 1;
6) (1 б.) Верные ответы: 5;
7) (1 б.) Верные ответы: 1;
8) (1 б.) Верные ответы: 2;
9) (1 б.) Верные ответы: 1;
10) (1 б.) Верные ответы: 1;
11) (1 б.) Верные ответы: 2;
12) (1 б.) Верные ответы: 3;
13) (1 б.) Верные ответы: 4;
14) (1 б.) Верные ответы: 4;
15) (1 б.) Верные ответы: 4;
16) (1 б.) Верные ответы: 5;
17) (1 б.) Верные ответы: 1;
18) (1 б.) Верные ответы: 2;
19) (1 б.) Верные ответы: 3;
20) (1 б.) Верные ответы: 1;
21) (1 б.) Верные ответы: 2;
22) (1 б.) Верные ответы: 1;
23) (1 б.) Верные ответы: 2;
24) (1 б.) Верные ответы: 2;
25) (1 б.) Верные ответы: 2;
26) (1 б.) Верные ответы: 5;
27) (1 б.) Верные ответы: 1;
28) (1 б.) Верные ответы: 2;
29) (1 б.) Верные ответы: 1;
30) (1 б.) Верные ответы: 3;
31) (1 б.) Верные ответы: 1;
32) (1 б.) Верные ответы: 2;
33) (1 б.) Верные ответы: 1;
34) (1 б.) Верные ответы: 1;
35) (1 б.) Верные ответы: 3;
36) (1 б.) Верные ответы: 4;
37) (1 б.) Верные ответы: 4;
38) (1 б.) Верные ответы: 5;
39) (1 б.) Верные ответы: 1;
40) (1 б.) Верные ответы: 3;
41) (1 б.) Верные ответы: 4;
42) (1 б.) Верные ответы: 3;
43) (1 б.) Верные ответы: 1;
44) (1 б.) Верные ответы: 3;

Автор публикации

Здравствуйте. Если у Вас возникают какие-либо вопросы касательно работы сайта, то вы можете написать на электронную почту admin@learn-more.kz

Комментарии: 25Публикации: 270Регистрация: 25-01-2017

Главная /
Образование /
Введение в информатику. Практикум

Правильные ответы выделены зелёным цветом.
Все ответы: Данное учебное пособие представляет собой сборник тематических задач и лабораторных работ для специальностей «неинформатического» направления – филологов, юристов, медиков, социальных работников и др.

Информатика (в наиболее полном и точном смысле) – это наука, изучающая, в основном:

(1) компьютеры

(2) информационные среды

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

(4) Интернет

Независимо от рассматриваемой предметной области, информация бывает типа:

(1) входная, выходная, внутренняя

(2) входная, выходная, научная

(3) научно – техническая, бытовая, результирующая

(4) достоверная, неправильная, недостоверная

Верно утверждение:

(1) криптология имеет направления – криптографию и криптоанализ

(2) криптоанализ имеет направления – криптологию и криптографию

(3) криптография имеет направления – криптологию и криптоанализ

(4) криптография и криптоанализ – одно и то же

Значение выражения 1110,012+7,48+А,816 равно:

(1) 40,210

(2) 100000,012

(3) 36,348

(4) 3С,А16

Логическим вентилем называется

(1) простейшая логическая схема

(2) выходное значение

(3) простейшая логическая функция

(4) истина или ложь

Алгоритм не обладает свойством:

(1) дискретности

(2) массовости

(3) детерминированности

(4) положительности

Алгоритм обладает свойством:

(1) массовости

(2) мощности

(3) положительности

(4) отрицательности

Метод разработки алгоритма с помощью разбиения его на подалгоритмы называется:

(1) нисходящим

(2) восходящим

(3) разбивающим

(4) подчиненным

Устройствами ввода-вывода данных являются все перечисленные в списке:

(1) процессор, дискета, клавиатура, принтер

(2) процессор, дисковод, модем, сканер

(3) плоттер, мышь, дисплей, принтер

(4) процессор, регистр, клавиатура, мышь

В структуре любого исполнителя алгоритма имеется все перечисленное в списке:

(1) операционный автомат, аварийный автомат, управляющий автомат

(2) управляющий автомат, операционный автомат, стоп-команды

(3) управление, операционная среда, оперирующая система

(4) управляющий автомат, операционный автомат, операционная среда

Система MS Office относится к:

(1) интегрированным пакетам приложений

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

(3) электронным процессорам

(4) текстовым процессорам

Язык программирования служит, в основном, для:

(1) запуска ЭВМ

(2) решения любой математической задачи на ЭВМ

(3) перевода алгоритма на внутренний язык ЭВМ

(4) отладки ошибок в программе

Знак вопроса в схеме компьютерного моделирования «система – ? – алгоритм» соответствует:

(1) компьютеру

(2) программе

(3) модели

(4) тесту

Новые информационные технологии – это:

(1) лишь компьютерные системы поиска и хранения информации

(2) лишь программные средства поиска и хранения информации

(3) компьютерные и программные средства актуализации знаний и умений

(4) лишь технологии, базирующиеся на персональных компьютерах

Стандартны все возможности Интернет перечисленные в списке:

(1) telnet, е-mail, e-education

(2) е-mail, telnet, ftp

(3) telnet, ftp, e-banking

(4) e-mail, chat, e-shopping

Файл — это:

(1) имя набора данных

(2) именованная структура данных на диске

(3) команда ОС, обеспечивающая работу с данными

(4) данные, размещаемые в кэш-памяти

Виртуальная реальность — это технология:

(1) имитации сложно реализуемого или неосуществимого состояния системы

(2) абстрактного рассмотрения состояния системы

(3) визуализации состояния системы

(4) использования виртуальных шлемов

Значение переменной s после выполнения фрагмента программы

s:=0;
i:=4;
while (i>4) do
begin
i:=i–1;
s:=s+i
end;

равно:

Фрагмент программы

х:=1234;
for i:=1 to 2 do
begin
y:=x div 2 div 3;
x:=x mod 5;
p:=x+y;
end
writeln(p);

выводит на экран значение:

(1) 209

(2) 4

(3) 3

(4) 0

Фрагмент программы

a:=’informatics’;
b:=’soft’;
k:=min(length(а),length(b));
for i:=1 to k do
if (а[i]=b[i])
then k:=k+1;
write(k);

выведет на экран значение переменной k равное:

Термин «информатика» образован соединением двух слов:

(1) информация и математика

(2) информация и автоматика

(3) информация и энергетика

(4) информация и лингвистика

Наибольшее количество свойств информации перечислено в списке качеств:

(1) полнота, массовость, статичность

(2) полнота, массовость, достоверность

(3) полнота, адекватность, закрытость

(4) полнота, ясность, алгоритмизируемость

Если шифр меняет символы открытого текста, не меняя их порядок, то это шифр:

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

(2) порядка

(3) замены

(4) упорядочивания

Выражение math максимально упрощается до выражения вида:

(1) math

(2) math

(3) х

(4) 1

Последовательный многоразрядный сумматор – это:

(1) последовательная комбинация одноразрядных сумматоров

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

(3) последовательный перенос единицы в следующий разряд суммы

(4) последовательность разрядов в сумматоре

Выражение вида k*exp(ln(n)) вычисляет

(1) степень n числа k

(2) цифру k–го разряда в числе n

(3) произведение чисел k и n

(4) степень k от числа n

Тест – это:

(1) программа

(2) устройство

(3) задача

(4) сеть

Синтаксическая ошибка – это ошибка:

(1) в логике алгоритма

(2) в написании команд программы

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

(4) использования программы

Архитектура компьютера определяется, в основном:

(1) размерами системного блока

(2) штатом персонала для обслуживания

(3) структурой информационно-управляющих связей

(4) ввода и вывода данных

Основные функции любой ОС:

(1) управление данными к программам и самими программами

(2) управление программами и ресурсами компьютера

(3) управление ресурсами компьютера, данными и программами

(4) перевод программ в код

Ранжирован по убыванию старшинства операции в языке программирования Паскаль список:

(1) умножение и деление; сложение и вычитание

(2) умножение; деление; сложение; вычитание

(3) сложение; умножение; вычитание; деление

(4) умножение; вычитание; деление, сложение

Математическая модель представима:

(1) уравнением

(2) функцией

(3) геометрической фигурой

Вычислительный эксперимент осуществляется, в основном:

(1) на ЭВМ с помощью математической модели

(2) с помощью любых приборов и вычислений

(3) датчика случайных чисел на ЭВМ

(4) для автоматизации рутинных вычислений

Компьютерный офис – это любой офис, в котором:

(1) много хороших компьютеров и хорошая компьютерная сеть

(2) много грамотных «компьютерщиков» и специалистов по АСУ

(3) автоматизирована большая часть работы и делопроизводства

(4) есть выход в Интернет и Интранет

WWW является для Интернет:

(1) протоколом

(2) поисковой программой

(3) средством пересылки электронной почты

(4) гипертекстовой средой

В офисной технологии «клиент-сервер», «клиент» — это компьютер:

(1) на котором обычно работает конечный пользователь

(2) на котором обычно работает администратор сети

(3) сети, имеющий доступ к общим ресурсам сети

(4) удаленного доступа к ресурсам Интернет

Фрагмент программы

i:=1;
k:=1;
while (i<=n) do
begin
k:=k+k;
i:=i+1
end

вычисляет:

(1) n-ую степень числа 2

(2) квадрат числа n

(3) число n

(4) квадрат числа n–1

Фрагмент программы

m:=0;
p:=1;
for i:=1 to 4 do
if (p<i)
then p:=i
else m:=i;
writeln(m+p);

выводит на экран значение равное:

Фрагмент программы

y:=’informatics’;
n:=length(у);
i:=1;
while (i<=n) do
begin
a:=y[i];
y[i]:=y[n–i+1];
y[n–i+1]:=a;
i:=i+1
end;
writeln(y);

выдаст на экран текст вида:

(1) informatics

(2) formats

(3) scitamatics

(4) mrofni

Для a[i] = i (i = 1, 2, 3, 4) фрагмент программы

j:=4;
i:=3;
while (i>1) do
begin
if (а[i]>а[j])
then j:=i;
i:=i–1
end;
write(i,j);

выведет на экран пару чисел в следующей последовательности:

(1) 3, 2

(2) 2, 2

(3) 3, 1

(4) 1, 4

В предметную область информатики входит:

(1) теория полупроводников

(2) алгоритмизация процессов

(3) эргономика компьютерных столов

(4) вопросы поведения в Интернет

Наиболее часто информационные процессы происходят:

(1) в компьютерных сетях

(2) в предметных областях

(3) в живых организмах

Верно утверждение:

(1) шифрование всегда опирается на кодирование

(2) кодирование всегда опирается на шифрование

(3) шифровальный ключ – это процесс кодирования

(4) шифр и код – одно и то же

Значение выражения 1110,012+7,48+А,816 равно:

(1) 40,210

(2) 100000,012

(3) 36,348

(4) 3С,А16

Логический вентиль есть в составе:

(1) сумматора

(2) драйвера

(3) транслятора

(4) предиката

Алгоритм обладает свойством:

(1) связности

(2) массовости

(3) приложения

(4) положительности

При решении задачи неправильно:

(1) данные и алгоритм разрабатывать независимо друг от друга

(2) данные разрабатывать, увязывая их с алгоритмом

(3) алгоритм разрабатывать, увязывая его с данными

(4) данные и алгоритм разрабатывать совместно, уточняя то и другое

Метод разработки алгоритма с помощью сборки его из базовых команд называется:

(1) нисходящим

(2) восходящим

(3) разбивающим

(4) подчиненным

В структуре любого исполнителя алгоритма есть:

(1) операционная система

(2) команда поворота

(3) система алгоритмизации

(4) операционная среда

Система MS Office не содержит приложение:

(1) Word

(2) Excel

(3) Access

(4) Promt

Язык программирования служит для всех указанных в списке целей:

(1) перевод алгоритма на машинный язык, хранение алгоритмов

(2) управление процессором, обмен алгоритмами

(3) хранение алгоритмов, подключение внешних устройств

(4) документирование и модификация алгоритмов

Знаку вопроса в схеме компьютерного моделирования «модель – ? – программа» соответствует:

(1) компьютер

(2) алгоритм

(3) тест

(4) документация

Новой информационной технологией не является:

(1) супермаркет

(2) виртуальная корпорация

(3) чат

(4) телеконференция

Нестандартными возможностями Интернет являются все перечисленные в списке:

(1) telnet, е-mail

(2) е-mail, ftp

(3) telnet, ftp

(4) e-banking, e-shopping

Файл имеет все следующие атрибуты:

(1) имя, размер, дата уничтожения

(2) имя, размер, дата создания

(3) размер, количество символов в файле, автор

(4) номер машины, имя, размер

Виртуальная реальность — это:

(1) программа

(2) техническое устройство

(3) технология

(4) компьютер

Значение переменной s после выполнения фрагмента программы

s:=0;
i:=2;
while (i>2) do
begin
i:=i–1;
s:=s*i
end;

равно:

Фрагмент программы

х:=12;
for i:=1 to 2 do
begin
y:=x div 10;
x:=x mod 10;
end
p:=x*y;
writeln(p);

выводит на экран значение:

Фрагмент программы

a:=’info’;
b:=’soft’;
k:=max(length(а),length(b));
for i:=1 to k do
if (а[i]=b[i])
then k:=k–1;
write(k);

выведет на экран значение переменной k равное:

Первая отечественная ЭВМ:

(1) «Сетунь»

(2) «МЭСМ»

(3) «БЭСМ»

(4) «М-1»

Меньше свойств информации перечислено в списке:

(1) массовость, статичность, ценность

(2) дискретность, массовость, достоверность

(3) полнота, адекватность, закрытость

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

Если шифр меняет символы открытого текста и их порядок, то это шифр:

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

(2) порядка

(3) замены

(4) упорядочивания

Выражение math максимально упрощается до выражения вида:

(1) math

(2) math

(3) х

(4) 1

Базовой логической схемой является:

(1) инвертор

(2) дизъюнктор

(3) конъюнктор

Выражение вида exp(k*ln(n)) вычисляет:

(1) n-ую степень числа k

(2) цифру k–го разряда в числе n

(3) произведение чисел k и n

(4) k-ую степень числа n

Скрытые ошибки в процессе написания программы устраняют на этапе:

(1) отладки и тестирования

(2) сопровождения и документирования

(3) оценки алгоритма

(4) загрузки в память откомпилированной программы

Логические (алгоритмические) ошибки в разрабатываемой программе устраняют в процессе:

(1) лишь отладки

(2) лишь сопровождения

(3) лишь тестирования

(4) отладки, тестирования и сопровождения

Архитектура компьютера определяется, в основном,

(1) количеством устройств, подключаемых к портам

(2) внешним видом компьютера

(3) шинами и микропроцессором

(4) возможностями в сети

Основная функция любой ОС:

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

(2) управление офисом

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

(4) документирование программ

Ранжирован по возрастанию старшинства операции в языке программирования Паскаль список:

(1) умножение и деление; сложение и вычитание

(2) умножение; деление; сложение; вычитание

(3) сложение; умножение; вычитание; деление

(4) сложение и вычитание; умножение и деление

Математической моделью будет:

(1) выражение для второго закона Ньютона

(2) словосочетание «треугольник»

(3) макет дома

(4) глобус

Компьютерная модель – это модель, представленная:

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

(2) математическим языком

(3) случайными числами

(4) для выполнения большого объема рутинных вычислений

Компьютерное делопроизводство – это:

(1) использование компьютеров в оформлении дел офиса

(2) печатание бумаг в Word

(3) ведение делопроизводства офиса по компьютерным сетям и приложениям MS Office

(4) пересылка текстов по Интернет

Для телеконференции обязательны:

(1) сервер, телевидение

(2) рабочее место (клиент), Интернет

(3) клиент, Интранет

(4) сеть, система сжатия информации

В офисной технологии «клиент-сервер», «сервер» — это компьютер:

(1) на котором обычно работает конечный пользователь

(2) на котором обычно не работает администратор базы данных сети

(3) обычно хранящий общие ресурсы сети

(4) почтовый

В результате выполнения фрагмента программы

i:=0;
k:=0;
while (i<8) do
begin
k:=k+2;
i:=i+2
end;

переменная k примет значение>:

Фрагмент программы

m:=0;
p:=1;
for i:=1 to 3 do
if (i=p)
then p:=i
else m:=i;
writeln(m+p);

выводит на экран значение равное:

Фрагмент программы

y:=’info’;
n:=length(у);
i:=1;
while (i<=n/2) do
begin
a:=y[i];
y[i]:=y[n–i+1];
y[n–i+1]:=a;
i:=i+1
end;
writeln(y);

выдаст на экран текст вида:

(1) info

(2) ofin

(3) fino

(4) ofni

Для a[i]=i (i=1, 2, 3, 4) фрагмент программы

j:=1;
i:=1;
while (i<3) do
begin
if (а[i]<а[j])
then j:=i;
i:=i+1
end;
write(i,j);

выведет на экран пару чисел в следующей последовательности:

(1) 3, 2

(2) 2, 2

(3) 3, 1

(4) 1, 4

Тестирование и отладка программ

Всякая программа содержит ошибки. Задача разработчика – свести их количество к минимуму и не допустить серьезных сбоев при эксплуатации программы.

После программирования программист переходит к тестированию и отладке программы.

Тестирование – проверка работоспособности

программного продукта при всевозможных вариантах его эксплуатации с целью обнаружения ошибок.

Отладкой называется процесс поиска и устранения ошибок.

После отладки необходимо повторить весь процесс тестирования, так как устранение одних ошибок нередко приводит к появлению других.

2

Типы ошибок в программах

Синтаксические ошибки, их также называют ошибками времени компиляции (Compile-time error), наиболее легко устранимы. Их обнаруживает компилятор, а программисту остается только внести изменения в текст программы и выполнить повторную компиляцию

Ошибки времени выполнения (Run-time error) возникают не при каждом запуске программы, а лишь при определенном наборе входных данных (например, делении на ноль или вводе некорректной даты). Для их выявления требуется тщательно подготовить тестовые примеры. Если причиной являются не программные ошибки, а действия пользователя, то в программе должна быть предусмотрена обработка исключительных ситуаций

Алгоритмические ошибки. Компиляция программы, в которой есть алгоритмическая ошибка, завершается успешно. При пробных запусках программа ведет себя нормально, однако результата получается неверный. Для того чтобы устранить алгоритмическую ошибку, приходится анализировать алгоритм, вручную «прокручивать» его выполнение

3

Синтаксические ошибки

4

Ошибки времени выполнения

5

Алгоритмические ошибки

правильно n-2

6

Методы тестирования программ

Авторское тестирование (еще его называют методом «белого ящика») – проверка программы исходя из ее логики. Автор, зная внутреннюю логику программы, подбирает тестовые примеры так, чтобы проверить работу всех ее блоков.

Неавторское тестирование (стороннее, по методу «черного ящика») – проверка программы с точки зрения пользователя. Тестовые примеры подбираются исходя из реальных ситуаций, возникающих в ходе эксплуатации.

В крупных фирмах – разработчиках ПО тестированием занимается специальный персонал. В небольших коллективах практикуется «перекрестное тестирование»

Массовое тестирование. Для продуктов, выпускаемых на рынок,

используют тестирование широким кругом потенциальных пользователей. Для этого выпускают так называемую «бета-версию»

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

7

Методы отладки программ

Трассировка — это процесс выполнения программы по шагам (step-by-step), инструкция за инструкцией. Во время трассировки программист дает команду:

выполнить очередную инструкцию программы.

Метод точек останова – заключается в том, что программист помечает некоторые инструкции программы (ставит точки останова), при достижении которых программа приостанавливает свою работу, и можно начать трассировку или проконтролировать значения переменных.

Наблюдение значений переменных

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

8

Средства отладки в Delphi: трассировка

Delphi обеспечивает два режима трассировки: без захода в процедуру (Step over) и с заходом в процедуру (Trace into).

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

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

Средства отладки в Delphi: точки останова

Программа доходит до указанной точки и останавливается. Затем можно выполнить трассировку

Для точки останова можно задать некоторые дополнительные параметры при

помощи диалогового окна Add Source Breakpoint меню

Run.

10

Соседние файлы в папке ИТ

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

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